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 62014-10-24 00:04:22 -0700 Joshua Pettus <jshpettus@gmail.com>: 7removed gtk theme from OSX app 8 92014-10-23 23:33:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 10Add persistent Boolean option -fixedSize 11 12When set, this option suppresses sizing of the board and clocks when 13the window is sized by the user. This is achieved by wrapping the entire 14dialog in a non-expanding hbox. 15 162014-10-23 21:23:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 17Also do dual-royal test in variant shogi 18 19For the benefit of Sho Shogi we also have to be prepared to find a 20Crown Prince in variant shogi, so it can be used as a parent variant 21for Sho Shogi with legality testing on. 22 232014-10-23 16:22:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 24Fix promotion in Betza move generator 25 26The Betza move generator was geenrating allmoves as NormalMove, but in 27that case XBoard would not allow the move to have a promotion suffix. 28Now Pawns and Lances reaching last rank will be assumed to promote. 29 302014-10-22 13:06:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 31Attempt to make GTK sizing work with tiling WM 32 33The Rezise routine now takes the size of the entire dialog table 34(for me always equal to the outer-window size), and checks if the 35actual outer window is smaller. If it is, it shrinks the board to fit, 36under the assumption that a tiling window manager offers only a limited 37'viewport' to our dialog, and we want everything to be visible inside that. 38 392014-10-22 11:04:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 40Fix -xbuttons window width GTK 41 42Because Label options not followed by a SAME_ROW element were only 43packed into the first two columns of the dialog table, the board window 44reserved space for a third column behind the message window if there 45was no button bar. 46 472014-10-21 20:37:41 -0700 Arun Persaud <arun@nubati.net>: 48mac: only use gtk compile flag, if osxapp is enabled 49 50 512014-10-21 22:40:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 52Prevent unknown variant getting button in -ncp mode 53 54Normally we fake the engines play the requested variant, for the benefit 55of engines that do not send a variants feature (e.g. v1 engines). But this 56should not be done if there is no engine, as it would lead XBoard to 57believe an unknown variant name is an engine-defined variant supported 58by a currently loaded engine, and create a button for it in the New Variant 59dialog. 60 612014-10-21 22:07:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 62Fix variant-name recognition 63 64StringToVariant did recognize whether the name to recognize had suffuxes 65compared to the tabulated name, but not if it had prefixes. So 'shoshogi' 66would be recognized as 'shogi'. 67 682014-10-21 21:52:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 69Suppress duplicat autoInstalls 70 71If the engine line constructed for -autoInstall already occurs in 72the engine list, we should not install it again. 73 742014-10-21 18:41:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 75Base new square size on board widget allocation GTK 76 77No longer pay attention to the size of the top-level window, but base 78everything on the size of the board widget itself. 79 802014-10-21 13:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 81Ignore first configure event 82 83The first configure event will be the one that adds the window decorations 84to the board window, and must not be used to calculate a new square size, 85but to expand the outer window instead. 86 872014-10-21 11:35:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 88Let GTK dialogs open with actual-size Graph widgets 89 90The Graph Option size values are now uses as size_request, to give 91proper dialog sizing at popup. But the size_request is then reset 92so that free sizing by the user becomes possible. 93 942014-10-19 13:16:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 95Fix display of Spin Options with negative range 96 97 982014-10-17 21:35:25 -0700 Arun Persaud <arun@nubati.net>: 99line numbers in PO got updated 100 101 1022014-10-17 21:23:47 -0700 Arun Persaud <arun@nubati.net>: 103updated ChangeLog, DIFFSTAT and SHORTLOG 104 105 1062014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>: 107updated NEWS 108 109 1102014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>: 111forget a few __APPLE__ ifdefs; changed to OSXAPP 112 113 1142014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>: 115fix typo and prefix 116 117AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching? 118Using just prefix=... seems to work though 119 1202014-10-16 23:34:22 -0700 Arun Persaud <arun@nubati.net>: 121USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE 122 123 1242014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 125Fix loading of engine-defined PGN games 126 127Somehow there could be disagreement over what the official opening 128position of an engine-defined variant was during loading of the game. 129It then refused Betza-defined castling, which tests the corner pieces 130based on this initial position. We now assume the FEN tag, which such 131a PGN game will always contain, holds the official opening position, 132so that castling will always be assumed possible (if there is a corner 133piece). 134 1352014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 136Preserve parent variant for PGN of engine-defined game 137 138Rather than decoding an unknown variant name, (which will result in 139'normal'), we keep the currently set (parent) variant when an 140engine-defined variant is currently set that matches the name in 141the PGN variant tag of the loaded game. 142 1432014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 144Fix some uninitialized variable bugs 145 146The writing of Seirawan castling rights in FEN was still dependent on a 147now unused variable, and encountering a VariantMen tag in a PGN file 148could have created the misconception the memory was full. 149 1502014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 151Update Game List after tag selection changed 152 153When the Game List Options dialog changes the tags to be displayed in 154the Game List lines, we now automatically redo the entire Game List. 155 1562014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 157Always accept piece commands in variant great 158 159Great Shatranj belongs to the variants XBoard does not know the rules of, 160and should thus always accept engine piece commands. 161 1622014-10-15 21:28:36 -0700 Arun Persaud <arun@nubati.net>: 163make all tests for strings in configure use the same scheme 164 165 1662014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>: 167updated Changelog, DIFFSTAT, and SHORTLOG 168 1692014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>: 170fix osxapp enable option in configure.ac 171 172 1732014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>: 174remove experimental from gtk build option 175 176 1772014-10-15 21:02:38 -0700 Arun Persaud <arun@nubati.net>: 178only enable osxapp build target on apple systems, clean up configure.ac a tiny bit 179 180 1812014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>: 182update NEWS file 183 184 1852014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 186Don't switch to engine-defined variant on game loading 187 188When loading a game from PGN the variant tag will have been decoded as 189'normal' in case of an engine-defined variant, and we certainly would 190not want to switch to that. Better stay in the variant the user had 191selected before, and hope for the best. 192 1932014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 194Implement displaying of variant tag in Game List 195 196The variant tag was displayed as an empty string in game-header lines. 197Processing it during PGN load was not able to handle engine-defined 198variants anyway; they were recognized as 'normal'. A new field in the 199GameInfo struct now holds variantName in text form, and this is the 200primary place from which it is displayed in the Game List. 201 2022014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 203Update Game List when setting new Game List Tags 204 205Using the Game List Tags dialog to alter the gae header lines now 206automatically causes an update of the Game list according to the new 207tags specification. 208 2092014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 210Reset move entry on Clear Board 211 212The board markers would stay on when the board was cleared, and a 213no-longer-present piece would stay selected, leading to deletion of the 214first piece that you tried to select. 215 2162014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 217Split Tournament dialog in side-by-side panes 218 219This seems to cure a sickness in some Xaw versions, which refused 220to display text in the text widgets, or make them sensitive for mouse 221clicks if the last three buttons were added. It also helps keeping 222the 'OK' button on-screen in the GTK version. 223 2242014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 225Remember position obtained from setup 226 227When the engine sends a setup command, it should be remembered as 228initialPosition, in order for the castling 'rook' test of the Betza 229move generator to work. 230 2312014-09-13 12:35:12 -0700 Joshua Pettus <jshpettus@gmail.com>: 232Add build script to configure for a XBoard.app for OS X 233 234This relies on the the gtk build and adds some special code in 235gtk/xboard.c so that XBoard can be installed inside the app directory 236independ on where the app file is located. 237 2382014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>: 239replaced hardcoded pngdir with built-in ~~ 240 241don't need to create xboard.conf from xboard.conf.in anymore 242 2432014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 244Some improvement on new Shogi SVG pieces 245 246 2472014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>: 248updated spanish, ukranian, and dutch translation 249 250 2512014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 252Fix logos Xaw 253 254The patch for logo standard left a typo and an excess line in the Xaw 255version. This is fixed, and also implements the user-logo cascade for 256the Xaw version. 257 2582014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 259Try also /home/<user>/.logo.pgn for user logo 260 261The user logo now also has a cascade, first looking in the user's home 262folder for a file .logo.png, and then in the -logoDir for <user>.png. 263 2642014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 265Fix ICS logo display 266 267 2682014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 269Show current variant on New Variant buttons GTK in bold 270 271If an engine-defined variant is selected, we compare its name to the 272inscription on the button, otherwise we compare the variant numbers. 273(Test to trigger this is a bit awkward, to not inadvertantly apply it 274to the ICS Text Menu, which also has colored buttoms.) 275 2762014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 277Increase number of engine-defined-variants Buttons XB 278 279An third column is added to the New Variant dialog when necessary. 280 2812014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 282Force GTK logo size to quarter board width 283 284This is what GTK will do anyway, because clocks and logos are in a hbox 285that equally divides space, so telling XBoard different just misinforms it. 286 2872014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 288Replace default Shogi pieces 289 290The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus. 291This set also contains and Elephant and Crown Prince. 292 2932014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 294Implement new logo standard 295 296XBoard now looks in the system directories for plugin logos, 297/usr/(local/)share/games/plugins/logos, according to the cascade 298-logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/... 299 3002014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 301Relocate OS X' LOCALEDIR 302 303 3042014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 305Fix check test with multi-leg moves 306 307The check test after a multi-leg move was still using the same kill 308square in the opponent's reply, making it blind to King captures in 309a second leg. So far we got away with that because the Shogi multi-leg 310pieces also can reach all their potential victims in a single step, 311but with engine-defined multi-leg moves there is no guarantee this 312will always be the case. 313 3142014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 315Fix infinite loop in cylinder moves 316 317 3182014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 319Let t on final leg in Betza notation forbid checking 320 321To allow approximate definition of pieces that are too difficult to 322describe exactly, we can revoke their capture rights on Kings, 323to prevent imagined moves that happen to threaten a King forces the 324opponent to evade this imagined check, making most of his moves illegal. 325Then the piece can be safely replaced by an upward-compatible one, 326leaving rejection of the extra moves to the engine. 327 3282014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 329Implement Betza hr and hr as chiral move sets 330 331To easily separate right- and left-handed moves on oblique atoms 332(which needs opposite use of l and r in their multi-leg continuations), 333the direction sets hr and hl are added. 334 3352014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 336Preserve other Betza mode bits on setting default modality 337 338 3392014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 340Switch to new Betza orth-diag conversion standard 341 342The interconversion from orthogonal to diagonal atoms is now possible 343for any 4-way atom, based on specification of an 'in-between' direction, 344irrespective of modality. Also take backward out of default continuation 345direction-set. 346 3472014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 348Implement Betza t modifier for hop-own 349 350The 't' modifier will restrict any form of hopping as specified by 351p or g modifiers to friendly pieces. This only works on non-final legs. 352 3532014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 354Implement directional modifiers on KQ, and let y&g upgrade 355 356The Betza y and g modifiers now not only change range, but also upgrade 357the directional capabilities of the atom to full non-degenerate 8-fold. 358Directional modifiers can now be used in that symmetry too, to maximally 359exploit this, and implement 4-fold pieces that make 45-degree turns. 360Let oblique continuation legs also use the non-degenerate system. 361 3622014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 363Implement Betza y modifier 364 365The non-standard modifier 'y' is the spontaneous counterpart of 'g', 366changing the range of the atom, and upgrading its directionality. 367 3682014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 369Implement Betza g modifier for non-final legs 370 371The g modifier is implemented as a p that turns a rider into the 372corresponding leaper when it hops, and vice versa. This is done by 373stripping off any existing range indicator, and making the range 374infinite by suffixing '0' when the old range was 1 (whether implied 375or explicitly written). Except that for sliders/steppers this is done 376by atom-name conversion after stripping off the range. Limited range 377thus in general turns into leaper (D -> D0, Dn -> D), but with FWK 378W3 -> R and R3 -> W, etc. 379 3802014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 381Implement Betza a modifier 382 383This is pretty complex, and might overload the current primitive two-leg 384legality testing when pieces are defined that can reach squares only in 385two legs. 386 3872014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 388Implement Betza j on W,F as skip first square 389 390 3912014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 392Always accept piece commands for Falcon and Cobra 393 394The wild-card pieces Falcon and Cobra do not have any moves assigned to 395them, and XBoard would accept any move for them even when legality 396checking is on. So for these pieces it is always better to trust the 397engine's piece definition. 398 3992014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 400Fix pieceToCharTable of Falcon Chess 401 402This variant was using the Falcon piece, but defining ID F for the 403unused Lance instead. 404 4052014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 406Don't preserve setup position on board-size change 407 408Normally the setup command sent by an engine is ignored if the user 409already has set up a position, to not render it impossible to do the 410latter. But if the setup command orders a different board size nothing 411the user has set up can possibly remain valid. 412 4132014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 414Reset move entry on stepping through game 415 416A forward or backward step through the game after selecting a from-square 417did not erase the latter, so that it became impossible to select a 418from-square for an opponent move, as it would be interpreted as the 419to-square for the patially entered move. This was especially annoying 420with legality testing off, as the legality test there, based on the 421square markings, does not reset the entry state either, but waits 422until you do click a legal to-square, so that you had to attempt 423moving with pieces of the side not to move to get out of this state. 424Now stepping through another position will reset the move-entry state 425completely, always considering the first click a from-square selection. 426 4272014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 428Fix engine-defined variant as startup 429 430Non-standard names were all recognized as 'normal' in InitBackend1(). 431Now if the -variant argument was not "normal", it is assumed to be an 432engine-defined variant if we run with engine. 433 4342014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 435Fix clipping of board GTK 436 437ResizeBoardWindow now measures the with of the window dressing by 438brute force, interrogating GTK both for the width of the top-level 439window and the board widget, and subtracting the two. 440 4412014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 442Fix writing of Seirawan960 virginity in FEN 443 444When variant seirawan was played with Fischer castling, only the 445castling rights were written, and not the virginity of other pieces. 446Now all virgin files are dumped in Shredder-FEN style. 447 4482014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>: 449update po/pot files 450 451 4522014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>: 453new version number for release 4.8.0 454 455 4562014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>: 457fixed whitespace error in configure.ac for os x 458 459 4602014-09-20 10:06:17 -0700 Arun Persaud <arun@nubati.net>: 461update gettext configuration to not include any generated files in git 462 463before we had a somewhat mixed setup, which seems to create problems 464when a different gettext version was installed on the users machine compared 465to the version used to generate the files in git. This should solve 466the problem. The user will now have to generate these files using autopoint, 467which we call from autogen.sh. 468 4692014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 470Configure XBoard for -size 49 in master settings 471 472Now the code for auto-sizing works, it turns out this does more harm than 473good in the GTK build, as it takes maximum size that fits the screen as 474initial size, and the board window then cannot be shrunk below that. 475So we configure a hard -size 49 for a cold startup. 476 4772014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 478Implement ff etc. in Betza parser 479 480Dupliacated directional modifiers can be needed with oblique moves 481to unambiguously specify a direction set, e.g. ffrrN. 482 4832014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 484Rename PGN Pieces tag to VariantMen 485 486Following a suggestion from Steven Edwards, this indeed makes a much 487clearer name. Also add code to skip the tag on reading, rather than 488allowing it to end up with the 'extra tags', as the latter could lead 489to duplication of the tag on subsequent saves. 490 4912014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 492Suppress use of promo-Gold bitmaps in Tori Shogi (WB) 493 494In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use 495of a Gold General pictogram would only be confusing. So we stick to 496the regular fairy bitmaps in Tori, which is recognized by the board 497having 7 ranks in Shogi. 498 4992014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 500Prevent board-size oscillations 501 502It could happen that after resize there was room for enlarging the 503squares by one pixel, but that this crossed the boundary where the line 504gaps also become wider, and there is no room for making both squares 505and line gap. This would cause perpetual oscillations of the window size. 506Resizing is now suppressed when a 1-pixel square-size increase would also 507result in a line-gap increase. 508 5092014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 510Allow use of second-row pieces for non-promoted in drop games 511 512Second-row pieces were automatically demoted on capture, but this 513should really happen only when the piece-to-char table says it is a 514shogi-promoted piece (assigned a '+' there). Pieces assigned a letter 515should really stay themselves. 516 PieceToNumber had to be adapted to skip '+' pieces in order to count 517correctly for second-row pieces, as did the code in UserMoveEvent() that 518mapped the from-square onto the piece type. (Why do we do that anyway? 519The piece type was displayed on the from-square!) 520 5212014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 522Fix reset of 50-move counter on FRC castling 523 524The FxR internal representation was taken a bit too seriously! 525 5262014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 527Fix abort of machine game on variant mismatch 528 529When the second engine did not support the current variant, and we clicked 530Two Machines, there was an error popup, but the Two Machines menu item 531stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame 532mode. 533 5342014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 535Make unsupported variant on loading 1st engine non-fatal 536 537Like in the startup code, when the loaded engine does not play the 538currently selected variant, we now figure out what the engine does play, 539and switch to that. The error message still pops up, but not non-fatal. 540 5412014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 542Print PGN Piece tag listing engine-defined pieces 543 544A newly defined PGN tag is printed, which summarizes all non-standard 545pieces. Black copies of identically named white pieces are suppressed. 546In the future also non-standard naming should be reported here. 547 5482014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 549Always accept piece commands in partly supported variants 550 551Normally piece commands are ignored when legality checking is on, as 552XBoard's idea of legality should obviously overrule the engine's. 553In variants that are not or only partly supported, however, XBoard has 554no own idea of what is legal, so it is better to take the engine's 555advice than enforcing wrong rules. 556 5572014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 558Size seek graph to also cover board rim WinBoard 559 560The seek graph always used the plain board size, but in WB it is 561possible to diplay a rim around the board, and the seekgraph would 562then be positioned in the upper-left corner of the rim, leaving the 563lower and right board edge and rim uncovered. Its size is now increased 564to fill the entire window (as leaving a rim around it seems not useful). 565 5662014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 567Reparse ambiguous move under built-in rules 568 569When a move parses as ambiguous under engine-defined piece locomotion, 570we re-parse it with XBoard's native idea of the pieces, just in case 571it is a move from a game that was saved without the engine having 572redefined the pieces. This keeps games created before the introduction 573of the 'piece' command loadable. 574 5752014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 576Prevent multi-path moves from parsing as ambiguous 577 578In Cylinder Chess the MovesFromString() generator might generate duplicate 579moves, one wrapping, the other direct. When they were both counted as 580matching the SAN input move, Disambiguate() would think it an ambiguous 581move. So a move that came from the same square as the one we already 582have must not be counted. 583 5842014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 585Fix cross-edge e.p. capture in Cylinder Chess 586 587ApplyMove() did not remove the e.p. victim when an edge-crossing e.p. 588capture was made, because e.p. rights are only set to neighboring files 589(after checking there is a Pawn there to capture). The e.p. heuristic 590has now been changed to also assume e.p. on file-changing Pawn moves 591that span a large number of files, assuming that these will be wrapping 592moves. Eventually we should change to better e.p. logic that can be 593integrated with engine-configured move generation, as the current system 594would fail for any Pawn that captures more than just neighbor ranks. 595 5962014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 597Implement Betza o modifier for cylinder boards 598 599 6002014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 601Improve virginity test for engine-defined pieces 602 603Two squares in the board are now reserved for flags that indicate 604whether back-rank pieces have been touched. This allows MovesFromString() 605to accurately test virginity of these pieces, rather than having to assume 606it when the piece matches that in the opening position. For other ranks 607the latter test is still used, as these are normally (irreversible) Pawns, 608which cannot return there (and in drop games, when they would, would again 609be considered virgin enough for the purpose of double-pushing!). 610 6112014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 612Implement Betza p and g modifiers in piece command 613 614 6152014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 616Repair piece defs with showTargetSquares off 617 618The proxy legality checking based on marking of target square was 619rejecting all moves when target squares were not highlighted. 620 6212014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 622Allow definition of castling in piece command 623 624Castling is defined by the O atom, with a suffix indicating the number 625of steps the King must step in the direction of the corner. Kings keep 626their normal castling unless overruled by this. Can currently only be 627used on the variant's royal piece, as XBoard's ApplyMove() is not smart 628enough to understand displacing the corner piece is implied when it is 629used on other pieces. 630 6312014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 632Update description of piece command in protocol specs 633 634 6352014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 636Improve SAN of Pawn moves and allow Betza e.p. definition 637 638The move descriptions in 'piece' commands can now use 'i' and 'n' 639modifiers to define a blockable double push. ('n' only work for moves 640of stride 2!) The test for initial moves now is based on comparison with 641the opening position, rather than on a way-to-generous heuristic. (This 642still does not prove in generak the piece did not move, though, but it 643does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement 644this the rank and file of the e.p. square are now stored in the board. 645(EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess 646is not the file of the e.p. square!) 647 The generation of SAN moves for Pawns can now reliably distinguish between 648captures and non-captures even in Berolina, when the move generator informs 649it whether the move was e.p. capture. 650 6512014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 652Retune -stickyWindows GTK 653 654This still does not work well, and in particular windows refuse to stick 655to the top of the board window. 656 6572014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 658Fix detection of screen size GTK 659 660A gdk call that can get the screen without there first being a window 661mapped to it is used now. This fixes initial sizing of the board window 662on a cold start. 663 6642014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 665Configure a size for the Eval Graph 666 667If no size for the Eval Graph window is configured in the master 668settings file, the window will pop up as 2x4 pixels. 669 6702014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 671Prevent crash on specifying non-existent texture XB 672 673By setting the texture width to 0 when the texture could not be loaded, 674XBoard will never attempt to draw it. 675 6762014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 677Configure some themes in XBoard master settings 678 679The -themeNames option is set to contain some themes that could be 680defined with the default pieces and textures that come with XBoard. 681 6822014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 683Remove debug printf 684 685 6862014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 687Control Eval Graph with mouse 688 689Let mousewheel control evalZoom, and right-click toggle between 690normal view and differential view ('blunder graph'). 691 6922014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 693Add extra font field to Option struct 694 695Storing the font in the textValue field was too kludgy, as this field 696is already heavily used in the various Option types, for storing handles, 697or defining colors and callbacks. A 'font' field is now added at the end, 698so that it can be optionally initialized in the rare case it is needed. 699 7002014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 701Repair damage done by merging with v4.7.x 702 703 7042014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 705Sort fail lows and fail highs below others 706 707Every more recent line should always float up aove lines that were 708indicated to be fail lows or fail highs through ? or ! PV suffixes. 709 7102014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 711Describe the new texture conventions in manual 712 713The exact rules for how textures are scaled in response to their 714filename is described in the manual. 715 7162014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 717Force exactly overlayed texture scaling through filename 718 719A filename suffix -NxM.png on a texture image will cause XBoard to scale 720the image as if it were the image of a complete board of N files and M 721ranks, to make the square size equal to that of the current board, 722and adjust the cutting parameters such that contiguous squares are cut 723out of it. (If the current board format is larger than NxM, the remaining 724space will be padded with white!) 725 If N=M=0, N and M are assumed to correspond to the current board size, 726and the bitmap will be scaled to fit the height of the board. 727 If no suffix is present, the old cut-and-tile algorithm is used. It will 728be assumed the texture bitmap is intended for a single square, unless the 729pathname contains a file that starts with "xq", in which case it is assumed 730that the file contains a Xiangqi board. 731 7322014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 733Allow two Pawns per file in Tori Shogi 734 735When the board has 7 ranks it is assumed to be Tori Shogi, and the 736requirement for maximally one Pawn per file is relaxed to two. 737 7382014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 739Test legality even when off if engine defined pieces 740 741After reception of a piece command XBoard will mark target squares 742even when legality testing is off, and now also will require the lifted 743piece to land on a marked square (like when the engine highlighted them 744through a highlight command). 745 A problem is that this does not work for drops, as drops do not mark 746target squares. So drops are always accepted. Which of course is bad 747for Pawn drops. But there really is no way yet for an engine to specify 748how pieces can be dropped, similar to the 'piece' command. 749 7502014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 751Fix texture scaling 752 753 7542014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 755Implement engine-defined pieces 756 757When legality testing is off, XBoard now listens to 'piece' commands 758to redefine its move generator. After such a piece command is received, 759target-square marking also can be used when legality testing is off. 760The engine keeps in charge of legality testing, though. 761 Only a very basic version of Betza notation is currently understood for 762the move description: mode modifiers have to appear in the order mcd, 763and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not 764implemented at all. A leading i modifier limits the moves to the first 765two ranks, which is no good at all. (But XBoard does not keep track of 766which pieces have moved, and this at least would work for Pawns in a 767FIDE-like setup, in particular Berolina.) 768 7692014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 770Scale texture bitmaps that are not large enough 771 772Texture bitmaps are now sized up by an integer factor to be at least 773as large as the board (if they seem intended for a full XQ board, which is 774assumed when they are larger than 256x256) or the square. This necessitated 775the textures to be re-initialized in InitDrawingSizes whenever the window 776size changes. 777 7782014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 779Ignore color arguments not starting with # 780 781Old settings files from xpm-using version might still contain color 782designations like 'white' or 'red'. Since Cairo would interpret these 783as black, it is better to ignore them, so the default color is used. 784 7852014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 786Implement -autoInstall option 787 788When -autoInstall is a non-empty string, XBoard will scan the system's 789plugin specs directories for UCI and WB protocol, to see if new engines 790were added since the last settings save. If so, they are added to the 791list of installed engines. 792 The variants listed in the plugin-spec files are currently ignored, 793but the option is already configured to install engines for all variants. 794 7952014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 796Fix typo 797 798 7992014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 800Make inlined functions static 801 802Clang apparently chokes on non-static inline functions, 803and they were not used from other files anyway. 804 8052014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>: 806updated spanish translation, added new polish translation 807 808 8092014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 810Look for logo in engine dir first (GTK) 811 812When setting engine logos, we look for a file logo.png in the engine 813directory, before trying <enginename>.png in the -logoDir. This is useful 814on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir, 815when using the latter (also in Xaw). 816 8172014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 818Fix checkmarking of OS X menu items 819 820The routine MarkMenuItem() was moved to xboard.c, where it can see 821the OSX-specific #defines, and calls to sync_menu_bar were added 822to it, and to EnableNamendMenuItem(). 823 8242014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 825Fix crash of tournament dialog GTK 826 827The font/color disambiguation of the Option.textField in Label and 828ulti-line TextBox options cannot stand it if unused elements are 829initialized as "" rather than NULL. 830 8312014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 832Let OS X display dock icon 833 834 8352014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 836Fix Xaw button color error 837 838The textValue field, now also used to indicate font, was used in two 839places when popping up buttons, and the font patch only addressed one. 840 8412014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 842Make SVGDIR a variable 843 844Replace all occurrences of SVGDIR in the source by svgDir, a char array 845that is initialized to SVGDIR, so that it can be altered at run time. 846This is needed to make portable apps. Where SVGDIR was used in string 847concatenation, the code had to be re-written to use snprintf to do the 848concatenation at run time, through a new function LoadIconFile. 849The extension of image files used there is now made dependent on the 850__APPLE__ switch, so that it can use .png in OS X (which does not seem 851to understand SVG icons). 852 8532014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 854Fix warning in dead code Show 855 856 8572014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 858Reorder variants, to comply with Polyglot book specs 859 860XBoard's variant number is used as a key to access Polyglot opening 861books, and thus cannot be changed without consequences. (As it was when 862we introduced ASEAN and Chu Shogi.) 863 We also renamed Chu Chess to Elven Chess (under which name it is now 864described on chessvariants.org). 865 8662014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 867Reserve piece command in protocol specs 868 869 8702014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 871suppress Alien Edition standard variants 872 873Variants that are standard in the Alien Edition should not be 874recognized as engine-defined variants: the engines that announce 875them will not respond with the required setup command, so allowing 876the user to select them just leads to trouble. 877 8782014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 879Fix SetWidgetFont GTK 880 881This was testing for an empty font spec in the wrong way, with as a side 882effect that some pointers to font strings would be interpreted as colors. 883 8842014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 885Update protocol specs 886 887 8882014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 889Let message field and button bar use GTK -messageFont 890 891The -messageFont spec (using the default coordFont pixel size, like the 892others) is now used to modify the fonts of message field and buttons 893in the button bar. They pass a pointer to the appData font variable in 894their Option's textField. This conflicts with the use of this field in 895buttons for specifying a color, as done in the New Variant buttons. 896This is resolved by checking if the first byte of the pointed-to value 897is a #. The Xaw version must ignore the textField if it does not 898specify a color. 899 9002014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 901Fix GTK fonts 902 903 9042014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 905Use coordFont default pixel size for other fonts 906 907The message-font is way too large for the dialogs. A better solution 908would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as 909this file is front-end-specific anyway. 910 9112014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 912Use -gameListFont in Game List 913 914Not implemented in a very generic way, but hacked into the code that 915added the handler. There aren't many other listboxes that would need 916adjustable font. 917 9182014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 919Fix Chat window for Xaw build 920 921The ICS output field and Hide button are removed from the ICS Interaction 922window, to make it similar to the old Chat window. This required adding 923some tests in the handlers of this window, to prevent segfaults due to 924accessing it. 925 9262014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 927Fix infinite-regression problem on OS X 928 929Apparently the OpenFile handler can already be called during 930gtkosx_application_ready (or gtk_signal_connect), so we have to make 931sure 'suppress' is set before we call those. 932 9332014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 934Correct for .Xresources form->paneA renaming in manual 935 936In the Xaw build the name of the form widget of dialog.layout.form... 937hierarchy was changed to paneA, paneB, ... when allowing multi-pane 938dialogs through the Break Option (such as the Engine Output window). 939 9402014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 941Use GTK fonts in Engine Output and Move History 942 943 9442014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 945Include some conditional OS X fixes 946 947DATADIR must be corrected to ~~ in the OS X app, and the info command 948must be started in a different way. 949 9502014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 951Fix WB DoEvents error 952 953 9542014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 955Limit auto-extending to click on first move of PV 956 957Even when auto-exted on clicks on the tail of a PV will no longer cause 958any moves to be added to the game. Only clicks on or before the first 959move can do that now. 960 9612014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 962Animate multi-leg in auto-play and forward event 963 964Replaying multi-leg moves is now also done by animating both legs. 965In addition, the highlights are set on final and intermediate square, 966rather than from-square. 967(There seems to be a great deal of code duplication here. Why doesn't 968AutoPlayOneMove simply call ForwardInner?) 969 9702014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 971Fix key bindings for non-menu functions 972 973The accelerator keystrokes for next game, previous game and debug mode, 974which don't have menu items, and are grouped in the menu table 'noMenu', 975were not treated in the building of the translation table, as 'noMenu' 976does not occur on the menu bar. An extra iteration is done now to 977treat this menu group. 978 9792014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 980Fix Xaw key bindings 981 982The routine to automatically construct the translation table for 983accelerator keys did not respect the rule that more specific keystrokes 984(like :Meta<Key>Home:) have to be defined before more general ones 985(like :<Key>Home:). As a result Alt+Home would activate the Revert 986item, intended for plain Home. 987 9882014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 989Define default font names 990 991 9922014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 993Fix MSVC problems 994 995Book.c did not include config.h, and thus missed the redefinition of 996snprintf (which is not known in MSVC). The use of 'inline' in parser.c 997also needed an MSVC redefinition, now added to winboard/config.h. 998 9992014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1000Fix GTK font patch 1001 1002 10032014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1004Replace strcasecmp by StrCaseCmp 1005 1006The MicroSoft compiler does not know strcasecmp, so we better use 1007our own function for this everywhere. 1008 10092014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1010Let GTK build pay attention to font arguments 1011 1012Multi-line text edits now use the initial value of the Option.textValue 1013field as a pointer to a (char*) holding a font name, to be used for 1014the text displayed in it. (After which they overwrite the field with 1015the textView handle.) The font options -tagsFont, -commentFont, icsFont, 1016-moveHistoryFont and -gameListFont are now activated in the GTK build, 1017to control the corresponding memos. 1018 10192014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1020Fix auto-display comment option in General Options 1021 1022This options had the same ID as auto-Queen, making it ignored. 1023 10242014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1025Call DoEvents during time-consuming operations 1026 1027Processing of a game file for reading it, searching positions, saving 1028selected games or creating a book from them can take minutes. To keep 1029the application responsive during that time, the main loops of those 1030tasks calls DoEvents(). A possible risk is that the user can now do 1031too much, and will initiate actions that interfere with the tast in 1032progress. 1033 10342014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1035Fix GameListHighlight WB 1036 1037The routine to highlight a game line in the Game List listbox of WinBoard 1038used an extremely inefficient linear search to find the game amongst the 1039selected games. This has now been replaced by bisection, after finding 1040an upper limit to the number of entries in the listbox by doubling 1041a trial size. 1042 10432014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1044Provide DoEvents function in front-ends 1045 1046A routine to process all pending events in a non-blocking way is now 1047provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming 1048tasks (such as PGN loading or opening-book creation) can call it to keep 1049the user control over the application alive. 1050 10512014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1052Fix syntax error in bitbase code 1053 1054 10552014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1056Describe Save Selected Games menu in manual 1057 1058 10592014-09-06 22:29:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1060Let Save Games as Book only use selected games 1061 1062The book-creation code now only takes games into account that are 1063selected for display in the Game List. 1064 10652014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1066Rewrite key-binding section of manual 1067 1068This section still wrongly described the key-binding procedure from 1069before the rewrite of the XBoard front-end. 1070 10712014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1072Connect scroll event to Graph Option in GTK 1073 1074The mouse wheel is now detected in graphics widgets, and passed to 1075the user handler as button 4/5 mouse events. 1076 10772014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1078Make sure node count is positive 1079 1080Engines that print the node count as an int overflow into negative values 1081when the count exceeds 2G. This is really an engine bug, but as it 1082interferes extremely annoyingly with the alignment of the Thinking Output 1083XBoard now repairs it by adding 4G to undo the overflow. 1084 10852014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1086Connect mousewheel to Forward/BackwardEvent (XB) 1087 1088The mouse buttons 4 and 5 are now processed in the handler for the 1089board widget. 1090 10912014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1092Fix size of time in Engine Output window 1093 1094When the thinking time exceeds an hour, the format hr:min:sec is now used, 1095in stead of min:sec.cents. This prevents the field from extending beyond 1096the tab stop when thr hours kick in, and should work upto 100 hrs. 1097(Going beyond that at the moment does not seem useful.) 1098 10992014-09-04 22:57:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1100Verify if font-spec looks like one in Xaw 1101 1102To make XBoard resistant to mixed use of Xaw and GTK builds, which 1103would not understand each others font specs stored in the settings 1104file (they have in common), we now determine if the value looks like 1105an X-font. If it doesn't, the Xaw version ignores it. The GTK build already 1106ignored it if it did lool like an X-font spec. 1107 11082014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1109Fix alignment in Engine Output window 1110 1111Numbers above 1000M would become too wide for their field. This is 1112solved by introducing the abbreviation 'G'. Values below 10M or 10G 1113now get an extra digit in their fraction, so that the precision is 1114at least 1%. 1115 11162014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1117Add Save Selected Games menu item 1118 1119A menu item to save all selected games in the Game List on a single 1120file is added. 1121 11222014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1123Add final piece count to search criteria 1124 1125The Load Options dialog now has a text field in which a range can be 1126entered (like 8-10). Position search will then only select games that 1127had their final number of pieces in this range. 1128 11292014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1130Fix castling rights on using -lgf 1131 1132The dummy InitPosition to force loading pieces was taking place after 1133InitBackend2(), while the latter could have already loaded a game 1134from an -lgf argument (which would then be spoiled by the InitPosition). 1135It has been moved to before InitBackend2() now. 1136 11372014-07-29 15:03:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1138Fix crash on double-click in Game List Tags 1139 1140A double-click in the Game List Tags listbox has no function, but it 1141crashed XBoard, because the textValue field of teh ListBox Option definition, 1142supposed to contain a pointer to the user-supplied handler, contained a 1143pointer to an empty string. 1144 11452014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1146Fix typing of null moves 1147 1148Entering a null move through the move type-in could fail because the 1149to-square coordinates (not used in its encoding) could have invalid values, 1150which would reject the move in an early stage of UserMoveEvent(). 1151Null moves are now exempted from this vaidity test, while variants where 1152null moves are legal now accept them in any gameMode. 1153 11542014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1155Fix adjusting clocks in Xaw version 1156 1157The handler attached to Label options failed to flip the sign of the 1158option number when a button other than Button1 was pressed, so that time 1159would always be subtracted on Shift + ClockClick and never added. 1160Shift now also suppresses interpretation as null move when playing. 1161(In Analyze / EditGame mode it is still null move starting a variation.) 1162 11632014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1164Fix null-move entry during play 1165 1166Null moving by clicking the clock was only accepted in Edit Game and Analyze 1167mode, while in Chu Shogi and spin-offs it is also allowed during play. 1168An F_NULL_MOVE flag was introduced to make it easy to test for such variants, 1169and Machine White/Black mode now also interpret clock clicks as a null move 1170if the opponent's flag has not yet fallen. 1171 11722014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1173Let EditPosition double-click on piece promote it 1174 1175For pieces with Shogi-like promotion (i.e. if the promoted piece has 1176pieceToChar defined as '+'), let a second click on it in Edit Position 1177mode promote or demote it (as the case requires) when the piece menu is off, 1178rather than remove it (as was the old behavior. 1179 11802014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1181Make EditPosition pallette work in Asian variants 1182 1183Construction of the pallette position was not working in variants that 1184did not have Pawns start on 2nd rank, or that had multiple ranks of pieces. 1185Now the algorithm is applied to all ranks. 1186 11872014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>: 1188Fix crash on opening Tags window Xaw 1189 1190Suppressing the optional book button made the Xaw generic popup crash, 1191because the following button had the SAME_ROW modality, and was thus 1192positioned w.r.t. a non-existent widget. 1193 11942014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1195Fix writing of Chu-Shogi FENs 1196 1197Promoted pieces were getting the wrong ID letter, of the piece demoted 1198by 11, rather than 22. 1199 12002014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1201Allow pseudo-engines to adjust the clocks 1202 1203Implement new options -first/secondPseudo, which declare the corresponding 1204engine to be a pseudo-engine, which will then be granted super-powers 1205through some new engine->GUI commands. For instance, to adjust the time 1206remaining on the GUI clocks through wtime and btime commands (using msec). 1207 12082014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1209Fix piece inscriptions 1210 1211 12122014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1213Fix reading Chu Shogi FENs 1214 1215The X (for Phoenix) was interpreted a 10 empty squares. 1216 12172014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1218Fix loading positions in engine-defined variant 1219 1220Paste Position did not work when an engine-defined variant had redefined 1221the pieceToCharTable, as the position would be interpreted and sent to the 1222engine before receiving the setup command. Copying the pieceToCharTable 1223received from an earlier game to appData cures this, because it will then 1224be used by InitPosition, which would reset the table to default otherwise. 1225 Another problem was that setupSpoiledMachineBlack would not be reset 1226after a game with no moves, leading to a spurious 'go' command to the engine. 1227 12282014-03-17 23:05:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1229Render inscriptions on Chu-promoted pieces in red 1230 1231 12322014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1233Allow writing text on pieces 1234 1235A new persistent string option -inscriptions allows the user to define 1236characters to be written on the various piece types. The string is 1237interpreted as UTF-8. This option is useful for on-the-fly synthesis 1238of Shogi pieces, where the string can contain the various kanji in 1239the canonical pieceToCharTable order. Except that only a single color 1240has to be given. 1241 12422014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1243Fix initial sizing of board 1244 1245Previous patches had destroyed the ability to obey the -size option. 1246 12472014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1248Fix width of menu bar 1249 1250The truncated name might not have been terminated with '\0'. 1251TinyLayout now specifies the number of characters kept in the menu names. 1252In the OS X version truncating is never needed, as the menu bar is 1253at the top of the screen, independent of board size. 1254 12552014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1256Fix warnings fonts patch 1257 1258 12592014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1260Implement (clock-)font handling in GTK 1261 1262The options -clockFont, -coordFont and -messageFont are activated, 1263and supposed to have string values like "Sans Bold 12". The default 1264values have the point size as 'wild-card' %d, however "Sans Bold %d", 1265and are expanded by a printf with the point size taken from the defaults 1266table. The expanded versions are saved back into the settings file, 1267prefixed with a size tag, as usual. 1268 So far -clockFont is the only font that is actually applied while 1269writing. 1270 The 'clock kludge' was interfering with the initial sizing, as for some 1271sizes the initial clock-widget height happened to be equal to the final 1272height. It was therefore abandoned, and we seem to be able to live without 1273it. 1274 Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar. 1275Therefore tinyLayout now uses single-letter menu labels. 1276 12772014-03-02 20:45:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1278Also search indirection files in user's .xboard tree 1279 1280 12812014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1282Fix error Engine Output text highlighting 1283 1284In wengineoutput.c higeTextStart and End where decalred both static and 1285extern, which somecompilers justifiably don't like. 1286 12872014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1288Fix Board-dialog bug WB 1289 1290The drawing code for the sample square did ot restore the correct brush. 1291 12922014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1293Fix various warnings 1294 1295Mostly written but never read errors. Also removed a debug printf that was 1296causing a format warning. 1297 12982014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1299Kludge repair of expose after startup resize 1300 1301Redraw of the main board after resize is delegated to DragProc, which is 1302scheduled after a delay, to make sure the user is done sizing (mainly to 1303reposition docked windows). But at startup the program-requested resize when 1304an engine does not support variant normal and needs a different board format 1305takes so long that the finale size expose occurs after the DragProc timeout. 1306As a result, the board was never drawn on the resized canvas. 1307 This is quite hard to fix in a satisfactory way. For now the suppression 1308of board redrawing during resize is disabled during the first 10 seconds 1309after startup, as any resize during that time is likely to be the result 1310of a program request. 1311 13122014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1313Use first engine as default for second 1314 1315Rather than having the same fixed default for both engines, we noww only 1316have a fixed default for the first, and use the actual first as default 1317for the second. One advantage is that this guarantees the second engine 1318plays the same variants as the first by default. 1319 13202014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1321Allow adding played move to book 1322 1323A button is added in the Edit Book dialog to prime XBoard for adding the 1324next move entered through the user interface to the book window, without 1325actually playing it. 1326 13272014-02-23 22:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1328Play move right-clicked in Edit Book dialog 1329 1330A handler for button-3 down-clicks is added to the Edit Tags dialog, 1331which fakes the clicked word was typed in the move type-in box. 1332 13332014-02-23 19:23:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1334Fix pop-down of ChatDlg and TextMenuDlg from menu 1335 1336Unlike other windows these two would not react to clicking the menu item 1337once they were up. Now they pop down in that case. 1338 13392014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1340Preserve window width on board-format change 1341 1342When a variant switch would cause recalculation of the board window, 1343we now first recalculate square size to keep the window width fixed. 1344Also adapt initial width on high boards. 1345 13462014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1347Equip Board Options dialog with themes listbox 1348 1349The option -themeNames is made persistent for XBoard, and its value is 1350displayed in a listbox added to the View -> Board dialog. The user 1351can select themes from this, and manipulate the contents similar to 1352the engine list in Load Engine. A textedit allows the user to define a 1353theme name for the current settings, and doing so adds the theme to the 1354-themeNames list. 1355 13562014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1357Implement copy function in ICS Text Menu 1358 1359A command consisting of the word $copy will place the clicked word on 1360the clipboard. When there was already text selected during the click, 1361that selected text will be used for $copy and $name, rather than the 1362right-clicked word. 1363 13642014-02-07 09:48:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1365When ICS Console open EOF from keyboard is no error 1366 1367In case the user started without a terminal, we just close the input source, 1368and suppress future writing to the xterm. 1369 13702014-02-06 18:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1371Leave xterm at start of new line after quitting XBoard 1372 1373 13742014-02-06 18:36:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1375Also display channel tell in ICS Console during private chat 1376 1377Channel tells of players for which a chat wa opened were displayed in that 1378chat, as well as in the channel chatbox, if the latter was open. But when 1379there was no channel chatbox it would not appear as colorized channel tell 1380in the console. This is now fixed, and in the private chat box such a 1381message is indicated as 'broadcast'. 1382 13832014-02-05 23:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1384Write broadcasts also to private chatbox of talker 1385 1386The shouts or channel chatboxes capture messages first, but if a private 1387chat with the talker is opened, it now goes there too. Prefixed with 1388the type of broadcast. 1389 13902014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1391Fix Xaw Chat Console 1392 1393 13942014-02-05 22:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1395Let Ctrl-O key open chat for last talker 1396 1397 13982014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1399Add End Chat button 1400 1401This button clears the current chat, so that it becomes free for 1402assignement to another partner. 1403 14042014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1405Ctrl-N in chat opens empty chat 1406 1407This key isequivalent to pressing the left-most New Chat button. 1408If no unused chat present, it the command will be ignored. 1409 14102014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1411Preserve unfinished input lines during chat switch 1412 1413This is problematic, as apparently we cannot write in widgets that are 1414active with key hits, so attempting to write it back in response to Tab 1415did not work. This is now done with a delay, for lack of a better method. 1416 14172014-02-04 13:57:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1418Recognize Esc and Tab in ICS Console input 1419 1420Esc is used to close the chat, or transfer focus to the board window. 1421Tab is used to navigate between chats (or open the first). Priority 1422is given to dirty chats. 1423 14242014-02-03 20:35:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1425Let ICS Console pop up GTK in stead of ICS Input Box 1426 1427 14282014-02-03 19:45:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1429Add context menu to ICS console XB-GTK 1430 1431A right-click handler is added to the output memos of the ICS Interaction 1432window. It pops up the ICS text menu. It is remembered whether the menu 1433was already up; if not, it will be popped down after a command is selected 1434from it. Like the WinBoard context menu, the commands will be able to use 1435the clicked word. 1436The -icsMenu 'command' $chat is now recognized as a special case, not to 1437be sent to the ICS, but executed by XBoard. It will assign one of the 1438five chats to the clicked name. If no empty chat is available, the last 1439chat will be used (but not cleared). 1440 The -icsMenu in the master config file is now configured to contain 1441this command, but unfortunately this will not become effective for users 1442that already have a settings file. 1443The Text Menu now puts $input commands in ICS Console Input field when the 1444ICS Input Box is not up. 1445 The text placed in the input field for completion (as per $input directive) 1446turned out to be selected in GTK, so that when you stated typing, it was 1447erased again! 1448 By making the Text menu dialog subject to WindowPlacement control, 1449and interrogating the poition of the ICS Console window, the Text Menu 1450can be popped up such that the mouse pointer is on the bottom-left button. 1451 14522014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1453Integrate ICS output into Chat Window 1454 1455An extra pane has been added to the Chat Window to display the ICS output. 1456In GTK this output is colorized just as in the xterm. For Xaw this is not 1457possible. This pane is always visible, and the chat output can be hidden, 1458to double its size. Entered input will go to the selected chat (when not 1459hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner 1460field is hidden together with the chat pane and the Hide button. Each of 1461the five chats now has a dedicated button; for unused chats (empty Chat- 1462Partner field) these now gets the text 'New Chat' inscribed on it. 1463Focussing is made more intelligent (to the Partner field when shown and 1464empty, otherwise to the input field). 1465The Up and Down arrows now work in the input field to recall old input. 1466 ScrollToCursor() was broken in GTK, because a mark was made for only 1467a single buffer. Now each buffer has its own end mark. 1468 Another problem was that using ScrollToCursow immediately after a memo 1469was shrunk (because a neighboring one expanded) it would still use the 1470old memo size, so that the bottom part remained out of view. Delaying it 147150 ms solved that problem. 1472 A new option -icsUp was added to store the visibility in the settings. 1473It is updated only in ICS mode. The ICS Console pops up automatically 1474when the stored parameters say so. It is also made sticky. 1475 Unlike the xterm the textView does not extend background color to unwritten 1476positions behind the line. A separate GTK call is now added to set the 1477unwritten part to the same color as the background in normal text. 1478 A control was added in the ICS Options dialog for setting the colors 1479of normal text (-colorNormal). 1480 14812014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1482Add logo-size control XBoard 1483 1484This is mainly for the benefit of OS X useres who cannot find their 1485settings file. It requires a restart to become effective, which is 1486really sub-standard. 1487 14882014-02-02 17:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1489Add Edit Engine List menu item to XBoard 1490 1491In OS X the settings file is hard to find... 1492 14932014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1494Fix warnings 1495 1496Some unread variables are commented out, rather than removed, because they 1497can be useful for future development. 1498 14992014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1500Fix moves of Spartan Captain 1501 1502The rewrite of the move generator did no longer pay attention to rookRange, 1503so that the Spartan Captain moved like a Rook. 1504 15052014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1506Add Option type 'Skip' 1507 1508The value -1 used to suppress rendering of option controls was drawing 1509error messages, because enums are unsigned. So a new member Skip was added 1510to the enum. 1511 15122014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1513Detect Fischer castling in FENs 1514 1515Castling rights with unorthodox piece placement imply Fischer castling. 1516Make sure shuffling is done after detecting this, because it means K & R 1517can also be shuffled (as long as K remains between both R). 1518 15192014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1520Allow shuffling indicators in FEN 1521 1522If the back ranks are enclosed by < > in a FEN, the route to shuffle 1523initial positions is invoked on it. 1524 15252014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1526Allow wild-cards in FEN 1527 1528A question mark in a FEN will now be interpreted as a piece randomly 1529chosen from the holdings. (From which it will be removed.) Intended 1530for use in symmetric black/white pairs; when used on asymetric locations 1531or with non-identical holdings the results will be undefined. 1532 15332014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1534Fix Seirawan reverse-castling animation 1535 1536In Chess960 animation of castlings is suppressed, because the move is encoded 1537as KxR, so that the to-square in general is not the final destination of the 1538King. So it is just confusing to the eye to see the King slide to the Rook, 1539and then jump to an entirely different square. In S-Chess castlings can 1540similarly be encoded as RxK (to indicate gating at the Rook square), and 1541animation of those moves should be suppressed for the same reason. But it 1542wasn't, and in Fischer castlings denoted as RxK this even caused the Rook 1543to disappear when it didn't need to moved. 1544 Perhaps one day a smart method of animating Fischer castlings can be 1545designed. (E.g. remove Rook, animate King move to true to-square, place Rook? 1546But what if the King doesn't move at all? Animate Rook then? Normal castlings 1547now animate the King, and then just displace the Rook.) 1548 15492014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1550Make Fischer castling generally available 1551 1552A new volatile option -fischerCastlings allows every variant to be played 1553with Fischer castling, which so far was only allowed in variants FRC/CRC. 1554This only makes sense in shuffle variants, where King and Rooks might not 1555be in their orthodox locations. But even when they are, it has consequences 1556for the user interface, which will require dragging King on Rook as the only 1557way to enter castling. Like -shuffleOpenings the setting will be cleared 1558as soon as you switch variant (unless you switch to FRC/CRC, where they 1559Fischer castling is on by default). It can be set from the New Shuffle dialog. 1560 15612014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>: 1562updated po/pot files 1563 1564 15652014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>: 1566new version number for developer release 1567 1568 15692014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>: 1570updated Dutch translation 1571 1572 15732014-01-19 20:44:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1574Put ponder checkbox in Common Engine dialog WB 1575 1576This is yet another duplicate of the one in General Options and Adjudiactions. 1577 15782014-01-19 20:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1579Expand %s in -openCommand to DATADIR and fix OSX settings-file name 1580 1581This can be used in OS X to biggy-back a cd to a directory in the App 1582on the open command. 1583 15842014-01-18 23:42:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1585Add some checkboxes in General Options dialog WB 1586 1587Checkboxes are added for -variations, -memoHeaders and -autoExtend. 1588 15892014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1590Fix warning in CheckTest 1591 1592 15932014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1594Fix printing of engine-output headers 1595 1596They were not printed on analyis of the first position after opening 1597the Engine Output window. 1598 15992014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1600Fix sticky windows on Win8 1601 1602 16032014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1604Drag touching edges together (WB) 1605 1606When an auxiliary window is dragged by an edge, the snap code now checks 1607if that edge was touching another window. If so, that other window is sized 1608to keep touching the dragged edge. Unless it was also touching the main 1609window. 1610 16112014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1612Implement new mate-score standard 1613 1614Matescores are now indicated in the protocol as +/- 100000+DTM, 1615and in the Engine Output window as #DTM or #-DTM. 1616 16172014-01-15 21:28:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1618Put fail-high/fail-low indicators in protocol specs 1619 1620 16212014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1622switch to new tbhits protocol 1623 1624The extended info is now expected as 3 bare integers, the last one 1625separated from the PV by at least one tab character. 1626The protocol extension is described in the CECP specs document. 1627 16282014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1629Fix sorting of Engine Output 1630 1631The moveKey of the top line was never stored, so that more recent 1632lower scores could not pass it even if they had the same move. 1633 16342014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1635Handle fali-low & fail high 1636 1637A ? or ! at the end of the PV are now also written behind the score. 1638 16392014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1640Implement extended thinking output 1641 1642The PV field can now start with three quantities, selective depth, 1643engine speed and tablebase hits, disguised as PGN comment. XBoard will 1644strip that off, and allow them to be displayed in separate columns of 1645the engine-output window. 1646 16472014-01-14 14:46:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1648Allow hide/show of columns in Engine Output 1649 1650A new persistent Boolean option -memoHeaders enables a new feature: 1651text headers are shown above the depth, score, nodes, time columns in the 1652engine output. Right-clicking them will subsequently hide the corresponding 1653data, and move the column header to above the PV in a 'not shown' list, 1654where it can be clicked again to re-open the column. 1655Configure maseter settings to switch -memoHeaders on by default. 1656 16572014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1658Fix ManProc for OS X 1659 1660 16612014-01-14 10:02:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1662Fix access to ~~/themes/conf for OS X 1663 1664In OS X DATADIR is a variable. 1665 16662014-01-13 19:23:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1667Add 'Continue later' button to Tournament dialog XB 1668 1669To do GenericReadout without triggering a call to the OK function, 1670we introduced a new value for the option-number parameter, -2. 1671 16722014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1673Fix Tournament Options dialog 1674 1675Deleting a Label option had renumbered the remaining Options, breaking 1676the dialog and causing a crash when an engine was selected. A considyency 1677check is now added to catch this condition, and throw an error popup 1678when we mess up again. 1679 16802014-01-13 17:09:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1681Allow popup of TC and Common Engine from Tournament dialog 1682 1683A new dialog class MasterDlg was added, similar to TransientDlg, 1684but to allow two dialogs to be up simultaneously. The Tournament Options 1685dialog was migrated to this class, so it can now get buttons to pop up 1686the Time Control and Common Engine dialog, like WinBoard. It even has 1687a button for the General options dialog. 1688Special care had to be taken to prevent popdown of the MasterDlg when 1689a Transient child is still up (similar to browser or error childs). 1690 16912014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1692Add --show-config special option 1693 1694This prints a list of configure parameters, and then exits. If a second 1695argument is given, it only prints the value of that config parameter, 1696so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu 1697can be used in install scripts of packages with piece images. 1698 16992014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1700Overhaul kill code 1701 1702Engines were not always forcefully killed in XBoard, which could make 1703the tournament manager hang when an engine became unresponsive to "quit". 1704The various levels of killing are now revised, and the -delayAfterQuit 1705is absorbed in DestroyChildProcess(). There is a hard killing mode 9, 1706which immediately sends SIGKILL, intended for engines that have already 1707proven to malfunction or could not start at all. In other cases SIGTERM 1708is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1 1709sec later just in case the SIGTERM would be ignored. 1710 17112014-01-13 13:38:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1712Fix name of master settings file in OS X 1713 1714The name needs to be relative to the bundle path, but ~~ expansion 1715did not work for compiled-in defaults, as the expansion takes place 1716when parsing an option. The dataDir is now also kept in an array rather 1717than as a pointer, to allow it to appear in statically initialized tables. 1718 17192014-01-08 16:25:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1720Fix Chu promotion of L, HM and GB 1721 1722The promotion popup would not be shown for HM and GB with legality testing 1723on because the piece types used for them were wild-card pieces. The Lance 1724was treated as a Pawn in HasPrmotionChoice(). 1725 17262014-01-08 16:09:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1727Remove redefine of DATADIR that leaked in from v4.7.x 1728 17292014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>: 1730updated po/pot files 1731 1732 17332014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>: 1734new version number for release 4.7.3 1735 1736 17372014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>: 1738updated copyright to 2014 in menu.c 1739 1740 17412014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>: 1742removed .DS_Store file from git 1743 1744 17452014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>: 1746Updated copyright notice to 2014 1747 1748 17492014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>: 1750cleanup some trailing whitespaces 1751 1752 17532013-12-29 13:46:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1754Fix crash on use of dialog Browse buttons GTK 1755 1756The code to set a filter did not expect multiple extensions, and would 1757cause a buffer overrun when there were. 1758 17592013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1760Make building of Windows .hlp file optional 1761 1762By using && and || operators in the build recipe, the building of WinBoard 1763with Cygwin is now not aborted whe the Help Compiler is not installed. 1764 17652014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1766Use __APPLE__ compile switch for OS X 1767 1768It seems that on Apple machines the compiler will always define the 1769symbol __APPLE__, so this is now used instead of OSX, which had to 1770be defined with a -DOSX compiler flag. The gtkmacintegration header 1771is now using <> in stead of "" in its #include. (Strange enough both 1772were working.) 1773 17742014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1775Expand ~~/ to bundle path (OSX) 1776 1777DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op 1778there. Same for Linux compiles. For OS X it is #defined as a variable, 1779obtained from GTK-OSX at startup. 1780 17812013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1782Activate ManProc in GTK 1783 1784 17852013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1786Remove use of strndup 1787 1788The use of strndup was actually unsafe, as the length was passed using 1789an ordinary strlen. strndup was not availableon OS X 10.6, and is now 1790replaced by an ordinary strdup, which should be save enough. 1791 17922013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1793Put some OSX code into gtk version 1794 1795Under control of #ifdef OSX code is added to integrate the GTK front-end 1796into OS X. This involves moving the menu bar to outside the window, and 1797catching the signal that OS X sends to running applications when opening 1798another instance was requested. Som files are renamed to conform to the 1799file tree of the OS X App package. 1800 18012013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1802Cure weirdness when dragging outside of board 1803 1804Dragging outside the board (when people maximized the window) did not 1805properly restore background, (leaving a trail of dragged piece). Filling 1806the canvas with white when it is creatd cured this. The problem most likely 1807was that unitialized cairo surfaces had transparancy, and writing back 1808transparancy doesn't helpmuch to erase things. 1809 18102013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1811Fix sorting of lines in Engine Output 1812 1813Lines tat were fail-lows or fail-ighs should get the scores on the basis 1814of wich they are sorted corrected to that of te line (for the same move) 1815superceding them, so that other moves can rise to above them, when they 1816score higher than the corrected score. 1817 18182013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1819Make filler variant button inactive 1820 1821 18222013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1823Fix packing of FRC castlings 1824 1825The routine for packing moves to the internal database format was not 1826working for FRC castlings, totally messing up position search for FRC 1827and CRC. 1828 18292013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1830Fix Xaw file-browser New Directory 1831 1832Prevent people from using the error messages that will be printed here 1833as directory name by pressing New Directory a second time after first 1834pressing it with an empty or existing name. 1835 18362013-12-05 16:14:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1837Widen Xaw text entries for larger square sizes 1838 1839Presumably people will use larger fonts if they use larger board squares. 1840(And in any case te default fonts would be larger.) This means they need 1841more space to see what is the current value of text options. 1842 18432013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1844Remove width limiting of shuffle checkbox 1845 1846 18472013-11-28 13:30:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1848Allow castling and e.p. to be edited in opening book 1849 1850 18512013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1852Repair FRC A-side castling legality testing 1853 1854XBoard allowed A-side castling when a rook started on the a-file, 1855and the b-file was blocked. 1856 18572013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1858Repair XBoard from node-count patch 1859 1860u64 was #defined in backend.h, which unfortunately was almost alwats 1861(Not sure why WinBoard did not suffer from this!) This, and related 1862definitions have now been moved to common.h (which is always #included 1863first). 1864 18652013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1866WinBoard multi-monitor support 1867 1868A patch provided by Tim Kosse 1869 18702013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1871Fix node count range 1872 1873The node count was still clipped to 32 bit because one of the structs 1874it passes through (FrontEndProgramStats) had the nodes field declared 1875as an unsigned long. 1876 18772013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1878Fix adjudication of Giveaway stalemates 1879 1880The case where the side-to-move would win by stalemate was not treated 1881in the Adjudicate switch. 1882 18832013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1884Fix buffer overflow in parser 1885 1886When a line ended with a comment, the parser had to read a line ahead 1887to check if there was a PGNresult following, without being able to 1888throw away the previous line yet. This could lead to buffer overflow 1889in a long game where every line ended in a comment. The buffer now is 1890cleansed of already parsed data when starting on a new syntactical unit. 1891 18922013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1893Fix -zippyVariants option 1894 1895Due to the change of cps->variants from (char []) to (char *), copying 1896zippyVariants to it on behalf of v1 engines would no longer work. This 1897is fixed by using ASSIGN() in stead of safeStrCpy(). 1898 18992013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1900Fix initial board sizing WB 1901 1902The initial board size was based on the assumption the board would be 8x8. 1903This could push auxiliary windows off screen if the board was smaller, 1904after which EnsureOnScreen would undock them and park them in the upper- 1905right corner before the board assumed its true size. InitPos() is now called 1906before the initial sizing to et the board format correctly, InitDrawingSizes() 1907had to be made resitant to calling before a board size was picked for this 1908(because InitPos() might call that too). 1909 ActivateTheme() now uses the new board size, not the previous one (as was 1910indicated by size -2), so that -boardSize specifications inside a theme 1911will take effect. 1912 Board size petite should not be forbidden for Shogi; all pieces exist there. 1913 19142013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1915Fix grabbing of selected piece 1916 1917A second static click on a selected piece should deselect it, but an attempt 1918to drag an already selected piece should not 'bounce off'. It was already 1919possible to move a selected piece to another square, but the dragging was 1920not animated. This is now fixed, by only skipping the code to start dragging 1921when the second click is part of the only-move double-click for only capture. 1922(Before it was skipped on any second click.) 1923 19242013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1925Allow entry of negative numbers in spin control (WB) 1926 1927Windows numeric controls do not accept negative numbers, so in case the 1928range of a spin option can go negative, the style ES_NUMBER should not be 1929set on the control. 1930 19312013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1932Allow drops / promotions/ deferrals to be edited into book 1933 1934For no real reason only NormalMove would be accepted when parsing the list 1935of book moves. 1936 19372013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1938Fix GUI book after setup position 1939 1940The routine to send move to the engine would automatically append a 'go' 1941is a preious setboard had put the engine in force mode, but this should 1942not happen on a book hit, where the engine should even be put in force mode 1943if it was not yet there. 1944 19452013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1946Fix book creation 1947 1948Due to duplicate use of the same file pointer variable the game file would be 1949closed before any games were read from it. 1950 19512013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1952Make PGN parser immune to unprotected time stamps 1953 1954The parser choked on time stamps of the form dd:dd or dd:dd:dd if one 1955of the fields happened to be 00, because it wouldmistake that for a 1956non-compliant king-side castling. By excluding this interpretation when 1957the 00 is immediately preceded or followed by ':' this is now prevented. 1958 19592013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>: 1960updated po files for new release (make distcheck) 1961 1962 19632013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>: 1964new version number for release 4.7.1 1965 1966 19672013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>: 1968updated Changelog, NEWS, etc. 1969 1970 19712013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1972Update zippy.README 1973 1974It is explained how to generate multi-line commands for -zipyGameEnd. 1975 19762013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 1977Fix Xaw file browser 1978 1979The 'next page' entry of the Xaw file browser contained a \177 character 1980to keep at sorted at the bottom. This caused trouble for gettext. 1981Now the sorting range is adapted so the 'next page' is never part of it. 1982 More seriously, the listbox fill code had a wrong cast when testing for 1983an empty listbox on the first element, so that it only tested the low byte 1984of the pointer, in stead of the entire pointer for NULLness. As a result 1985the contents of the listboxes could suddenly disappear when even when it 1986was non-empty, because the first filename was allocated at an unlucky address. 1987 19882013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1989Make Chat Box window obey -topLevel option 1990 1991It was always popping up as a dialog of the main board, covering it. 1992One could argue it should always be to-level. 1993 19942013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 1995Fix scrolling of Chat Box 1996 1997Seems the problem is that scroll_to_iter does not work until after some time, 1998needed to calculate line heights. Use scroll_to_mark instead, after clumsily 1999adding a text_mark. 2000 20012013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2002Fix GTK SetInsertPos 2003 2004SetInsertPos() was not yet ported to GTK, with as a result that the cursor 2005was positioned at the start of a line recalled in the ICS Input Box, 2006rather than at the end. The code also called SetInsertPos to force scrolling 2007to that point in the text (which in Xaw is an automatic side effect). So for 2008multi-line text edits this function calls ScrollToCursor(). For some reason 2009this does not work when replacing texts in the Chat Box memo, when switching 2010chat, although it does work in the same memo when a line is added to the 2011existing text. 2012 20132013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2014Print score of final position in Analyze Game 2015 2016The score/depth of the final position of the analyed game is added 2017(as an explicit comment) behind the PV of the forelast position. 2018To make this work, a new 'addBraces' mode (3) had to be added to 2019AppendComment, which suppresses stripping of the score/depth from 2020the comment. 2021 20222013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2023Fix horrible bug in reading scores from PGN 2024 2025Reading scores like -0.94 flipped the sign, because the integer part 2026-0 would read as 0, and thus was no reason for sign flipping. 2027 20282013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2029Fix disappearence of pieces that were moved illegally 2030 2031Dragging damages the from-square, but it is not marked as such, because 2032selective board redraws to update highlights and such would draw the piece 2033that is really still there, making it flash on the from-square before 2034the position after the move is drawn. This, however, backfires when the 2035move was illegal, as then there is no draw of a new position, and the 2036from-square stays empty. For now this is solved by making DisplayMoveError() 2037order a total redraw. (As this is rare, only done in case of an error, 2038and might even throw up a pop-up, the performance cost of this is acceptable.) 2039 20402013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2041Fix quoting of book name in tourney file 2042 2043The argument of -polyglotBook was written to the tourney file unquoted, 2044which effectively made it disappear if it was an empty or blank string. 2045 20462013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2047Provide compatibility with Alien Edition setup command 2048 2049The setup command of the Alien Edition has a board-size specifier 2050(possibly as prefix on a parent-variant name) between pieceToCharTable 2051and FEN. The regular version would choke on that, precluding engines 2052designed for the Alien protocol extension to have their setup processed 2053when running under regular XBoard. This patch makes it skip the extra info. 2054 20552013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2056Fix saving of analyzed game 2057 2058Anotated games after batch-mode Analyze Game were not auto-saved, 2059because the GameEnds() call supposed to do that was called with a NULL 2060argument for resultDetails. Now it is called with the resultDetails as 2061pre-existing in the gameInfo, or an empty string if none exist. This bug 2062was masked by the fact that in standard game ends (mate, etc.) the 2063analyzing engine would declare game end and supply a message. 2064 Also makes a distinction between Analyze Game and regular Analyze mode 2065when resuming analysis after loading a game; only the former now would 2066trigger a batch analysis. 2067 20682013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2069Fix spurious popup after batch-mode Analyze Game 2070 2071A batch analysis of games was not properly terminated, because the game 2072mode was tested after it had already been changed. No oldGameMode is 2073tested in stead. 2074 20752013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2076Let XBoard -autoBox option also affect move type-in 2077 2078 20792013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2080Fix GTK box popup 2081 2082Key values > 255 are used for PgUp, PgDown etc., so to pop up only on 2083printables needs a two-sided test. 2084 20852013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2086Fix fatal error on unsupported board size 2087 2088When a board size unsupported by the engine was requested through the 2089New Variant dialog, this was discovered while the dialog was still up, 2090causing the error message to pop up as a child of the New Variant dialog, 2091so that it would immediately be taken down as the latter closed. 2092As a result it could not be confirmed, so that XBoard would not exit, and 2093was left in a pathologic state (ignoring window-close). This is fixed 2094by performing Reset (which detects the error) after PopDown of New Variant. 2095 20962013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2097Accept setup command for non-standard board size 2098 2099The code to test if board-size is standard for the current variant 2100has been moved to a subroutine, to allow its calling when receiving 2101a "setup" command from the engine. 2102 21032013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2104Fix buffer overflow in feature parsing 2105 2106String features (variants, egt, myname and option) relied on a buf[MSG_SIZ] 2107for processing their value. The Nebiyu engine had combobox options that 2108required more than that. All string features are now stored in allocated 2109memory rather than in static arrays, and StringFeature allocates a buffer 2110of sufficient size for them. Only limitation now is the low-level input 2111buffer in the InputSource threads, whih is a static buffer of 4096 2112(=INPUT_SOURCE_BUF_SIZE) characters. 2113 21142013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2115Fix vertical sizing of GTK board 2116 2117The clipping of the boad at the bottom was due to resizing of the clock 2118height when we first write it with a big font. This patch delays calculation 2119of the final size until after the clock height changes. 2120 21212013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>: 2122Updated German translation 2123 2124 21252013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>: 2126Updated Ukrainian translations 2127 2128 21292013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2130Fix of argument error 2131 2132Oops. Pevious patch for skipping unknown multi-line arguments 2133was still buggy. 2134 21352013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2136Let popping up of WinBoard chatbox for channel open it 2137 2138WinBoard now issues a +ch command for a channel when you pop up a chatbox 2139for that channel. A work-around is added for the fact that the public 2140FICS seems to ignore the first such command. 2141 21422013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2143Make skipping of unknown option smarter 2144 2145To make XBoard better resistant to the presence of disbanded or future 2146options in its settings file, encountering those is no longer a fatal error. 2147But the error recovery only consisted of skipping the rest of the line. 2148This fails badly on string options with a multi-line value, which is 2149enclosed by {braces}. We now detect that case, to skip to } instead. 2150 21512013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2152Add -backupSettingsFile option 2153 2154For better configurability of WinBoard, an option is added to optionally 2155read a settings file, namely if no other settings file (other than the 2156master file) was read so far. This can be used to import settings from 2157a previous version, without destroying its settings file. 2158 21592013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2160Repair WinBoard compile error 2161 2162__GITVERSION was not defined in WinBoard, as it was only defined with a 2163compiler flag by ./configure, which WinBoard does not use. 2164 21652013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2166Work-around for Xt selection bug 2167 2168In some Xt implementations calling extend-end with 0 params causes a crash, 2169although the mmanual specifies this should default to a call with 'PRIMARY'. 2170The default selection is now explicitly mentioned in all extend-end calls. 2171 21722013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>: 2173fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change) 2174 2175xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like 2176./xboard.texi:1026: @itemx must follow @item 2177makeinfo seems right, @itemx is not used as described in the texinfo manual. 2178Attached 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. 2179 21802013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>: 2181updated po/pot files 2182 2183 21842013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>: 2185new version number for developer release 2186 2187 21882013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2189Try to make life more bearable in Xaw menus 2190 2191The alignment still sucks, but not as much as before. 2192 21932013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2194Fix -topLevel option 2195 2196This option was copletely ignored, after the refactorig. 2197 21982013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2199Fix testing for valid window placement Xaw 2200 2201 22022013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2203Suppress printing of status line in dual-board mode 2204 2205 22062013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2207Fix sizing of slave board GTK 2208 2209For lack of a known method to specify a default size for Graph widgets, 2210we have to use the same system as for the main board: create with 0x0 size, 2211and measure the size of the outer window to determine margins. 2212After every popup we then resize to the required board size plus these 2213margins. (Awful...) 2214 22152013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2216Better handling of undefined window parameters 2217 2218Repositioning and resizing a newly created dialog was based on the width 2219parameter of the stored sizing info being valid. Now it is separately 2220tested if the position is valid, so that sizing and moving can be done 2221independently. This allows us to store position info, but not size info 2222for the slave board, so that it automatically will use the size of the 2223main board when first opened. 2224 22252013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2226Limit debug print to debug mode 2227 2228 22292013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2230Fix repositioning of GTK windows 2231 2232After 'hide' and 'show' GTK would not position the window in the same place, 2233but center it on the parent. Now we reposition the window after 'show' based 2234on the WindowPlacement data (if available). 2235 22362013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2237Remember window params of slave board 2238 2239The slave board now has been assigned a WindowPlacement, which is also 2240saved in the settings file, through new options -slaveX/Y/W/H. 2241 22422013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2243Fix repairing of arrow damage 2244 2245The '2' bit in damage[][] to indicate the arrow was erroneously cleared, 2246rather than kept. 2247 22482013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>: 2249fix OK-response in gtk dialogs, see c7f8df124 2250 2251the fix in c7f8df124 needs to be applied to both of those if cases 2252 22532013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>: 2254removed two more translations from debug output 2255 2256 22572013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>: 2258fixed segfault of g_markup_printf_escaped which needs utf-8 strings 2259 2260defined text-domain as utf-8 solved this 2261 22622013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>: 2263fixed gtk-warning 2264 2265 22662013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>: 2267removed some translation calls for messages in the debug log 2268 2269 22702013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>: 2271add keyboard shortcuts back into Xaw version 2272 2273 22742013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>: 2275in debug mode also print the git-version if available during build 2276 2277 22782013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2279Print game-list timing messages only in debug mode 2280 2281 22822013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2283Fix title of top-level windows 2284 2285 22862013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2287Cure GTK warning in top-level windows 2288 2289There is no OK button in top-level windows, so the 'response' signal is 2290not defined, and should not be connected. 2291 22922013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2293Fix graying of Revert menu item 2294 2295The new code was checkmarking it in stead of enabling it! 2296 22972013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2298Add -onlyOwnGames option 2299 2300This suppresses auto-saving of ICS observed games. 2301 23022013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2303Allow display of 50-move counter in zippy mode 2304 2305No chance it could be considered cheating there. 2306 23072013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2308Add new vertical pixel fudge 2309 2310With the new GTK window type the board is 13 pixels too small. 2311 23122013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2313Don't add PV moves on board clicking in AnalyzeMode 2314 2315Playing PV moves by right-clicking the PV was only intended for clicks 2316in the engine Output window, selecting from multi-PV analysis output, 2317where by default it plays only the first move. PV walkig by right-clicking 2318the board, however, would start the walk at the end even in AnalyzeMode, 2319and thus add the entire PV. Which is probably not useful. So adding moves 2320in that case has now completely been suppressed, so it can be used for 2321harmless viewing of the latest PV. 2322 The behavior has also been made subject to a persistent Boolean option 2323-appendPV, configured to true, with a checkbox in General Options. 2324 A checkbox has also been added there for controlling the -variations option, 2325which is now also configured to true. 2326 23272013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2328Remove checkbox for 'Move Sound' 2329 2330This function is better controlled from the Sounds dialog. 2331 23322013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2333Make switching between board windows absolute 2334 2335Selecting the window in which to draw the board when the slave board for 2336-dualBoard was up was done by a toggle. For unknown reason this could cause 2337a situation where the drawing took place in the other window than the 2338intended one. The code is made more robust by explicitly specifying which 2339window to draw in, based on the partnerUp flag. 2340 23412013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2342Warn about experimental nature of dual board 2343 2344The message field, which for now is unused, now contains a warning message. 2345 23462013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>: 2347add close buttons to gtk windows 2348 2349use windows instead of dialogs for toplevel elements 2350 23512013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>: 2352keyboard accelerators for both front ends. 2353 2354moved them out of the string definition, so that gtk can add them automatically. 2355Also wrote a function that loads them for X11. 2356 2357TODO: add them again when creating X11 menu names 2358 23592013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>: 2360added rotated shogi pieces for -flipback option and moved them to the themes directory 2361 2362 23632013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>: 2364add test for pkg-config 2365 2366exit configure in case we can't find it. 2367 23682013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2369Only perform e.p. capture if there are rights 2370 2371The heuristic for e.p. capture was such that any non-forward move with 2372a Pawn to an empty square would delete the piece behind its new location 2373(Xiangqi exempted). This is now limited to cases where EP_STATUS indicates 2374that the deleted piece was a Pawn that performed a double-push on the 2375previous move. (Or if there is unknown EP_STATUS.) 2376 This makes XBoard more generally suitable for use with variants that have 2377non-conventional Pawn moves (with legality testing off). To guarantee this 2378will not have any unexpected effects in normal Chess, this patch will only 2379be active if legality testing is off. 2380 23812013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2382Unreserve tourney game on exit during engine load 2383 2384While waiting for the feature timeout we are not yet in TwoMachines mode, 2385so quitting XBoard at that stage would not unreserve the upcoming game. 2386A global flag 'startingEngine' similar to 'waitingForGame' now signals 2387this condition. 2388 23892013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2390Better fix of feature timeout 2391 2392The previous fix of the 2nd engine's done=1 aborting the 1st engine's 2393feature timeout by starting the game caused problems with v1 engines, 2394or other engines that would never send done=1. It is now fixed by 2395explicitly testing for a pending feature timeout after resurrecting 2396the 1st engine, rather than having TwoMachinesEventIfReady wait for 2397initDone to be set by reception of done=1. 2398 Also refrain from freezing the UI between match games, as in TwoMachines 2399mode the UI is mostly disabled anyway. 2400 24012013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2402Connect Ctrl key in WinBoard 2403 2404The Control key is now checked during move entry, for excluding moves 2405during analysis, or for copying pieces when editing a positions. But the 2406WB front-end did not read it out yet! 2407 24082013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2409Fix Makefile for install of Xiangqi pieces 2410 2411 24122013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2413Add Xiangqi piece images to project 2414 2415Let the images install in themes/xiangqi. 2416 24172013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2418Revive -flipBlack option 2419 2420The -flipBlack option in the cairo version is now implemented the same 2421way as it was in XBoard, swapping white and black pieces in filpView mode. 2422This requires a set black piece images that are the upside-down versions 2423of the white ones. 2424 24252013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2426Remove empty-square SVG images from project 2427 2428 24292013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2430Add desktop stuff for .xop MIME type. 2431 2432Icons and desktop file were missing, as was the automake code to package them. 2433 24342013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2435Update NEWS file 2436 2437 24382013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2439Add boolean -autoBox option 2440 2441This option controls the automatic popup of the ICS Input Box on typing 2442a printable character, which was annoing to some. The option can be 2443set from the ICS Options dialog. 2444 24452013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2446Draw both coords in a1 2447 2448The lower-left board square needed two inscriptions, but DrawOneSquare() 2449only allowed one, so that the file ID would not be written. Now two strings 2450can be passed, and when align > 1 to indicate the alignment of the top 2451string, it is still checked if a bottom string is present as well, which 2452then is drawn with alignment 1 (= bottom right). 2453 The rank coord or piece count can now also be double digit. 2454 24552013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>: 2456updated po files for new release (make distcheck) 2457 24582013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>: 2459updated Changelog, NEWS, etc. 2460 24612013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>: 2462new version number for release of 4.7.0 2463 24642013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2465Let initial setting of Twice checkbox reflect current state 2466 2467The Twice checkbox in the Tournament dialog of WinBoard was by default 2468starting unticked. It is more convenient to have it preserve the current 2469state, however, based on the -lpi or -lgi value. Like the auto-incremet 2470checkbox already did. 2471 24722013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2473Put GTK warning in about-box 2474 2475 24762013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2477Fix warnings of build server 2478 2479 24802013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2481Fix GTK error auto-raising board 2482 2483The variable mainwindow is not set in the gtk2 version. Unfortunately 2484it is still used to determine default board size... 2485 24862013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2487Update Dutch WB translation 2488 2489 24902013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2491Add some new strings to WB translation template 2492 2493 24942013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2495Assign shortcut char to WB menu item 2496 2497The new Save games as Book item did not have a shortcut yet. 2498 24992013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2500Let WinBoard start in its installation folder 2501 2502The current directory in WinBoard was not automatically the same as the 2503installDir returned by SearchPath. Especially not if used without shortcut 2504by file association. 2505 25062013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2507Fix warning in WinBoard 2508 2509 25102013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2511Fix expose of to-square with grid off 2512 2513The code relied on drawHighlight to request an expose evet for the entire 2514square, but when lineGap = 0, drawHighlight is a no-op. 2515 25162013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2517Fix library order 2518 2519On OS X dialog windows could not get focus if -lXaw appeared after 2520-lX11 -lXt in the linker command. This was cured by moving 2521@FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter 2522of the automake file. 2523 25242013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2525Preserve PGN tags when loading engine 2526 2527Switching to EditGame mode would normally erase the tags, but when analyzing 2528a loaded game this would be undesirable. When the engine is playing, keeping 2529the tags is dubious, but it is not obvious what to put in a new name tag, 2530so we leave that for now. 2531 25322013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2533Preserve mode on engine loading (sometimes) 2534 2535That the mode always switched to EditGame after engine loading was 2536particularly annoying at the start of a game (where leaving BeginningOfGame 2537mode would disablethe Time Control dialog, and the engine would not 2538automatically reply if you start playing) and AnalyzeMode. These two 2539modes are now preserved, BeginningOfGame by refraining from calling 2540EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode 2541be calling AnalyzeModeEvent() after the engine is loaded and repositioned. 2542 25432013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2544Catch unknown engine in tourney games 2545 2546When an XBoard instance is playing on a tourney it can happen that it is 2547using a settings file with an engine list not yet containing a certain 2548participant, because that participant was just installed in the instance 2549that created the tourney file, but it did not save those modifications yet. 2550This error is now caught, and leads to an error popup and stopping of the 2551tourney play. This error was made non-fatal to allow the user to decide 2552if he wants to quit with or without saving the settings (which, after all, 2553does not seem up-to-date). 2554 25552013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2556Adjudicate pawn-drop mate as loss in Shogi 2557 2558Mating with a Pawn drop is illegal in Shogi, but rather than burdoning 2559the legality-testing by this complex rule, we simply invert the result 2560for such a mate. After all, Shogi customs are such that everything illegal 2561leads to an immediate loss. 2562 25632013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2564Adjudicate perpetual checks as loss also in Shogi 2565 2566The Xiangqi code for recognizing perpetual checks is now also activated for 2567Shogi, but in this case we bail out before checking for perpetual chases. 2568The mini-Shogi case is then recognized as a win for gote. 2569 25702013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2571Stalemate is a win in Shogi 2572 2573In regular Shogi this never occurs, but in the mini variants it happens 2574often enough. 2575 25762013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2577Fix engine timeout problem in match mode 2578 2579Reload of a reuse=0 engine would cause a done=1 event which would be 2580abort the feature timeout of the other engine in the first game. 2581 25822013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2583Enforce -popupMoveErrors 2584 2585One move error was using DisplayError(), in stead of DisplayMoveError(), 2586and thus did not obey the -popupMoveErrors option. 2587 25882013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2589Update texi file 2590 2591 25922013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2593Fix some warnings 2594 2595 25962013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>: 2597Updated German translation 2598 2599 26002013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2601Do delayed board draw also with -stickyWindows false 2602 2603Only CoDrag needs to be suppressed on a configure event with 2604-stickyWindows false, not the board redraw. 2605 26062013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2607Let tellothers command add comment to PGN in local mode 2608 2609 26102012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2611Allow use of ~ in pieceToChar for shadow pieces in any variant 2612 2613The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and 2614Bughouse. But this is not necessary, and in fact undesirable, as it made 2615it impossible to implement Crazyhouse960, which combines shadow promotions 2616with Fischer castling (only available in variant fischerandom)s, and thus 2617has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable. 2618 26192012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2620Resend engine-defined options after reuse=0 reload 2621 2622When the engine process is re-spawned for a new game under -xreuse setting, 2623any alteration of engine settings brought about through the Engine Settings 2624dialogs would be lost, and revert to the engine's default. This is now fixed 2625by re-sending all options (known from the previous load of the same engine) 2626with the current settings immediately after "protover 2", and ignoring the 2627engine's option features. Rather than clearing the option list, and 2628redefining it from the option features. 2629 26302012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2631Implement aborting of games on engine request. 2632 2633A new game-end command is added. For bakward compatibility it is disguised 2634as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails 2635are recognized as special, and rather than ending the game in a draw (which 2636GUIs not implementing this), the game will be completely 'expunged' from 2637the match or tourney it is part of, leaving no trace in the saveGameFile. 2638 26392012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2640Store some more tourney params in tourney file 2641 2642The hash and threads settings, as well as ponder and book options are now 2643also saved in the tourney file, so that tournaments can be played in 2644parallel where these parameters differ, and no mess up can occur on 2645restarting a touney after doing something else. 2646 26472012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2648Do not automatically save aborted games in tourney PGN 2649 2650When the game result is 'unfinished', we prompt for a filename rather 2651then using the specified saveGameFile if a tourney is in progress. 2652 26532013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>: 2654fix configure bug that showed up on OS X (couldn't find X11/Dialog.h) 2655 2656X_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. 2657 26582013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>: 2659Updated Ukrainian translations 2660 2661 26622013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>: 2663removed trailing whitespace 2664 2665 26662013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>: 2667Updated copyright notice to 2013 2668 2669 26702012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2671Do not move to forwadMostMove when unpausing AnalyzeMode 2672 2673 26742012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2675Use Ctrl key in AnalyzeMode to exclude entered move 2676 2677 26782012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2679Implement insufficient mating material for Knightmate 2680 2681KBK is draw with Royal Knight. With exo-pieces also KNK and KFK. 2682 26832012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2684Fix rep-draw detection in drop games 2685 2686In games like Crazyhouse every move is reversible, as captured pieces 2687can eventually change sides again, and be dropped back on the board. 2688So we have to search back a full 100 ply for repetitions, passing captures 2689and Pawn moves. 2690 26912012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>: 2692updated po/pot files 2693 2694 26952012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>: 2696new version number for developer release 2697 2698 26992012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2700Prefer pause mode on pondering engine over 'easy' 2701 2702If the thinking engine is stopped after its move because it does not 2703support pause, is is still better to use pause on the pondering engine 2704than to switch of its pondering with 'easy', as the latter might not 2705be instantaneous. Also switch off pondering in the thinking engine before 2706it gives the move, just in case it does not respond immediately to 2707easy / hard. 2708 27092012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2710Update WinBoard translation template 2711 2712 27132012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2714Fix min-Shogi promotion zone 2715 2716In integer arithmetic N*2/3 is not the same as N - N/3, with as a result 2717that the white promotion zone was 2 ranks deep on 5x5 boards. This only 2718happened in LegalityTest, but because this would classify all moves to 27194th rank an non-promotions, they would be printed with a faulty 2720deferral (=) sign as promochar in SAN. 2721 27222012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2723Do not clear PGN tags on Analyze File 2724 2725 27262012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2727Fix -fSAN in AnalyzeFile mode 2728 2729The exception that a PV relates to currentMove rather than forwardMostMove 2730applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore, 2731PvToSan did not properly restore the pushed game tail in this case. 2732 27332012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2734Improve scaling of border bitmap (WB) 2735 2736The StretchBlt mode is set from dither to delete. 2737 27382012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2739Implement use of pause / resume protocol commands 2740 2741Engines that implement feature pause=1 will be paused during their move 2742on a pause event; pondering engines will be controlled either through 2743'pause' or (if they don't support that) 'easy', which both should work 2744instantaneously. If the thinking engine does not support 'pause', the pausing 2745will be deferred to when it produces its move, and is implemented by not 2746relaying the move, and switch off pondering for both. 2747 27482012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2749Fix Loop-Chess promotions 2750 2751Loop Chess is not a supported variant, but hould be playable as Crazyhouse 2752with an altered pieceToCharTable, not defining the shadow promotion pieces. 2753But with legality testing on promotion to shadow piece would take place 2754even if the shadow piece was not defined. 2755 27562012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2757Fix move highlighting with animation off 2758 2759In WB the moving of SetHighlights to after the animation had broken the 2760highlighting of engine moves, because it was also moved after DrawPosition. 2761While it is DrawPosition that actually draws the highlights. Now it has been 2762moved to just before DrawPosition. 2763 27642012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2765Start browsing in currently-selected folder (WB) 2766 2767The folder-browse dialog always started at My Computer, while file browsing 2768started in the globally last-used folder (which might not be related at all 2769to the file entry we are now browsing for). 2770 27712012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2772Implement book-creation functions 2773 2774A new menu item triggers conversion of the currently loaded PGN file 2775to a Polyglot book, saved with the GUI-book filename. A (volatile) option 2776-mcBookMode alters the probing algorithm to build a book from scratch by 2777playing games (and using a form of learning). 2778 27792012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2780Use colors in Board-Options dialog also for font pieces (WB) 2781 2782The piece color settings now control the pieceColor or fontPieceColor 2783settings, depending on the setting of -usePieceFont. 2784 27852012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2786Implement auto-creation of ICS logon file 2787 2788Under control of the new option -autoCreateLogon (which can be set from 2789the ICS Options dialog) the first two lines in response to the ICS "login:" 2790pompt will be saved on a newly created logon file (if logon from such 2791an existing file failed). 2792 27932012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2794Add Themes dialog (WB) 2795 2796This dialog, done by the generic popup, contains controls for many settings 2797that so far could only be controlled by options. It also introduces the 2798concept of 'themes', sets of options stored in the multi-line option 2799-themeNames. 2800 Add some dummy routines to suppress compile errors in functions that 2801cannot be called yet in XBoard. 2802 28032012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2804Allow external piece bitmaps and board border (WB) 2805 2806The -pieceImageDirectory is now also used for WinBoard, to indicate 2807a directory of .bmp files, used to replace the built-ins. The outline 2808and solid bitmaps can be full-color. This allows winBoard to use the 2809WinBoard-zeta graphics. A new option -border can indicate a bitmap file 2810used to draw a half-square-wide border around the board. 2811 A white background has to be drawn underneath the black pieces, to avoid 2812color-interference with the board, just like happens for the white pieces. 2813These backgrounds now always use bright white, rather than -withePieceColor. 2814 2815We still have to work on the scaling of the zeta (600x600) bitmaps to 2816the actual board size, as for some bitmaps the stratchblt is ugly. 2817 28182012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2819Add 'Continue Later' button in Tournament dialog (WB) 2820 2821This button makes it possible to accept the values specified in the 2822dialog without immediately starting the tournament (as OK does), 2823so you can re-open the dialog later, and OK it then. 2824 28252012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2826Load opponent logo based on handle in ICS play (WB) 2827 2828The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp, 2829etc. If no logo for the handle is found there, the logo of the ICS is 2830displayed as usual. 2831 28322012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>: 2833Fix configure script for --enable-zippy (tiny change) 2834 2835reported and patch by Daniel. 2836 2837edited by Arun Persaud: 2838- also fixed #ifndef ZIPPY -> #if !ZIPPY 2839- didn't change #if -> #ifdef 2840 28412012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>: 2842don't define X_LIBS when using gtk-frontend 2843 2844 28452012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>: 2846updated po/pot files; added new frontend files 2847 2848 28492012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>: 2850fix configure script for --with-Xaw and --with-gtk 2851 2852made Xaw the default and included xaw or gtk sources as extras 2853in case the other frontend is selected for make distcheck 2854 28552012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>: 2856new version number for developer release 2857 2858 28592012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2860Draw frames around memos and listboxes 2861 2862 28632012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2864Adapt lineGap during sizing 2865 2866 28672012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2868Fix clock highlighting 2869 2870 28712012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2872Fix Chat Box 2873 2874The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary 2875handler for special keys in one-liner text edits. 2876 28772012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2878Pay attention to NO_CANCEL dialog flag 2879 2880 28812012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2882Fix clock clicking with GtkEventBox 2883 2884Like in WinBoard the button-3 case is now handled in the primary 2885event handler (and communicated to it in a kludgy way). It would be 2886better if this was absorbed in ClockClick(). 2887 28882012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 2889Fix logo placement 2890 2891Graphs were not recognized as possible SAME_ROW elements. A Graph requesting 2892FIXED_H (which only the logos did) is now packed into a (borderless) aspect 2893frame. 2894 28952012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2896Add window positioning 2897 2898Sticky windows now sort of works, but needs unexplained fudge factors. 2899Reopening a persistent dialog centers it on the board, and disobeys 2900the positioning command. The WindowPlacement of the BoardWindow was 2901again added (it was commented out during development). 2902 29032012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2904Make board sizing work through subtracting fixed height 2905 2906There is now no attempt to give a size to the board drawing area, so it 2907can later be sized as small as we want. The frame width is determined 2908by subtracting the nominal board size from the actual window size, 2909(because the clocks will have that width, and the board will startas 1x1), 2910while the vertical margin is determined as the difference between the 2911bactual window height, the drawing-area height minus a fudge of 25 pixels 2912to compesate for the erroneously allocated blank space below the board. 2913 29142012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2915Fix warnings 2916 2917The highTextStart/End are now declared in engineoutput.h, shared between 2918nengineoutput.c and xengineoutput.c. Unused variables were removed. 2919Also fix warnings in xboard.c and xoptions.c. 2920 29212012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2922Delete emptied front-end files, and move rest to gtk directory 2923 2924Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist 2925and xhistory have been completely cleared off content, and were removed. 2926 29272012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2928Add copy-paste 2929 2930The code from gtk-xt could be used with almost no modification. 2931 29322012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2933Some experimenting with sizing 2934 2935Does not work as intended yet. 2936 29372012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2938Add task-bar icon 2939 2940Funny enough it was necessary to swap the two svg icons to make this work! 2941 29422012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2943Make some tall dialogs multi-column 2944 2945A dummy button was added to the last row of New Variant to make the 2946number even. A legality-test warning as put in the New Variant dialog 2947Fix width of tourney-file in Match dialog 2948 29492012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>: 2950updated some icons to SVG 2951 2952 29532012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2954Add displaying of icons 2955 2956A new Option type, 'Icon', was added for this as in GTK Icons and Labels 2957need different types of widget. The icons are now svg, so we could 2958remove the icon pixmaps. 2959 29602012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2961Fix button bar 2962 2963 29642012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2965Add BarBegin, BarEnd options 2966 2967This makes the button bar display correctly. Also fix v-sizing of menu bar. 2968 29692012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2970Add listbox double-click callback 2971 2972This function was formerly performed by WheelProc. 2973 29742012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2975Add hiding / showing second Engine Output pane 2976 2977The handle of the GTK table for the second engine is stored in the 2978EndMark handle by GenericPopUp, so it can be used later to hise/show 2979that table. 2980 29812012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 2982Use different tables for different dialog columns 2983 2984Making the same table wider (in steps of 3) to get multiple columns 2985does not work, because it forces options to align vertically. This 2986wrecks dialogs like Load Engine, where one column contains a very 2987high option (listbox). Now differnt tables are created for each column, 2988packed in a new itermediate hbox. In case of the Engine Output window, 2989a vbox is used instead to cause vertical stacking. 2990 Only multi-line text-edits and listboxes are now allowed to take up 2991vertical space changes, while only the middle colum of the table 2992can take up horizontal size changes. Within packing boxes space is 2993equally distributed. 2994 The labels above the particiant-selection widgets had not the same width 2995as the textview / listbox, leading to misplacement of the second label. 2996 For Engine Settings the spontaneous breaking into columns did not 2997involve a SAME_ROW flag, so the 'columns' were stacked vertically. 2998In addition the columns were too tall for GTK. They are now 20 options max. 2999 30002012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3001Deselect first char in Move Type-in and ICS Input Box 3002 3003After popup the Move Type-In had the typed character in it, but it was 3004selected, so that typing a second character would erase it again. 3005Same for the ICS Input Box. A prototype for CursorAtEnd is now also added. 3006 30072012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3008Close Move Type-in on Enter 3009 3010The code is squeezed into the ICSKeyEvent callback. 3011 30122012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3013Add access routines to checkboxes and FocusOnWidget 3014 3015The <Enter> handler of the filter field needs it to return focus to 3016the listbox. 3017 30182012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3019Add game-list callbacks 3020 3021The callbacks for listbox and filter text are treated by the same callback, 3022which does both key presses and button double-clicks. 3023Giving focus back to the listbox after filtering does not yet work! 3024 30252012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3026Add optional callback to Label Options 3027 3028For some reason this does not work. The callback isn't called! 3029 30302012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3031Add type-in event to board for popping up box 3032 3033 30342012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3035Add Shift detection 3036 3037The state of Shift and Ctrl was only probed on button clicks, so it 3038is now read out of the button-event struct in the relevant button handlers. 3039For backwad compatibility, they store it in a global, so the routine 3040ShiftKeys can take them from there. 3041 30422012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3043Remove some unneeded low-level X11 code 3044 3045Things like tabbing between controls, mouse-wheel scolling etc. are all 3046automatic in GTK, and thuse don't need to be ported. 3047 30482012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3049Add file browser 3050 3051The gtk-xt code for browsing in response to menu items rather than dialog 3052browse buttons) was grafted. It seems desirable to merge the two browsing 3053functions, though. Pass extra params used by Xaw to FileNamePopUpGTK. 3054The code was altered to use DelayedLoad. 3055 30562012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3057Fix ListBox, and add some support routines 3058 3059The srolled-window for the listbox used a uninitialized variable for its 3060width, causing a crash. Now it pays attention to the Option.max and .value 3061size hints. The access routines were copied from gtk-xt. HighlightWithScroll 3062could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls. 3063 30642012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3065Connect CommentClick handler 3066 3067This can make use of generic memo callback, so it could be entirely 3068backend. Therefore it was moved to dialogs.h. As it shared a global with 3069some other back-end popup routines to remember the current move, these 3070could now be moved out of xboard.c too. (Well, not so for the X11 front-end, 3071so it has now been put in a header. :-( ) 3072 30732012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3074Fix animation 3075 3076Because FrameDelay does block the event loop, even though it releaes the 3077CPU, expose events start to lag behind the actual drawing. By combining 3078expose events for overlapping squares, rather than decompose them into 30793 rectangles, this problem seems to go away. But only if there is an 3080extra exposure on the squares to be drawn also non-overlapping frames 3081will be properly drawn (?!). 3082 30832012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3084Implement highlighting in engine output by through generic method 3085 3086HighlightMove was made generally available for all text. It is now just a 3087wrapper for the generic HighlightText, and could be moved to the back-end. 3088(This requires the initialization to be widget specific, and the flag 3089indicating it has been done is now stored in the Option.min field.) 3090 30912012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3092Let engine-output memos use new generic callback 3093 3094 30952012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3096Add scrolling of Move History 3097 3098To have access to the textview, its handle is now stored in the 3099Option.textValue field. 3100 31012012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3102Add highlighting in move list 3103 3104For now it is assumed the normal background will be white (for clearing 3105the highlight). 3106 31072012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3108Make generic memo-event handler, and connect history callback 3109 3110Large text widgets can now define a user handler in their Option.choice 3111field. If they do, agneric callback is added tothem, which catches mouse 3112events. Button release and pointer motion pass their coordinate and type 3113to the specified user routine. Button presses in addition retrieve 3114the text from the widget, set the cursor in it to the clicked point, 3115and convert it to a character position, also passed to the user. 3116 The user is responsible for ignoring events he is not interested in. 3117 31182012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3119Add key-handler for ICS Input Box 3120 3121In contrast to the X11 code, all intercepted keys are now treated by 3122the same callback. The ICS Input Box callback triggers on Up, Down and 3123Return key, and refers to these symbolically. 3124 31252012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3126Highlight Pause button 3127 3128 31292012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3130Better cleansing of xboard.c from X11 types 3131 3132The #includes for X11 files were still in there. 3133 31342012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3135Add text insertion in engine-output memos 3136 3137 31382012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3139Append recent engines to engine menu 3140 3141This is now entirely moved to the back-end, by doing it in the table 3142from which the menus are later generated. The special callback for engine 3143items is abandoned, and the euProc for such items is left NULL to flag 3144that RecentEngineEvent should be invoked with the applicable engine number. 3145To calculate the latter a global variable firstEngineItem is dynamically 3146set to the length of the regular engine menu. 3147 31482012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3149Transfer more gtk-xt code, and add some new 3150 3151Add input-source handling 3152Graft color picker (<Enter> callbeack in the text field is still missing!) 3153Handle contents of label widgets (store handles in Option for access) 3154Add printing of clocks 3155Add printing of window title 3156Pay attention to BORDER attribute of Label Options (pack in frame) 3157Delete ReadBitmap code (also remove #including of bitmap files for icons) 3158Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll) 3159Support vertical stacking in Break Option (no table widening when !SAME_ROW) 3160Make default horizontal scroll policy automatic (for engine-output window) 3161Fix disabling of unused spinners in TC dialog 3162 31632012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3164Connect dialog Browse buttons to GTK browser 3165 3166 31672012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3168Implement menu checkmarking and enabling 3169 3170odes in the (later over-written) handle field specify which items 3171are to be checkmarked, and by what style button. 3172 31732012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3174Attach expose handler and connect to mouse events 3175 3176The GraphExposeProc is conected to the Graph widgets. A gdk draw routine 3177is used to copy the buffer bitmap to the display. It is also connected 3178to button and motion-notify events. 3179 In this version the board can be fully operated with the mouse. 3180 31812012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3182Transfer most available gtk-xt code to xoptions.c 3183 3184GenericPopUp and PopDown are grafted from gtk-xt into gtk2. 3185The version compiles, but segfaults before doing anything, with error 3186messages about unexpected cases in GenericPopup for Graph and PopUp Options 3187of the main board. The spin options need special treatment in GetWidgtText. 3188 31892012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3190Give LoadListBox two extra parameters 3191 3192It often occurs that we just want to swap two elements, and reloading 3193the entire listbox would be a very inefficient way to do this in widget 3194sets that allow access to a single element. 3195 31962012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3197Remove all X11 code by #ifdeffing it out 3198 3199With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling 3200X11-free version. The disabled sections can then be replaced by code 3201for another widget set, the X11 version still showing what it was supposed 3202to do. 3203 32042012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3205Move timer functions to new file xtimer.c 3206 3207The timers for the clocks, periodic analysis events and ScheduleDelayedEvent 3208go into a separate file. 3209 32102012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3211Make xevalgraph.c backend 3212 3213The only front-end stuff left in xevalgraph.c was an unnecessary reading 3214of the window size (which could be obtained from the WindowPlaceent struct), 3215and drawing (all cairo now). The drawing was moved to draw.c, and the 3216remaining part renamed nevalgraph.c. 3217 3218An attempt to list them in a less chaotic way. 3219 32202012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3221Cleanse back-end code of all references to X11 types 3222 3223When compiling for X11, common.h #included X11/Intrinsics.h so that 3224X11-specific data types could still be used throughout the back-end part 3225not shared with WinBoard. By temporarily disabling this, error messages 3226could be generated on all such occurrences, and were then solved. This 3227included the following: 3228 The InputSource struct is not uses in usystem.c at all, and its definition 3229could be moved to xboard.c. InputSourceRef, which logically should heve been 3230defined as (InputSource *), is in reality (void *), so the back-end can 3231pass it around. 3232 Some non-platform-dependent stuff of general interest had prototypes 3233(or external vars) in xboard.h. This is now moved to a new header xboard2.h, 3234to allow it to be shared without bringing in X11 dependence. 3235 The EngineOutputProc was defined inconsistently, but the header was not 3236sufficiently shared to flag this error. This has been repaired now, by moving 3237the template to menus.h. 3238 32392012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3240Remove xedittags.c, .h from project 3241 3242The tiny bit of code that was left was absorbed in dialogs.c, the one 3243prototype to menus.h. 3244 32452012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3246Remove inclusion of frontend.h from backendz.h 3247 3248This did not seem to serve any purpose at all. 3249 32502012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3251Split xhistory.c in front-end and middle-end part 3252 3253 32542012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3255Move MarkMenuItem to xoptions.c 3256 3257This to make xoptions.c completely independent from the inclusion of 3258frontend.h. The prototype is moved to menus.h. 3259 Loose end: DrawPosition in board.c does not see the prototype. 3260Very suspect that it wants to see it. Why would it have to correct the 3261flipView setting??? Better se to it that it is correct to start with! 3262 32632012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3264move testing for no options to back-end 3265 3266The test if an engine has options and display a note instead of 3267the Engine Settings dialog when this is not the case is moved 3268to outside of GenericPopUp, to make the later independent of calling 3269other routines. 3270 32712012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3272Remove some unnecessary header includes 3273 3274 32752012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3276Move ICS-engine analyze and AnalyzeGame code to shared back-end 3277 3278This code was still duplicated between WB and XB in the front-ends. 3279Because of its incorporation in AnalyzeModeEvent the 'middle-end' 3280function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made 3281to return an int to flag its success, and keep the JAWS code based 3282on it out of XBoard. 3283 The AnalyzeGame code is now incorporated in AnalyzeFileEvent(). 3284 32852012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3286Add configure switches for Xaw vs GTK. 3287 3288This patch is an adapted version of the one Arun made at the end of the 3289gtk2 branch. It uses the exact same version of his configure.ac, but the 3290Makefile.am is adapted to the situation in master at the beginning of it, 3291after duplication of the X11 front-end files in the xaw directory for 3292preserving them, while the versions that will be modified to GTK front-end 3293are still in the xboard directory. 3294 32952012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3296Prepare xoptions.c for middle-end changes 3297 3298Some changes that can be pre-empted, such as the splitting of Label 3299into Label and Icon Option type, and some dummy wrappers are already 3300implemented, so they can be used when needed by GTK. 3301 33022012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3303Preserve copies of the X11 front-end in xboard directory 3304 3305The X11 front-end has been moved to the xaw directory, but copies 3306are retained for modifying them to gtk versions. 3307 33082012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3309Move X11 front-end to directory xaw 3310 3311 33122012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 3313Fix initial enables in TC dialog 3314 3315 33162012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 3317Fix image extension used for browsing to .pgn 3318 3319 33202012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 3321Fix WinBoard compile error on enum PEN 3322 3323 33242012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 3325Fix crash in promotion popup 3326 3327There were not enough entries for Capablanca Chess with legality-testing off, 3328where King is also presented as a choice. 3329 33302012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 3331Fix message in New Variant dialog 3332 3333Even in -ncp mode the message was referring to the 'current engine'. 3334 33352012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 3336Fix crash on animation after resizing 3337 3338The animate buffers were still holding pointers to a discarded cairo surface. 3339 33402012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3341Fix variant-dependent pieces 3342 3343The code to select the actually used piece images from the available ones 3344(from InitDrawingSizes) is now made into a subroutine, and also called 3345after resizing the pieces. 3346 33472012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3348Replace marble texture pixmaps by png 3349 3350 33512012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3352Replace xiangqi board pixmaps by png images 3353 3354 33552012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3356Remove the texture pixmaps from project 3357 3358These were already replaced by png textures. 3359 33602012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3361Fix re-rendering of svg on resize 3362 3363The previously prepared bitmaps were retained if we resized, rather then 3364rendering the svg atthe new size. 3365 33662012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>: 3367update po/pot files 3368 3369 33702012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>: 3371new version number for developer release 3372 3373 33742012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>: 3375we still need a few bitmaps, so the directory needs to be included in Makefile.am 3376 3377make distcheck complained about this 3378 33792012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3380Rename svg shogi pieces, so they become usable 3381 3382Only white pieces are present. For black they would have to be flipped. 3383 33842012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3385Fix bug in resizing on variant switch 3386 3387The fix of the garbage pixels had unfortunately broken this. 3388 33892012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3390Fix bug in fallback mechanism 3391 3392After failure to load a piece from a specified -pieceImageDirectory 3393the default theme was not tried, because the cairo function to load 3394from a pgn file returns a valid handle even if the file does not exist. 3395 33962012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3397Get svg error message 3398 3399 34002012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3401Fix variant-dependent pieces 3402 3403The code to select the actually used piece images from the available ones 3404(from InitDrawingSizes) is now made into a subroutine, and also called 3405after resizing the pieces. 3406 34072012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3408Remove caveat on available pieces fromNew Variant dialog 3409 3410In the cairo version all pieces are available at all board sizes. 3411 34122012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3413Remove some unused images from png directory 3414 3415Currently only the three board texture files are used. But the piece 3416images are still left, because they might be useful if we ever want 3417to mae XBoard configurable for not using librsvg. 3418 34192012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3420Fix bug in resizing 3421 3422The nominal size of the window was not set in the correct Option struct. 3423 34242012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3425Prevent odd-width line shift in length direction 3426 3427 34282012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3429Print missing-pieces error message to console 3430 3431The GUI might not yet be up at this point.In addition, suppress 3432the rest of the code, because it could give segfaults. 3433 34342012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3435Fix garbage pixels on the right of the board 3436 3437The extra pixel that is requested in sizing the board window back to 3438an available size because we ofte get one less pixel than we ask for 3439can lead to a line of garbage pixels next to the board. This is combatted 3440by limiting expose events to the true board area, remembering that in the 3441Graph Option rather than the actual window size, and suppressing resizing 3442when the latter only exceeds the stored width by more than 1 pixel. 3443 34442012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3445Trim board-window size 3446 3447The board window will sometimes be a pixel larger than requested. 3448The ReSize routine will now reset the size values in the Graph Option 3449to what they were supposed to be, to prevent expose events will 3450draw nonsense in the extra space. 3451 34522012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3453Adapt docs for svg/png in stead of bitmap/pixmap 3454 3455 34562012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3457Spontaeous changes in gettext stuff 3458 3459 34602012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3461Move Shogi svg pieces to own directory 3462 3463 34642012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3465Remove unnecessary Xt colors and call to MakeColors 3466 3467 34682012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3469Code cleanup: move expose redraw to draw.c 3470 3471 34722012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3473Suppress warning for InitDrawingHandle 3474 3475 34762012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3477Make fallbackPieceImageDirectory hardcoded 3478 3479 34802012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3481Increase drag delay too 200 msec 3482 3483On my slow laptop it can take more than 100 msec to reallocate bitmaps 3484in the generic expose, with as a consequence that the DelayedDrag event 3485is not processed before the timeout expires. The timeout event then triggers 3486a redraw, which again takes so long that the timeout expires before the 3487event to reset the timer could be processed, and this just perpetuates 3488itself, leading to a large series of queued redraws, and a long waiting time 3489for an image to appear after the sizing stops. 3490 34912012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3492Fix segfault on faulty command-line option 3493 3494 34952012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3496Suppress anti-aliasing in -monoMode 3497 3498In the color-substitution code, always use bi-level alpha and color. 3499 35002012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3501Remove piece pixmaps from project 3502 3503 35042012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3505Implement proper fallback cascade 3506 3507Try in order cached svg, cached bitmap, user png, user svg, default svg. 3508 35092012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3510Cache svg handles 3511 3512 35132012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3514Install svg pieces in themes/default 3515 3516The svg pieces are installed with the XBoard data in the directory 3517.../xboard/themes/default . A new option -fallbackPieceImageDirectory 3518is added, and is configured in the master settings file to point to 3519these pieces. This options, which replaces -svgDirectory, is volatile, 3520and the menu control to set it is removed. The -pngDirectory option 3521is renamed to -pieceImageDirectory (-pid). 3522 35232012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3524Remove bitmaps from project 3525 3526 35272012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3528Install the wood textures as png 3529 3530The xboard.conf has to be edited to set these as default textures, 3531in stead of the .xpm files. 3532 35332012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3534Add hatched board texture 3535 3536A png file with hatching is added, so it can be used for dark squares 3537in a monochrome theme. It is installed in a new data directory 3538.../xboard/themes/textures. 3539 35402012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>: 3541added a black and white theme to replace the mono option 3542 3543 35442012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>: 3545added SVGs to dist files in automake 3546 3547 35482012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3549Fix exposure of atomic captures 3550 3551The grid lines had to be repaired too, so damage marker 2 had to be used. 3552 35532012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3554Fix animation with textures off 3555 3556The blank square was not shifted to (0,0) when drawing the animation buffer. 3557 35582012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3559Fix 1-pixel offset of grid lines on some cairo implementations 3560 3561 35622012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3563Solve odd lineGap problem 3564 3565Not all cairo versions seem to round the same when an odd-width line 3566is to be drawn at integer coordinates. So now we explicitly ask it 3567to be drawn centered on half-odd-integer coordinates. 3568 35692012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3570Add -trueColors option 3571 3572 35732012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3574Always render svg pieces anew on size change 3575 3576The svg pieces are now unconditionally rendered to supply the pngPieceImage 3577master source otherwise read from png file. This is then fed into the 3578original png code (so that if for some reason it fails, we fall back on png 3579pieces, and finally on built-in pixmaps). 3580 35812012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3582Fix rsvg version in configure.ac 3583 3584 35852012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>: 3586initial svg rendering 3587 3588 35892012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>: 3590added cairo and librsvg to configure process 3591 3592 35932012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>: 3594added SVGs 3595 3596converted from inkscape SVG to plain SVG before adding 3597 35982012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3599Adapt Eval Graph code to new drawing system 3600 3601The eval graph now triggers an expose after drawing, and gets its size 3602from the Option fields. 3603 36042012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3605Fix expose requests seek graph 3606 3607 36082012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3609Make draw handle for board globally available 3610 3611 36122012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3613Let expose requests pay proper attenton to widget 3614 3615So far, expose requests were always assumed to be for the board widget, 3616preventing display of the labels. 3617 36182012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3619Fix initial display of logos 3620 3621The logos were selected and printed during the initialization, 3622before the main event loop was started. So the expose events during 3623widget creation, which created the drawing surfaces, were only processed 3624after the initial drawing of logos, so that there was nothing to draw on! 3625 36262012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3627Fix alignment of highlight expose 3628 3629 36302012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3631remove NewSurfaces 3632 3633 36342012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3635Make expose handler generic 3636 3637The Graph Option now returns two handles in hitherto unused fields of its 3638Option struct: Option.choice is a cairo handle of a memory buffer the user 3639must draw to, while Option.textValue is the handle to the widget. 3640Expose events copy the memory buffer to the display for the exposed area. 3641A routine DrawExpose() is supplied to let the user generate expose events. 3642 36432012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3644Reload piece images when pngDirectory is changed 3645 3646The OK function of the board options dialog now tests for a change 3647in pngDirectory and passes a parameter to InitDrawingParams to tell 3648it to destroy the old images. This cause a reload on scaling the pieces. 3649 36502012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3651Suppress redraw during sizing 3652 3653 36542012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3655Fix bug in resize trigger 3656 3657Even if the square size does not change, the window has to be shrunk 3658back to fit the board. 3659 36602012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3661Make Piececolor options work on png pieces 3662 3663The scaled, antialiased bitmaps are now colored according to the option 3664settings. This is done by decomposing every pixel in a white, black and 3665transparency component, which is possible because the opacity is 3666directly give in the alpha channel, and black originally was a hard zero. 3667So what you se in the red channel must be white (as the original white 3668was #FFFFCC), and the rest of the opacity must be due to black. 3669 The color to be replaced (white for the white pieces, black for the black 3670pieces) is then replaced by the original weight of this color times the 3671color from the option. 3672 36732012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3674Plug resource leak on rezising with pixmaps 3675 3676 36772012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3678Fall back on built-in pixmaps if png pieces unreadable 3679 3680 36812012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3682Do coordinate text alignment with cairo 3683 3684 36852012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3686Some cleanup 3687 3688 36892012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3690Clean up drawing code 3691 3692Now all routines only draw through cairo, the destination surface can 3693be passed to them, making it possible to do the duplicate drawing 3694to the memory board image in a cleaner way. 3695 36962012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3697Check in draw.c, draw.h 3698 3699 37002012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3701Remove all bitmap & pixmap drawing 3702 3703All Xt code for drawing the board is now removed, as are the 3704-pixmapDirectory and -bitmapdirectory option. This version is now 3705completely dependent on cairo for handling of all graphics anywhere. 3706(The build-in pixmaps are still left, though, for later use as an 3707alterative cairo source when no png files are found.) 3708 37092012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3710Separate off drawing routines from xboard.c 3711 3712A new source file draw.c is created to hold all code associated with 3713board drawing. The routines for loading bitmaps and creating colors 3714were left in xboard.c, though, as they are also used for handling 3715icons and colors of widgets. 3716 37172012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3718Fix erasing dots in seek graph 3719 3720The cairo dots were just a little bit bigger than the old ones, so they 3721were not properly erased, but left a remnant. 3722 37232012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3724Cleanup CairoOverlayPiece 3725 3726 37272012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3728Draw arrow also on backup image 3729 3730 37312012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3732Fix highlight clearing 3733 3734 37352012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3736Remove acceleration trick 3737 3738 37392012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3740Implement variant-dependent png piece symbols 3741 3742 37432012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3744Fix clearing of markers dots with promo popup 3745 3746 37472012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3748Also render coordinates to backup board 3749 3750 37512012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3752Remove debug print 3753 3754 37552012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3756Let cairo also do evenly colored squares. 3757 3758 37592012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3760Make dragged piece for excluding moves transparent 3761 3762 37632012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3764Fix DrawSeekText 3765 3766 37672012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3768Redo coordinate / piece-count printing ith cairo 3769 3770 37712012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3772Also use cairo on slave board 3773 3774With dual-board observing the drawing should be redirected to the 3775slave board, so SwitchWindow should also switch the xlib-surface to 3776one for the slave window. 3777 37782012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3779Cure flashing of piece on from-square 3780 3781In a drag-drop move the piece was flashed on the from square after the 3782user dropped it on the to-square, because highlights were set before the 3783move had updated the board. And highlighting with arrow can cause a redraw 3784of the last board. Same with setting or clearing marker dots. 3785 37862012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3787Specify proper condition for using cairo animation 3788 3789 37902012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3791Allow resizing of board window 3792 3793In full png mode the size of the board window is no longer locked. 3794After resizing, the square size is calculated as the largest one that 3795would fit the window, and the window is then shrunk around it. To prevent 3796excessive redrawing during sizing, the redraw is delayed by putting it 3797in DragProc. 3798 37992012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3800Switch to using 64x64 png images 3801 3802The bitmap scaling works better when the needed factors are not too large, 3803as the svg rendering's anti-aliasing did not blur more than 1 pixel. 3804So after shrinking too much the images are not effectively anti-aliased 3805anymore. 3806 38072012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3808Maintain in-memory copy of the board image 3809 3810As reading back from the xlib-surface proves incredibly slow (cairo probably 3811converts the entire image from Xt format to cairo format when we set it 3812as a source, even though we only want to read a few dozen pixels), we now 3813keep an exact copy of the board image as a cairo bitmap in memory. This 3814restores the speed of the animation, but unfortunately leads to awful code. 3815 38162012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3817Do animation with cairo 3818 3819Unfortunately this is incredibly slow. 3820 38212012-10-04 18:36:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3822Allow back-texture files to be PNG, (drawn with cairo) 3823 3824 38252012-10-04 15:10:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3826Add png pieces 3827 3828A new directory with 256x256 png piece images is added to the source tree. 3829 38302012-10-04 15:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3831Add mode to draw PNG piece images through cairo 3832 3833The PNG images have to be supplied as files in a -pngDirectory (a new 3834option) with a 256x256 bitmap. They are then scaled by cairo to the 3835desired square size. This does not work very well for the smaller sizes. 3836 38372012-10-03 14:45:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3838Redo marker dots with cairo 3839 3840 38412012-10-03 14:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3842Redo highlights with cairo 3843 3844 38452012-10-03 14:07:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3846Make convenience routine SetPen globally available 3847 3848The routine to set a pen as specified by a color string that was used 3849in xevalgraph is moved to xboard.c, where there also is lots of demand 3850for it. The arrow drawing now uses it for setting the highlightSquareColor. 3851 38522012-10-03 12:28:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3853Redo grid with cairo 3854 3855 38562012-10-03 12:00:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3857Redo arrow highlighting with cairo 3858 3859 38602012-10-03 11:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3861Redo seek graph with cairo 3862 3863New front-end services DrawSeekOpen() and DrawSeekClose() have been 3864added, and are called from the back-end to enclose any drawing activity. 3865In WinBoard these had to be defined as dummies. 3866 38672012-10-02 15:31:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3868Redo logos with cairo 3869 3870The logos must now be .png files, and are internally handled as their 3871filenames. (So no preparation of a drawable from it at startup.) 3872Cairo allows them to be scaled to the requested logoSize. 3873 38742012-10-02 14:02:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3875Fix Eval Graph resolution problems 3876 3877Anti-aliasing had to be switched off to get a crisp graph. A second problem 3878was that the dashed lines were drawn in both directions, with interfering 3879dashes. 3880 38812012-10-02 10:54:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3882Redo Eval Graph drawing with cairo 3883 3884 38852012-10-21 10:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3886Fix button-border-width bug in monoMode 3887 3888The kludge of signalling we are dealing wih a button rather than a label 3889was wrongly implemented in case of momoMode. 3890 38912012-10-21 10:14:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3892Reserve more space for button bar 3893 3894In some board sizes the button bar was wider than the code guessed, 3895so the window width would be determined by the message + buttons row rather 3896than the board. 3897 38982012-10-21 11:24:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3899Fix WinBoard compile errors 3900 3901 39022012-10-13 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3903Fix non-NLS compile error for XFontStruct 3904 3905 39062012-10-12 12:04:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3907Fix browsing for path 3908 3909A pathname was still prefixed with the cuurent directory. 3910 39112012-10-07 21:00:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3912Use Pause state in AnalyzeMode to imply move exclusion 3913 3914The pause state was not used in AnalyzeMode so far. Now it is used to 3915imply all entered moves are for exclusion/inclusion. 3916 39172012-09-30 18:55:13 -0700 Arun Persaud <arun@nubati.net>: 3918new version number for developer release 3919 3920 39212012-09-30 22:16:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3922Fix broken -ics and -cp options 3923 3924The patch to specify engines and ICS by nickame broke the use of the 3925regular options to do this, because they could also reset them. Now 3926this is fixed by only setting them (through |= in stead of =). 3927 39282012-09-30 22:01:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3929Update texi file 3930 3931The description of exclude-moves, multi-game ananalysis and duo-analysis 3932is added. 3933 39342012-09-30 10:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3935Resolve conflict between -mps and -inc options 3936 3937The age-old problem that a persistent valid -inc value will cause -mps 3938to be ignored is solved by the kludge of storing these two as a single 3939option (-mps) in the settings file, and declaring the other (-inc) volatile. 3940The range of negative numbers (invalid as -mps value) was available for 3941that, and now is used to store the negated value of -inc in msec. 3942For backward compatibility, specification of -inc causes interpretation 3943of -mps in the old way. The forcing of -inc to -1 in the master settings file 3944could be safely removed because of this change, so that the time increment 3945now is a persistent option. 3946 39472012-09-29 23:13:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3948Allow entry of fractional increment in WB time-control dialog 3949 3950The numeric edit is changed to a general text edit, and code is added 3951to convert the text it contains to and from float, with proper error check. 3952 39532012-09-29 23:05:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3954Preconfigure -icsNames in xboard.conf 3955 3956Although XBoard has no startup dialog with an ICS combobox, the -icsNames 3957option is now used to select lines from with the -is option, and in 3958interpretation of positional arguments. The most common ICS are configured 3959together with a short nickname, so that commands like "xboard fics" will work. 3960 39612012-09-29 22:58:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3962Allow ICS nickname as positional argument 3963 3964If an argument is encountered that is not preceded by an option name, 3965it is now first checked if it corresponds to the nickname of an ICS 3966in -icsNames. If so, it is assumed to be the value of an -is option, 3967selecting -ics mode with that ICS and all the options installed with it. 3968 39692012-09-28 20:28:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3970Cure some sick behavior in XBoard Engine Output right-clicks 3971 3972When a PV-walk is in progress, the PV is highlighted by selecting it, 3973and this focuses the attention of the scroll bar on it, so it remains in 3974view. But after release, that line was kept in view, rather than scrolling 3975back to the top of the window (where the header line bust be available 3976for clicking) 3977 39782012-09-28 13:28:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3979Allow Analyze Game to auto-step through entire game file 3980 3981If the game index is set to auto-increment (-lgi -1), the Analyze Game 3982function will automatically load the next game of the current game file 3983(starting to auto-play/annotate that) when the end of the current game is 3984reached. This flushes the annotated game if auto-saving was set, 3985so that eventually all games in the file will be annotatd and saved. 3986 The game index is automatically set to auto-increment when we load 3987a file while in Analyze Game mode, but switching this mode on while a game 3988is already loaded will stop at the end of that game, as usual (if -lgi was 3989not explicitly set). 3990 39912012-09-28 13:24:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3992Let second engine move in lockstep during dual analysis 3993 3994When the second engine is also analysing (as indicated by its stat variable 3995second.analyzing), we send all moves / undos / positions / in&excludes that 3996go to the first engine also to second. 3997 39982012-09-27 19:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 3999Allow second engine to analyze too 4000 4001Clicking the Analysis menu when analysis is already in progress will 4002now toggle the secon engine to analyze the same position. For now, 4003this lasts only until the position changes (or you leave analyze mode), 4004after which the second engine is always switched off, and the Engine 4005Output window returns to single pane. Each pane now has its own header 4006line; the exclude header is suppressed in the second pane. 4007 40082012-09-27 18:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4009Add options -fe, -se, -is to load installed engines/ics from list 4010 4011The volatile string options -fe, -se ('first/second engine') load the first 4012and second engine of the given nickname in the -firstChessProgramNames list, 4013including all options that were installed with it (similar to when in 4014WinBoard the that engine line had been selected through the Startup Dialog's 4015combobox). The option -is is similarly used to retrieve the line for an 4016ICS in the -icsNames list. 4017 40182012-09-27 18:02:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4019Add check on validity of tourney participants 4020 4021Before allowing OK of the Tournament Options dialog, it is now checked 4022whether all participants (which are given as nicknames) can be found 4023in the list of installed engines, so that no problems will occurr with 4024non-existing engines during the tourney (if typos crept in after hand- 4025editing the list). 4026 40272012-09-25 16:21:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4028Implement --help option 4029 4030The list of options is printed before exiting. Some attempt is made 4031to do it in a nice way. 4032 40332012-09-23 20:10:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4034Implement variant seirawan in -serverMoves option 4035 4036Write the gating moves such that the ChessLive! viewer will understand them. 4037 40382012-09-23 20:05:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4039Workaround for FICS bug 4040 4041FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move. 4042This broke 'Upload to examine', because that uploaded in SAN. In case the 4043SAN starts with Bx or bx, it now uses long algebraic (with = before the 4044promo char). 4045 40462012-09-20 18:17:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4047Define XOP mime type for XBoard 4048 4049Supply a white-knight icon for this mime type, called application/x-xboard-opt, 4050and a sesktop file to associate it with running XBoard with this settings file. 4051 40522012-09-20 17:24:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4053Pay attention to extension of 'positional' arguments 4054 4055An argument without preceding option name was assumed to be an -lgf argument. 4056This patch still does that by default, but if the argument ends in .fen, .epd, 4057.trn, .ini or .xop it is considered an -lpf, -tf or -opt argument. 4058 In addition, an implied -lpf or -lgf argument also imply the option -viewer, 4059which inserts the -viewerOptions string into the command line, and proesses it 4060as options. A new option -tourneyOptions is similarly inserted for an implied 4061-tf argument. These strings should contain all options needed to start XBoard 4062fully configured as game viewer or tourney playing agent on the mentioned file. 4063 40642012-09-20 15:29:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4065Let windows stick to right display edge (WB) 4066 4067Auxiliary windows docked to the board window from below or to the right, which are 4068pushed out of view when the board window resizes, will be trimmed to just touch the 4069diplay edge (if sufficient width or height remains). When the board window shrinks, 4070auxiliary windows touching the edge will be resized so they remain touching it. 4071 40722012-09-20 15:20:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4073Round board size to one where piece images available (WB) 4074 4075When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not 4076available, the size is temporarily rounded to one of the sizes where they are. 4077 40782012-07-03 17:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4079Fix bug in Edit Position 4080 4081Due to = in stead of == the variant was always set to S-Chess in 4082EditPositionDone(). 4083 40842012-08-28 21:24:51 -0700 Daniel Macks <dmacks@netspace.org>: 4085bug #37210: Mishandling of X11 -I flags (tiny change) 4086 4087AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"' 4088 40892012-06-02 14:31:18 -0700 Arun Persaud <arun@nubati.net>: 4090bug #36229: changed ICS_* from define to enum 4091 4092 40932012-05-28 13:58:00 -0700 Arun Persaud <arun@nubati.net>: 4094bug #36229: changed STATE_* from define to enum 4095 4096enabling better compiler checks 4097 40982012-05-28 13:50:50 -0700 Arun Persaud <arun@nubati.net>: 4099bug #36229: changed PEN_* from define to enum 4100 4101This should allow better checks by the compiler 4102 41032012-05-28 13:01:15 -0700 Arun Persaud <arun@nubati.net>: 4104fix bug #36228: reserved identifier violation 4105 4106variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards. 4107See link in bug report. 4108 41092012-05-28 12:36:37 -0700 Arun Persaud <arun@nubati.net>: 4110Updated German translation 4111 4112 41132012-04-30 20:06:00 -0700 Arun Persaud <arun@nubati.net>: 4114new version number for developer release 4115 4116 41172012-04-24 11:23:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4118Decapitalize promoChar in move parser 4119 4120 41212012-04-23 14:12:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4122Keep track of virginity of back-rank pieces in variant seirawan 4123 4124The forelast rank of the Board array is now used in VariantSChess to 4125contain flags that indicate virginity of the back-rank pieces, one bit 4126for white, the other for black. Legality checking of gatings now makes 4127use of this info. FENs mention all virgin pieces not implied by castling 4128rights in the castling field, by printing the corresponding file IDs, 4129as long as holdings are non-empty. The FEN reader now also understands 4130this format. EditPositionDone fakes virginity for all pieces that are 4131on their starting square. 4132 41332012-04-17 19:49:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4134Suppress clear-board message after pasting FEN 4135 4136The message field is now always cleared when you leave EditPosition mode. 4137 41382012-04-17 19:45:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4139Fix faking of castling rights after editing position with holdings 4140 4141The queen-side rook was always imagined at X=0, which is in the holdings 4142when these exist, so that Q-side castling in such games was never allowed 4143after EditPosition. 4144 41452012-04-20 10:29:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4146Fix WB Engine Settings window 4147 4148The listbox patch has broken this window, by making it only list the 4149first option of the engine, by switching to the next column based on a >= 4150test rather than == test. Fixed by using 1000 as invalid value for the 4151break point, rather than -1. 4152 41532012-04-20 00:01:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4154Fix key binding of DebugProc 4155 4156The name used for binding was DebugProc, while the ite was named Debug. 4157 41582012-04-16 20:51:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4159Fix ICS Text Menu popup 4160 4161The space for the option names needed to be allocated. 4162 41632012-04-16 20:37:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4164Fix disabling of Load Engine menu 4165 4166 41672012-04-15 22:53:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4168Port chat boxes to XBoard 4169 4170A new menu item Open Chat Window is added to the View menu. It opens a 4171window that can handle 5 chats. A row of buttons on top selects which is 4172the foreground chat partner, to which we type, and whose incoming messages 4173will be displayed in the memo. The leftmost 'button' is not really a button, 4174but a text edit, and the active partner is displayed there (so it can be 4175altered). Selecting another chat partner through a button, moves that partner 4176to the text-edit, and reshuffles the buttons. Incoming messages in a chat 4177that is not foreground make the corresponding button color orange. 4178 41792012-04-16 20:27:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4180Allow chaining of single-line text-edits to top 4181 4182For the benefit of the chat window, a text-edit plus leading description 4183can now also be chained to the top edge of a dialog. The chaining of the 4184(degenerate) multi-line ICS Input Box and Move Type-In was entirely to the 4185bottom, which has now been corrected. 4186 41872012-04-12 09:30:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4188Add logo widgets in main board window 4189 4190New options -logoSize and -logoDir are added. The former enables logo display, 4191when non-zero and not too big. The latter is used by -autoLogo. The options 4192 -firstLogo and -secondLogo also work. Problem is that the clock height 4193is larger than the logo height, and for now a nasty trick in GenericPopUp 4194is used to position the next element (message field) w.r.t. the clocks, 4195rather than the last element of the row above (the logo): in case of a 4196SAME_ROW Graph element, 'last' is kept at the previous element. 4197 41982012-04-19 10:48:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4199Fix crash on time forfeit with -st option 4200 4201When fixed time per move was set from the command line, the time-control 4202strings were not set. This let to a crash when an engine forfeited. 4203The GetTimeQuota function is now made resistant to a NULL pointer here. 4204 42052012-04-19 10:39:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4206Solve WinBoard name clashes, fix zippy-analyze menu graying 4207 4208Some of the function names used in the refactored X11 front-end collided 4209with Windows system names from winboard.h, or with names of internal routines 4210in WinBoard front-end files (so they could not be declared in frontend.h). 4211These were renamed. Some prototypes in engineoutput.h contained X11 types, 4212and they were moved to xboard.h. 4213 In addition, two menu-item names were corrected to two-part names. 4214 42152012-04-18 12:00:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4216Offer primitive paging in file browser 4217 4218If there are more than 1000 files that would have to be displayed, 4219the number will be limited to 999, and a 'next page' entry will appear 4220at the bottom. Clicking that will give you the next group. 4221 This is an emergency measure only, as it interferes with sorting 4222(grouping is based on order inside the directory, i.e. kind of arbitrary, 4223and sorting is only done within a group.) There is no such thing for the 4224folder list yet. There is no way to go back to a previous page, other 4225than closing and re-opening the browser, or selecting another file type. 4226 42272012-04-18 11:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4228Add pixmap as file type known to browser 4229 4230Users can browse for a pixmap to set the board texture. 4231 42322012-04-17 15:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4233Fix warning about signedness 4234 4235Note: the promoChar in ExcludeMoves was explicitly defined to make 4236sure the kludge promoChar = -1 for indicating best move works. But it 4237should be equivalent to casting the promoChar to (signed char) just 4238before the comparison. 4239 42402012-04-17 15:44:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4241Fix warnings about character index 4242 4243 42442012-04-17 15:37:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4245Move ManProc to xboard.c 4246 4247It calls ManInner, which requires X11 data types, even if the values are NULL. 4248 42492012-04-17 15:27:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4250Move FileNamePopUp to dialogs.c 4251 4252 42532012-04-17 15:15:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4254Fix readout of numeric combobox 4255 4256As currently no numeric comboboxes are used, this bug was silent. 4257 42582012-04-17 15:10:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4259Shuffle prototypes to correct header, or add them there 4260 4261 42622012-04-17 14:15:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4263Fix MenuNameToItem 4264 4265This function could crash when called with ann argument that did not 4266contain a period, while the idea was that it should handle this as if the 4267item is in noMenu (for user-specified key binding to non-menu funtions). 4268 42692012-04-16 19:43:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4270Fix click-click under-promotion animation save 4271 4272 42732012-04-17 11:02:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4274Define TOPLEVEL in winboard.c 4275 4276 42772012-04-17 10:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4278Add two new strings to WinBoard language file 4279 4280 42812012-04-17 10:51:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4282Fix second-engine variant test 4283 4284The test whether the second engine supports the selected variant took place 4285before the second engine was loaded, thus always coming to the conclusion 4286that the variant was not supported, and aborting the TwoMachines command. 4287The test is now moved to after second-engine loading (but before its 4288initialization, where non-supporting would become a fatal error). 4289 42902012-04-16 12:11:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4291Fix clearing of ICS input box after send 4292 4293 42942012-04-16 19:08:10 -0700 Arun Persaud <arun@nubati.net>: 4295enable -Wall -Wno-parentheses for all compilers that understand them 4296 4297 42982012-04-16 13:18:37 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4299Remove 5 unused variables from zippy code 4300 4301 43022012-04-16 13:14:06 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4303Remove unused static function ShowTC 4304 4305 43062012-04-16 13:10:58 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4307Remove unused static function MenuBarSelect 4308 4309 43102012-04-16 13:07:01 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4311Remove unused variable first_entry from function find_key 4312 4313 43142012-04-16 13:01:09 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4315Remove unused variable tm from function SaveGamePGN 4316 4317 43182012-04-16 12:56:46 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4319Remove unused variable delayedKing from function QuickScan 4320 4321 43222012-04-16 12:52:57 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4323Remove unused variable pdown from function UserMoveEvent 4324 4325 43262012-04-15 04:25:59 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4327Change some double literals to floats. 4328 4329To avoid unnecessary implicit promotions of float variables to double. 4330 43312012-04-15 11:12:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4332Remove debug printf 4333 4334 43352012-04-14 22:43:03 +0200 Byrial Jensen <byrial@vip.cybercity.dk>: 4336Translate "NPS" also in engine output window 4337 4338 43392012-04-14 16:19:34 -0700 Arun Persaud <arun@nubati.net>: 4340removed unused variables (-Wunused-variable) 4341 4342 43432012-04-14 15:37:05 -0700 Arun Persaud <arun@nubati.net>: 4344added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh 4345 4346 43472012-04-14 23:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4348Fix Eval Graph scale in drop games 4349 4350 43512012-04-14 23:16:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4352Fix ArrowDamage out-of-bounds access on drop moves 4353 4354 43552012-04-14 21:33:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4356Implement automatic partner observe 4357 4358Starting a game, or starting to observe one, now automatically issues a 4359'pobserve' command if dual-board is switched on, so that the partner game 4360will pop up in the secondary board (assuming it is bughouse). 4361 The secondary board now displays the players in the title. (This (lightly) 4362breaks WinBoard again.) When the primary game ends, the secondary board 4363closes automatically. Initial sizing of the board is repaired, and now uses 4364the actual current board size, rather than the initial size of the main board. 4365 43662012-04-14 15:43:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4367Fix crash due to empty PV 4368 4369Reception of a stat01 command before the first PV could cause a crash, 4370as apparently the parser cannot handle this. 4371 43722012-04-14 13:27:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4373Suppress testing for availability in bughouse drops 4374 4375Give up on testing legality of bughouse drop moves; this only causes problems, 4376because the move list sent by the ICS is not accompanied by holdings updates. 4377So XBoard parses it thinking the holdings are empty, making every drop move 4378an ImpossibleMove. Bughouse can only be played on ICS, and we might as well 4379trust the ICS that it will only pass us legal moves. A user should not be 4380able to enter illegal drops; unavailable pieces cannot be grabbed from the 4381holdings, and typing is diverted to the ICS directly (which would reject the 4382illegal drop without XBoard even knowing about it). 4383 Also improve switching to bh/zh, based on drop move in initial board. 4384 43852012-04-14 09:11:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4386Fix some compile errors / warnings 4387 4388 43892012-04-13 19:06:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4390Fix promotionPopDown on new move entry 4391 4392The promotion popup is non-modal, and old XBoard versions popped it down 4393as soon as the user clicked the board, so he could just enter a new move 4394to abort the promotion. This was broken in the new version, because the code 4395to do the PopDown and abort in HandleUserMove had not been ported. 4396 43972012-04-13 18:38:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4398Use in-place sweep-selection for click-click under-promotion 4399 4400With detour under-promotion a piece cycles through all possible choices 4401during backwards dragging. But in a click-click move there is no dragging. 4402This used to be solved by letting the second click start a drag event of 4403the default promotion choice, which you could accept by immediately 4404releasing the mouse button, or drag around to change it first. 4405 The dragging in this case seemed a little unnatural, because the to-square 4406was already indicated by the down-click. So it has been changed now to the 4407promo choice appearing on the down-clicked to-square, followed by 4408EditPosition-like sweep-selection on that square when one wants to under- 4409promote. The move is always accepted no matter where the up-click takes 4410place, except when it takes place on the from-square (which offers a last- 4411resort abort possibiliy). 4412 Note that click-click promotion is essential in variants where it is not 4413obvious from the from-square alone that a promotion is imminent, but where 4414it depends on the to-square. (Such as Shogi.) There drag-drop detour under- 4415promotion is not possible. 4416 44172012-04-13 16:05:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4418Improve arrow drawing 4419 4420The arrow is now erased together with the border highlights, by marking 4421the damage it did, and then doing a selected redraw of the board to let 4422the damaged square be re-drawn. Highlights of a previous move are now 4423cleared on the down-click that selects a new piece, so there never is an 4424arrow to infavorably interact with animation of dragging. 4425 44262012-04-13 14:57:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4427Also do selective redraw with showTargetSquares on 4428 4429The XBoard DrawPosition now also keeps track of the previous marker state, 4430and redraws squares for which thi shas changed. As a result, the routine 4431MarkTargetSquares does no longer have to force to complete redraw. 4432(Breaks WinBoard?) 4433 44342012-04-13 00:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4435Fix click-click sweep promotions to empty square 4436 4437These did not work, because DragPieceBegin would fail on an EmptySquare. 4438 44392012-04-12 23:58:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4440Move clearing of target squares to after drag end 4441 4442A dragged piece that would partly overshoot its destination into a square 4443with a marker would effectively protect that marker from erasing, when the 4444erasing was done before the piece was released, because redrawal after the 4445move only would draw the target square. (Unlike erasing, which forces a full 4446redraw.) 4447 44482012-04-12 23:49:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4449Fix double promotion popup 4450 4451Only the up-click of a click-click move gives a promotion popup now. 4452 44532012-04-12 23:32:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4454Fix promotion popup 4455 4456The new GenericPopUp did not like it if the first button had 'SAME_ROW' set. 4457 44582012-04-12 17:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4459Allow clearing of marker dots in any mode 4460 4461There might already be dots when you change to a mode where there should 4462be none, and you don't want them to stay on forever in that case... 4463 44642012-04-12 17:00:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4465Fix redraw of secondary board on flipping view 4466 4467 44682012-04-12 10:30:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4469Let clocks of secondary board count down 4470 4471The back-end now remembers what is the active clock, and the time left on it. 4472This is then decremented and updated together with the clocks of your own 4473game, using the partnerUp flag to divert the clock display to the secondary. 4474 44752012-04-12 09:47:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4476Fix 3 forgotten symbolic widget references 4477 4478 44792012-04-11 19:24:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4480Add sound files to browser menu 4481 4482 44832012-04-11 13:04:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4484Add New Directory button to file browser 4485 4486 44872012-04-11 09:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4488Detect engine exit during startup 4489 4490The case where engine startup failure does not result in a fatal protocol 4491message, like "No such file", but where it simply exits, is now also covered. 4492 44932012-04-10 22:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4494Suppress popup for fatal error after tellusererror 4495 4496For cooperating better with Polyglot, and allowing more to-the-point 4497error messaging, the (awful) default message will be suppressed if the 4498dying engine already provided an explanation for its demise to the user. 4499 45002012-04-10 20:28:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4501Fix Engine Output icon heights in international versions 4502 4503The text in a label option could not be an empty string, or it would be 4504'translated' to something of enormous size. So it is set to a space now. 4505 45062012-04-10 20:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4507Fix internationalization 4508 4509The internationalization was broken by moving the XtSetLanguageProc 4510to behind 'bindtextdomain'. 4511 45122012-04-10 20:03:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4513Make reference to board widgets symbolic 4514 4515 45162012-04-10 18:39:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4517Don't strip path from engine name if directory given 4518 4519 45202012-04-10 17:54:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4521Fix vertical chaining of Buttons and browser ListBoxes 4522 4523 45242012-04-10 15:53:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4525Fix auto-play 4526 4527The 'narrow search' modification had broken auto-play, because all selected 4528games were marked as matching position 0, so that they would all start in 4529thr opening position. 4530 45312012-04-10 13:30:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4532updated po/pot files 4533 4534 45352012-04-10 11:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4536new version number for developer release 4537 4538 45392012-04-10 13:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4540Update POTFILES.in 4541 4542 45432012-04-10 13:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4544Fix Makefile EXTRA_DIST 4545 4546 45472012-04-02 17:53:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4548Use Ctrl key in EditPosition mode to copy pieces 4549 4550 45512012-03-28 23:51:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4552Fix bug in FRC castling for position search 4553 4554In FRC it is essential that both pieces are taken off the board before 4555any of them is put back, lest they obliterate each other. 4556 45572012-03-28 12:25:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4558Fix bug on loading engine 4559 4560A newly loaded engine was put at the end of the game, rather than at the 4561current position, (which is required in EditGame mode). 4562 45632012-04-06 17:02:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4564Add 'Narrow' function to position search 4565 4566 45672012-04-06 10:52:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4568Reorganize main() a bit 4569 4570The font stuff goes into a separate routine, and the X11 stuff is 4571moved backwards as far as possible. 4572 45732012-04-04 21:55:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4574Give the dual-board option a separate board window 4575 4576The second board window pops up whenever an alien board is received 4577during your game. Moves in it are highlighted by an arrow, irrespective 4578of the 'Highlight with Arrow' setting. The clocks are displayed, but do 4579not count down. 4580 45812012-04-05 11:23:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4582Port engine grouping to Match Options dialog 4583 4584 45852012-04-05 15:18:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4586Change default directory in Load Engine to "." 4587 4588 45892012-04-05 10:49:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4590Port grouping to XBoard Load Engine Add highlight to Load Engine grouping 4591 4592 45932012-04-06 17:19:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4594Fix default file types for browse buttons 4595 4596 45972012-04-03 09:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4598New browser 4599 4600Redo file browser with GenericPopUp 4601 4602This had to solve quite some problems, because it wanted to use a ComboBox 4603option while a transient dialog could be up, was a non-engine dialog 4604while an engine dialog is up, and XRaiseWindow does not work properly. 4605 Sorting is done alphabetically, or for digit groups by numeric value. 4606 46072012-04-02 14:43:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4608Use ListBox in stead of ComboBox in Match-Options dialog 4609 4610 46112012-04-02 14:09:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4612Use ListBox in stead of ComboBox in Load Engine dialog 4613 4614Make Load Engine listbox sensitive to double-clicking 4615 46162012-03-26 17:06:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4617Add message about enabling in New Variant dialog 4618 4619 46202012-03-31 20:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4621Move LoadGamePopUp to menus.c 4622 4623 46242012-03-31 20:25:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4625Move DisplayMessage to dialogs.c 4626 4627Use the wrapper SetWidgetLabel to make it back-end. 4628 46292012-03-31 15:23:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4630Fix switching debug option during session. 4631 4632Switching on debug mode during the session did not create the requested 4633debug file. 4634 46352012-03-31 15:22:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4636Correct texi file for use of .Xresources 4637 4638 46392012-04-02 19:19:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4640Fix recent-engines menu 4641 4642A new primitive to create an item in a given menu was added to do this. 4643 46442012-03-31 10:54:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4645Switch back two two-part menu names 4646 4647The menu code is again completely changed; a handle field is added 4648to the MenuItem tables to store the widget for the item, and this info 4649is used to alter sensitivity or marking. MenuToNr is replaced by 4650MenuNameToItem, which looks up the two-level name directly in the 4651menu tables. Put all currently unused MenuProcs in noMenu table, 4652so they are available for key binding through the new method. 4653 46542012-03-24 18:36:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4655Redo main board window with generic popup 4656 4657Some of the improvements in GenericPopUp (committed earlier) were added 4658especiall for this (menu and box Option types), and the commits that used 4659them to make a fully functional board, listed below, were collapsed into 4660this one. 4661 4662This uses the new box and menu features of the Generic popup. 4663Make option table shadow board consistent with refactor 4664Do main menus in shadow board 4665 The board made by GenericPopUp now also has (functional) menus. The Expose 4666 callback now also uses the new format (passing coordinates). 4667Use BoxEnd callback to decide about smallLayout 4668 The shadow board now dynamically decides whether it should use smallLayout 4669 positioning of the title-in-window widget, using a callback in the BoxEnd 4670 option for the menu bar: If no reasonable amount of space is left behind 4671 the menu bar, the title is forced under the clocks (smallLayout). 4672Do some mouse handling on shadow board 4673 Only button 1 events for now. We have to keep track if the button is down! 4674Connect button 3 to shadow board 4675 For now only for piece and PV manipulation: no context menus yet 4676Symbolic reference in option formatting 4677choice <-> textValue xboard.c 4678Improve expose callback shadow board 4679Implement context menus of shadow board 4680 This uses the new generic PopUp option 4681TopLevel xboard.c 4682Make mock-up board available through menu item 4683Make clocks of shadow board sensitive to clicking 4684Make button bar of shadow board operational 4685 The back-end Event functions are specified as user callbacks directly; 4686 this is not very clean, as they are parameterless, but called with an int 4687 argument. This should have no bad consequences, though. 4688Switch to using shadow board as main board 4689 The menu marking and enabling had to b switched off for this, as it 4690 only worked on the old menus. Remove HandleUserMove. 4691Deleting of unused shell variables, clocks to dialogs.c 4692Move BoardPopUp to dialogs.c 4693 This required passing on fome front-end vars as parameters, and returning 4694 apointer to the option list, to make the handles available in xboard.c. 4695Simplify InitDrawingSizes 4696 Now that all widgets of the main window are properly chained, there is 4697 no need to resize them when the board format changes: setting a new width 4698 for the shell suffices. 4699Cleanup some unused Xt Args 4700 47012012-03-31 10:53:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4702Remove unnecessary menu unmarking for Edit Tags 4703 4704 47052012-03-29 19:09:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4706Split sync-after options in Match dialog into checkbox + label 4707 4708Now the checkbox texts are highlighted on hovering, we don't want the 4709explanatory text behind it to be highlighted with it. 4710 47112012-03-26 17:12:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4712Make variant-unsupported-by-second error non-fatal 4713 4714 47152012-03-23 20:06:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4716Redo Eval Graph with generic popup 4717 4718The Graph option of the GenericPopUp is used to implement the Eval Graph. 4719Compared to the previous implementation, which was drawing directly in the 4720form widget, the new one has one extra widget layer, but that did not 4721affect the code anywhere. Adapt eval title to width of eval graph. 4722 47232012-03-23 15:17:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4724Redo Engine Output window with generic popup 4725 4726A new file nengineoutput.c holds the X-independent code. This makes use 4727of new capablities of GenerciPopup, for having Label widgets on same row, 4728stacking panes after a Break, and chaining Label and Text widgets. 4729 47302012-03-21 23:00:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4731Redo Game List with generic popup 4732 4733Check in ngamelist.c 4734Redo Game List with generic popup 4735 The X-independent code (i.e. almost all) is moved to a new file 4736 ngamelist.c. 4737Make button in Game List to pop up Game List Options 4738Fix scrolling game list 4739Fix popup of existing Game List after loading file 4740Wheel-scroll game list 4741Symbolic reference game list 4742TopLevel game list 4743Put format flags with listbox options 4744 47452012-03-21 17:58:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4746Redo Game List Options with generic popup 4747 4748 47492012-04-05 21:56:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4750Add -dialogColor and -buttonColor options 4751 4752These only override system defaults if they are non-empty strings. 4753 47542012-03-28 15:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4755Add -topLevel option 4756 4757This persistent Boolean option determines if the auxiliary windows 4758(Game List, Move List, Engine Output, Eval Graph, Tags and Comment) 4759use top-level shells (with their own icon on the task bar, and 4760independently closable). Other dialogs will always use transient shells. 4761(Also he modal Error and Promotion dialogs, for which the modality 4762presumably only serves to pop them down without special attention.) 4763A control for this was added in the General Options dialog. 4764 47652012-03-20 15:30:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4766Redo ErrorPopUp with generic dialog 4767 4768<Enter> keeps popping down error popup.Multiple Error popups remeain tricky; 4769add comment to describe problem with multiple ErrorPopUps. 4770 47712012-03-20 10:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4772Redo PromotionPopUp with generic dialog 4773 4774The dialog is no longer modal. 4775 47762012-03-19 21:56:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4777Redo AskQuestion dialog with generic popup 4778 4779 47802012-03-19 21:55:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4781Major refactoring of GenericPopUp 4782 4783Allow more transient dialogs in GenericPopUp 4784Remove grab from promotion popup 4785Fix other generic popup over transient popup 4786 To use the generic dialog generator for 'asynchronous' popups (Ask Qustion 4787 or Error popup caused by engine), the currentOptions setting has to be 4788 restored for the combo and checkbox callbacks of the transient to still 4789 work after the asynchronous dialog returns. Note that only transient dialogs 4790 can have check and combo controls. 4791Make generic calcel button suppressible 4792 Also #define some more symbols for Option.min flags, 4793 and move them to dialogs.h. 4794Change TypeInProc to general OK handler 4795 The move type-in now has its own option list, to distinguish it from 4796 the ICS input box, and give it its own OK handler. Rather than having 4797 the translation for <Enter> on the text widget call TypeInEvent directly, 4798 we let it call GenericCallback, which calls GenericReadout, which calls 4799 the OK proc, which does the job. 4800 To be able to call GenericCallback from the TypeInProc, the recognition 4801 of OK and cancel buttons had to be changed. This because it was too difficult 4802 to arrange the calling widget had label OK or cancell. So these buttons are 4803 no longer recognized by name, but by the option number passed as client data. 4804 (This solves the problem that a user could not make buttons named 'cancel' 4805 or 'OK'.) 4806Make Cancel button optional 4807Fix closing multiple popups of same kind 4808 The GenericCallback figures out its own shell, so all buttons of 4809 multiple dialogs keep working. External calls to PopDown only work 4810 on the lastcreated instance of that kind, though (including those from 4811 the Delete Window button, which can do 'cross-closing'). shellUp is now 4812 a counter, and PopDowns are only prevented when it reaches 0 or the 4813 current shell does not exist. (To know this, PopDown now resets shells[n] 4814 to NULL when is shell is destroyed. 4815 Beware of double PopDowns (through OK procs); they wreck the system. 4816Fix Delete Window button of multipe ErrorPopUps 4817 The action routine for handling the Delete Window now pays attention 4818 to the shell widget that the system passes to it, and temporarily 4819 replaces shells[n] by it to let PopDown act on the proper instance. 4820Add ListBox dialog type to GenericPopUp 4821Fix vert sizing of ListBox 4822Put listbox widgets in viewport 4823Put listbox in viewport 4824Improved xoptions.c support for focussing and listboxes 4825Fix OK-row button positioning 4826Let GenericPopUp take parent and modality as arguments 4827 This makes the code a bit more explicit and less kludgy. It also becomes 4828 possible to call the same dialog (e.g. Load Options) from the main menu 4829 and from another dialog (e.g. the Game List). 4830Support scroll function for generic popup listboxes 4831Fix scrolling 4832Move HighlightWithScroll to xoptions.c 4833Change scroll algorithm 4834Add mouse-wheel scroll to generic list boxes 4835Implement tabbing between text edits 4836Implement same-row text labels in generic dialog 4837Allow labels to specify their chaining in generic popup 4838 The opt.min variable is used to specify the chaining: 0xF0 are the bits 4839 for (left, right) chaining of the left side (0xC0) and right side (0x30). 4840 The 0xC bits determine top or bottom chaining of the entire label. 4841 Without anything spcified (0), the chaining is XtRubber. 4842 TextBox options can also specify top-chaining of their top. All this was 4843 needed to allow decent implementation of the Engine Output window with 4844 the generic popup. (Although tags and comment popup ca benefit from the 4845 latter feature.) 4846Let GenericPopUp support a Graph option 4847 The Graph option results in an area where one can draw something. It is 4848 positioned / chained similar to Label options. A handler for expose events 4849 can be specified in the textValue field of the option. 4850Implement box widgets and menu buttons in GenericPopup 4851 To enhance the capabilities of GenericPopUp such that it could create the 4852 main window, it needs to be able tha packaging of controls into a box widget 4853 (for mennu and button bar). Menu buttons are also required elements 4854 (although they do look a lot like comboboxes?) Option types BoxBegin and 4855 BoxEnd can now be used to bracket a group of controls that will be put 4856 in a box widget. (Cannot be used recursively!) The positioning of the box 4857 is similar to that of a Label, and is specified in the BogBegin option. 4858 The code to shrink the menu buttons to fit is also incorporated, to act 4859 on any box widget: if the BoxBegin option specifies a width, the elements 4860 in it are shrunk to meet the requirement. Otherwise the box just gets the 4861 size of the sum of its children (plus spacings). 4862 Label options can now specify a font, casted into their textValue field. 4863 (This is needed to get the proper size for the clock widgets.) 4864Implement callback in BoxEnd options 4865 BoxEnd is a pseudo-option, to trigger packing the preceeding ones in 4866 an earlier-opened box widget. In the process it calculates the size of 4867 the box widget (and trims it if a size was specified for it in the 4868 corresponding BoxBegin). The Option.target field of BoxEnd is now 4869 interpreted as a callback, which can be use to take decisions based 4870 on the determined size for the remaining options in the list, before 4871 these are processed b GenericPopUp. 4872Refactor xoptions.c 4873 Make a subroutine to set args shared by almost all widgets. Swap meaning 4874 of '1'-bit in option.min flag of Break option, to be consistent with 4875 SAME_ROW interpretation in other option types. 4876Make option tables consistent with refactored GenericPopUp 4877 The flag for stacking in the Break option needed to be inverted, and 4878 the BoardPopUp needed to pass the font in another field. Better use was 4879 made of the improved chaining options too. 4880Improve Graph-option event handling 4881 The user-supplied callback now gets 3 arguments passed: the event type 4882 (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose), 4883 and two coordinates. For ouse events these are the pointer (x,y), while 4884 for expose events they are the window size (w,h). The callback is now 4885 specified in the option.target field of the Graph option. 4886Store engine options in malloc'ed memory 4887 The Option.name field has been re-declared as (char*), from (char[MSG_SIZ]). 4888 There are still MSG_SIZ chars allocated irrespective of actual size, because 4889 the field is also supposed to store the textValue, which can be changed by 4890 the user. But at least it means that unused options of the generous list 4891 now don't waste much space. (And the prparated Option tables in dialogs.c 4892 will shrink by a large factor as well.) 4893Improve GenericPopUp ComboBox handling. 4894 The dialog type is now passed to the combobox callback as well, and this is 4895 used to really figure out what option it is called for. 4896Allow numeric comboboxes 4897 When no list of strings is given in Option.choice, the target is assumed 4898 to be (int), and the number of the slected entry is stored there. Also 4899 adapts the Label options that act as fillers to the new method for making 4900 dummies (namely NULL in the Option.name field). 4901Put comboCallback in Option struct 4902 Rather than having a general comboCallback variable for the entire current 4903 dialog, each ComboBox option can now specify its own callback in the 4904 target field of the option: the COMBO_CALLBACK bit of Option.min indicates 4905 whether the target is a variable to be set or a callback. The callback can 4906 still fetch the choice from the values array. 4907Allow generic CreateComboPopup also to do main menus 4908 An extra parameter to CreateComboPopup determines if the menu texts 4909 should be taken from a list of strings (the old method with engine- 4910 supplied choices), or from a menu table of MenuItems. It can now also 4911 recognize "----" as a menu break, and keeps margins (for the marking). 4912Make subroutine for determining curren combo selection 4913Various fixes to GenericPopUp 4914Delete one border-width setting 4915Fix max nr of args in GenerocPopUp 4916Fix button release events of Graph options 4917Fix generic Graph callback pointer motion coordinates 4918Make all format referencing in Option tables symbolic 4919Let Option.choice define menu texts, rather than Option.textValue 4920 This is more logical than ussing textValue for it, because choice already 4921 has the correct (char**) type, while textValue was (char*), and needed 4922 casting everywhere. Note that for engine options, the fields were the 4923 same anyway, so no back-end change was required. The textValue now 4924 contains the (casted) list of actual string values, where these are 4925 needed. (But for numeric and function menus they aren't.) 4926Add PopUp Option type 4927 An new pseudo-Option is defined, to add a popup menu to a previous Graph 4928 option. The actual popping up is done by the expose handler. 4929 The function XUngrabPointer is the key to success here. A PopUp option 4930 specifies a callback for handling the selection from the menu, which will 4931 be called with the option number, exacty as with ComboBox options. 4932Update option explanation in dialogs.h 4933Make Spin and CheckBox callbacks pass dialog number 4934 No longer rely on 'currentOptions' for getting the option belonging to 4935 the callback, but get it out of the dialogOptions array indexed by dialog 4936 type. This way things cannot be messed up by an asynchrounous error popup. 4937 It also means that it is now save for non-modal dialogs to use these options. 4938Use button widget for text behind checkbox 4939Let listboxes use general formatting hints 4940Let GenericPopUp option always finish last pane after Break 4941Allow LisBox to specify select callback in Option.textValue 4942Use double-click to trigger ListBox callback 4943Make ListBox callback re-entrant 4944Fix multi-line Label options 4945Separate CreateMenuItem out from CreateComboPopup 4946Chain checkbox texts entirely left 4947Allow a user-specified callback to Label options 4948 This is needed to implement the clocks. Let the CheckBox callback handle 4949 it. For now ther is no distinction between different mouse buttons. 4950 49512012-03-21 11:15:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4952Prevent double PopDowns 4953 4954Some DialogOK functions ordered an early PopDown themselves. This, 4955however, resulted in PopDown being called twice when they returned TRUE. 4956This interfered with the new system for allowing multiple instances of 4957the same dialog. So these functions are now fixed to suppress the 4958standard PopDown by always returning FALSE. 4959 49602012-03-20 19:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4961Split usounds.c and usystem.c from xboard.c 4962 4963X-independent code was moved to separate files. The nef file usound.c 4964contains the sound handling, which in XBoard is trivial, because it uses 4965an external player, but could be replaced by a complex one on platforms 4966that have to handle the sound themselves. 4967 The usystem.c file contains all non-X Unix-like stuff, such as fork, 4968pipe, system, getenv. I also contains some color parsing for the xterm 4969colors. This stuff could be useful on platforms that support Unix-like 4970system calls. 4971 49722012-03-26 19:03:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4973Make routine to probe shift keys 4974 4975The code to probe Alt keys was taken out of MoveTypeInProc, and extended 4976to probing Ctrl and Shift keys too. These are now returned in the 6 LSB 4977of an int by ShiftKeys(). 4978 49792012-03-19 13:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4980Remove one level of indirection on ICSInputBoxPopUp 4981 4982 49832012-04-10 10:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 4984Cleanup of xboard.c 4985 4986Remove AskQuestionProc 4987A bit of cleanup on xboard.c prototypes 4988Remove dead file-browser code 4989Delete vestigial jail code 4990 All the stuff about jailColor was deleted. Only one fishy thing remains: 4991 xpmJailSquare seems under some conditions used in BlankSquare to draw a 4992 'neutral' square. it is set to a copy of a light square image. But in the 4993 current design 'neutral' means blacked out between board and holdings, 4994 and even with image use, it should not resemble a light square... 4995Remove registering of CommentPopDown and TagsPopDown 4996Merge CopyGameSelection into CopyPositionSelection 4997 49982012-03-19 11:38:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 4999Move some back-endish routines from xboard.c to dialogs.c 5000 5001Move ICS input-history handling to dialogs.c 5002Move ICS Input Box text handling to dialogs.c 5003Move DisplayXxxx routines to dialogs.c 5004Move DisplayTitle to dialogs.c 5005 A wrapper SetWindowTitle remains in xboard.c. 5006 50072012-03-18 20:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5008Split back-endish part off xoptions.c, and move to dialogs.c 5009 5010Some MenuProcs for dialogs were also moved to dialogs.c from menus.c. 5011MoveTypeInProc which is an event handler for the board widget, 5012was moved to xboard.c, where it can be static. 5013 5014Identify dialogs by enum type 5015 A new header dialogs.h is created, which defines an enum type DialogClass 5016 that is now used to identify the various dialogs done by GenericPopUp. 5017 The prototypes for GenericPopUp/PopDown, and other globals shared by the 5018 dialogs code and other modules can go in here as well. 5019Remove ClearTextWidget 5020 This did the same as SetWidgetText with an empty string. 5021Split X-code from PutText 5022Split back-end part from MoveTypeInProc 5023Take set-title out of comment popup 5024Sort MenuProcs in dialogs.c with their support functions 5025Declare globals in dialogs.c with functions where they belong 5026Add prototypes to dialogs.h 5027Move prototypes and globals from xoptions.c to dialogs.h 5028Make accessor DialogExists for dialog shells 5029Add dialogs.c to makefile: compiles and runs! 5030Combine 3 calls into front-end to InitDrawingParams 5031Move EditCommentProc and ICSInputBoxProc to dialogs.c 5032Pass option list as argument to GenericUpdate and GenericReadOut 5033Shorten argument name from currentOption to opts 5034 This to prevent confusing it with the global variable of that name. 5035 50362012-03-18 15:33:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5037Declare some shared global variables in backend.h 5038 5039The vlobals twoBoards and partnerUp were only shared through an extern 5040declaration in xboard.c 5041 50422012-03-18 12:34:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5043Split back-endish part off drawing code and move to board.c 5044 5045Split DrawSquare in front-end and back-end part 5046Back-endize DrawHighlights and DrawPosition 5047 The already existing wrapper FlashDelay is used as a kludge to do an XSync. 5048 We now pass a code for the line color GC to the highight routine. New 5049 wrappers are DrawGrid() and DrawBorder(). 5050Back-endize atomic explosions 5051Back-endize DrawArrow and DrawDragPiece 5052 DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead 5053 of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes 5054 DrawArrowBetweenPoints. 5055Move board-drawing logic to new file board.c 5056 All X-independent drawing logic (board, squares, arrows, highlights, 5057 some animation stuff) has been extracted from xboard.c, and moved to 5058 a new file board.c, which is back-end (but unshared with WinBoard). 5059 A new header board.h defines the cross-references (which of course 5060 required some functions to be no longer declared as static). 5061 A bit of code was moved from DragPieceBegin to BeginAnimation, which 5062 now has an extra argument to indicate which piece should appear from 5063 under a dragged piece. This makes DragPieceBegin free of XCopyArea calls, 5064 so it could be moved too. 5065Make board.c truly back-end 5066 Get rid of all X data types. For this the AnimState struct had to be 5067 redefined: the GC and Pixmap was taken out and put in front-end arrays 5068 indexed by anim agent (game and player). For this indexing a new enum 5069 was defined. The XPoint type was also replaced by our own type of an 5070 int pair (which is nasty, because the int size could be different). 5071Move more animation code to board.c 5072 50732012-03-18 10:08:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5074Contract some awful code replication 5075 5076The code for making an X-color was replicated 6 times, and is now made 5077into a subroutine. The code for creating GCs was quite repetitive as well. 5078 50792012-03-18 08:34:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5080Move more back-endish menu-related stuff from xboard.c to menus.c 5081 5082Move menu enabling to menus.c 5083 Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper 5084 EnableButtonBar was necessary, because Training mode wants to enable/disable 5085 that too. 5086Move all back-endish MenuProcs to menus.c 5087 Many if the MenuProcs that could not be eliminated by listing the 5088 corresponding back-end MenuEvent function as handler directly, are 5089 still completely plactform indpendent. (E.g. when the MenuEvent needs 5090 a parameter.) These are all moved to menus.c now. 5091Convert all dead MenuProcs to using MarkMenuItem 5092 The MenuProcs for the option items that no longer exist were also 5093 converted for check-marking their item in the new way, because we 5094 might revive them for key binding. 5095Move the dead MenuProcs also to menus.c 5096Revive dead menu procs 5097Move GreyRevert to menus.c 5098Move ModeToWidgetName to menus.c 5099Move initial menu marking to menus.c 5100 5101A new function InitMenuMarkers was split off from main() to do this. 5102 51032012-03-18 08:17:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5104Switch to use of short menu references 5105 5106The prefixes menuXxxx. for the item names are abolished. This made it 5107necessary to also add a MarkMenuItem function that can handle short names 5108for putting the xMarkPixmap on the items, as the names returned by 5109ModeToWidgetName are used for both enabling and check-marking. 5110Let MarkMenu use MarkMenuItem wrapper 5111 51122012-03-17 10:47:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5113Refactor menu code, and move it to menu.c 5114 5115Supply new method for key binding 5116 It is annoying that every menu item needs its X-specific handler routine, 5117 because this handler has to be registered to X for becoming eligible as 5118 a key binding. Another disadvantage of this method is that the user wanting 5119 to make the binding has to know the name under which the menu function 5120 is registered (e.g. FlipViewProc). 5121 A new method is now made available, which uses only a single (X-specific) 5122 routine, registered with X as "MenuItem", as generic key-binding handler. 5123 The bindings can then be made by the user specifying "MenuItem(FlipView)". 5124 This requires a new list of potential bindings, which should be filled 5125 by the menu-creation routines. (Currently only contains only a predeficed 5126 example.) 5127No longer register all MenuProcs with X 5128 The list with available menu procs is moved to the user-maintained 5129 menuItemList. Only QuitProc had to stay registered with X, because it is 5130 used in CatchDeleteWindow. (So it is in both lists now.) In the future, 5131 most of the list can be built automatically from the menu tables. 5132Alter type of MenuProcs to void(void) 5133 By getting rid of the argument list with X-types, most menu procs can 5134 become back-end. In the cases of ManProc and QuitProc the original 5135 version had to be kept as well, because in ManProc the argument was 5136 actually used (with key binding), while QuitProc is used for delete window. 5137Remove now unnecessary menu wrappers 5138 Now the MenuProc have an empty argument list, those that also call a 5139 single 'MenuEvent' without arguments have become completely redundant, 5140 and have been taken out of the loop by calling the corresponding MenuEvent 5141 directly. 5142Build menuItemList from menu tables 5143 Rather than having an initialized table of name-proc associations (which 5144 used to be the X registrations) for the menu items, we now build the list 5145 during menu cration from the menu tables. The menu "ref" is now used as 5146 proc name. This means the old MenuProc names used in the predefined 5147 key bindings had to be changed to conform to this. Note that the bindings 5148 would slice up names containing spaces in several parameters, so in the 5149 translations the spaces were squeezed out of the item names. This requires 5150 a hand-written comparison routine Equal() to identify the binding. 5151Remove prototypes of deleted MenuProcs 5152Move prototypes of platform-independent MenuProcs to menus.h 5153 Create a new header file for the menu stuff, so that we can move 5154 the corresponding handler routines out of xboard.c to a back-end file. 5155Extract back-end code from menu creation 5156 The menu tables and code to interpret them is moved to a new file menu.c. 5157 Only basic fuctions for creating a pop-down list and for adding an item 5158 to it remain in xboard.c. 5159 51602012-04-07 15:59:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5161Remove some unused (exclude-moves) variables 5162 5163 51642012-04-07 15:57:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5165Install engine within current group 5166 5167 51682012-04-07 15:53:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5169Switch to using listboxes for engine-selection in WinBoard 5170 5171 51722012-04-07 15:36:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5173Implement Narrow button in WB Game List 5174 5175 51762012-04-05 15:15:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5177Silence unjust warning 5178 5179 51802012-04-04 12:18:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5181Fix memory corruption through InitString and second-engine loading 5182 5183The InitString and ComputerString options were not swapped when replacing 5184the second engine, so that the ChessProgramStates of the first engine 5185could point to an invalid (already freed) init string. Also make sure 5186that appData.directory contains its value in allocated memory, even 5187when hand-loading engines. 5188 Some of the rare options were not swapped either, and would thus 5189always be loaded for the first engine when -singleEngineList was true. 5190They are now also all reset to their default, before engine load, 5191to prevent options of one engine to linger on for a next that does 5192not specify them. The intentional exception is -firstHost. 5193 51942012-04-01 20:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5195Fix PV sorting during fail low 5196 5197When an engine reports a fail low as thinking output, and then re-searches 5198the same move with larger window, it now gets a lower score. This line 5199would then be sorted below the earlier fail low, because it was mistaken 5200for a multi-PV line for an inferior move. This patch suppresses PVs 5201overtaking each other if they start with the same move. 5202 52032012-03-30 20:09:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5204Extend smallLayout regime up to size Medium 5205 5206Because of the increase number of menus, there is not enough space for a 5207title next to the menu bar at smaller sizes. In fact it is questionable if 5208the title should ever go on the same line as the menu bar. 5209 52102012-03-30 10:38:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5211Fix parsing crazyhouse promotions with legality testing off 5212 5213With legality testing off, any promotion suffixes in a move are taken 5214'on faith'. But in crazyhouse the piece ID for normal pieces is used as 5215promotion suffix for promoted pieces, so this would Loop Chess rather than 5216Crazyhouse. Now attention is payed to presence of ID-less promotion pieces 5217(indicated by ~ in the pieceToCharTable), and if there are, these prevail 5218ovr the specified type. 5219 52202012-03-30 10:07:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5221Fix browsing for save file in WB 5222 5223The generic popup browse buttons used the wrong flavor of browser, 5224which would only accept existing files. This was inconvenient when browsing 5225for a save file. The other flavor of browser is now used by default (so that 5226engine options also use it), and a new flag is added in the option.max field 5227(which was already indicating file type) to request readonly browsing for a 5228save file. 5229 52302012-04-02 10:18:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5231Let clicking on header line exclude moves 5232 5233The exclude header in the Engine-Output window can now be clicked, to 5234toggle the exlusion of the listed move. Clicking on 'none' resets all 5235exclusions, clicking on 'best' excludes the first move of the latest PV. 5236The pseudo-move 'tail' represents all non-listed moves. 5237 52382012-04-01 22:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 5239Keep list of excluded moves in Engine Output header 5240 5241As long as there is still space, excluded or included moves are added 5242to a new header line in the Engine Output window (prefixed with + or - 5243depending on whether they are currently excluded or included). Future 5244in/exclusions of that same move then alter the prefix. 5245 52462012-03-21 23:12:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5247Fix focus of Game List 5248 5249After focus was transferred to the filter text-edit, it was impossible 5250to get it back on the game list (to make the arrow keys working again). 5251A translation to left down-click is now used to assign focus, just as 5252it would for text edits. For unknown reason this only worked if the 5253translations were instated by Overriding, rather than Augmenting, 5254which again required the normal translation of downclick, Set(), which 5255selects the clicked item, to be explicitly mentioned as well. 5256 52572012-03-16 22:41:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5258Fix taking effect of some option changes 5259 5260This fixes a bug reported at Ubuntu: when switching off move highlighting 5261in Two Machines mode, the last move before the switch stayed highlighted. 5262The GeneralOptionsOK() now clears any remaining highlights when highlighing 5263is off. Similar problems with blind-fold mode and coordinates, which require 5264a total board redraw to take effect, are now solved by also forcing such a 5265redraw in GeneralOptionsOK() when they change. 5266 52672012-03-16 21:58:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5268Add exclude and setscore to protocol specs 5269 5270 52712012-03-16 14:47:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5272Fix clock stop after dragging 5273 5274DelayedDrag always cancelled the previous drag timeout event, even when 5275this was no longer pending because it had already taken place, and the 5276event ID was resused by some other timeout (usually a clock tick). 5277 52782012-03-14 21:06:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5279Implement exclude moves 5280 5281Dragging a piece by double-clicking it on the from-square in analysis mode 5282will not perform the entered move, but send an exclude or include command 5283to the engine for that move (provided the engine enabled this with 5284feature exclude=1), depending on if the move was already excluded or not. 5285To this end a map of excluded moves is kept, and cleared when we move to 5286another position through moving, undo, setboard or new. The user can see 5287whether he included or excluded the move, as exclude uses premove highlights. 5288 Commands "exclude|include all" are sent when we throw a double-clicked 5289piece off board (vertically or horizontally, respectively), but after 5290exclude all the most recent PV move is included again. 5291 Remaining problem is that promotions can only be excluded. 5292 52932012-03-14 15:13:18 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5294Mark new text "Click clock to clear board" for translation 5295 5296 52972012-03-13 21:46:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5298More thorough switch to -ncp on engine failure 5299 5300The ProcRef and InputSource are now also cleared, and just to be sure there 5301are no surviving adapters, the child is killed when engine startup fails. 5302 53032012-03-13 21:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5304Install engines as ./exefile in XBoard 5305 5306When a path name is split into directory and filename, the latter in Linux 5307must be preceded by ./ in order to make it executable in the directory 5308XBoard starts it in. 5309 53102012-03-13 14:11:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5311Inform user in EditPosition mode how to clear board 5312 5313With -pieceMenu false the board is cleared by clicking the clock, but 5314since this is impossible to guess, it is now printed in the message field. 5315 53162012-03-13 14:06:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5317Fix fall-back on -ncp mode 5318 5319When the requested engine could not be started, the user still had to 5320wait for the feature timeout to expire before the UI was re-enabled, 5321and the now-useless loading action would continue. In stead we now 5322cancel any scheduled continuation, thaw the UI immediately, and switch 5323the menus and gameMode to ncp straight away. 5324 53252012-03-10 18:55:24 -0800 Arun Persaud <arun@nubati.net>: 5326updated po/pot files 5327 5328 53292012-03-10 18:54:32 -0800 Arun Persaud <arun@nubati.net>: 5330new version number for developer release 5331 5332 53332012-03-06 16:37:02 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5334Fix typo (seach) in string. It is already fixed in branch v4.6.x 5335 5336 53372012-03-04 14:52:34 -0800 Arun Persaud <arun@nubati.net>: 5338added some documentation about what's need to be done for a release and a bash-release script 5339 5340 53412012-02-28 21:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5342Fix suspected bug in Makefile 5343 5344 5345 5346 53472012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>: 5348add information about our webpage and were to report bugs into the help menu 5349 5350 53512012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>: 5352fixed "make install-pdf": missing target for recursive make in po directory 5353 5354 53552012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5356Suppress recent-engines menu items in ICS mode 5357 5358 53592012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5360Fix 50-move counter in ICS mode 5361 5362Marking irreversible moves in the EP_STATUS did not work in ICS mode, 5363as ApplyMove,which did that is never executed there. Only the boards 5364sent by ICS are displayed,especially in observing mode. Now the status is 5365derived from the ICS mov strings (x in the SAN move, or P in the long move. 5366 53672012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5368Fix two 64-bit warnings 5369 5370Passing the engine number in a pointer variable to the callback needed 5371a two-step cast. 5372 53732012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5374Fix piece symbols on switch back to variant normal 5375 5376Variant switches were not properly detected, meaning the variable pieces 5377could keep a form belonging to a previous variant. (E.g. Queen remained 5378a Lance image after switching from shogi to normal.) 5379 53802012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5381Keep XBoard windows attached on resize 5382 5383Windows attached to bottom or right are displaced with the size increase. 5384Their perpendicular dimension is also scaled, to keep their edges at the same 5385fraction of the main window, unless they stick out. In the latter case the 5386fraction is clipped to 1, so that edge moves with the full size increase. 5387 53882012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5389Implement -stickyWindows in XBoard 5390 5391This makes the auxiliary windows move with the main window when they were 5392touching, as in WinBoard. A control is added in the General Options dialog. 5393 53942012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5395Use more reliable X-call for getting window position 5396 5397XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems 5398to give more reliable results, and automatically accounts for the width 5399of window dressing. The -frameX/Y options are no longer needed bcause 5400of this, and were removed. 5401 54022012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5403Make frame width configurable in XB 5404 5405New persistent options -frameX, -frameY now can be used to specify 5406the amount by which Xt lies about the window coordinates. 5407 54082012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5409Use combobox line for recent engines when available 5410 5411The entry made in the -recentEngineList for the startup engine was 5412derived from the -fcp value, but this would ignore a possible nickname. 5413In WinBoard we now use the full combobox line to derive the entry. 5414 54152012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5416Fix translation of EngineOutputTitle WB 5417 5418 54192012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5420Updated Danish translation 5421 5422 54232012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5424One missed translation of cps->which 5425 5426 54272012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5428Undo translation of cps->which = first/second 5429 5430The string in cps->which should not be translated, because it goes into 5431the debug file to label engine I/O, and many tools for processing 5432debug files (broadcasters, PGN extractors) rely on this being "first" or 5433"second". In all contexts where "first" and "second" need to be translated, 5434cps->which itself is already enclosed in _(). 5435 54362012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5437Implement -serverFile option 5438 5439This writs an extra debug file with only engine communiation on it, 5440for the benifit of programs like TLCS. 5441 54422012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5443Implement -autoCopyPV 5444 5445This option causes automatic copying of the last position of a PV walk 5446to the clipboard. 5447 54482012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5449Delete some load-game debug printing 5450 5451The debug printing in Disambiguate was no longer needed. The printing 5452of the started process in XBoard that went to stderr is now diverted 5453to debugFP, so it ends up in the debug file. 5454 54552012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5456Move change of debug file to before game load 5457 5458Loading a game from -lgf is done before TwoMachinesEvent is called, 5459but logically belongs to the game. So the code to switch to the new 5460debug file for the game is moved to NextMatchGame now. 5461 54622012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5463Fix button grab for sweep selection 5464 5465The piece-menu initialization limited the grab of button events to those 5466occurring inside the board window (presumably intended to limit them to 5467the piece menu, but that does not pop up in sweep-selection mode). 5468This is now suppressed when -pieceMenu is off, so that selection continues 5469outside the the board. (Which is very convenient for pieces pu close to the 5470edge.) 5471 54722012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5473Don't leave piece selected after piece menu 5474 5475PieceMenuEvent left the just introduced piece selected, which is almost 5476never what one wants, as it makes it jump to the next square when selects. 5477Which is especially annoying if it captures the piece you wanted to grab... 5478 54792012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5480Fix use of middle button for position setup 5481 5482With sweep selection the actual drop is made on releasing the button, 5483and this event was not caught for button 2. Button-2 motion events were 5484also not caught by the sweep-selection handler. 5485 54862012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5487Fix one more typo in the translator comments explaning "first" and "second" 5488 5489 54902012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5491Fix typo in translator comments explaning "first" and "second" 5492 5493 54942012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5495Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string 5496 5497Having msg as a format string will ease translations because then 5498badArg doesn't have to come last. 5499 55002012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5501Mark the strings "first" and "sencond" for translation. 5502 5503... and assign the translated strings to cps->which in function InitEngine() 5504 55052012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 5506Use ngettext() instead of gettext() for a string to allow better translation. 5507 5508 55092012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>: 5510translation: updated uk.po 5511 5512 55132012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>: 5514modified configure and makefile for handling mimedb update 5515 5516the default configure will install them using the xdg commands (if they exist on the system) 5517 55182012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>: 5519add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms 5520 5521in case the target system doesn't have the xdg-programs available, we test for them. 5522Distributions often have their own macros to install these, so we add an enable option to configure 5523 55242012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5525Remove a debug printf 5526 5527The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN, 5528so it was deleted. 5529 55302012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>: 5531new developer release 5532 5533 55342012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>: 5535updated po/pot files 5536 5537 55382012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>: 5539updated Changelog, NEWS, etc. 5540 5541 55422012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>: 5543translation: updated uk.po 5544 5545 55462012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5547Leave height of row that only contains buttons free 5548 5549All elements of the GenericPopUp are still scaled to the text height, 5550including buttons appended behind them (browse or color buttons). 5551But we now make an exception for a row that only contains buttons, 5552as there is no harm in it being a little higher (and the buttons look 5553prettier that way). 5554 55552012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5556Fix OK button of error popup 5557 5558The error dialog popped up as a child of the board window, even when 5559DisplayError was called from a dialog. Now it checks if a transient 5560dialog is up, and if so, it pops up as a child of that, grabs focus, 5561and suppresses the system popdown of the transient dialog through a flag 5562dialogError until it is popped down itself. 5563 55642012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5565Update texi file 5566 5567 55682012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>: 5569added some comments for translators 5570 5571 55722012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>: 5573fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file 5574 5575 55762012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5577Also configure sweep selection 5578 5579To make sure this feature is tested, we set -pieceMenu false in the 5580master settings file. 5581 55822012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5583Fix date in copyright notice about-box 5584 5585 55862012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5587Fix switching animation masks on variant switch 5588 5589The masks for variant-dependent piees (E,H in Seirawan, promoted Golds 5590in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes 5591because of the patch to reduce X-server calls. 5592 55932012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5594Configure wider game list 5595 5596The game list was by default too small, so that there was no room for the 5597filter field. Now a width of 500 is specified, whcih works at -size 49 5598as well as 72. 5599 56002012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5601Fix button chaining and combo/textbox label height 5602 5603Previous patches forgot to specify the height for the text labels on 5604-combo and -text options, so they were still too high. Buttons that go 5605on the same line as the previous element should be chained right, not rubber. 5606 56072012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5608Make -pgnNumberTag option setable from menu 5609 5610The Save Options dialog now containes a checkbox for this. 5611 56122012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5613Configure some new features switched on 5614 5615The master settings file switches -showTargetSquares, -sweepPromotions 5616and -seekGraph on, so that they will get more testing. 5617 56182012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5619Fix heigth of multi-line labels 5620 5621The previous height patch overlooked that some labels are multi-line, 5622and need more height. 5623 56242012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5625Fix popdown seekgraph on forward-event XB 5626 5627Only the grid was drawn when the > or >> button were operated, because 5628a full redraw was not forced by ForwardInner. The recent patch to take 5629the seek graph down on such events did not account for that. (BackwardInner 5630always seems to do full redraw, however?) 5631 56322012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5633Put front-end support for -recentEngines in XBoard 5634 5635The engines are added to the menu. Problem is still that in XBoard 5636startup engines are given by command, rather than selected by combobox, 5637so the command rather than the nickname ends up in the menu. If this is 5638then selected, it cannot be found in the list. To limit the damage, 5639Fairy-Max is now pre-installed without nickname. -recentEngines is now 5640configured to 4. 5641 56422012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5643Better solution to button-height problem 5644 5645In stead of adapting the height of text widgets to that of buttons, 5646(as represented by the message widget), we now do the opposite, and 5647adapt the button & label heights. This is made safe by obtaining textHeight 5648from the fontSet's max_logical_extent, though an XExtendsFontSet() call. 5649Turns out the default height of text widgets is not exactly that, but 56504 pixels larger for borders and margin. 5651 The parameter XtNvertDistance is now used to align the checkboxes with 5652the following text widget, and their size is derived from textHeight as 5653well. 5654 The XtNvertDistance is set to -1 for the lower spin button, so that it 5655its border coincides with that of the upper spin button. Their height is 5656set to textHeight/2. This makes their combined height just 1 pixel more 5657than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for 5658other buttons we use that too (i.e. textHeight = font_extent + 5). 5659 56602012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5661Fix warning 5662 5663Deleting debug printing had made a variable unused. 5664 56652012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5666Fix sleeping bug 5667 5668The text-edit-height patch introduced a bug that did not have any consquences 5669(yet), as the extra arg erroneously included leftover from a previous 5670SetValues call happened to be the same as one of the intended args. 5671 56722012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5673Fix unloading of first engine on tourney start 5674 5675Because NextTourneyGame was loading a new engine before ReserveGame was 5676called to unload it with dummy game nr = -1), the first engine proc kept 5677hanging. 5678 56792012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5680Remove some of the most verbose debug output 5681 5682 56832012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5684Delete some unused WinBoard bitmaps 5685 5686There waere up-side-down knight icons that apparently hid by mistake 5687in the bitmaps directory: they were not part of WinBoard 5688 56892012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5690Cosmetic: change 4.5 to 4.6 in xboard.conf comment 5691 5692 56932012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5694Fix crash on empty combobox menu XB 5695 5696XBoard crashed when a combobox without items was opened, as could easily 5697happen in the Load Engine dialogs when -firstChessProgramNames contained 5698no items, as it would without configuring. Now the creation of the popup 5699menu is suppressed in that case. 5700 57012012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5702Fix position of checkbox XB 5703 5704With the large height the widget get in internationalization, the 5705checkboxes are position way too high above the text. To shift them down 5706a dummy borderless label widget is drawn above them (when needed). 5707 57082012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5709Fix heights in Engine Output window XB 5710 5711The icons did not fit in the space above the memos anymore, so the height 5712of this area is now left free. 5713 57142012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5715Derive height of text-edits in dialogs from message widget 5716 5717With internationalization the default height of buttons has inexpliquably 5718inreased compared to that of text-edits, messing up the layout of the 5719GenericPopUp. The message widget is now used as a emasure of how high 5720the widgets should be. 5721 57222012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5723Configure XBoard engines and textures 5724 5725The new -useBoardTexture option is needed in xboard.conf, as we want to 5726distribute with the texture on, while the compiled-in default is off. 5727A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess), 5728as the Load Engine and Match Options checkboxes crash XBoard when the list 5729is empty. The -recentEngines option is set to 0 to make sure the code 5730associated with it is never executed: the code is still experimental, 5731and the required front-end support is only present in WinBoard anyway. 5732 57332012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5734Update Dutch WinBoard translation 5735 5736 57372012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5738Create room in some WB dialogs for translations 5739 5740 57412012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5742Add 5 missing strings to WinBoard translation template 5743 5744 57452012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>: 5746new developer release 5747 5748 57492012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>: 5750updated po-filies 5751 5752 57532012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>: 5754updated Changelog, NEWS, etc. 5755 57562012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5757Fix non-bug in WinBoard 5758 5759The IDM_RecentEngines was not used in symbolic form everywhere. 5760 57612012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5762Fix MAXENGINES in WinBoard 5763 5764The front-end arrays for expanding the engine list measured 1000 entries, 5765in stead of MAXENGINES, leading them to overflow. 5766 57672012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5768Implement kludge to set options through Move Type-in 5769 5770A leading "!!! " will cause the rest of the line to be parsed as 5771command line. Very dangerous, as an unknown option (e.g. because of a typo) 5772will cause a fatal error, which makes XBoard exit. 5773 57742012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5775Put move number in Eval Graph title 5776 5777 57782012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5779Implement -pgnNumberTag option 5780 5781A new (persistent) boolean option controls if the sequence number is to 5782be written in saved tourney games as a Number tag, to make it easier 5783to correlate games with debug files. 5784 57852012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5786Create separate debug fil for each tourney game 5787 5788Users can now apecify a -debugfile with %d in its name, and this will 5789be replaced by the sequence number of the game. TwoMachinesEvent then 5790starts by opening a new file when the name has changed, so that each 5791game will go to a different file, with recognizable name. 5792 57932012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5794Fix bug in WB combobox readout 5795 5796The previous patch exposed a latent bug in the readout of the generic popup. 5797 57982012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5799Allow grouping of engines in engine list 5800 5801Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames. 5802 58032012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5804Fix TidyProgramName 5805 5806A trailing .exe was not removed if the engine name was quoted. 5807 58082012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5809Put recently used engines in WB menu 5810 5811A new option -recentEngines specifies how many engines should be listed. 5812The list of nicknames is stored in the ettings file as -recentEngineList. 5813The engines are appended to the Engine menu. 5814 58152012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5816Fix registering of EditTagsProg 5817 5818This was registered with X as EditCommentProc! 5819 58202012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5821Increase max nr of engines to 2000 5822 5823Move the #define for MAXENGINES also to common.h, so that both the 5824Load and Tourney dialog use the same maximum. 5825 58262012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5827Fix fix of switch to mono-mode 5828 5829The previous fix had == in stead of != for testing if mono-mode had changed. 5830 58312012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5832Make New Variant dialog visible in mono-mode 5833 5834All colored buttons did get a black background, and also black text... 5835Use timer background color in stead, which is white. 5836 58372012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5838Incease size of WB array of translated items 5839 5840For the BoardOptions dialog 42 items are now needed 5841 58422012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5843Implement Clone Tourney button XBoard 5844 5845This makes use of the new GenericUpdate(). 5846 58472012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5848Implement GenericUpdate function 5849 5850This does the opposite from GenericReadout: it copies the current 5851parameter values into the dialog. 5852 58532012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5854Fix arrow damage with highlightDragging XB 5855 5856With highlight dragging the highlights of the previous moves are cleared 5857when lifting the piece. Logically, this should also clear the arrow, but 5858to do that requires a board redraw, which is not done at this stage. (And 5859even then this would only be effective after marking the arrow damage, 5860which is not done yet either). As a temporary fix, we repair the arrow 5861by redrawing it. 5862 This patch has moved marking of the arrow damage from DrawArrowHighlight 5863to a separate routine, so a future better fix can also call that when the 5864arrow should be erased. 5865 58662012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5867Prevent unnecessary loading of engines 5868 5869For engines that can be reused, the unloading at the end of a pairing 5870is in some cases wasteful, as the same engine will be used in the next 5871pairing as well. In simple gauntlets the gauntlet engine will always 5872stay first engine, while in multi-gauntlets the oppent engine will stay 5873the same for an entire round. In these cases unloading is now suppressed. 5874 58752012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5876Reset protocol version before loading new engine 5877 5878The protocol version was not reset, so if the previous engine was v1, 5879the newly loaded engine would not be sent a protover command, so 5880that its features would remain unknown! 5881 58822012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5883Give focus to board window after ICS login 5884 5885toprevent that the focus remains on any popped up chat boxes, it is 5886explicitlly set otherwise. The board window is preferred over the 5887ICS interaction window, because you can type from there to the ICS anyway, 5888and it makes all accelerator keys available. 5889 58902012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5891Fix seek-graph popup and popdown 5892 5893Clicking outside the board area in WB (e.g.on the clocks) would also 5894trigger seek-graph 'popup'. This is now suppressed by testing for 5895y-coord > 0. In addition, the seek graph is automaticaly taken down 5896when we step to another position in the current game (using buttons, 5897arrow keys or whatever). 5898 58992012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5900Suppress empty lines when observing on VICS 5901 5902Capture of the engine kibitzes when observing an engine game with 5903-autoKibitz on was still leaking a linefeed on the Variant ICS 5904(but not FICS or ICC!?). 5905 59062012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5907Fix printing non-numeric kibitz with -autoKibitz 5908 5909Messages that were not considered kibitzed engine PV info for lack of 5910numeric content, were kibitzed as coming from "your opponent", which 5911is nonsense if you were iobserving, and masked the source. Fortunately 5912star_match[0] is still holding the original name, at that point. 5913 59142012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5915Fix 4 warnings 5916 5917 59182012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5919Use same translation of "vs." everywhere 5920 5921 59222012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5923Add new translations to WB language file 5924 5925 59262012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5927Fix re-allocation of PGN-cache memory 5928 5929It allocated 8 times too much! 5930 59312012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5932Fix height board dialog 5933 5934 59352012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5936Enable WB time-control dialog even when no clock mode 5937 5938The dialog could be called from the tournament dialog to set a TCfor 5939the tourney even when currently in game-viewer mode, so it'd better work. 5940 59412012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5942Exempt variant seirawan from -disguisePromoted inheritance 5943 5944This is not a variant where promoted Pawns have to be distingushed 5945from primordial pieces, as captured pieces do not go into the holdings. 5946 59472012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5948Add control for overrideLineGap in WB Board dialog 5949 5950Make it a checkbox to choose between 0 and -1. 5951 59522012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5953Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard 5954 5955The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7. 5956 59572012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5958Fix seek graph for VICS 5959 5960The sought command on the open-source ICS code is ICC-like (no terminating 5961line), although the server is FICS like. So also accept prompt as seek-graph 5962trigger on FICS. 5963 59642012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5965Open WB startup chat boxes only after logged on 5966 5967The init code for opening the chat boxes ismoved to DisplayIcsTitle(). 5968 59692012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5970Install mime types directly 5971 5972 59732012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5974Install desktop files directly 5975 5976 59772012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5978Install icons directly 5979 5980Rather than letting make-install copy the pixmaps to the XBoard data 5981directory they are installed directly from the source files. The name 5982of the TRN icon was also corrected and changed. 5983 59842012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5985Update texi file and remove duplicate control 5986 5987Some missing option descriptions were added. The highlight-dragging 5988control was removed from the General Options dialog, as it did the same 5989as Show Target Squares. -highlightDragging wa changed to a volatile option 5990with default value true, making it effectively disappear as an XBoard 5991option. (In WinBoard it is still persistent.) 5992 59932012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 5994Remove the direct commands to the engines 5995 5996 59972012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>: 5998forgot to list new desktop files in EXTRA_DIST section in Makefile.am 5999 6000 60012012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>: 6002added some autogenerated po files to .gitignore 6003 6004 60052012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>: 6006added desktop and mime-type association to autoconf install process 6007 6008This should install and uninstall the mime assocciation and also the icons. 6009Also renamed the desktop files to avoid possible name collisions. 6010 60112012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>: 6012code cleanup: make function definition confirm to GNU coding style 6013 6014change everything in the main directory to 6015 6016void 6017funcname (int a, int b) 6018 6019format 6020 60212012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>: 6022Updated copyright notice to 2012 6023 6024 60252012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6026Implement -viewerOptions 6027 6028A mechanism is added to allow the user to configure persistently if the 6029game viewer that starts on clicking PGN files will use -ncp mode, or 6030load an egine for analysis (or, in fact, do anything). This by introducing 6031a persistent string option -viewerOptions, which will be parsed as a 6032command line after the real command line when the option -viewer was present. 6033 60342012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6035Fix crash in auto-comment 6036 6037Trailing linefeeds in AppendComment were not properly stripped off, 6038leading to a mismatch between the allocted and used memory, and thus 6039possible buffer overruns. 6040 60412012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6042Fix crash at match end 6043 6044The -afterTourney option had broken old-style matches, because the ranking 6045string that was tested for "busy" is not set there at all, and remains a 6046NULL pointer, which strcmp doesn't like. 6047 60482012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6049Add desktop files for PGN viewer and tournament player 6050 6051The desktop files define startup commands for handling PGN, FEN and 6052tourney files, calling xboard with the proper command-line options. 6053 60542012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6055Add xml file for defining mime types 6056 6057The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen 6058and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files, 6059so these files can be associated with XBoard in various modes. 6060 60612012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6062Add icons for PGN and tourney files 6063 6064Icons are provided in two sizes: 32x32 and 48x48. 6065 60662011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6067Clear square markers on new game 6068 6069Now that the markers can stay on after a first click, they need to be 6070explicitly cleared when moving to another board, including a new game. 6071 60722011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6073Abandon single-letter menus in tinyLayout 6074 6075Now that the items on the main menu bar are clipped, it iso longer 6076necessary to abbreviate them. 6077 60782011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6079Implement peeking previous position in WinBoard 6080 6081The backspace key is used to temporarily display the previous position. 6082 60832011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6084Fix parsing of faulty PGN tags 6085 6086A closing bracket could be missed in a malformed tag 6087 60882011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6089Fix parser for variant seirawan 6090 6091The new parser didnot understand gating suffixes with /, and did not 6092allow any suffix at all on SAN castling moves. 6093 60942011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6095Try to not confuse ICS rating adustments as shouts 6096 6097An explicit pattern match for the rating adjustment is added before 6098matching the shouts. 6099 61002011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6101Describe -overrideLineGap option in texi file 6102 6103 61042011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6105Use <Enter> in stead of Ctrl+. for peeking last move 6106 6107I commented out the explicit detection of the Ctrl key, as this 6108is not needed when there are no 'unnatural' Ctrl keystrokes used 6109for binding. 6110 61112011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6112Next try for menu-bar sizing 6113 6114This time request the width needed to just fit everything, and then start 6115shaving off pixels from the currently largest until the entire thing fits. 6116 61172011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6118Clip texts on menu bar 6119 6120The width of the items on the main menu bar is restricted so the bar 6121will never exceed board width. 6122 61232011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6124Fix format in temporary timing printf 6125 6126 61272011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6128Don't test drops as mate evasions in variant seirawan 6129 6130 61312011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6132Fix ICS castling rights 6133 6134Copying the castling rights together with CopyBoard seems to have 6135broken handling of ICS rights, where ParseBoard12 prepares a board 6136in a local variable, an copies it before parsing the rights. 6137 61382011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6139Fix initial holdings ICS seirawan games 6140 6141 61422011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6143Fix sending of S-Chess gating moves to ICS 6144 6145Normal moves did not get the gating suffix sent. 6146 61472011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6148Fix menu grayout after illegal move 6149 6150TheThinkingEnables were not reset to user state after the engine rejected 6151the entered move as illegal. 6152 61532011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6154Allow setting of holdings with edit command 6155 6156For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command 6157no also sends holdings contents (if the engine sent feature xedit=1), encoded 6158as pieceType + '@' + holdingsCount (if the count is non-zero). 6159 61602011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6161Fix out-of-bounds access in check test 6162 6163Thepath to make the check test work with drops had broken the test 6164after null move (both have rf<0), which led to corruption of the high 6165word of the black clock. 6166 61672011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6168Fix legality of Spartan promotion to king 6169 6170In the check test promotion to King is only allowed if there are not 6171yet 2 kings. 6172 61732011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6174Fix switching back from mono-mode XB 6175 6176Suppressing unnecesary X-server calls in InitDrawingSizes had broken 6177switching back from monoMode, because the animVars have to be recreated 6178for that, and this was only done when the variant changed. 6179 61802011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6181Fix showTargetSquares in mono-mode XB 6182 6183Make the marker dots black (captures) and white, and draw a circle 6184in the opposite color around them in monoMode. 6185 61862011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6187Fix arrow highlighting in mono-mode XB 6188 6189Draw a line around it in darkSquare color in monoMode. 6190 61912011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6192Fix alignment of generic browse button XBoard 6193 6194The width ofthe browse button is now read back after creating it, 6195and subtracted from the preceding text edit. 6196 61972011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6198Add -afterTourney option 6199 6200Only the instance pinting the tourney result will execute this. 6201 62022011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6203Fix buffer possible overflow when writings tags 6204 6205PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it. 6206It starts by calculation the required buffer size and then allocate the buffer. 6207PrintPGNTags() now prints directly to the file without having a buffer. 6208 62092011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6210One more string marked for translation 6211 6212And it is moved inside the if statement that uses it. 6213 62142011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6215Fix checking of return value from snprintf() 6216 6217snprintf() returns the needed space excluding the trailing 0 byte, so 6218it has truncated if the returned valued is greater than or EQUAL TO the buffersize 6219 62202011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6221Fix unportable memory initialisation 6222 6223Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL 6224 62252011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6226Add 2 strings for translation 6227 6228 62292011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6230Remove the last 2 compile warnings in gamelist.h 6231 6232 62332011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6234Add #include "moves.h" to gamelist.c for def. of CopyBoard() 6235 6236 62372011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6238Definition of TimeMark moved from 3 c files to backend.h 6239 6240 62412011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6242Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980 6243 6244 62452011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6246Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails. 6247 6248 62492011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6250Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined. 6251 6252 62532011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6254Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined. 6255 6256 62572011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6258Fix possible crash on 64-bit systems when copying game or position 6259 6260The two convertproc's for X selections caused reads out of bounds on 64-bit systems. 6261I hope that this is the right solution. I am not experienced with X stuff, but it 6262follows that I have seen in other programs, testing shows that copying still works, 6263and the reading out of bounds have disappearinged with this patch. 6264 62652011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6266Fix a possible crash in the file browser 6267 6268If the OK button was selected in the file browser when no file was selected 6269there was a read out of bounds which could crash xboard 6270 62712011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6272Fix a memory leak in Sound Options 6273 6274 62752011-12-16 02:57:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6276Fix crash when selecting user soundfile due to free() of not malloc()'ed memory 6277 6278 62792011-12-16 02:32:37 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6280Make GenericPopUp() more readable by using more named flags instead of numerals 6281 6282Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks. 6283There should no functional change. 6284Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both 6285branches do the same (that is nothing) when the value is uninitialised. 6286 62872011-12-15 02:51:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>: 6288Add NO_GETTEXT flag for combobox. Fix bug #34991 6289 6290Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK 6291flag to call comboCallback() when an item is selected in a combobox (no new code for this, 6292just a symbolic value instead of a number). The flags are used for the min field of struct Option. 6293NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows. 6294 62952011-12-13 19:48:37 -0800 Arun Persaud <arun@nubati.net>: 6296only translate entries in CreateComboPopup if strlen>0; fixes #34991 6297 6298 62992011-12-12 19:06:26 -0800 Byrial Jensen <byrial@vip.cybercity.dk>: 6300fix for repeating key issue, with this allissues this bug should be closed; fixes #35000 6301 6302 63032011-12-12 18:45:05 -0800 Arun Persaud <arun@nubati.net>: 6304also don't translate selection in ComboSelect; fixes #34991 6305 6306 63072011-12-12 18:40:23 -0800 Arun Persaud <arun@nubati.net>: 6308make entries in CreateComboPopup not translateable; fixes #34991 6309 6310 63112011-12-10 16:06:47 -0800 Arun Persaud <arun@nubati.net>: 6312fix translation for engine list; fixes #34991 6313 6314* click on browse button should be recognized in translated versions 6315* width of button should auto-scale 6316 63172011-12-10 11:04:17 -0800 Arun Persaud <arun@nubati.net>: 6318change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000 6319 6320two keybindings were using keys without modifiers, adjusted these to use the ctrl key. 6321Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs. 6322 6323Also added documentation for these keybindings. 6324 63252011-12-10 10:51:18 -0800 Arun Persaud <arun@nubati.net>: 6326replaced unicode character for "'" in xboard.texi 6327 6328 63292011-12-10 10:08:48 -0800 Arun Persaud <arun@nubati.net>: 6330removed Iconify function. Should be handled by the window manager. 6331 6332 63332011-12-08 20:53:13 -0800 Arun Persaud <arun@nubati.net>: 6334marked an error messages for translation 6335 6336 63372011-12-08 20:33:29 -0800 Arun Persaud <arun@nubati.net>: 6338translation: updated uk.po 6339 6340 63412011-12-03 17:52:23 -0800 Arun Persaud <arun@nubati.net>: 6342fixed size of XBoard icon to 48x48 6343 6344the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation. 6345 63462011-12-03 08:07:32 -0800 Arun Persaud <arun@nubati.net>: 6347updated pot file 6348 6349marked a lot of new strings for translation 6350 63512011-12-03 08:06:42 -0800 Arun Persaud <arun@nubati.net>: 6352added new files to po/POTFILES.in 6353 6354 63552011-12-02 22:13:36 -0800 Arun Persaud <arun@nubati.net>: 6356marked more strings for translation 6357 6358 63592011-12-02 20:08:01 -0800 Arun Persaud <arun@nubati.net>: 6360translation: added danish translation 6361 6362 63632011-12-01 18:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6364Change encoding of seirawan ICS gating-castlings 6365 6366In stead of using upper/lower-case promoChar, the ICS now uses 6367RxK notation, like WinBoard writes in SAN, for better consistency. 6368 63692011-11-30 15:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6370Put promo-suffix on ICS move in variant seirawan castlings 6371 6372The distinction upper-case / lowercase determines gating at R / K 6373 63742011-11-28 11:56:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6375Refrain from making unnecessary resize X request 6376 6377The window resizing code in InitDrawingSizes is suppressed when no 6378change is needed. Similarly, changing piece bitmaps is suppressed when 6379we stay in the same variant (and InitDrawingSizes is called e.g. because 6380of chaging lineGap through the Board dialog). 6381 63822011-11-27 22:27:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6383Fix parsing of O-O castling in variant janus 6384 6385The new parser did not realize it meant e1i1 rather than wild e1h1. 6386 63872011-11-26 22:28:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6388Show 50-move counter also when observing ICS games 6389 6390To not cheat 50-move display was suppressed in ICS mode, 6391but for observing a game this made no sense. 6392 63932011-11-26 22:22:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6394Ignore ICS game starts when already in game 6395 6396The advance switching of the variant on game-start messages was 6397disruptive for users with gin=1, which also sends such messages 6398for other games than your own. For now fixed by only reacting on 6399them when idle (detected by invalid game number). 6400 64012011-11-11 18:16:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6402Fix WinBoard clock-click bug 6403 6404Clicking on the clock in WinBoard also called the LeftClick routine 6405for handling clicks on the board. This led to the from-square being set 6406to some inalid value, so that the next genuine board click was interpreted 6407as a to-click, with undesired effects, especially with legality testing off 6408or in EditPosition mode, where weird things are accepted. 6409 64102011-11-06 17:20:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6411Add feature-override options 6412 6413A few (dangerous) options are added to allow a user to override 6414engine features, or change their defaults, by supplying a string 6415with feature commands (e.g. "sigint=0") which tricks XBoard into 6416thinking the engine sent that. There is a -featureDefaults which is 6417processed before the engine features, and -first/secondFeatures 6418which is parsed just before engine initialization. 6419 This goes horribly wrong when the user wouldtry silly things like 6420including 'option' or 'done' features! 6421 64222011-11-05 12:32:39 -0700 Arun Persaud <arun@nubati.net>: 6423translation: updated uk.po 6424 6425 64262011-11-04 21:58:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6427Fix handling of -secondOptions option 6428 6429The -firstOptions and -secondOptions settigs were not swapped when 6430-singleEngieList was true, so the second engine's options would never 6431be set in that case, but used for the first engine. 6432 64332011-11-04 21:55:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6434Accept setup command in variant fairy even with legality testing on 6435 6436Variant fairy does not really have a defined opening position, but lots 6437of pieces defined, so we might want to play with legality checking on, 6438but still rely on the engine for the opening position 6439 64402011-11-04 21:52:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6441Set pieceToCharTable by setup command even when ignoring FEN 6442 6443When the user starts from a set-up position, the egines default 6444openingposition has to be ignored, but the pieceToCharTable would 6445still be relevant. 6446 64472011-11-04 21:48:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6448Change default sweep-promotion choicein queenless variants 6449 6450The initial scanning of the sweep piece until a defined piece is found 6451is now in the increasing direction (still starting at Queen), so that 6452the fairy pieces are suggested before R, B and N. 6453 64542011-11-03 16:38:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 6455Clear board markers when moving to other position 6456 6457Now the markers from -showTargetSquares would stay on after a first click 6458for the benefit of a click-click move, they would also stay on when not 6459finishing the move, but operating the < > buttons in stead to call up 6460other positions. ForwardInner and BackwardInner now clear the markers, 6461like they also cleared highlights. 6462 64632011-11-01 18:30:22 -0700 Arun Persaud <arun@nubati.net>: 6464updated Changelog, NEWS, etc. 6465 64662011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6467Fix two warnings 6468 64692011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6470Don't adjust clock on right-click in EditGame mode WB 6471 6472This was a change that was already done for the left-clicks, but somehow 6473never made it togit for the right-clicks 6474 64752011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6476Change chase message in .lng files 6477 64782011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6479Let perpetual-chase message mention square 6480 6481In stead of a boolean, PerpetualChase now returns the square the chased 6482piece ends on (encoded as an int), and on adjudication it will be printed. 6483 64842011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6485Add mechanism to translate variable messages in WinBoard 6486 6487A message prefixed with % in the lng file will be considered a match 6488if it matches the start of the text to be printed, and the remaining 6489part of the latter will remain untranslated. This was needed to allow 6490translation of the perpetual change message, now it indicates the square 6491of the chased piece. 6492 64932011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6494Use other interpretation of Asia rules for chase detection 6495 6496The detection of perpetual chases now ignores pre-existing checks. 6497 64982011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6499Fix crash on loading garbage game file 6500 6501The code to cache games was not resistant to moves before a valid 6502game start, or a game filewithout any games at all. 6503 65042011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6505Incorporate variant type in book hash key 6506 6507This prevents booksforone variant being used for another, and allows 6508multi-variant books. 6509 65102011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6511Update language.txt file 6512 6513 65142011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6515Update Dutch lng file 6516 6517 65182011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6519Fix Load Options dialog WB 6520 6521Defined fastkeys; reordered elements so that fastkeys focus edit they 6522are intended for. Changed some of the more obscure texts. Corrected 6523list of transatble dialog items, adding a few missing ones. 6524 65252011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6526Fix some warnings 6527 6528Prototypes were added, ormoved from backend.c to backend.h. 6529 65302011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6531Put 'Load Next' button back in WB Game List 6532 6533The '>' button for loading the next (filtered) game is re-instated in the 6534WinBoard GameList. The main window has now accelerator keys Ctrl+Up and 6535Ctrl+Down for loading the previous and next filtered game. 6536 65372011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6538Speed up position search and consider side to move 6539 6540The position search is made to pay attention to the side to move, 6541which produces a speedup, because we only have to compare half the 6542game positions when looking for an exact position match. An addition 6543we now keep track of the total number of pieces, and abandon a game when 6544it drops below the number of pieces in the position we seek. 6545 65462011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6547Dynamically allocate move cache 6548 6549A small statically declared cache good for 250k moves (~3200 games) 6550will be expanded in steps of a factor 8 when it overflows. 6551 65522011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6553Translate search strings 6554 6555 65562011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6557Implement flipped search 6558 6559 65602011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6561Debug position search cache 6562 6563 65642011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6565profile 6566 6567 65682011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6569Translate search-mode strings 6570 6571 65722011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6573Quickscan 6574 6575 65762011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6577Fix duplicate loading of second engine in tourneys 6578 6579To decide if new engines should be loaded, it was tested if first.pr 6580equalled NoProc, assuming that ReserveGame would have left the engine 6581loaded if the next game would need the same engines. But a reuse=0 engine 6582could have caused termination of the first engine process anyway, while 6583the second would still be alive. So unconditionally starting of the second 6584engine would cause redundant engine processes to abound. 6585 Now we only start new engine processes if both engine processes are dead. 6586 65872011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6588Fix PV walking with -fSAN 6589 6590The SAN options had broken the PV walking, because the shelving of the 6591walked PV to create space for the conversion to SAN of an incoming PV 6592would not be properly undone, but would add the walked PV to the game. 6593 65942011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6595Refine clock adjusting 6596 6597Adjusting the clocks by shift-clicking them is now only allowed with 6598autoCallFlag off, and an error-popup results when you do it otherwise. 6599Also, swtching to Edit Game mode won't reset the clocks to the stored 6600value anymore when you have just adjusted it. 6601 66022011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6603Fix crash on adding items near book end 6604 6605When Edit Book would add so many entries near the end of an opening 6606book that the end of the added info would surpass the old end of the 6607file, the copying of the tail got stuck in an infinite loop, extending 6608the file without limit with repeating info. 6609 66102011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6611Print message on wrong use of Clone Tourney 6612 6613The user is urged to first provide the name of an existing tourney file 6614when he presses the button without one. The button is also renamed. 6615 66162011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6617Fix invalid combobox entry WB 6618 6619A combobox label that was not in the list (because the user typed 6620it, rather than selecting one) would cause a crash. 6621 66222011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6623Fix crash on loading garbage game file 6624 6625XBoard crashed when a game file contained a PGN game result before 6626any valid game start, because data would be written in a game-list 6627node that did not exist yet. This would occur frequently when garage 6628was read; basically any asterisk in the data would do it. 6629 66302011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6631Add control to set -discourageOwnBooks WB 6632 6633 66342011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>: 6635only require 0.17 of gettext 6636 6637This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones. 6638 66392011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6640Add option -discourageOwnBooks 6641 6642This boolean option determines the default setting of the hasOwnBook 6643option before a tourney game starts. By setting it, the hasOwnBook 6644option is cleared, which would enable use of the GUI book, like the 6645engine was installedwith the /firstXBook option. An explicit option 6646on the engine install line can still overrule this, though. 6647 A control to set this option has been added in the XBoard Match dialog, 6648and it is saved in the tourney file to force consistency. 6649 66502011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6651Reset initString and computerString on engine load 6652 6653These options are typically engine specific, and must thus be 6654reset to their default value before loading a new engine. 6655 66562011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6657Add Romanian lng file 6658 6659 66602011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6661Reactivate Falcon Chess 6662 6663Now the patent for this has expired, Fairy-Max plays it again. 6664So the XBoard support for it is now switched on, and an item for it is 6665added to the XBoard New Variant menu dialog. (WinBoard still had that.) 6666In the array the Lance was changed for the Falcon as a wild-card piece. 6667 66682011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6669Update texi file for new features 6670 6671 66722011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6673Update texi file for position search 6674 6675The new items in the Load Game Options dialog are described, as well 6676as the command-line options used to store them in the settings file. 6677 66782011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6679Remove paragraph about .Xresources from texi file 6680 6681Command-line options can no longer be set through .Xresources already 6682since version 4.5.0. 6683 66842011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6685Add Dutch WinBoard translation 6686 6687 66882011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6689Prevent Edit Book window from stealing focus (WB) 6690 6691In WinBoard updating the book window would give it focus. Now the 6692focus is given back to the main window, except when the Edit Book 6693window is first created. 6694 66952011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6696Make book-window update part of HistorySet 6697 6698 66992011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6700Fix position loading in tourneys 6701 6702In a tourney a position must be loaded when the engine is not yet 6703started, and the old version of LoadPosition could not handle that: 6704It would start up the engine, and send it commands unconditionally. 6705 67062011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6707Fix resetting -fSAN on engine change 6708 6709There were two places for loading another engine, Load (from menu) and 6710SetPlayer (in tourneys), and the previous patch for this missed the 6711second one. 6712 67132011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6714Make too-long game non-fatal 6715 6716GameEnds is now called when the maximum number of moves is exceeded, 6717rather than DisplayFatalError. Not sure if this properly terminates the 6718game in all situations, but DisplayFatalError (after calling GameEnds) 6719would also wait for the user to confirm the error popup before really 6720exiting, so that in an unattended automatically running tourney there 6721was not much fatal, and the entire tourney would in fact be finished. 6722 67232011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6724Keep book file open 6725 6726Rather than opening and closing the book file on every probe, it is 6727now only closed and opened when the name of it changed. 6728 67292011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6730Suppress playing of book moves with weight 0 6731 6732Bookmoves with weight 0 could be played when the sum of the weights 6733of all moves from the position was 0. So it was not possible to suppress 6734the only move by giving it weight 0. This is now corrected. 6735 67362011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>: 6737added NEWS for release of 4.5.3 6738 6739 67402011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>: 6741better contrast for XBoard icon on a dark background 6742 6743 67442011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>: 6745translationproject.org: updated Ukrainian translation 6746 6747 67482011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>: 6749updated pot file and send to translation project 6750 6751 67522011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>: 6753(tiny change) Clarify "-name" option is Xt-only 6754 6755There's a set of standard options with will get used by Xt, before Xboard 6756itself will use them. "-name" is an Xt-only option which will set the name 6757and resource of the window to the value requested. It has nothing to do 6758with setting opponent/player names. 6759 6760Signed-off-by: Thomas Adam <thomas@fvwm.org> 6761 6762modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL) 6763 67642011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6765Fix LoadGameOrPosition starting up engine 6766 6767When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that 6768is called in LoadPosition() when you are running from a position file 6769would prematurely start up the engine (without waiting for features). 6770The kludge to suppress this behavior for the explicit call to Reset() 6771is now extended to encompass LoadGameOrPosition. 6772 67732011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6774Clear fSAN option before new engine load 6775 6776This to prevent the new engine will inherit it from the previous one. 6777As the command-line options an only set it, this has to be done by 6778explicit assignment. 6779 67802011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6781Fix some warnings (prototypes) 6782 6783 67842011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6785Fix write failures in concurrency 6786 6787In WinBoard a flood of writes by differentprocesses to the same PGN can 6788cause a "permission denied" error in fopen. This patch causes retries after 6789a random (5-15 msec) wait, in such cases. 6790 67912011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6792Move HistorySet to back-end 6793 6794This existed in exact duplicates in both front-ends. 6795 67962011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6797Make DoSleep front-end wrapper for msec sleep 6798 6799DoSleep was #defined as a macro for Sleep/ sleep, with an argument 6800indicating msec in WinBoard, but seconds in XBoard. Nuw it universally 6801uses msec, by defining it as a wrapperin the respective front-ends. 6802(For XBoard itwraps FrameDelay.) 6803 68042011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6805Fix playing sounds when -soundProgram is empty 6806 6807It made no sense to just send the names of the sound files to the shell. 6808So the soundProgram isnow tested for being an empty string, and if so, 6809PlaySound() is aborted. 6810 68112011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6812Add -afterGame option 6813 6814This option specifies a command line to be executed after each game of 6815a tournament. To execute the line, the function RunCommand() was added 6816in the front-end. For XBoard this was a simple call to system(); for 6817WinBoard part of the StartChildProcess code was cloned (without the pipe 6818stuff). 6819 68202011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6821Upgrade -serverMoves option 6822 6823The (undocumented) -serverMoves option was upgraded to conform to the 6824ChessLive! protocol extension for sending SAN tags. A bug that allowed 6825upper-case promoChar to leak through was also fixed, and code was added 6826to write engine PVs to file. Flushing of the game result to the -serverMoves 6827file was also fixed. 6828 68292011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6830Fix AppendComment 6831 6832The joining of two comments was not performed correctly if the second 6833one had the braces yet to be added: the closing brace was not added in 6834that case. 6835 68362011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6837Auto-popup ICS Input Box 6838 6839Typing to the board made the move type-in pop up, but in ICS mode 6840this is of course undesirable. Like in WinBoard, the ICS Input Box 6841should pop up in stead, and accept the typed character. This is now 6842realized. If the box already exists and has text in it, the typed 6843character is appended to that text, and the box is given focus. 6844Spaces now also are considered as printable. 6845 68462011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6847Slightly decrease sensitivity of sweep actions 6848 6849The sweep-selection of promotion and drop pieces, or step through the PV 6850was so sensitive that it was difficult to reliably make the intended choice. 6851It has now been reduced by a factor 1.5-2, and the sweep selection and 6852PV walk now also use a different value. 6853 68542011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6855Extra buttons in WB Tournament dialog 6856 6857A button to copy contents of the tournament fileto the dialog is added. 6858Buttons to invoke the Common Engine and Time Control dialogs are also added. 6859 68602011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6861Fix crash on typing non-existent enginein Load Engine dialog 6862 6863 68642011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6865Fix display state after failed analysis attempt 6866 6867When an engine responded to the "analyze" command with an "unknown command" 6868message, a Reset was done without altering the display, causing a 6869discrepancy between display and internal state, which caused confusion 6870when it finally corrected itself. I replaced the Reset call by an 6871EditGameEvent call, to preserve the loaded game. The Reset was presumably 6872used to allow for the case where the engine would be so upset by the 6873analyze command that it needed to be reset by a "new" command, but this 6874seems overly paranoic for an engine that just recognized the command 6875as an unknown one. 6876 68772011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6878Fix treatment of PGN score/depth info with linefeeds in them 6879 6880This is needed to make the PGN more Arena-proof. 6881 68822011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6883Fix quoting in Load Engine dialog 6884 6885A (space-contaning) engine name only needs quoting when there are parameters, 6886because the over-all engine command will be quoted anyway. For UCI engines 6887duplicate quoting is fatal, because when passed as the -ec argument of 6888Polyglot, it will be quoted yet another time, also with double quotes. 6889 68902011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6891Replace Analyze File by Analyz Game function 6892 6893 68942011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>: 6895new developer release 6896 6897 68982011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>: 6899update po files 6900 6901 69022011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>: 6903updated Changelog, NEWS, etc. 6904 6905 69062011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>: 6907malloc.h is not needed 6908 6909 69102011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6911Fix ICS move-list header mistaken for null moves 6912 6913 69142011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6915Allow two-games-per-opening to work with book 6916 6917A new option -seedBase is added, and written to the tourney file. 6918It allows all XBoard instances working on a tourney to generate the same 6919'random' openings in a deterministic way, based on this one-time seed 6920and the game number. When -loadGameIndex equals -2, it uses the same seed 6921for an odd and the following even game. 6922 69232011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6924Fix use of random 6925 6926In some places rand() was called explicitly, rather than through the 6927(configured) place-holder random(). 6928 69292011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6930Translate search texts 6931 6932 69332011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6934Add -useBoardTexture and -usePieceFont options 6935 6936These options suppress the use of the given texture files or piece fonts 6937without relying on the kludge to disable them by prefixing an asterisk 6938to the file or font name. Checkboxes have been added to the Board dialog 6939to control them. The user can now set piece font in WB font dialog. 6940The sample text can be used to specify the -fontPieceToCharTable, 6941the font name itself the -renderPiecesWithFont value. 6942 69432011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6944Fix crash on start without settings file 6945 6946A primordial -1 in currCurrent caused a crash when WinBoard was started 6947without ini filein game-viewer mode. 6948 69492011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6950Fix generic-popup failure after empty engine-settings dialog 6951 6952The error exit ofthe Engine #N Settings dialog in case of an engine without 6953options forgot to clear currentCps, with as a result that the generic popup 6954thought every subsequent popup was an empty one, and kept repeating the 6955'engine has no options' error message for every dialog. 6956 69572011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6958Allow substitution of engines during tournament 6959 6960Two buttons are added in the tournament options dialog, for upgrading 6961and for replacing a tourney participant. Lots of tests on the validity 6962of the request are done, and if all are passed, the tourney file is 6963written with the new participants (and in case of replace) with the 6964results of the replaced engines erased from the -results string. 6965 69662011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6967Fix up/down arrows in game list 6968 6969 69702011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6971Add key bindings for loading next/previous game of list 6972 6973These bindings are set both for the game list and the board window. 6974To make them useful, focus has to be transferred to the board widget 6975after loading (it tends to transfer to the tags window), which now 6976seems to work, but not always. From the game list the shellWidget 6977seems to get focus rather than the board, which is bad as it is not 6978sensitive to the key bindings. 6979 69802011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6981Allow deletion of last book move 6982 6983The book-edit function refused to delete the entiremove list, 6984for no good reason. This limitation now has been lifted. 6985Also the error message that the key for the current book entries 6986is different from that of the currentposition has been suppressed 6987if there were no entries found for the current position (so that the 6988book is positioned at the next key), so that it is possible to add 6989moves from scratch. 6990 69912011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6992Speed up parser 6993 6994Line numbers > 1, which are common, can exit already during move parsing, 6995to save lots of matching on resultsand castlings. 6996 69972011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 6998Fix missing files in file browser 6999 7000The file browser was throwing away the first two files, assuming 7001they were "." and "..". Alas, this is no longer true on every Linux. 7002Now we actuallyc compare for these names, before skipping them. 7003 70042011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7005Delay file loading to allow expose event first 7006 7007 70082011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7009Fix paging 7010 7011 70122011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7013Better fix of crash on empty game list 7014 7015An empty list is now replaced by a list containig a simple message. 7016 70172011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7018Add plain arrows as key binding for stepping forward/backward 7019 7020 70212011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7022Debug position selection 7023 7024 70252011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7026Print progress during load / selection of game 7027 7028The title bar of themain window is used to display a running count 7029of the number of games loaded / searched. 7030 70312011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7032Parse PGN tags without allocating memory 7033 7034In WinBoard malloc/free did not seem to work when preparing the game list, 7035leading to a huge memory list when ParsePGNTag was used. The added code 7036parses the required tags in an alternative way as a work-around. 7037 70382011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7039Implement searching games in Game List for a position 7040 7041For this it was needed to reconstruct all positions of the games 7042without loading them, so they could be compared to the currently 7043displayed position. A new routine GameContainsPosition is made for that. 7044 In Disambiguate, when the global quickFlag is set, we now do the 7045disambiguation ignoring check,and only if this leads to an ambiguous 7046move, we repeat it taking check into account to see if that resolves 7047the ambiguity. This causes us to miss if unambiguous moves are illegal 7048because they put their King in check, but who cares? 7049 We now do not make game-list line when not needed. If we do not filter 7050by text, but by position, there is no need for preparing the game-list 7051line for games that are not selected. All for efficiency. 7052 70532011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7054Allow entry of variations in PlayFromGameFile mode 7055 7056Adding variations is more like editing a comment,and not really editing 7057the game. Therefore we allow it on loaded games. As soon as we are in a 7058variation, we temporarily switch to a (hidden) EditGame mode, restoring 7059the original mode when we revert to the main line. 7060 We now also stay in PlayFromGameFile mode after loading a game, 7061And opening variation (fromtheComment window) in PlayFromGameFile mode 7062is also allowed. 7063 70642011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7065Force Move History refresh after loading/reverting variation 7066 7067The Move History window was not refreshed after switching to or from 7068a variation if that variation happened to have the same length as 7069the main line. Now a change in storedGames since the previous refresh will 7070force a full refresh to avoid this. For this to work, storedGames 7071did have to be decremented after ToNrEvent in PopInner, because ToNrEvent 7072calls HistorySet before the history is restored, so we don't want 7073it to snatch away the full refresh. A call to HistorySet had to be 7074added after PopInner is done restoring the move history. 7075 70762011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7077Popdown Comment window on new game 7078 7079What is in this window cannot possibly remain valid, and can even be harmful. 7080 70812011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 7082Allow null move in analysis and edit-game mode 7083 7084In some games it is allowed to pass your turn. The internal 7085representation picked for such a null move is the drop of an empty 7086square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@", 7087SAN form is "--", (for compatibility with ChessBase / SCID), and the 7088non-compliant forms "null", "pass"and "Z0" are recognized in 7089the parser as well. ApplyMove() has to test for this special case 7090(to not actually clear a1), and a way to enter the pass for the user had 7091to be found (clicking the opponent clock, like in EditPosition mode). 7092 The null move is made move irreversible to prevent repetition draws 7093spanning null moves being adjudicated. 7094 Such entry of null move is now allowed in AnalyzeMode and EditGame mode. 7095Because Chess engines will not accept null moves, SendMoveToProgram had 7096to be adapted to send not the move, but the position after it in 7097case of a null move. This erases the move history in the engine, 7098so it will not react to 'undo' for that null move, so BackwardInner 7099had to be adapted to test for intervening null moves, and if one is 7100found, approach the target from the other side after loading the 7101earliest position before it not crossing another null move, and 7102then loading the moves upto the target. 7103 XBoard clock clicks had to be fixed, to pay attention to the shift key. 7104 71052011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7106Give WinBoard Game List its own font 7107 7108The font fort he Game List used to be shared with the Engine Output and 7109Move History windows, but this made it impossible to use a figurine font 7110in the latter two (which displays piece symbols for capitals) without 7111messing up the Game List. An option -gameListFont has been added to specify 7112the font for the Game List(and save it in the settings file), while a 7113control for it is added in the fonts dialog. 7114 71152011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7116Fix crash on OK after Save Changes in Tags and Comment popup. 7117 7118The global variables tagsText and commentText were used to pass 7119a string obtained from a widget (and thus not malloc'ed), which 7120caused a crash when the GenericReadout tried to use those variables 7121for the new value. Fixed by using GenericReadout (which does malloc) 7122to read out the text,in stead of GetWidgetText. 7123 71242011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>: 7125Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM) 7126 7127This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295. 7128 71292011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7130Suppress some XBoard warnings 7131 7132 71332011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>: 7134fixed segfault in xengineoutput 7135 7136 71372011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7138Disable -showTargetSquares in ICS mode 7139 7140Help like this is considered cheating on FICS, so it is disabled for 7141all 'classical' ICS variants. (For variants eyont Shogi we don't care.) 7142 71432011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7144Put grab on sweep-selecting in Edit Position 7145 7146A right down-click starting a sweep-selection event did not grab the 7147mouse events, so that an up-click outside the window would go 7148unnoticed, and the pointer motion stayed coupled to selecting the 7149piece until the next click. By returning 2 from the RightClick back-end 7150routine we request the grab. 7151 71522011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7153Write more labels on score axis of eval graph 7154 7155The labels for +/-1 and +/-3 are now also written, provided there is 7156enough space. 7157 71582011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7159Improve Eval Graph with -evalZoom and -evalThreshold 7160 7161The score range between -1 and +1 can now be blown up by a factor 7162specified through -evalZoom. The threshold below which histogram bars 7163are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now 7164be set through the -evalThreshold option. 7165 71662011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7167Print reversible plies done in stead of plies to go 7168 7169Printing the number of plies left to the draw-adjudication point was 7170confusing when the N-move rule was set to a non-standard value. 7171In stead we now print the number of plies since the last irreversible 7172move, so the user can compare it to both the engine claim point (100) 7173and the adjudication point he set (which might be beyond 100). 7174 71752011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7176Let WB eval graph react ot single left-click 7177 7178Unlike in XBoard, the WinBoard eval graph awatys had required double- 7179clicking to go the the corresponding move, while there really is no 7180reason for this, as it is no text edit, and single-clicks have no function 7181(like select). 7182 71832011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7184Add -scoreWhite option 7185 7186This is similar to -absoluteAnalysisScores, except that it works in 7187all modes, and flips the score given by the engines in the engine-output 7188window when black is to move. 7189 71902011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7191Print 50-move counter in Engine-Output title 7192 7193 71942011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7195Display score/depth in Eval Graph title 7196 7197No longer print it in the comment window. 7198 71992011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7200Let -sweepPromotions also work for click-click moves 7201 7202A click-click promotion no longer causes auto-queening, but the down-click 7203on the to-square causes a Queen to stick to the mouse pointer, and then 7204allows the user to change it through dragging backwards before releasing it 7205with an up-click. 7206 In WinBoard this required a slight change in DragPieceBegin, because 7207the dragged piece there only was made visible when the mouse pointer 7208actually started moving (and dragInfo.pos was set), presumably under the 7209assumption that before mouse move the piece was already on the clicked 7210square. Which in the case of a to-square was of course not true. (Because 7211a piece jumps to the mouse pointer when the click is not centered on a 7212square, this gives less jittery static clicks.) So DragPieceBegin has 7213been given an extra argument now, to indicate whether it should attach 7214the piece to the mouse pointer immediately. 7215 To make the click-click sweepPromotions work in Shogi (for which the 7216drag-drop sweepPromotions could never work, because it is not clear the 7217piece has a posibility to promote when you pick it up), translation of 7218the sweep-selected piece to a Shogi promoChar had to e added. 7219 72202011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7221Improve -showTargetSquares on click-click moves 7222 7223The markers on move targets are now kept when a first click merely 7224selects a piece, rather than dragging it elsewhere. The second click 7225(by definition on the to-square) then clears the markers. 7226 72272011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7228Let PGN parser accept lower-case piece in drop moves 7229 7230The @ sign prevents amiguity with other notations anyway. 7231 72322011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7233Fix parser.c line endings 7234 7235 72362011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7237Fix writing searchTime in tourneyFile 7238 7239This had to be derived from the variable searchTime, which gives it 7240in seconds, as appData.searchTime (a string in minutes) is not reliable, 7241as it contains the command-line value, which might have been altered 7242through the time-control dialog. 7243 72442011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7245Fix resetting searchTime if other TC mode is chosen (XB) 7246 7247This fixes a bug in the new time-control dialog. 7248 72492011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7250Fix coords display on large boards 7251 7252The file indicators can now run upto 'w'. Only the lowest digit 7253of the rank number is printed, from a table that is valid to 22. 7254 72552011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7256Fix crash on making too-long FEN 7257 7258The buffer for in PositionToFEN was only 128 bytes, which was not enough 7259for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now. 7260There also is some approximate overflow checking added (but it is not 7261fool proof in case there are holdings...) 7262 72632011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7264Fix drop moves on boards with more than 10 ranks 7265 7266The internal encoding for rank 16 is '@', and thus ambiguous with drop 7267moves. They were always printed as 16, breaking drop games on large 7268boards. The ambiguity is now solved (for boards with more than 16 ranks) 7269by checking if the preceeding letter is upper case, in which case it 7270cannot be a fileindicator, but must be a piece, and thus a drop. 7271 72722011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7273Don't one-click move when legality testing is off 7274 7275 72762011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7277Reorder controls in Engine Setings dialog WB 7278 7279To get tabbing through the controls in left-to-right order, they are 7280now added to the template structure in that order. Also add a tabstop 7281to Label options, so that JAWS will read those. 7282 72832011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7284Add tab stops in WB generic popup 7285 7286The WinBoard generic popup did not put tab stops on push buttons, 7287including the OK and cancel button, with as a consequence that these were 7288skipped when tabbing through the dialog controls. In addition the tabbing 7289could not begin before the user selected one of the controls with the mouse. 7290 Now all buttons have tab stops, and the cancel button is given focus 7291when the dialog pops up. 7292 72932011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 7294Implement Grand Chess 7295 7296Grand Chess requires a lot of exceptional handling similar to Superchess 7297and Great Shatran, because it also allows only promotion to a captured 7298piece. In addition it shares the enlarged promotion zone with Makruk and 7299Shogi, as well as the fact that promotion can be deferred. The 10-rank 7300board furthermore required a better generalization of double-pushes and 7301e.p. captures. On such a board double puhes are now allowed from 2nd and 73023rd rank, e.p. capture from 5th and 4th. 7303 73042011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 7305Allow promotion to Pawn with legality testing off 7306 7307In stead of ImpossibleMove promotionto Pawn now merely is an 7308IllegalMove, so it can be played with legality testing off. 7309 73102011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 7311Create some space in WB New Variant dialog 7312 7313 73142011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7315Allow double-digit rank numbers 7316 7317The parser already understood double-digit numbers on input, and 7318CoordsToAlgebraic produced them on otput. This patch also fixes sending 7319of the moves to the computer, for which the moveList was used. The latter 7320stored 10 as ':', etc,to always get a 4-char move, the characters of which 7321were frequently being converted to fromY or toY by adding/subtracting ONE. 7322To not break that the one-character encoding of rank number is kept in 7323moveList, but in SendMoveToProgram, characters > '9' are converted to 7324double digits. 7325 73262011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7327Add Absolute Analysis Scores in Genral Options dialog XB 7328 7329 73302011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7331Fix texi file, and update it further 7332 7333 73342011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7335Modified po 7336 7337 73382011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7339Update texi file 7340 7341 73422011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7343Restore echo after ^C in ICS password 7344 7345 73462011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7347Fix some warnings 7348 7349 73502011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7351Increase efficiency of SAN generation / disambiguation 7352 7353**************** Risky patch! ********************** 7354The algorithm used for disambiguating and generating SAN was extremely 7355inefficient, because it generated all pseudo-legal moves from the relevant 7356position, and then for each of those did a check test (involving generation 7357of all moves of the opponent), before determining if the move matched the 7358(proposed or given) SAN move. While it is pointless to generate moves 7359with a piece that does not match (let alone checking them for legality). 7360And for a piece that matches, it is pointless to test legality of moves 7361that do not match the to-square. 7362 To speed up the process GenLegal and GenPseudoLegal have been equiped 7363with an argument that can indicate the piece type of the required move, 7364so they can skip generating moves with other pieces. TestLegality, 7365Disambiguate and CoordsToAlgebraic make use of this facility, and set also 7366(through global variables rFilter and fFilter) a to-square filter to be 7367applied in the GenLegalCallback before it tests the move for legality. 7368 This patch is especially tricky for Crazyhouse, where the piece indicated 7369in the move might not be the piece actually on the board, because the latter 7370is a promoted Pawn, and has to be demoted toits base type before the 7371comparison. 7372 73732011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7374Fix compile errors WinBoard 7375 7376The patch to make non-existing options non-fatal broke WinBoard. All calls 7377to ExitArgError from it now supply a third argument TRUE to fix it. 7378 73792011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7380Add -fSAN / -sSAN options 7381 7382These options force the PV of the applicable engine to be converted to SAN. 7383They make use of the existing ParsePV routine, after shelfing a possible 7384PV (from user PV walking) to free the space after the last move. 7385Could be costly in terms of CPU usage. 7386 73872011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7388Cure flicker in Move History window, fix highlighting 7389 7390The highlighting of the current move in the Move List window by selecting 7391it did not always work, because some other windows were clearing their text 7392widgets by selecting the contents and killing it, thus snatching the 7393selection away. This has been changed to setting XtNstring to an empty 7394string as a method for clearing without side effects on the selection. 7395As a bonus the Engine Output window now also no longer has the black flicker 7396on clearing it. 7397 In addition, triggering a scroll by setting the insertion point to the 7398end of the text caused excessive flicker in the Move List window, apparently 7399clearing it and redrawing from scratch, (even if there was no scroll motion), 7400to the point where on my slow laptop the move history stayed entirely blank 7401during a rapid succession of moves. This has been combatted by using the 7402end-of-line action procedure (which does not seem to suffer from this) to put 7403the insertion point at the end, when we need to scroll to close to the end. 7404 74052011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7406Fix crash on clearing new Move List window 7407 7408When a new game started and a previous game had filled the Move List 7409window, a crash occurred because an attempt was made to undo the 7410highlighting of a no-longer-existing move, and then scrolling to it. 7411 74122011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7413Use sound for ICS tells also with engine telluser popups 7414 7415The telluser and tellusererror commands now can be assigned a sound. 7416 74172011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7418Add Score in Move List option to general options dialog XB 7419 7420Now that we have a WinBoard-style Move History window, this option is 7421no longer a no-op in XBoard. 7422 74232011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>: 7424new developer release 7425 7426 74272011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>: 7428updated Changelog, NEWS, etc. 7429 7430 74312011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7432Update window itle after last game of match 7433 7434The result printed behind player names during a match would still be the one 7435without the game, differing from what the popup would show, which looked 7436sloppy enough for people to complain about it. 7437. 7438 74392011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7440Make WB generic popup translatable 7441 7442When used for internal settings (as in the Load Engine and Tournament 7443Options dialogs), the option names are now subectto translation. 7444 74452011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7446Redo Move History with generic popup in WinBoard style 7447 7448The use of color and boldness to make the move list more readable 7449unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move. 7450 74512011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7452Remove stray else 7453 7454Due to an erroneous else, the window parameters of Move History were 7455not retreived (and thus incorrectly saved) when the Engine Output was up. 7456 74572011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7458Make non-existing opton in settings file non-fatal 7459 7460It is rather difficult to recover from a situaton where the settings 7461file contains an unknown option (e.g. because you downgraded to a 7462previous version that had fewer options), especially in WinBoard, where 7463the user settings file is in a hidden folder, and people might not be 7464able to find it, let alone edit it. By just skipping the line with the 7465offending option, rather than generating a fatal error, when reading 7466from a settings file, such options will be automatically purged from the 7467file as soon as you save settings. 7468 Small problem is that the user cannot be warned, as the initialization 7469has not progressed far enough at this point to generate error popups. In 7470XBoard we can at least print to the console, but in WinBoard there is no 7471warning at all. But the worst thing that can happen is that new options 7472in a settings file of a more advanced version will revert to their 7473defaults. 7474 74752011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7476Change long form of -tf option to -tourneyFile 7477 7478This is a more logical name, and in the WinBoard docs it was already 7479described as such. Also remove the -processes option, which in the 7480current design of the tourney manager is no longer used. 7481 74822011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7483Fix default of -remoteUser 7484 7485This has to be an empty string, rather than NULL, to prevent XBoard from 7486segfaulting when the -gateway option is used. 7487 74882011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7489Add -at and -opt options as alternative for @ 7490 7491Windows XP and Vista shortcuts do not display command lines with @ in 7492them correctly, and these optionsprovide a work-around for that. 7493 74942011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7495Fix empty-string option values in XBoard 7496 7497 74982011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7499Fix crash on switching sound in Vista 7500 7501When choosing a new sound the wave form of the old one was free'ed, but 7502because built-in sounds are not really malloc'ed, this led to a crash. 7503 75042011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7505Update WB docs for tourney manager 7506 7507 75082011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7509Add icon to WB for tournament files 7510 7511 75122011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7513Redo Time Control dialog with generic popup 7514 7515As poor-man's disabling of the unneeded input fields, we print the word 7516"Unused" in them. 7517 75182011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7519Some refactoring in xoptions.c to separate out front-end 7520 7521 75222011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7523Redo New Shuffle Game dialog with generic popup 7524 7525The buttons are slightly renamed, and in stead of having an 'off' 7526button to clear it, shuffleOpenings now has its own checkbox, which is 7527ticked when a fixed or dynamic random is chosen with the buttons. 7528 75292011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7530Fix type of shuffleOpenings 7531 7532This was a Boolean option, and thus accessed by the args.h code as such, 7533while it was declared as an int (and used in backend.c as such). This 7534could have led to problems with different endianness. 7535 75362011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>: 7537Internationalize the file browser. 7538 7539The file browser was missed in the previous round of 7540internationalization and had gotten broken by setting international = 7541True in its widgets. I got nothing but segfaults trying to set 7542international to False in the file browser widget subtree when it was 7543True in the main window, so I gave up and did the 7544internationalization. It turned out to be pretty easy. 7545 7546As a tiny bonus fix, I removed some ../'s from includes, and you can 7547now configure and build xboard in a subdirectory again. This was 7548useful for building both --enable-nls and --disable-nls from the same 7549sources to compare functionality and make sure both still work. 7550 75512011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7552Fix crash at end of Swiss tourney 7553 7554 75552011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7556Fix display of logos 7557 7558The logo files are now sought relative to the WinBoard install 7559directory. Non-existing logos cause clearing of the logo, rather than 7560letting the logo of the prevous engine hang. Logo change is requested 7561explicitly from the back-end (when an engine is initialized for a new 7562game), rather than using the kludge in StartChileProcess. This required 7563a dummy UpdateLogos routine in the XBoard front-end. 7564 75652011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7566Fix parameter handling in adapter command 7567 7568A backslash was not considered the end of an option name, which was 7569fatal for UCCI2WB, which needs %fd\\%fcp in its command line. 7570 75712011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7572Clear Engine-Output pane when initializing engine 7573 7574This to prevent output from the previous game hanging there during the 7575next game, when the engine that is really playing is in book and 7576doesn't produce thinking output there. 7577 75782011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7579Fix display of last move of last match game 7580 7581When a game was adjudicated (e.g. because XBoard detected mate) GameEnds 7582would trigger an exit if it was the last game of the match, and thus 7583never returned, while the ShowMove was called only after return from 7584Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to 7585cause ShowMove to be called before exiting. (Ugly kludge...) 7586 75872011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7588Fix concurrency in Swiss tourneys 7589 7590The pairing engine was consulted for the next round before all games of 7591the previous round were finished, if other XBoard instances were still 7592playing games. This caused the instances finishing early to stall 7593indefinitely. This is fixed by moving the Swiss pairing code to after 7594the syncInterval code. The normal pairing code (the call to Pairing) 7595must stay before it, because it determines the syncInterval. So ther is 7596a bit of tourneyType dependence cluttering up the code here. :-( 7597 75982011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7599Give error popup when pairing engine fails 7600 7601An invalid pairing now produces an error popup to inform the user, so he 7602knows why the tourney stagnates. 7603 76042011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7605Fix clock mode in tourney starting from -ncp mode 7606 7607When a tourney started from -ncp mode, which was allowed in MatchEvent, 7608because the tourney loads its own engines anyway, the menu enablings and 7609clockmode where not restored to their 'GNUMode' state. 7610 76112011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7612Fix round-robin schedule 7613 7614The first round was played twice, and the formulas used to derive the 7615pairing were not even-odd resistant anyway. Both even and odd number of 7616participants should work now. 7617 76182011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7619Fix interrupting tournament 7620 7621Stopping a tourney by using the Machine Match menu item did not wor 7622properly. 7623 76242011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7625Improve quoting of engine name on install 7626 7627Rather than always using double quotes for the engine command, the 7628engine filename is now double-quoted if it contains spaces (and no 7629double-quotes), and the comand is single-quoted if it contains 7630double-quotes (and double-quoted otherwise). 7631 76322011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7633Print sensible window title during tourneys 7634 7635Rather than the "(W-L-D)" in the title we now print game number and 7636total games, plus indication of the tourney type (rr, gt or sw). 7637 76382011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7639Let XBoard propose name of tourney file 7640 7641Add an option -defaultTourneyName to configure the name that will be 7642proposed in the Tournament Options dialog's tournament-file field. The 7643option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour, 7644mintes, seconds of the curret time in %02d format, or %Y for the year in 7645%04d format. Any tournament -file name is ignored when no participants 7646are given. Participants without a tourney file remains an error. 7647 76482011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7649Improve Tournament dialog layout WB 7650 7651 76522011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7653Fix -matchGames option 7654 7655The new MatchEvent code had broken the -mg option, and used always 7656-defaultMatchGames in stead. 7657 76582011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>: 7659Fixed 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. 7660 7661- Several files were in utf8 but needed to be marked as such (that is, 7662 "CHARSET" changed to "UTF-8"). Affected es.po, it.po, ru.po, vi.po, 7663 zh_CN.po, zh_TW.po. 7664 7665- it.po was missing a \n at the end of one translation. 7666 7667- ru.po had unescaped double-quote marks in one translation. 7668 7669- vi.po needed to be normalized to Unicode normalization form C. With 7670 this fix, more characters display correctly, though at least one is 7671 still missing in the X core fonts that xboard is able to use. 7672 See http://vietunicode.sourceforge.net/ for more about Vietnamese. 7673 7674- zh_HK.po was written in big5 and then utf8-encoded on top of that, 7675 making it unusable. I stripped off the spurious utf8 encoding and 7676 then used recode to convert the file to Unicode properly encoded as 7677 utf8. 7678 7679Unfortunately, I wasn't able to test any of the Chinese translations, 7680as I haven't been able to get XCreateFontSet to work in Chinese 7681locales with any of the fonts I have installed, even after adding the 7682Ubuntu language support packages for both simplified and traditional 7683Chinese. I did spot check a bunch of the translations using Google 7684Translate. 7685 7686I've checked in a couple of tiny Perl scripts that I used to do part 7687of the fixups on vi.po and zh_HK.po in case we need them again. 7688 76892011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>: 7690The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "". 7691 7692 76932011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>: 7694Add 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. 7695 7696 76972011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>: 7698Added "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. 7699 7700In the process I had to rewrite the code to insert the pixel size into 7701a font name (replacing a "*" in that field). The new code is much 7702more general. 7703 77042011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>: 7705translation: activated Ukrainian translation 7706 7707 77082011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>: 7709translation: added new Ukrainian PO file from the TP 7710 7711 77122011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>: 7713Fix display of international characters outside the ASCII range. 7714 77151) Set Xaw resources required for internationalization -- 7716 *international and *fontSet. 7717 77182) Untangle the new XFontSet-aware code from the old FindFont code. 7719 It doesn't make any sense to apply the old (and obsolete) size 7720 searching code from FindFont to a font set, which contains fonts 7721 that are all the requested size. 7722 77233) With these changes, the -font option doesn't work at all when given 7724 on the command line. The -font option actually is parsed by the Xt 7725 library, used to set the *font resource, and removed from argv 7726 before xboard can see it, so the option didn't really work properly 7727 with the new WinBoard-style option framework anyway. Now that 7728 -font is even more broken, I changed the documented name of the 7729 option to -messageFont and changed args.h so the option is saved in 7730 ~/.xboard as -messageFont. 7731 77322011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>: 7733Move "hide thinking" option into alphabetical order. 7734 7735 77362011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>: 7737Fix 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. 7738 7739 77402011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7741Fix layout tournament Load Engine dialog WB 7742 7743 77442011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7745Fix ArgTwo warnings 7746 7747 77482011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7749Add Swiss tourneys through pairing engine 7750 7751An external program can be designated pairing engine through the new 7752persistent option -pairingEngine. Defining the option will allow 7753tourneytype -1 to be chosen for Swiss. In this case the pairing engine 7754will be queried for a pairing before every new match game, by sending it 7755the -results string, plus the command 'pairing' + game number. 7756 77572011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7758Allow generic dialog to ignore OK 7759 7760The EndMark callback can now suppress popdown of the dialog on OK, when 7761it somehow does not like the values entered by the user. In XBoard this 7762required all the callbacks to return a value. 7763Caveat: A refused OK would still have set all new values given in the 7764dialog! 7765 77662011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7767Fix CR in multi-line WinBoard text-edits 7768 7769The generic popup did not add CR when strings containing '\n' were 7770printed in a multi-line text-edit, thus joining the lines. It was also 7771not possible to type a CR in a multi-line text-edit. 7772 77732011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7774Let mentioning completed tourney file add one cycle 7775 7776Secifying a tourney file of a fully completed tourney will now resume 7777that tourney with another cycle added. When there are still uncomleted 7778games in the tourney, the usual error message will appear. There are 7779also error popups added for when the user fails to specify a tourney 7780file, or gives too few participants. 7781 77822011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7783Make engine startup failure non-fatal in WinBoard 7784 7785Unlike XBoard, which forks first, the parent process WinBoard has direct 7786knowledge of a failure to execute the engine command, and used it to 7787trigger a fatal error. The code doing this has now been disabled. Only 7788in case of a first engine we switch back to -ncp mode in stead, but no 7789action is taken to 'bury' the deceased engine process. Like in XBoard, 7790errors in writing or reading the pipes will trigger this. 7791 77922011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7793Add secondry adapter command for UCCI or USI 7794 7795The option -uxiAdapter can define a second adapterCommand, which will be 7796invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI. 7797 77982011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7799Obey san feature when sending book moves 7800 7801Book moves were always sent in long algebraic, even when the engine had 7802said it wanted to receive SAN. 7803 78042011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7805Fix initialization of engine state 7806 7807Some of the initialization relied on variables being zero at startup, 7808which meant value from the previouly loaded engine hng on after loading 7809a new one. 7810 78112011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7812Take account of holdings in book key 7813 7814The board is numbered by rank, for comptibility with Polyglot format, 7815starting at a1. We then continue counting in the holdings 'files', in 7816up-rank direction, each holding spanning the full board height (even if 7817it is not fully used). Firstthe left (black) holdings, then the right, 7818Even in Shogi this limits the square number to < 99, which is below the 7819absolute limit of 128 (where we would run out of hash keys). 7820 78212011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7822Alow promotions and drops in book-editing 7823 7824 78252011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7826Include learn info in book edit 7827 7828 78292011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7830Adapt default directory of lng2po 7831 7832The path is prefixed with "../" to make it runable from the po directory. 7833 78342011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7835Recode some po files 7836 7837po files were generated with the aid of lng2po for Russian, 7838Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251, 7839CP1258, GB2312 and BIG5, respectively. 7840 78412011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7842Implement Edit Book in XBoard 7843 7844 78452011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7846Improve WB Load Engine dialog texts 7847 7848 78492011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7850Make 'add to list' default in Load Engine dialog 7851 7852 78532011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7854Add -userFileDirectory option 7855 7856This volatile option is initialized from 'installDir'. It is 7857primarily intended for configuration of WinBoard through its master 7858settings file, and specifies an alternative place to create saveGameFile 7859or look for other user files, in stead of looking in the installDir. 7860 78612011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7862Add option -absoluteAnalysisScores 7863 7864This persistent option flips scores in the when black is thinking in 7865analysis mode, just before they are printed in the engine-output window. 7866 78672011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7868Automatically play moves of clicked PV in analyze mode 7869 7870The Shift key now no longer needs to be pressed to play moves from the 7871PV in analyze mode (so it could be given back its original meaning of 7872starting a variation with the entered moves). In analyze mode the PV 7873walk begins after the first move, so a static right-click plays the 7874first PV move. To just peek the PV you have to walk to the start of it 7875before releasing the mouse button. In other modes the PV walk 7876stillstarts at the very end. 7877 78782011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7879Let ParsePV always generate SAN move 7880 7881 78822011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7883Fix vscrolling in XBoard Engine-Output window 7884 7885After clicking the memos they scrolled to the bottom, because SetFocus 7886put the insertion point at the very end of the text. This behavior is 7887now reserved for text-edits containing less than 100 characters. 7888 78892011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7890Fix button sizing in generic popup 7891 7892 78932011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7894Allow changing MultiPV setting from Engine-Output window 7895 7896In analyze mode a header line is printed in the first engine-output 7897pane, which can be right-clicked to increase or decrease the number of 7898PVs. (Only with engines that support the MultiPV option.) 7899 79002011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7901No clearing of Engine-Output memos on stat01 7902 7903 79042011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>: 7905updated xboard.pot with released version 7906 7907 79082011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>: 7909new developer release 7910 7911 79122011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>: 7913updated ChangeLog, NEWS, etc. 7914 7915 79162011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>: 7917deactivated new languages for the moment... 7918 7919po files need some cleanup, probably better to wait until the translation-project looked at them 7920 79212011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>: 7922added translations generated via lng2po from all winboard languages 7923 7924 79252011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>: 7926lng2po.sh: added command line options, GPL header 7927 7928also use a temporary file generated with mktemp instead of a hard coded one 7929 79302011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>: 7931fixed access rights to winboard language files (644 instead of 655) 7932 7933 79342011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7935Import WinBoard language files into git 7936 7937 79382011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7939Let Shift+RightClick on PV actually play the PV moves 7940 7941 79422011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7943Make book-edit function WB 7944 7945The tags dialog is used to display the GUI book moves from the current 7946position, and will be updated when you step or move to another one. 7947The edited move list (with weights) can be written back to the book. 7948 79492011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7950Fix resetting engine options 7951 7952Not all options were reset, and -needsNonCompliantFEN was 'reset' 7953to a completely wrong value, so that bad FENs would be sent. 7954 79552011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7956Add -first/secondPgnName option 7957 7958This option replaces the tidy name of the engine in the PGN player tags 7959of engine-engine games. In WinBoard engines can be installed with this 7960option through a checkbox in the Load Engine dialog. 7961 79622011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7963Let XB generic popup define default file extensions 7964 7965 79662011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7967Save time-control settings in tourney file 7968 7969Because parsing the options and storing them in appData is not enough, 7970the time-control code setting the internally used parameters from the 7971appData info in InitBackend was made into a subroutine, and also caled 7972after parsing the tourney file. 7973 79742011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7975Put saveGameFile in tournament dialog 7976 7977 79782011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7979Plug memory leak, filenames relative to installDir 7980 7981String options are consistently freed now, before assigning a new value 7982to them through strdup. The init code now even does use strdup when 7983setting defaults. This is important for optionslike -lgf, which are not 7984saved in the settings file, and thus are usually left with their 7985default. When a dialog to set them then uses free, this causes a crash. 7986When setting the defaults uses strdup, ParseArgs can already free them. 7987This plugs an important memory leak, as ParseArgs in now called to parse 7988the tourney file before every tourney game (twice!), and the lists of 7989participants and results in it can be quite long. Macros are defined in 7990common.h to make the code look simpler. 7991 Filenames entered through the generic popup are now interpreted 7992relative to the WinBoard installation folder, just as the saveGameFile 7993already was. The code handling the atter was made into a subroutine for 7994this. 7995 79962011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 7997Add WB new popup prototypes 7998 7999 80002011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8001Add partcipants at bottom in tourney dialog (WB) 8002 8003 80042011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8005Fix range of tourneyType spin WB 8006 8007 80082011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8009Fix exit popup in tourney mode 8010 8011Only the instance finishing the last tourney game will cause a popup 8012with final standings. As long as there are still busy games, it exits or 8013switches back to idle mode silently. 8014 80152011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8016Fix stopping of match in tourney mode 8017 8018 80192011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8020Add default extension in file browser 8021 8022 80232011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8024Improve sizing of comment and tags dialogs 8025 8026There seems to be a bug in Xaw for the sizing of buttons; they get 8027unpredicatble and weird sizes when the size is not explicitly set, 8028possibly stretching the initial width of a dialog to rediculous values. 8029Sizing back to a remembered value from the settings file then makes 8030buttons overlapand text edits shrink to almost nothing. To prevent that 8031we now define exlicit sizes for the buttons in tags and comment popups. 8032 80332011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8034Fix generic combobox bug 8035 8036The patch placing gettext markers was done wrong, setting the 8037translated menu text outside the loop, so all entries became the same. 8038 80392011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8040Fix PV walking in analysis mode 8041 8042ParsePV assumed that the PV would always have been produced by an engin 8043thinking about the final position of the game (or the one before it). In 8044analysismode, however, the engine can be analysing positions internal to 8045the game, and the PV would be considered invalid. This is fixed by 8046cutting of the tail off the game (shelving it in variation fashion) 8047before starting the PV walk, and reverting afterwards. 8048 For this the PushTail and PopTail routines had to be split into an 8049'inner' part, doing the pushing and popping, and an outer part, handling 8050menu graying and popdowns (which is undesirable in in this application). 8051 80522011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8053Lift length-limit on text-edits in WB generic popup 8054 8055 80562011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8057Lift limitation of text length in generic dialog XB 8058 8059All string options should now point to allocated memory, as strdup / 8060free is consistently used on them. This is OK for values received from 8061ParseArgs, but for non-arg intermediate variables that must receive strg 8062values, such as in the comment and tags popups, strdup has to be used to 8063initialize those. 8064 80652011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8066Implement Tournament Options dialog WinBoard 8067 8068The file browser now can select on extension WB generic dialogs, 8069with a default based on the option.max value of the option for which it 8070browses. A textBox can be forced to be multiline by putting the number 8071of extra lines in option.min. 8072 80732011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8074Make option to draw second engine from first list 8075 8076 80772011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8078Fix error message on engine load 8079 8080 80812011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8082Implement Load Engine dialog in WinBoard 8083 8084The Load Engine dialog is implemented for WinBoard, and is invoked by 8085the menu item Engine->Load, which formerly was Install 2nd. Install 1st 8086is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate 8087fields for the engine executale and its parameters. 8088 The dialog is implemented by converting the Engine Settings popup into 8089a generic dialog generator. 8090 80912011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8092Load new logo on engine change WinBoard 8093 8094Picking the logo for the first engine is made into a subroutine. The 8095code for picking the logo of the first engine was made into a subrroutne 8096for this. We use the kludge to recognize the engine by its command line 8097when starting a new engine process. 8098 80992011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8100Allow switching off match mode through menu 8101 8102The Machine Match menu item is now checkmarked, and no longer grayed 8103during a match, and clicking it while a match is running will terminate 8104the match after the current game. To not be left with hanging 8105checkmarks, the checkmark is already removed duringthe last match game 8106(which is logically equivalent to ordinary Two Machines mode anyway). 8107 81082011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8109Calculate and display tourney result 8110 8111 81122011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8113Implement Tournament Manager 8114 8115New command-line options are added to specify the tourney: -tourneyType 8116(-tt), -tourneyCycles (-cy), -participants, -syncAfterRound, 8117-syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but 8118otherwise volatile. When a tourneyFile is specified during a match, 8119a new routine NextTourneyGame is called from NextMatchGame before every 8120game, to decide the pairing, and unload and redefine the engines, when 8121needed. The XBoard Match Options dialog can be used to set the options 8122and create the tournament file. 8123 Actual loading of new engines is done by TwoMachinesEvent, which is 8124now modified to also wait for the feature timeout of the first engine. 8125Waiting for the matchPause is now also implemented there, after waiting 8126for the engines (so they can be started during the pause). 8127 Pairings and color assignment is now all done in an absolute 8128(non-incremental) way, based on a new global game-number variable 8129nextGame, which takes over the function of matchGame in a tourney. The 8130latter is now used to count games between the same players, so it can be 8131still used to derive the load-file indexes (again in absolute fashion). 8132 The next game to play is already picked in GameEnd, so it can be 8133decided if there is a game to be scheduled, or if we can terminate. 8134 81352011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8136Display note in stead of empty engine-settings dialog XB 8137 8138 81392011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8140Fix crash on empty Engine Settings dialog 8141 8142The generic popup was not foolproof against this. 8143 81442011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8145Refactor code for loading games and positions in match 8146 8147The code in NextMatchGame and MatchEvent was nearly the same, 8148(MatchEvent did a little more error checking, but that is never 8149harmful), and could be combined. In stead of determining the load index 8150incrementally, it is now calculated in an absolute way from the game 8151number, so it can be used more easily in tournament mode. 8152 81532011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8154Add callback possibility to combobox selection 8155 8156 81572011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8158Lock game an position file during writing 8159 8160The use of flock() on the file desctiptor of the opened stream should 8161guarantee multiple XBoard instances, saving on the same file, will not 8162interleave their PGN games or FEN positions. 8163 81642011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8165Remove building rule for parser.c from WB makefiles 8166 8167 81682011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8169Fix Engine Settings buttons in WinBoard 8170 8171This was broken by a leftover statement from debugging the -file/-path 8172patch. 8173 81742011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8175Implement flock in WinBoard 8176 8177This system function seems unknown in a MinGW compile, so it is 8178implemented with the aid of file byte-range locking, using a lock on the 8179first 1024 bytes of the file as a semaphore. 8180 81812011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8182Fix grayout XB Match Options in ICS mode 8183 8184 81852011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8186Delay loading of second engine until it is used 8187 8188 81892011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8190Fix zippy bughouse partner bug 8191 8192The patchs to subject Zippy messages to coloriation was faulty, because 8193there were messages recognized by zippy that were not colorized, and 8194such messages would then not be 'read away' after zippy recognition 8195(except for the first character). As a result the messages were 8196processed over and over again. 8197 81982011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8199Silence more rpm warnings 8200 8201 82022011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8203Fix warnings XBoard file browser 8204 8205All the prototypes have been moved to selfile.h, to force uniformity. 8206The order of the #include files xstat.h and selfile.h had to be 8207swapped, to make sure 'struct stat' is a nown type atthe time of 8208prototype declaration. The event handler SFmotionList is considered 8209wrong type because of its third argument (XMotionEvent in stead of 8210XEvent), and had to be casted to (XtEventHandler) when passed to 8211XtAddEventHandler. 8212 82132011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8214Fix some warnings and header-file improvement 8215 8216Ther were lot of 'extern' declarations in the x-files, so called 8217'imports from xboard.c', (sometimes backend.c) which logically belonged 8218in xboard.h (backend.h) to ensure their uniform definition. These have 8219now been moved there. Some prototypes have been added in xboard.h as 8220well, for functions that needed calling from xoptions.c. 8221 82222011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8223Create conversion tools for language files 8224 8225A shell script "lng2po.sh" is provided, to apply the translation given 8226in a WinBoard .lng file to "xboard.pot", in order to generate a 8227"language.po" file containing translations for all strings for which 8228the .lng file had a translation. It makes use of a file "metascript", 8229which is the ed script used to turn the .lng file in an ed script to 8230turn the .pot into .po. For example, the command "./lng2po.sh 8231espa?ol.lng" will create a file "language.po", which can be renamed to 8232"es.po". 8233****************************** WARNING ******************************** 8234 Note that the lng2po script does a "recode" that assumes the given 8235.lng file is encoded in latin-1. This means it canot be used without 8236modification for the Vietnamese and Chinese translation; you would have 8237to replace latin-1 by the applicable encoding first (CP1258 / BG2312 / 8238BIG5). 8239 82402011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8241Put gettext markers in generic dialog creator 8242 8243This is done by adding extra XtNstring argumentsto the widget gcreaton, 8244so the displayed name can be different fromthe widget name. 8245 82462011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>: 8247Use 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. 8248 8249 82502011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>: 8251updated German translation 8252 8253 82542011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>: 8255replaced hardcoded email address with generic PACKAGE_BUGREPORT 8256 8257 82582011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>: 8259updated po-files; updated german translation 8260 8261 82622011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>: 8263updated list of files that include translation strings; updated pot-file 8264 8265 82662011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>: 8267marked more strings for gettext that were only marked with N_() 8268 8269they need to be marked again with _() when they are used to get the translated string 8270 82712011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>: 8272updated translation files 8273 8274 82752011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>: 8276added/fixed i18n support via gettext to xboard 8277 8278this was already added a long time ago, but now it's added again to 8279autoconf. Also fixed some compile errors that showed up. 8280 82812011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8282Make engine startup error non-fatal 8283 8284When engine startup fails, do not generate a fatal error, but swicth 8285back to -ncp mode. Write on broken pipe errors had to be suppressed for 8286this. 8287 82882011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8289Make engine loadable during session 8290 8291A "Load Engine ..." menu item is added to the Engine menu, which pops 8292up a dialog where one can replace the first or second engine by a new 8293one, without destroying the game state. Switching from -ncp to engine 8294mode needed activation of some menu items in SetGNUMode, and 8295re-enabling clockMode. It was also important that noChessProgram is 8296cleared before re-initializing the ChessProgramState. 8297 The Load-Engine dialog can select from the list of installed 8298engines, and also add a newly specified engine to this list. In this 8299case it saves the directory, hasBook, and isUCI info with the engine, 8300and optionally the current variant. When loading an engine with a 8301specified variant, it resets the game and switches to the new variant. 8302 83032011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8304Generalize WaitForSecond to WaitForEngine 8305 8306 83072011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8308Add UnloadEngine routine 8309 8310 83112011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8312Put engine initialization code in per-engine function 8313 8314Initializing of the ChessProgramStates first and second from the 8315option settings in appData is now done by separate calls to the same 8316routine. Clearing of options is added to the initialization. This is 8317needed when reloading an engine. This is done in a separate routine, 8318which could also be called on -reset options. 8319 83202011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8321Bring structure in appData engine options 8322 8323All options in appData that came in pairs for both engines are replaced 8324by arrays of ENGINES (=2, for now) elements. The use of the named 8325appData field that are replaced in the source is replaced by use of the 8326corresponding array element, by #define directives in common.h, awaiting 8327their replacement. 8328 83292011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8330Fix gettext macros in option dialogs 8331 8332The strings in the tables were using _() in stead of N_(). 8333 83342011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8335Fix crash on using Engine #1 Settings in ICS non-zippy mode 8336 8337If XBoard is compiled with zippy the Engine #1 Settings menu was not 8338grayed out even when you don't run in zippy mode, and using it would 8339then crash XBoard. 8340 83412011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8342Fix shogipixmaps 8343 8344Some pixmaps forptomoted pieces had wrong background color, others had a 8345wrong name (so the one with the correct name was missing). 8346 83472011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8348Change texture-install directory to pixmaps/textures 8349 8350 83512011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8352Limit install of sound files to those in menu 8353 8354The sounds directory is set to .../xboard/sounds, and only ten 8355sounds are kept (all non-spoken). 8356 83572011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8358Remove some bitmaps from install 8359 8360Some files in the bitmaps source directory need not be installed, 8361because they are there only to be linked to the binary in a build 8362without LIBXPM, are README files or conversion programs. I left only the 8363stuff that is in a Debian binary package in .../xboard/bitmaps.xchess. 8364 83652011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8366Configure some default sounds 8367 8368The move sound is set to Wood Thunk; the sounds for tell and challenge 8369events to Phone and Gong, respectively. 8370 83712011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8372Change default sounds in Xboard menu 8373 8374All spoken sounds are removed now. Thud, Click and Ching are replaced by 8375Wood Thunk, Slap and Cymbal; Car Horn and Pop are added. 8376 83772011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8378Make user wav file available for try-out in sound dialog 8379 8380The GenericReadout was adapted to be able to read a single selected 8381value, so that the callback to the 'play' button in the sounds dialog 8382could get the name of the 'user WAV file' without accepting all settings 8383for the other sounds (which should only happen on 'OK', and might still 8384be cancelled in stead). 8385 83862011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>: 8387configure: enable silent rules by default 8388 8389 83902011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>: 8391configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/ 8392 8393 83942011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>: 8395configure: added install of sounds in .../games/xboard/sounds/default 8396 8397 83982011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>: 8399configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir 8400 8401pixmaps will now be installed under .../games/xboard/pixmaps/default/ 8402 84032011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8404Fix gamelist highlight 8405 8406Reopening the gamelist should highlight the current game. 8407 84082011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8409Fix size limit on 'save as diagram' 8410 8411In stead of a fixed-size buffer the diagram-save code now uses an 8412allocated buffer with size calculated from the bitmap parameters to 8413retreive the bitmap data, so it should work for all sizes. 8414 84152011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8416Fix chaining of bottom-row dialog buttons 8417 8418The OK & cancel buttons are chained to the bottom. This patch makes sure 8419that other buttons appearing in the same row (as in the tags and 8420comment dialogs) will be chained that way too, so that they will behave 8421the same on vertical sizing. The bottom of a full-width text-edit above 8422it will be chained to bottom too. To make this work in the tags dialog, 8423the (optional) cmail-message field had to be put above the tags memo. 8424 84252011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8426Fix switching between pixmap and bitmap pieces 8427 8428There were still several flags that had to be reset when redoing the 8429graphics initialization. The Debian patch to use a default bitmap 8430directory when none is given but monoMode is selected or forced, is 8431moved to a more sensible place, so that it does not disturb matters when 8432compiled without LIBXPM (when we do have built-in bitmaps). 8433 84342011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8435Remove outline-pieces option from board-options dialog 8436 8437This option does not exist in XBoard (yet). 8438 84392011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8440Fix running of clock during hash allocation engine 8441 8442In TwoMachinesEvent we now wait for the second engine to acknowledge the 8443'ping' after 'new', to make sure it is done allocating hash in reaction 8444to the preceding 'memory' command, before the clock for the game is 8445started. 8446 84472011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8448Describe move type-in in texi file 8449 8450 84512011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8452Describe Copy Game List menu item in texi file 8453 8454 84552011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8456Describe -sweepPromotions in texi file 8457 8458The new method for selection promotion piece, and the -sweepPromotions 8459option are described in the texi file. 8460 84612011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8462Describe -pieceMenu option in texi file 8463 8464The sweep method for selecting a piece in Edit-Position mode is 8465explained, as well as the -pieceMenu option. 8466 84672011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8468Update texi file 8469 8470Descriptions of the new XBoard menu dialogs are included in the docs. 8471 84722011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8473Reorganize texi description 8474 8475 84762011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8477Fix sweep-promotions patch 8478 8479Setting of the from square was moved to before OKtoStartUserMove in the 8480LeftClick handler, to make sure we could test the promotion possiblity 8481when OnlyMove() would have altered (x,y) to be no longer the from 8482square. But this setting of fromX, fromY hung on also if the move was 8483not OK, so you could effectively select opponent pieces and empty 8484squares. The from-square is now set back to undefined when it is not OK 8485to move the piece you clicked. 8486 84872011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8488Alter treatment of moves with empty squares 8489 8490In Edit Position mode one can move empty squares, and use them to 8491'capture' pieces as a means to clear their square. But this often leads 8492to unintended disappearence of pieces one wants to grab for dragging, if 8493a previous click had inadvertantly left an empty square selected: the 8494click on the piece is then seen as the to-click of a click-click move. 8495 This patch treats to-clicks of moves with an empty-square differently 8496from other to-clicks: Rather than performing the move (in this case 8497clearing of the to-square) on the down-click, it defers that to the 8498up-click, and only does it if that up-click is in the same square. This 8499allows the user to grab the piece on the down-click, and drag it to 8500another square, if that is what he wanted to do, without being disturbed 8501by sudden implosion of the piece he tried to grab. 8502 If the to-square is in the holdings, grabbing the piece is the only 8503action, as moves of empty squares into the holdings are forbidden anyway. 8504 85052011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8506Block selection of a directory when file is needed 8507 8508When we are not browsing merely to obtain a name to put in a text edit, 8509but really must return an open file pointer, selection of a directory 8510(ending in '/') can no longer be OK'ed in the file browser. (XBoard 8511tends to segfault when offered garbage for game or position file...) 8512 85132011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8514Let double-click select file in file browser 8515 8516A second click on the already selected entry now has the same effect as 8517pressing the OK button. 8518 85192011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8520Couple mouse wheel to v-scrolls in file browser 8521 8522A newly added mouse-wheel event handler was made to call the v-scroll 8523callback routines with parameters to step one entry. The button-press 8524handler for the lists themselves was also made to intercept the wheel 8525events (buttons 4 and 5), to prevent they would select an entry, and 8526make them scroll in stead as well. 8527 85282011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8529Fix crash copying game list when there is none 8530 8531 85322011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8533Fix changing of float setting by generic popup 8534 8535Changing a float setting (so far the only one is in the Load Options 8536dalog) did not always work, because the old value was clipped to (int), 8537so that changing it back to an integer value might erroneously conclude 8538there was no change. 8539 85402011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8541Fix crash on closing dialogs in wrong order 8542 8543When a menu dialog was closed when it still had an open file-browse 8544daughter, which could be done through the system menu X on the title 8545bar, later closing of the file browser caused a crash. This is solved by 8546keeping track of the fact that there is such a daughter through a global 8547flag, and ignoring the pop-down command if there is one. 8548 85492011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8550Fix startup focus of board window 8551 8552When there were open auxiliary windows, these would have focus on 8553starting up XBoard. The XtSetKeyboardFocus call added in XBoard main() 8554was ineffective in curing that. It has now been replaced by a call to 8555XSetInputFocus, which does do the job. By giving input focus to the form 8556widget, rather than the board widget, XBoard will be immediately 8557sensitive to all key bindings. 8558 85592011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8560Fix game-list highight error when filtered (WB) 8561 8562When the gamelist was filtered, the game that was highlingted was the 8563n-th game in the list rather than the n-th game in the file, when the 8564latter was loaded (and n did not exceed the number of filtered games). 8565This is fixed now by searching for the line in the listbox that starts 8566with the game number n, rather than taking the n-th line. 8567 85682011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8569Refactor move type-in code 8570 8571Common code between XBoard and WinBoard was moved to the back-end 8572creating TypeInEvent() and TypeInDoneEvent() routines. 8573 85742011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8575Fix saving of XBoard fonts with spaces in name 8576 8577SaveFontArg now prints quotes around the saved font string, so that the 8578general option-argument parser doesnot stop at the first space it sees. 8579 85802011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8581Implement move type-in for XBoard 8582 8583By adding an event handler to the main window for key presses, users can 8584now type moves when the board has focus, like in WinBoard. The typed 8585character appears as first character in the type-in box that willpop up. 8586Enter and Escape close the box; finishing the typing of the move enters 8587it. Like in WinBoard it is also possible to type a move number (to go 8588there) or (in Edit Position mode) a FEN. 8589 85902011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>: 8591new developer release 8592 8593tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG. 8594The Changelog is just the one from master. 8595 85962011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>: 8597updated Changelog, NEWS, etc. 8598 8599 86002011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8601Fix use of game/position file in first match game 8602 8603When a match was started from the menu, it was not paying attention to 8604game and position files. (Later games were.) The code that handled this 8605in the initialization when a match is started through the command line 8606was made into a routine MatchEvent, which can be called from the menu 8607proc too. 8608 86092011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8610Fix crash on opening ICS Text Menu 8611 8612The patch for the color defaults had broken the ICS Text Menu. 8613 86142011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8615Implement Copy Game List menu item for XBoard 8616 8617Some WinBoard code was cloned for this. 8618 86192011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8620Third method of sweep selection 8621 8622This method sweeps through the possible promotion choices for the piece 8623that is being dragged, as long as you drag a 7th-rank Pawn backwards. On 8624draggin such a Pawn forwards, it immediately shows it as the piece you 8625are going to promote to. 8626 86272011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8628Alternative sweep promotions 8629 8630The sweep takes place on the from-square here. 8631 86322011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8633Make sweep-select promotions work in WinBoard 8634 8635The mouse-move handler had to be connected to the PromoScroll back-end 8636routine. 8637 86382011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8639Fix path browsing in WinBoard 8640 8641The routine BrowseForFolder was still declared as static in woptions.c, 8642while it was used from wsettings.c. 8643 86442011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8645Fixes to sweep selection 8646 8647 86482011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8649Implement sweep selection of promotion piece 8650 8651When the option -sweepPromotions is true, a click-click promotion move 8652will first display the default choice (usually Queen) on the promotion 8653square. While you have the mouse button still down, you can change the 8654piece by moving the mouse vertically. 8655 86562011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8657Implement sweep selection as alternative for the piece menu 8658 8659When the option -pieceMenu is off, the piece menu will no longer appear 8660on right-clicks in Edit Position mode. In stead a Pawn of the chosen 8661color will appear immediately in the clicked square, and vertical 8662movement of the mouse with the right button down will cycle through 8663all other pieces defined in the pieceToCharTable of the current variant. 8664 Setting the side to move is acheived by clicking the correspondig 8665clock. Clear board can be effected by clicking the clock of the side 8666that already has the move. 8667 86682011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8669Remember Tags and Comment dialog coordinates 8670 8671The save-settings code now uses the shell and shellUp arrays from the 8672GenericPopUp to read out the window coordinates for Tags and Comment 8673window. Pointers used by GenericPopUp are set topoint to the 8674corresponding WindowPlacement structs. 8675 86762011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8677Redo Tags dialog 8678 8679The generic popup is used for generating the Tags / EditTags popups. 8680The tags popup use a 'label' field to display the cmail message 8681 86822011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8683Implement Edit-Comment window through generic popup 8684 8685The Edit Comment and Comment popups are combined into one, that can 8686always be edited (similar to WinBoard). It uses shell number 1. 8687(Number 0 is for all transient dialogs.) A save-changes button is added. 8688The positioning is not implemented yet. 8689 86902011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8691Refinements to generic popup and color picker 8692 8693*) The text part of a checkbox can now be clicked to toggle the option. 8694*) Typing <Enter> in single-line text edits is ignored 8695*) Using a spin button now sets focus to the affected text edit, with 8696the insert position at the end. 8697*) Using the sample field or an RGB button sets focus to the 8698corresponding text edit, with the insert position at the end. 8699*) The adjust buttons now work in reverse, with a D button for "darker". 8700*) Editing a color field causes the sample field to update to the new 8701color when you type <Enter>. 8702*) The color pickers now define a default color, which can be instated 8703by clicking on the sample field. 8704*) Fix some 64-bit pointer warnings 8705 87062011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8707Let file browser filter on extension 8708 8709A new text field is added in the file-browse dialog, to hold (space- 8710separated) extensions, on which the filenames are then filtered. This 8711field is initialized by the caller, depending on what we need the file 8712for, but can be changed by the user. (Directories are always displayed!) 8713 Changes in the extension field become effective after typing a return 8714in it. Escape typed in the extension field gives focus to the filename 8715field, and restores the contents. Escape in the filename field cancels 8716the dialog, return ther OKs it. The extension filter of the browser is 8717initialized to the extension (if any) of the file currently in the text 8718edit you are browsing for. 8719 When re-opening the file browser from the XBoard File menu, and there 8720is no suggested filename, it will now start with the last succesfully 8721opened name as suggestion. Calling the browser with a NULL argument 8722for the suggested filename requests that (unlike calling with an empty 8723string, which will start it in the current directory). To make this 8724work smoothly, the filebrowser saves the last used name on entry, so it 8725can be restored on cancel, so that a cancelled browse session really 8726erases all memory of it. 8727 87282011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8729Fix animation masks on changing piece pixmaps 8730 8731The animation masks were not remade when new pieces were loaded 8732interactively through the board-options dialog. 8733 87342011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8735Fix linegap option in board dialog 8736 8737The lineGC was not recalculated, so the grid lines stayed the same 8738thickness. In addition, setting the line-gap override to -1 now 8739retrieves the original line gap that belongs to the current board size. 8740 87412011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8742Make a kind of ICS text menu in XBoard as a dialog 8743 8744The dialog with buttons can be opened from the View menu. It is 8745configured by the option -icsMenu; a default setting for this is 8746included in the master settings file. 8747 The commands specified by the -icsMenu can now contain $name and $input 8748keywords, which will be replaced by the current primary selection, or 8749text the user types, respectively. Commands that contain $name will not 8750be sent when the current selection is empty. Commands that do not 8751contain $input will be sent to the ICS immediately; otherwise they will 8752be placed in the ICS Input Box, with the cursor at the point of the 8753$input, and input focus given to the Input Box, so the user can start 8754typing. When a command is prefixed by "$add " it will be appended to the 8755existing ICS Input Box contents, rather than replace it. 8756 The items now have to be separated by ";\n", and button text from 8757command by ';' (with optional linefeed). This allows configuring of 8758multi-line commands, as a single linefeed no longer has special 8759sigificance. 8760 87612011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8762Redo ICS input box with generic popup 8763 8764This box is just a single text edit, but the complexity is in the added 8765callbacks. These callbacks remain in xboard.c, and were altered to 8766access the edit through the option.handle field. 8767 87682011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8769Activate -path and -file options 8770 8771In XBoard the generic popup was prepared for this. In WinBoard, for 8772-path options the BrowseFolder routine is used, and had to be made 8773global (prototype in winboard.h). 8774 87752011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8776Let generic popup generate Engine Settings dialog 8777 8778 87792011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8780Merge SettingsPopUp into GenericPopUp 8781 8782Based on currentCps the values read from the dialog are sent to the 8783engine, or stored into the option.target in the callback, and fetched 8784from the option.target in the PopUp. The currentCps is cleared in the 8785generic popdown of a transient dialog. 8786 87872011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8788Make generic dialog popup reentrant 8789 8790To allow persistent dialogs to be implemented through the generic popup, 8791it must be possible to have several dialogs open at the same time, and 8792thus make sure the popdowns under the cacel or close-window button know 8793which one to pop down. To this end an array shells[] is created that 8794takes over the function of settingsShell, and GenericPopUp gets an extra 8795parameter telling it which element to use for storing the dialog shell. 8796This number is then also passed to the callbacks that trigger popdown. 8797This was a bit nasty for the CatchDeleteWindow stuff, which passes user 8798data to the callback as text strings. 8799Keep a separate up/down indicator, so that shell widgets can be kept 8800for persistent dialogs. Also keep a currentOption per dialog type. 8801 The coordinates and size of the window is read out and stored in a 8802WindowPlacement structure, (if one is specified for that dialog), when 8803the dialog is popped down. When initialized the structure is also used 8804to set the window parameters when the dialog is created. (The idea being 8805that the structure was saved in the settings file.) 8806 The routine MarkMenu checkmarks a given menu item, and logs it for the 8807given dialog type, so that a later popdown automatically unchecks is. 8808 88092011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8810Implement Machine Match menu item and options dialog 8811 8812An item to start a match from the menu is added, similar to what 8813WinBoard has. (The code is duplicated, so I guess it should be moved to 8814the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in 8815the Options menu was added with the aid of the generic popup, and allows 8816the user to set the load Game / Position File and Index. 8817 88182011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8819Create General-Options dialog 8820 8821The generic popup is used to implement a General-Options dialog, which 8822contains all Boolaen options that used to be set directly from the main 8823Options menu, plus a spin option for the flash count and flash rate. 8824The corresponing options are removed from the main Options menu, but the 8825whole thing is made conditional on a compiler switch OPTIONSDIALOG. 8826The dialog needs an OK callback for sending an altered ponder-state to 8827the engine. (Why isn't this option disabled in -ncp mode, btw?) 8828A spin control is added to adjust -animateSpeed between 5 and 100. 8829Add dropMenu and showTargetSquares item as well. 8830 88312011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8832Redo new-variant dialog with generic popup 8833 8834Some special code was added in GenericPopUp() to force buttons of the 8835type needed in the New Variant dialog (wide, colored, greyed-out on 8836variant type). The dialog was implemented with these, and callbacks for 8837the buttons directly exit the dialog, without the need for OK. New spin 8838controls are added to the dialog for adjusting the board format. 8839 88402011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8841Redo common-engine dialog with generic popup 8842 8843The ponder option was removed, as it is already in the main Options 8844menu, and would require nastiness in the OK callback. Added book options 8845in common-engine dialog. 8846 88472011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8848Redo adjudications dialog through generic popup 8849 8850We dropped the periodic-updates option, as it is already in the main 8851Option menu. 8852 88532011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8854Make sounds dialog for XBoard 8855 8856This uses the combo boxes. A 'play' button isimplemented for a test 8857sound. A sound directory is introduced, and can be set through the 8858dialog. A default setting for -soundDirectory is added to xboard.conf. 8859 88602011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8861Add ICS options dialog 8862 8863 88642011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8865Add board dialog XBoard 8866 8867The GenericPopUp() is used to implement a dialog for board options. The 8868board dialog needs to trigger redraw and redefinition of the 8869colors, through an OK callback. Color-pickers are used for the 6 basic 8870color settings. 8871 To allow changing board settings during the session (i.e. from a menu 8872dialog), the routines to allocate resources have to free the resources 8873for the previous settings first. This patch take care of XtCreateGCs(), 8874preventing re-creation of resources that are unchangeable (such as the 8875grid color), and calling XtReleastGC() on GCs that can be changed. 8876To prevent resource leaks the old pixmaps are deleted before making new 8877ones on second or later calls of CreateXPMPieces(). 8878 88792011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8880Add browse button to generic popup 8881 8882Options of type FileName and PathName cause a browse button to be added 8883behind the text field. The SpinCallback is used to handle the 8884button presses, and invokes the file browser dialog to obtain a 8885filename, which is then copied to the text field. 8886 88872011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8888Make generic XBoard popup, and implement 2 dialogs 8889 8890The Engine-Settings dialog of XBoard was cloned to work on predefined 8891lists of (XBoard) options, rather than engine options. An extra field 8892was added to the Option struct, to hold a pointer to the XBoard variable 8893that should hold the option setting, so on OK'ing the dialog the altered 8894values can be copied there. Not usable for options which should trigger 8895an action (like redraw, or sending something to the engine). 8896A Load Game, Save Game and ICS Options dialog were then defined by 8897tables fed to GenericPopUp(). Options set from these dialogs were removed 8898from the main Option menu, which removes a lot of code from xboard.c 8899(for checkmarking, disabling the menu items). 8900 A button defined in the GenericPopUp can attain the color indicated 8901by a previous text field, and add a callback to change the color in a 8902spin-like manner (but using R G B W in stead of + - butons). 8903The EndMark option can specify a callback, to be used on OK. 8904A non-zero max field in the Option descriptor will be used to set the 8905width of ComboBox, TextBox and Button optons. 8906The elements are chained such that extra space goes fully into the input 8907fields. A label type is added for clarifying texts that would not fit in 8908the option names. A break-type (pseudo-)option is added. Make OK and 8909cancel button suppressable in generic popup (by 2 bit of the option.min 8910field). 8911 89122011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8913Add file-browser option to just return name 8914 8915By passing mode "f" the file browser dialog will not open the selected 8916file at all, so it can be used to retreive the name for the benefit of a 8917file-browser button to a -file option. A mode "p" will limit the 8918selection to directories only, to browse for a path. 8919 89202011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 8921Put insertion point at end of text on SetFocus 8922 8923 89242011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>: 8925fixed 64 bit warnings by casting integers to intptr_t before casting to int 8926 8927 89282011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>: 8929removed check and #includes for malloc.h, since it's not needed 8930 8931hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;) 8932 89332011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>: 8934check if malloc.h is present before including it 8935 8936OS X 10.6 doesn't have malloc.h, so it complained. 8937 89382011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>: 8939Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file 8940 8941removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file 8942 89432011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8944Fix display of promotion piece in ICS superchess 8945 8946In Great Shatranj and Superchess promoted Pawns were displayed as shadow 8947piece because these variants had holdings, while captured pieces should 8948go back into the holdings unchanged, rather than reverted to Pawns. 8949 89502011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8951Fix o-o castling in new parser 8952 8953The non-compliant notation of castling with lower-case 'o' should be 8954preferred over the non-compliant interpretation of moving a Pawn along 8955the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for 8956castling! So an exception is now made for the o-file in the 'fxg' 8957case. 8958 89592011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8960Implement yynewstr entry point in new parser 8961 8962This entry point, used for parsing an ICS move list, was forgotten, and 8963was still an empty routine. This made XBoard crash when observing an ICS 8964game. 8965 89662011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>: 8967fixed wrong default for polyglotDir mentioned in docs. 8968 8969Thanks to Hans Aberg for reporting it. 8970 89712011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>: 8972Fix "make install" on Os X10.6.6 (removed a "/") 8973 8974seems like an extra "/" made "make install" unhappy 8975 89762011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>: 8977removed parser.l from build process, also removed flex dependency from configure 8978 8979 89802011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8981New parser, written in C 8982 8983A new parser was written to replace the flex-generated one. Immediate 8984improvements are that it understand double-digit rank numbers, and Shogi 8985coordinates. No changes were made in the Makefile yet to reflect the 8986new, flexless building procedure. 8987 89882011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8989Fix bugs in FRC castling rights 8990 8991When parsing a castling move in FRC when no rights existed, the parser 8992returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of 8993the absence of rights was not adapted to the new encoding NoRights in 8994stead of -1. 8995 89962011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 8997Fix parsing bug of FRC castling 8998 8999The code that was supposed to intercept castling when no rights existed 9000in FRC was not adapted to the new encoding for this by NoRights, rather 9001than -1, and furthermore returned 0 (= EndOfFile) rather than 9002ImpossibleMove. Not sure if the former would manifest itself in any 9003way, but the latter seems bad. 9004 90052011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9006Fix two bugs in reading position diagram 9007 9008When reading a game without FEN tag, a position diagram is used to set 9009the initial position. This calls CharToPiece() with a '.' as argument, 9010because that is the position-diagram way to indicate empty squares. 9011altered CharToPiece() over time this would be recognized as the first 9012undefined piece or, more recently, the first piece without nickName, 9013which is a white Pawn. Now it returns EmptySquare again in that case. 9014A second problem was that for position diagrams in braces the brace was 9015not in the list of ignored characters, and would cause the reading to 9016get out of phase, so that the side to move was not recognized. 9017 90182011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9019Fix flipBlack option XBoard with board texture 9020 9021In XBoard -flipBlack is implemented by swapping white and black pieces, 9022because the Shogi bitmaps from XShogi are made that way. But the mask 9023used to cut out the whole in the board texture to fit the piece was not 9024swapped, both when drawing static pieces, as well as during animation. 9025 90262011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9027Improve repairing damage of arrow highlight XBoard 9028 9029With line gap the highlight arrow necessitated redrawing of the entire 9030board, to repair damage on the grid. This interfered with flashing of 9031pieces, which was only done on selective redraws. In stead of forcing a 9032total repaint we now just redraw the grid lines. 9033 90342011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9035Fix unintended translation in debug file 9036 9037The words "first" and "second" (cps->which) were sometimes used in 9038context that should definitely not be translated. (e.g. the indicator 9039for which engine printed/got the line in the debug file.) So translation 9040is now deferred to all uses in popups. 9041 90422011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9043Fix nps bug 9044 9045The nps settingwas tested for being > 0 in stead of >=0, so that the 9046case of CPU time was not properly handled. 9047 90482011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>: 9049Added missing fclose() 9050 9051(tiny change) 9052Signed-off-by: Arun Persaud <apersaud@lbl.gov> 9053 90542011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>: 9055release of version 4.5.1 9056 90572011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>: 9058updated Changelog, NEWS, etc. 9059 90602011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9061Fix two typos in option names in texi file 9062 9063Polyglot was capitalyzed 9064 90652011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9066Fix some resource leaks 9067 9068Some files were opened not closed in XBoard, when loading XIM images 9069(which I doubt anyone ever does) but also when copying the clipboard 9070(which has the potential of being done very often). There was also some 9071code that would not work if conditional code which is permanently 9072disabled would be enabled. 9073 90742011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>: 9075new developer release 9076 90772011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>: 9078updated Changelog, NEWS, etc. 9079 90802011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9081Fix MSVC snprintf problem 9082 9083In MSVC snprintf has to be redefined as _snprintf, and this happens 9084conditionally in config.c. But the latter was not #included in help.c. 9085 90862011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>: 9087updated configure.ac to check for Xaw header files 9088 9089check for Xaw header files when --without-Xaw3d was given. Before the test was 9090only done when Xaw3d was specified, but could not be found. 9091 9092If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script. 9093 90942011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9095Fix ICS channel 0 9096 9097Channel 0 messages were not displayed in the console, because the test 9098for channel number considered every non-numeric or non-existent handle 9099in a chatbox to be zero. So the messages were diverted to a non-exsting 9100chatbox. Now it test first for the handle to start with a digit. 9101 91022011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9103Make language choice from menu persistent 9104 9105Set appData.language to the chosen language file, or empty if English is 9106chosen, so that the choice is saved with the settings. Increase the 9107number of possible language choices from 5 to 20. (After all, we already 9108have 7 now!) 9109 91102011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9111Fix showing of user move after adjudication 9112 9113The correction of the fishy patch (removing ShowMove() from Adjudicate()) 9114had broken the adjudication of user moves (that actually did work before 9115the fishy patch, because there the gobal fromX/Y and toX/Y do contain 9116the correct values for the move to be shown). An entered move that led 9117to adjudication (like a checkmate) now was not displayed at all. Adding 9118an extra ShowMove() after (successful) return of Adudicate() solves it. 9119 91202011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9121Fix Xiangqi King facing 9122 9123The Spartan patch had broken the CheckTest for Xiangqi, because cl.check 9124was cleared after the King-facing test, rather than before it. 9125 91262011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9127Fix variant janus size prefix 9128 9129The default board size of Janus Chess was not consistently taken to be 913010x8, which resulted the name to be sent as 10x8+0_janus to the engine. 9131 91322011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9133Fix Alfil bug 9134 9135The test for Alfil (suppressing single steps on the Elephant) contained 9136a wrong logical operator, so that it could never be active. It also 9137failed to include Xiangqi as variant with traditional Alfil. This led to 9138one-step moves of the Elephant in these variants, and false check or 9139unreliable mate detections. 9140 9141Fix move of Xiangqi Elephant 9142 91432011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>: 9144fixed configure script to correctly detect Xaw3d library 9145 9146 91472011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9148Fix unmarked translation 9149 9150The file-browser wndowtitle in WB was not marked for translation. 9151 91522011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9153Put warning in HTML help 9154 9155A warning is added that the help file is not yet updated for the new 9156menu organzation. 9157 91582011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9159Fix 64-bit Windows compilability 9160 9161The API interface for Set/GetWindowLong has been changed for 64-bit 9162Windows, both in the name of the call as in the arguments. 9163 91642011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9165Fix MSVC compilability 9166 9167Both the makefile and the project file had to be adapted for the new 9168source file history.c, and the new location of parser.c. 9169 91702011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>: 9171added missing #includes and missing prototypes to filebrowser 9172 9173thanks to Max Funk for reporting. Now using HAVE_DIRENT_H. 9174 9175Also cleaned up missing prototypes and some casts. 9176 91772011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>: 9178added missing header file for sprintf 9179 9180 91812011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>: 9182added history.c to the tar-ball. Needed for Winboard 9183 9184 91852011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9186Fix deselection of greyed-out variant button (WB) 9187 9188In Windows a disabled radiobutton refuses to deselect when you select 9189another (enabled) button from the group. There are then 2 buttons 9190checked, and the code to readout the buttons took the first one. Now it 9191is changed to take the first enabled one. 9192 91932011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>: 9194Revert "Implement -reset option feature in WinBoard" 9195 9196This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b. 9197 9198picked the wrong commit from HGM's git tree. 9199 92002011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>: 9201add DIFFSTAT and SHORTLOG to tar-ball 9202 9203was only in the v4.4.x branch and not in master 9204 92052011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>: 9206release of version 4.5.0 9207 92082011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>: 9209changed size of borders around squares from 0 to 1 as a default 9210 9211this way highlights show up again. 9212 92132011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9214Implement -reset option feature in WinBoard 9215 92162011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>: 9217updated Changelog, NEWS, etc. 9218 92192011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>: 9220updated parser.c form parser.l 9221 92222011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9223Clean up fishy patch 9224 9225None of the ShowMove() calls in Adjudicate() was working, because when 9226this code was taken out of HandleMachineMove() it was taken outside the 9227scope of the local fromX, fromY etc. there, so that it started using the 9228global variables from the mouse driver. As these usually contain -1, 9229this suppressed move animation and highlighting. All these calls have 9230now been removed, and ShowMove() is called after a positive return (from 9231HandleMachineMove(), so within the correct scope). 9232This improves the previous fix, which led to some flicker, because the 9233erroneous ShowMove() calls did draw the new board (instantly), wich in 9234the fishy patch was then immediately overwritten by the old position, to 9235start animation. This drawing of the old position is now no longer 9236needed either. 9237 92382011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9239Update RTF file 9240 9241The RTF file is adapted to the new menu organization. 9242 92432011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9244Update texi file 9245 9246The highlight-with-arrow and one-click-move menu items are described. 9247The highlightMoveWithArrow and variations option are described. 9248Load Next /Previous Position descriptions are moved to File menu. 9249The description for entering variations is updated (using Shift key). 9250The remark that editing holdings is impossible is removed. 9251Spartan Chess is added to the list of supported variants. 9252 92532011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>: 9254Updated copyright notice to 2011 9255 9256 92572011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9258Greyout unavailable variants in New Variant dialog 9259 9260The WB radio-button code is refactored to be driven from a list (which 9261must be kept in phase with the variant definitions in common.h!). It now 9262also checks if the first engine supports the variant, and greys out the 9263item if it isn't. XB now also makes this check. Slight re-ordering of 926410x8 variants there, to have the more common on top. 9265If no radio button is selected, keep old variant even on OK. 9266 92672011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9268Move clock-click code to back-end 9269 9270Some duplicated (or should-be-duplicated) code for handling clicks on 9271the clocks from the XBoard and WinBoard front-ends was merged and 9272relocated to the back-end, so it can be shared. Noticeable was that 9273XBoard allowed turn change in ICS examine mode by clock clicking, 9274while WinBoard did not. WB, on the other hand, allowed clock adjustment. 9275 92762011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9277Fix legality testing of drop moves 9278 9279Drops of noexistent pieces (i.e. with a piece indicator letter that is 9280not corresponding to any defined piece) are now parsed as 9281ImpossibleMove, rather than IllegalMove, so they are also rejected with 9282legality testing off. 9283 92842011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9285Fix WB Sound Options greyout and remove some grossness 9286 9287The sound and ICS Options menu items in WB were accessed 'by position', 9288with fixed defined positions (always messing up any reorganization of 9289the menus when you forgot to redefine the position constants in 9290winboard.h). And not only that, but for completely mysterious reasons, 9291the greying of the sound item greyed out the game-list options (above 9292it) in stead when it was defined as 9, and the ICS options (below it) 9293when it was 10 !!!. Now they are addressed 'by command' (and the 9294position definitions are removed), which fixes things. 9295 92962011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9297Re-instate load next/prev position menu items 9298 9299As positions do not use something similar to the game list, these are 9300still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work, 9301so I settled for Shift+PgUp/Dn. 9302 93032011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9304Remove superfluous copying of machine move 9305 9306There was explicit code in HandleMachineMove() and FinishMove() to put 9307the move in the moveList, while MakeMove() already does this later in a 9308more reliable way by calling CoordsToComputerAlgebraic(). This 9309superfluous code is removed now. 9310 93112011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9312Fix spurious mate test in Edit Game mode 9313 9314When entering a game, it was terminated by the mate test even when 9315legality checking was switched off (so that mates might not be reliably 9316recognized). The mate test is now made dependent on legality testing. 9317 93182011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9319Fix type-in of drop moves 9320 9321Drop moves entered through the move type-in already come in the (piece, 9322DROP_RANK, x, y) format, rather than having a holdings from square. This 9323caused UserMoveEvent to consider them illegal when testing if the 9324piecewas of the side to move, and when this was fixed, to recognize 9325Knight drops as coming from between board and holdings (and thus 9326illegal). 9327 93282011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9329Fix move type-in truncating game 9330 9331Starting a new variation by keeping Shift pressed did not work when 9332OK'ing the move type-in, because there was some code ther that truncated 9333the game. While this could be safely left to UserMoveEvent, which it 9334calls, as the situation is not different from entering moves through the 9335mouse. 9336 93372011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9338Fix legality testing for promotions 9339 9340Turns out WB has never tested for the legality of the chosen promotion 9341piece, and would allow promotion to King innorml chess even with 9342legality testing on (when entered through the keyboard)! Now strict 9343testing is done, outlawing Pawns and Kings (or Unicorns in 9344Knightmate). Only in suicide / giveaway Kings are stillallowed, and in 9345spartan a black King if you do not have two yet.(And promotion 9346toLnce,representing Hoplite Pawn,is forbidden there.) 9347 93482011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9349Reset 50-move counter on all pawn-like Lance moves 9350 9351Now the Lance represents a Pawn-like piece not only in variant fairy, 9352but anywhere outside Shogi / Superchess, its moves should also reset the 935350-move counter in those cases. Especially important for Spartan Chess, 9354where the Lance actually participates. 9355 93562011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9357Fix logo repainting 9358 9359The logos were not repainted when the main window was moved out of the 9360display area, and then back into view. The reason for this is 9361unknown, as the PaintProc calls HDCDrawPosition, which was calling 9362DrawLogoOnDC. But the logos were not drawn, (or on an expose event 9363sometimes half drawn!) despite the fact that the rest of the board was. 9364The drawing of logos now has been decoupled from drawing the board, 9365and has been moved to a separate routine DisplayLogos() (in analogy to 9366DisplayBothClocks()). This is cleaner anyway, as the logos usually do 9367not change when the board does. So apart from in PaintProc, it has only 9368to be called when the mode changes (ModeHighlight()) or on swap clocks. 9369This seems to fix the problem. 9370 93712011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9372Fix time in PGN info 9373 9374Saving of the thinking time in the PGN was broken by the patch that 9375removed the race condition in the clock switching, because that moved 9376the incrementing of forwardMostMove to behind the code that used fmm to 9377index pvInfoList. As a result the time was stored in the slot for the 9378opponent's previous move. The value is corrected now. 9379 93802011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9381Fishy fix 9382 9383The move that delivers checkmate in two-machines mode is not animated 9384when adjudication is on. There then also is no highlighting of this move 9385Redrawing the board and calling ShowMove fixes it. Which is rather 9386strange, because ShowMove was already called in Adjudicate (when it 9387adjudicates), before GameEnds. For reasons that are not understood this 9388call to ShowMove() (which calls AnimateMove()) is not effective. 9389 93902011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9391Reset machine colors after match 9392 9393The colors each engine playse are set to the originals after the last 9394match game, so that a new match or two-machines game will not have 9395swapped colors. 9396 93972011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9398Reset win/loss counters before match 9399 9400The win/loss counters were not reset, because the code counted on them 9401being initialized to zero. But with matches startable from the menu, 9402this is no longer true after the first match. 9403 94042011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9405Show move that causes false illegal-move claim 9406 9407Without claim testing XBoard takes back moves that an engine objects to. 9408But when the engine is forfeited for a false claim, the move should of 9409course stay. So the claim test is moved to before the take-back. 9410 94112011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9412Fix Spartan promotion to King 9413 9414Promotions toKing were refused when in check, because XBoard thought 9415they would not resolve the check. Now the promotion is actually 9416performed before doing the check test. 9417 94182011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9419Fix WB font-based piece rendering on variant switch 9420 9421The piece bitmaps were only created from the font characters when the 9422number of ranks or files changed, because it was done in 9423InitDrawingSizes(). This caused missing pieces when changing to a 9424variant on the same board that used other pieces. Now InitDrawingSizes() 9425is called for any variant switch. 9426 94272011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9428Fix right-alignment pproblem in WB ICS window 9429 9430Use of Ctrl-R to summon the context menu still trickled through to the 9431default text-edit window routine, and caused right-alignment. This was 9432because the text-edit reacts on keyDown rather than the character event. 9433KeyDown of R with Ctrl pressed is now also intercepted and ignored. 9434 94352011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9436Fix chat window title 9437 9438The title was using the engine name, rather than the ICS handle, which 9439did not work outside zippy mode. Now it only uses the engine name when 9440no ICS handle is known. The titleis now also subjected to translation. 9441 94422011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9443Fix spurious reading of old game title by JAWS 9444 9445Because focus was switched to the board window before loading the 9446selected game from the game list, the titlebar still contained the 9447name of the previously loaded game, which would spontaneously be read by 9448JAWS. Now the focus switch is done after loading the new game (which 9449updates the window title.) 9450 94512011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9452Add variant Spartan Chess 9453 9454In the WB menu it takes the place of the defunct Twilight Chess item. 9455The setup routine needed patching for setting up Lances in stead of 9456Pawns for black, the check test had to be adapted to handle duple check, 9457Alfil and Dragon moves were fine tuned in this variant to make the exact 9458moves, and the promotion popup was adapted to show King and interpret 9459Rook and Bishop as Dragon and Alfil for black. The Alfil now always 9460moves as Modern Elephant except in Shatranj and Courier. 9461 94622011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9463Fix mate test 9464 9465Due to a bug in logical operators drops were tried for mate evasions 9466even in non-drop games, which broke it in Superchess and Great Shatranj, 9467and wasted CPU time in other variants. 9468 94692011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9470Fix promotion suffixon disambiguated piece moves 9471 9472The promotion suffixon piecemoves that needed disambiguation was not 9473passedon to the back-end in most variants. Now it is passed on in any 9474variant. 9475 94762011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9477Fix promotion of Pawn-like Lance 9478 9479In variants where the Lance is used to represent an unorthodox Pawn, it 9480must promote when it reaches last rank. With legality testing on, 9481however, the promoChar was ignored in ApplyMove in this case. The 9482promotion suffix also was not appended in SAN moves. 9483 94842011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9485Fix WB promotion popup 9486 9487The promotion popup did not work properly in variants where black did 9488not use the pieces that white wanted to promote to. Now the character 9489for the selected piece is taken from the piece encodings of the side to 9490move. In addition, selection of undefined pieces is ignored. 9491 94922011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9493Fix bug in parsing variations 9494 9495The moves parsed from a variation were stored in the moveList without 9496appended linefeed. This caused errors if the variation extended to 9497beyond the end of the main line,into a hitherto unused part of the move 9498list, as the linefeed was then not there from the overwritten move. As a 9499result moves sent to the engine were concatenated, triggering 9500illegal-move messages and bringing the engine out of phase. 9501 95022011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9503Define Ctrl-R as right-click in WB Comment dialog 9504 9505To allow JAWS users to load a variation through the keyboard, Ctrl-R is 9506equated to a right click at the position of the caret or selection. 9507 95082011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9509Allow starting a variation from keyboard entry in WB-JAWS 9510 9511The status of the shift key is remembered when space is pressed to 9512select a board square. 9513 95142011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9515Disable some accelerators in JAWS version 9516 9517Single-key accelerators that could result in irreversible data loss are 9518undesirable, because the risk of accidentally pushing them is too large. 9519So the non-Alt duplicates of next/previous game/position are disabled, 9520as are Home and End for Revert and Truncate Game. JAWS users will have 9521to rely on the menus for those functions. 9522 95232011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9524Group engine-output memos with engine names 9525 9526The engine names are now defined just before the text edits, so that 9527JAWS 11 will read the engine name when the memo for the output of that 9528engine is selected. (JAWS 10 will still read the NPS, as it reads in 9529geometrical order.) 9530 95312011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9532Put nr CPU earlier in tab cycle of WB Common Engine dialog 9533 9534By defining the max CPU control after hash size, the tabbing steps 9535through the controls in geometrical (and logical) order, rather than 9536having the max CPU in between the book controls. 9537 95382010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9539Update WB language template file 9540 9541 95422010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9543Subject JAWS menu and spoken strings to translation 9544 9545 95462010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9547Let JAWS SayString buffer full sentence 9548 9549The meaning of the flag parameter of SayString was changed to indicate 9550buffering of flushing. On flushing a message of a single space is used 9551as a kludge to indicate interruptability. Calls to force flushing where 9552added everywhere. 9553 95542010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9555Adapt JAWS menu to new menu organization 9556 9557The menus did not correspondto the texts after translation of the main 9558menu bar. 9559 95602010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9561Translate menus after creation of JAWS menu 9562 9563 95642010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9565Fix ICS context menu for JAWS 9566 9567The Ctrl+R key did select text at the mouse pointer in stead of at the 9568curser, now that up and down-click were combined. 9569 95702010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9571Reorganize order of WB New Variant dialog controls 9572 9573The definitions are re-ordered so that at least JAWS 11 will speak the 9574board-size elements properly. 9575 95762010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9577Fix order of elements in WB time-control dialog 9578 9579Someleading texts were defined after the text edit they referred to,so 9580that JAWS 11 associated them to the wrong one. A tab stop was added to 9581the time-odds label, to make JAWS speak it. 9582 95832010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9584Change tabbing order in WB sounds dialog 9585 9586The 'Play' button now gets focus immediately after the controls for 9587selecting the sound, rather than at the end of the dialog (after OK). 9588 95892010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9590Remove tab stops on first radio button of WB dialogs 9591 9592The New Variant and Board dialogs had a tab stop on the first radio 9593button,so that tabbing toit would automatically select variant 9594normal or size tiny. Now it tabs straight to the current size, without 9595changing anything. (Important for JAWS users.) 9596 95972010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9598Put OK/Cancel last in tab cycle of some WB dialogs 9599 9600 96012010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9602Fix duplicate menu character for Edit Comment 9603 9604Edit Comment did have the same shortcut character as Copy Game. Changed 9605to m now. 9606 96072010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>: 9608fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory 9609 9610 96112010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>: 9612new developer release 9613 9614 96152010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9616Subject WB context menus to translation 9617 9618The innerloopof the menu translation has been made into a separate 9619routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to 9620better preserve menu breaks. Menu #10 is used for context menus (from 9621the routine that pops them up), and for this number the orignal texts 9622are not saved in menuText. (This is not needed, because the menu is 9623created everytime anew from the resource data.) 9624 96252010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9626Update translation template 9627 9628Add the new menu items; add some notes. 9629 96302010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9631Resize buttons in WB engine-settings dialog 9632 9633The OK and cancel buttons were to narrow for most translations, and were 9634a non-standard order as well. 9635 96362010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9637Add one-click move control to WB general-options dialog 9638 9639This is a duplicate of the one in the ICS options dialog, but the latter 9640is inaccessible in non-ICS modes, and one-click move is now 9641alsoavailable in engine mode. 9642 96432010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9644Create space in dialogs for translation 9645 9646The translated texts often did not fit, because controls were defined 9647needlessly small (when there was empty space between them). In these 9648cases they have been enlarged to consume all available space. Some 9649dialogs are made wider. 9650 96512010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9652Add handle for translator acknowledgement 9653 9654An empty string is printed in the about box, which can be 'translated' 9655to a message acknowledging the translator. 9656 96572010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9658Use default logo for user 9659 9660When no logo with the name of the current user is found, use dummy.bmp. 9661 96622010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>: 9663added rlwrap tip to FAQ 9664 9665 96662010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>: 9667replace hard coded paths with path from configure script 9668 9669use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path. 9670 96712010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>: 9672fixed a typo in the configure script output 9673 9674 96752010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>: 9676added a desktop file 9677 9678taken from the openSUSE project 9679 96802010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9681Fix Edit Game/Position checkmarking in WinBoard 9682 9683Because the entries in Edit and Mode menu were pure duplicats, the 9684entries in the wrong menu (Edit) were checkmarked while active. By 9685defining different IDs for those in the Edit menu, those in the Mode 9686menu are checkmarked again. 9687 96882010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9689Add XBoard menu items for arrow highlight and one-click move 9690 9691These items are put in the options menu; the 'Old Save Style' item is 9692removed. 9693 96942010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9695Provide menus for editing WinBoard engine and server lists 9696 9697The Edit Tags dialog in the WB front-end is adapted to act as a general 9698edit for string variables, by giving it an extra parameter to indicate 9699where to store the edited result. Menu items are added to invoke this 9700dialog for editing the /first, /secondChessProgramNames and /icsNames 9701options. This solves the problem that people would have to edit an ini 9702file that they can no longer locate (because the %APPDATA% folder has 9703different names and locations in the various Windows versions, and is 9704often a hidden folder on top of that). 9705There is a slight memory leak here, as the memory for the previous 9706value of the altered string option is not freed. 9707 97082010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9709Configure arrow highlighting as default in XBoard 9710 9711Set -highlightMoveWithArrow true in the xboard.conf file, and specify a 9712lineGap of 0 to make that efficient (and the wood theme even nicer). 9713 97142010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9715Port highlighting with arrow to XBoard 9716 9717Unfortuntely this duplicates a fair amount of code in the front end. 9718Removing the arrow is done by a total repaint if there is a non-zero 9719lineGap, because the clever algorithm for selective redrawing (based 9720on damage) that XBoard uses does not repair damage to the grid lines. 9721For lineGap=0, however, (for which the arrow is mainly intended) the 9722damage mechanism is used, and the damaged squares are determined by 9723tracing out the arrow in 64 steps, and marking all squares in the 9724neighborhood as damaged. 9725 97262010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9727Strip CR from xboard.c 9728 9729 97302010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9731Let user decide if he wants highlights in blindfold mode 9732 9733Remove the automaticsuppression ofhighlighting. 9734 97352010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9736Fix fag-fell marker with logos on 9737 9738The flag-fell marker "(!)" that is displayed in the clock in WinBoard in 9739two-machines mode was printed twice when the clock was split over two 9740lines (as with logos on). 9741 97422010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9743Also exempt variant seirawan from eval-scale doubling 9744 9745It is not really a drop game, so a scale from -7 to 7 in the eval graph 9746is good enough (like variants great and super). 9747 97482010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9749Configure EGTB cache size in adapterCommand 9750 9751The hash size, nr of CPUs and EGTB path are transferred through the WB 9752protocol interface commands memory, cores and egtpath. But there is no 9753WB command for detailing the EGTB cache size. So the value of the 9754command-line option -defaultCacheSizeEGTB has to be sent to Polyglot 9755through its startup command to make it known to UCI engines. 9756 97572010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9758Move Hint and Book items to Engine menu in XBoard 9759 9760 97612010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9762Correct the key bindings fo view menu in texi file 9763 9764The mentioned bindings for Game List and Eval Graph were wrong. 9765 97662010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9767Fix sub-variation display with negative score 9768 9769The test if the displayed score was the pvInfo score failed for negative 9770scores, because floats are truncated towards zero. So the previous fix 9771of spurious score/depth info was not working when the score was 9772negative. 9773 97742010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9775Peel PV out of comment 9776 9777Arena stores engine PVs not in variation format, but within both braces 9778and parentheses, before the score/depth info. This caused XBoard to 9779overlook the score/depth info, (frustrating, e.g., the eval graph), 9780while the PV would not be accessible for walking it as a variation. 9781The routine that extracts the score/depth from a comment now has 9782been made more clever, to recognize a leadin PV in the comment, and then 9783place it in front of the comment as variation (by moving the opening 9784brace to behind it). For some reason it does not work if the PV and 9785score/depth were separated by a newline, but this happens quite rarely. 9786 97872010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9788Allow line-straddling result comments 9789 9790Some GUIs (in particular Arena) do not have the decency to keep the 9791result comment on a single line. In this case the parser rules would not 9792recognize it, and treat it as a normal comment, plus an undetailed PGN 9793result. The rules are now fixed to allow linefeeds in the comment, and 9794between comment and PGN result. To correctly process the comment further 9795(e.g. in game-list lines) the linefeeds are replaced by spaces in the 9796back-end routines that do use the result comment. 9797 97982010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9799Write key bindings in XBoard menus 9800 9801Unfortunately tabs are not understood in menu texts, so fine-tuning 9802through spaces is necessary to get some sort of ragged alignment. 9803 98042010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9805Configure XBoard to use wood board texture by default 9806 9807The texture pixmaps are sought in /usr/share/games/xboard, with names 9808wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted 9809to put them there. XBoard is resitent to non-existence of the files, 9810btw. It simply ignores the arguments in that case. 9811 98122010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9813Configure -inc as volatile option in XBoard 9814 9815XBoard users are not used to options being persistent, and thus have 9816many scripts assuming the timeIncrement is -1 when they don't specify it 9817on the command line, and want to specify -mps. But a persistent -inc of 98180 fom a preious session would then force their -mps to zero, causing 9819big-time confusion. 9820 98212010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9822Make WinBoard clocks translation-proof 9823 9824With logos on, the splitting of the clock over two lines assumed the 9825lengths of the words "white" and "black" would always be 5. Used strlen. 9826 98272010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9828Improve drawing of highlight arrow 9829 9830A diagonal arrow sometimes had a notch in the shaft because of 9831independent rounding of the starting and ending point coordinates. 9832Furthermore the width of the shaft was unnecessary variable(as a 9833function of direction) because half the width was rounded and then used 9834twice. Now rounding of end-points is always done towards a fixed grid 9835of square centers, which keeps diagonals purely diagonal, and one side 9836of the shaft is drawn relative to the other side, after the 9837position of the latter has been rounded, so any rounding error affects 9838the shaft width only once. 9839 98402010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9841Alter descriptionof Analyze File menu item 9842 9843This menu item has been given a new function, so a new description was 9844needed. 9845 98462010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9847Add description of Game List Options in texi file 9848 9849 98502010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9851Update texi file for new menu organization 9852 9853The descriptions are shuffled around and organized into sections 9854corresponding to the new main menus. Where necessary the name of the 9855items was changed to their new names. The items removed from the File 9856menu (the next/previous/same stuff) are nowmoved to the section "other 9857shortcut keys", as the key bindings for some of them are still active. 9858 98592010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9860Update info on key bindings in texi file 9861 9862The texi file was still listing the old XBoard key bindings. Where 9863necessary this is now changed to the new (WinBoard) bindings, and all 9864the new bindings were added. 9865 98662010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9867Add XBoard key bindings for Revert and Truncate 9868 9869Use Home key as accelerator for Revert, End for Truncate, as in WinBoard. 9870 98712010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9872Divorce the Edit and Show Tags/Comment menu items 9873 9874In WinBoard the items in the Edit and View menu for Tags and Comment now 9875have different IDs, so they can be independently controlled. Only the 9876items in the View menu are check-marked. The items still do the same. 9877 98782010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9879Alter WinBoard menu text 9880 9881The texts are slightly adapted, mostly by choosing more convenient 9882tabbing characters for the new menu organization. The translation 9883template is updated accordingly. 9884 98852010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9886Let move-history window scroll to bottom after adding move 9887 9888By activating the scrollbar of the viewport through XtCallActionProc 9889the move-history window is scrolled to the bottom. 9890 98912010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9892Fix Shogi promotion popup 9893 9894The texts were adapted to shogi by printing new text items over the 9895Queen and Knight buttons, but these did not alwys cover it. Now the text 9896on the buttons is changed as it should be. Also the window title is 9897adapted. 9898 98992010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9900Apply gettext macros to menu texts 9901 9902Now texts and references are separated, the texts in the tables can be 9903decorated with the N_() macro, so that the _() macro no longer has to be 9904applied when they are used. (This makes the texts appear in the .po 9905files.) 9906 99072010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9908Adapt some XBoard menu texts 9909 9910The "Show" prefix is removed from the "View" menu items, as this seems 9911implied. An ellipsis is added to the Engine #N Settings items, which 9912could not be there before, because periods in a menu name would break 9913any reference to it. For some other names the ellipsis was deleted. 9914(These were not refered to, but who knows what we will do in the future.) 9915 99162010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9917Separate menu text from menu name in XBoard 9918 9919The text string in the menu-definition tables was used both for the menu 9920text, as well as for referencing the items from the code (for enabing or 9921checkmarking). Now these can be defined separately, so that altering the 9922menu texts is possible without breaing any references to the item. 9923(Moving them to another menu would still break XBoard, though!) 9924Currently the texts and names are still the same. 9925 99262010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9927Bugfix XBoard menu translation 9928 9929The gettext macro N_() was applied to the menu definition tables, but 9930this would break any translation, as these items are both used as menu 9931texts as well as reference for enabling and checkmarking. The routines 9932that create the menus already apply _() dynamically to these items when 9933they are used as menu texts. 9934 99352010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9936Restrict drops in variant seirawan to back rank 9937 9938Drops aren't really llowed at all in Seirawan Ches, but there exists an 9939engine that supports a variant where drops on the back-rank are allowed. 9940 99412010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9942Let Analyze File annotate the loaded game 9943 9944By not suppressing the auto-play loop in AnalyzeFle mode, we step 9945through the game while the engine is analyzing, and store the PV info 9946that the engine produces, as well as the full PV (as variation comment) 9947with each move. 9948 99492010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9950Revive Analyze File menu item in WB 9951 9952We will keep this menu after all, becase it can be given a new meaning. 9953 99542010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9955Fix spurious scores in comments 9956 9957The comment popup is also used to display engine PV info, but when the 9958contents of the window is written back when we select a variation, 9959it was treated as a real comment. This is fixed now by checing in 9960ReplaceComment() if the comment starts with the PV info, and if so, 9961ignore the latter. This solves the problem, but I guess the real bug is 9962that selecting a variation tries to write the comment even if it did not 9963change. 9964 99652010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9966Display error for wrong use of Machine Match 9967 9968 99692010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9970Reorganize XBoard menus 9971 9972 99732010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 9974Reorganize WinBoard menus 9975 9976New main menus Edit, View and Engine are added; the step menu 9977disappears. The menu items are redistributed over the new menus. 9978Sometimes duplicates are created. No adaptation of short-cut characters 9979as made yet (as this affects translation). 9980 99812010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>: 9982removed trailing whitespaces from NEWS 9983 9984 99852010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>: 9986merged readme_HGM.txt into the NEWS file 9987 9988seems 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. 9989 99902010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>: 9991typo in date of developer release 9992 9993but will leave the tagged version as it is, since it's still a unique version number 9994 99952010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>: 9996new developer release 9997 9998 99992010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>: 10000added latest version of parser.c 10001 10002 100032010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>: 10004updated Changelog, etc for developer release 10005 10006 100072010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>: 10008Revert "adding gnu-readline support" 10009 10010This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f. 10011 10012Conflicts: 10013 backend.c 10014 10015better to use the (relatively) new ICS input box then add readline support. 10016 100172010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>: 10018Revert "bugfix: fixed readline support with icslogon option" 10019 10020This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83. 10021 10022Conflicts: 10023 backend.c 10024 10025better to use the (relatively) new ICS input box then add readline support. 10026 100272010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10028Make Hoplite moves irreversible in Spartan Chess 10029 10030Consider Lance moves in variant Fairy (where the Lance represents the 10031Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter. 10032 100332010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10034Give Lance moves of Amazon in variant super 10035 10036Now that Lance is no longer a wild-card piece the moves of Amazon must 10037be programmed explicitly, to keep the possibbilty to play Superchess 10038with legality testing on. 10039 100402010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10041Change representation of Bede in variant fairy initial position 10042 10043This used to be Lance, but the promoted Bishop (Dragon Horse) 10044is more applicable. Especially now that Lance is supposed to move like a 10045Berolina Pawn. 10046 100472010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10048Make yyskipmoves also suppress examining of drop moves 10049 10050Not sure if this does any good, but it seemed illogical that this would 10051happen in all other moves, but not drops. 10052 100532010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10054Define moves for Dragon Horse outside Shogi 10055 10056Let it move like Bishop + Wazir + Dababba. 10057 100582010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10059Fix safety crash when appending comments 10060 10061The length limit imposed on safeStrCpy was one too short when copying 10062an existing comment to the space allocated for the longer (concatenated) 10063one. It allowed no space for the terminating '\0'. 10064 100652010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10066Fix safeStrCpy 10067 10068The test for when to terminate a non-fiting string was one off, and the 10069debug message was written stdoutin stead of debugFP. 10070 100712010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10072Fix default holdings size for variant seirawan 10073 10074The holdings for 7 pieces werealways considered an overrule, so that the 10075variant name was prefixed with "8x8+7_". 10076 100772010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10078Fix home-dir crash 10079 10080When confronted with a path name starting with ~ and not containing a / 10081XBoard would segfault. 10082 100832010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10084Fix one-click moving on up-click 10085 10086(First) up-clicks were not always ignored: in Edit-Game mode with 10087one-click moving enabled this could lead to a capture being made on 10088the down-click, and the recapture on the correspoding up-click. 10089This has now been corrected, and only the down-click of a first click 10090can lead to selecting a piece or a one-click move. 10091 100922010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>: 10093fixed buffer size for snprintf 10094 10095 100962010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10097Accept Seirawan-style gating suffixes 10098 10099The parser rules were extended to accept / as an equivalent of = in 10100promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H). 10101 101022010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10103Use Falcon and Alfil as built-ins for Seirawan chess 10104 10105Where available (size 49 and 72) we use Falcon for Archbishop and Alfil 10106for Chancelor, to better conform to the Seirawan names Hawk and Elephant. 10107 101082010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10109Implement entering gating moves with mouse 10110 10111A move with a back-rank piece that starts when a piece in the holdings 10112is selected will be interpreted as a gating move in variant seirawan. 10113The front-end uses a 'gatingPiece' selected this way todisplay it on the 10114from square during animate dragging. 10115 101162010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10117Implement variant seirawan 10118 10119Set upthe position, including Hawk and Elephant in holdings, in 10120InitPostion(). Suppress putting captured pieces in holding. Let 10121promoChar indicate gating in ApplyMove(). Remove gated pieces from 10122the holdings there. Let GenLegal() generate RxK-type castlings to act as 10123base for gating on Rook square. Gatings are tested for legality 10124based on the holdings content and whether they occur on the back 10125rank. Disambiguate() also tests this. Make sure the gated pieces are 10126printed as move suffixes in CoordsToAlgebraic(). 10127 101282010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10129Add -variant seirawan to menu 10130 10131 101322010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10133Fix acceptance of null-move with legality testing off 10134 10135A second click on the same piece was interpreted as a to-square rather 10136than deselection of the piece. 10137 101382010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10139Fix one-click bug 10140 10141Disambiguate was imagining captures, so an only capture by double 10142clicking your own piece did not always work. 10143 101442010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10145Fix mouse-driver buglet 10146 10147The highlights were not cleared on moves that went vertically off board. 10148 101492010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10150List some undocumented commands as compliant 10151 10152The engine->GUI commands setboard and setup are now always printed in 10153the debug file as well. 10154 101552010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10156List Hint with compliant commands 10157 10158This command was omitted, so that in some -engineDebugOutput modes it 10159would not appear in the debug file. 10160 101612010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10162Restrict use of escape expansion 10163 10164Only expand escape sequences like \n and \t in telluser(error) comamnds 10165that ask for it by preficing the messages by double backslash. Otherwise 10166backward copatiblity is too severely broken for messages that display 10167DOS-style filenames. 10168 101692010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10170Make safeStrCpy safe 10171 10172SafeStrCpy was causing a lot of out-of-bound write accesses, as it was 10173always writing the character at the length limit of the destination. 10174Now no memory is accessed that is is not needed to hold the copy. 10175 101762010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10177Allow clicked name internal to the icsMenu command string 10178 10179A command in the /icsMenu that was specified to contain the selected 10180text or clicked word always appended this word at the end. Now the user 10181can also configure it to appear in the middle, by putting a %s in the 10182command string where he wants it to appear. 10183 101842010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10185Let Engine #2 Settings start second engine 10186 10187If the second engine is not yet running, it would be impossible to use 10188the settings dialog for it, as the features have not been received and 10189the dialog will be empty. So the user could not adjust the engine 10190parameters before starting a match. Using this menu now automatically 10191starts the engine, and delays the appearence of the popup untill the 10192features are received, using a similar mechanism as in 10193TwoMachinesEventIfReady(). 10194 101952010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10196Newly lexed parser.c 10197 10198 101992010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10200Fix bug in parsing illegal Pawn captures 10201 10202When a pawn move of type exf5 was illegal, the parser made an attempt to 10203interpret it as e.p. capture of f5. This, however, messed up the move, 10204so that it was now permanently mistaken for e5xf6. Even in cases with 10205legality testing off, where you would want the original move to be 10206accepted despite the fact that it was illegal. 10207 102082010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10209Keep last PV while clearing engine-output display 10210 10211When ponder is on, the display is cleared immediately when the last line 10212of thinking output appears by the appearing ponder output. So you would 10213never get the chance to see it. This line is now re-written after 10214clearing, so it appears at the bottom of the output for the next search. 10215 102162010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10217Give Lance moves of Berolina Pawn 10218 10219In stead of using it as a wildcard piece, the Lance gets the moves of 10220the Berolina Pawn (straight capture, diagonal move). The initial double 10221osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan 10222Chess.) 10223 102242010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10225Use SAN even on illegal moves 10226 10227If there is only one piece of type T, moves like Ta1 or Txa1 are never 10228ambiguous, so adding the from square is just cumbersome. 10229 102302010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10231Use normal SAN for wildcard pieces 10232 10233SAN often can also be used with pieces we don't know the moves of, e.g. 10234if there is only one of that type. We just always get rank or file 10235disambiguators if there are more (even when they might be unnecessary). 10236 102372010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10238Fix some warnings 10239 10240Unused variables were removed from parser.l 10241 102422010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10243Allow arbitrary nesting of sub-variations in PGN input 10244 10245The parsing of subvariations is moved out of the state-machine parsing, 10246to allow arbitrary nesting. In stead of the entire sub-variation being 10247parsed by lex as Comment, it now returns Open and Close for the 10248corresponding parentheses, which are then handled in a wrapper routine 10249for yylex(): Myylex(). Problem was that yy_text is supposed to return 10250the entire parsed text of the returned symbol, which thus has to be 10251collected. To make this possible, yylex has to return everything that it 10252parses, (even white space!), and a symbol "Nothing" was added to return 10253in parsing rules that before just ate away irrelevant text without 10254returning anything. 10255 102562010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10257Implement setup (engine-GUI) command 10258 10259This allows the frst engine (when legality testing is off) to overrule 10260the default opening position, in reply to the variant command. Syntax is 10261"setup (PIECE_TO_CHAR_TABLE) FEN_STRING" 10262where the FEN string is interpreted in the context of the given 10263pieceToCharTable (which is optional, and only delimeted by parethesis if 10264it is present). 10265Sendng the position to the second engine is delayed until the first 10266engine has responded to the ping after the new-game sequence, to make 10267sure it gets the chance to alter the position before it is sent to the 10268second engine. This feature is useful for playing variants that WinBoard 10269does not even know the opening positon for, and can be used even if they 10270are shuffle variants. 10271 102722010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10273Restrict use of a2a3 kludge 10274 10275The kudge to send "a2a3" in stead of "black" to get black to move is 10276fatally flawed in varants that have no Pawn on a2. So in that case we 10277revert to use of the deprecated "black" command. 10278 102792010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10280Remember values set by -firstOptions, -secondOptions 10281 10282When an engine announces its option features, and the option name 10283matches that of a setting given in -first/secondOptions, the engine is 10284sent hte specified value, but this value was not remembered as current 10285value (but the latter was left at the engine-announced default), 10286leading to inconsistent behavior in the Engine #N Settings dialog. 10287 102882010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10289Make test for valid promotion piece color-dependent 10290 10291This is needed to make it work in variants where white and black have 10292different armies; quite likely white will promote to pieces that do not 10293exist in the black army, so we really have to make sure we test if the 10294white (upper-case) piece exists in this case. 10295 102962010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10297Remove validity test on promochar from parser 10298 10299The backend routines Disambiguate() and LegalityTest() will catch 10300invalid promotions, so no need to do it here. 10301 103022010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10303Add the actual size-33 Shogi bitmaps 10304 10305These were forgotten in the original commit that fixed the .rc file. 10306 103072010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10308Delete some stale promotion code 10309 10310The correction of the promotion piece to Ferz in Shatran-like variants 10311in ApplyMove() was no longer needed, as the new promotion code already 10312does this in the move parser. 10313 103142010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10315Augment moves of some fairy pieces 10316 10317To get better disambiguation in variants that have to be played with 10318legality testing off, the Elephant is given also one-step moves (making 10319it a so-called Modern Elephant) in -variant fairy and great. The Dragon 10320King (Crowned Rook), which had no moves defined for it outside Shogi at 10321all, has been given Rook moves plus an orthogonal 2-jump, so that it 10322can get SAN moves when used as Dababba or Short Rook. (Illegal moves 10323currently aways force long algebraic notation...) 10324 103252010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10326Bugfix safeStrCpy patch, WinBoard 10327 10328The use of sizeof on pointers was detected through the same method as 10329the previous patches, this time while compiling WinBoard. A typo in 10330jaws.c was fixed as well. 10331 103322010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10333Bugfix for safeStrCpy patch for XBoard 10334 10335By a trick (temporarily redefining safeStrCpy in common.h as 10336((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0) 10337could be generated for every occurrence where the size argument was equal 10338to 4, i.e. where the 1st argument was likely a pointer rather than an 10339array. These cases are now fixed. The file xoptions.c, which is the 10340only ne that does not #include common.h had to be fixed by making 10341the #define in the file itself. 10342 103432010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 10344Fix spurious promotions with legality testing off 10345 10346The recent promotion patch had broken playing without legality testing 10347completely: without legality testing one always gets the piece that was 10348asked for, but a NULLCHAR should not be taken as a request for a piece! 10349But it was, and this resulted in any moved piece turning into a white 10350Pawn! For true promotions the piece was always black, which was also not 10351very useful. 10352 10353Also revert to the use of '+' as internal Shogi promoChar, because 10354pre-processing turns out not to be possible when reading a game file. 10355In stead parse any trailing '+' on moves as promoChar. Downside: '++' 10356can no longer be recognized as checkmate symbol. 10357 103582010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10359Make deferral default in Shogi promotions 10360 10361Because '+' is intercepted by the parser as check indicator, Shogi moves 10362are pre-processed to change a trailing '+' into an internally used 10363alternative '^'. The testing if a promotion character is OK is now done 10364in LegalityTest() and Disambiguate(), which return ImpossibleMove when 10365the character does not correspond to any piece, and IllegalMove when in 10366Shogi anything other than '^' or '=' is used. (Except for the ICS 10367notations.) On output, in CoordsToComputerAlgebraic() and 10368CoordsToAlgebraic(), the '^' is translated back to '+'. 10369 103702010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10371Animate piece explosions in drag-drop moves and in XB 10372 10373This required some code restructuring: the decision if an explosion is 10374needed is now taken in a new routine Explode() in the backend. This then 10375calls the front-end driver, and it returns the info if there was an 10376explosion or not, so the caller (AnimateMove() or the mouse driver) can 10377take action to repair the damage to the board caused by the blast wave. 10378A front-end driver for XBoard is provided as well, so that both 10379click-click (and replay, which is the same) and drag-drop atomic 10380captures are animated in XB as well as WB. 10381Explosions on rejected moves are suppressed. 10382 103832010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10384Suppress promotion popup if piece will explode 10385 10386In atomic, a Pawn capture to last rank is not really a promotion. 10387Fix choice to Queen. 10388 103892010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10390Make Knight hop first straight, then diagonal 10391 10392It used to be the other way around, which looked pretty illogical in 10393Xiangqi: to see Horses, which are blockable pieces there, move over an 10394occupied square. 10395 103962010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10397Let -oneClickMove also work in EditGame mode 10398 10399There is really no reason why people that lke one-clcik moves enough to 10400switch them on would not want to use them too when editing a game. 10401This solves a nast inconsistency, as before it used to work in -ncp mode 10402on the _first_ move, as the mode is then BeginningOfGame, and not yet 10403EditGame, and we do want it to work for BeginningOfGame, as this is 10404also the game mode when you start playing as white. 10405 104062010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10407Make -flipBlack and -allWhite option volatile 10408 10409As these options are very Shogi specific, and the variant is volatile, 10410it seems logical to make them also volatile. Not completely sure about 10411-allWhite, though. It cold be useful if you want, for example, to play 10412wth dark-brown pieces for black, as any color but black looks much 10413better with outline pieces than with solid pieces. 10414 104152010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10416Provide some sample board-texture pixmaps 10417 10418Wood and marble themes are provided as textures for light and dark 10419squares, plus two complete Xiangqi boards (wood and evenly colored). 10420These should probably not goint the distro tar ball. 10421 104222010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10423The -overrideLineGap option is made to work in XBoard 10424 10425Although XBoard already allowed this in the -boardSize specification, 10426it is still seful to globally disable grid lines, e.g. for an 10427oriental Xiangqi board. And it converges XB and WB. 10428 104292010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10430Implement board textures in XBoard 10431 10432The -darkBackTextureFile and -liteBackTextureFile options now wrk in 10433XBoard too, for loading a pixmap that will be used to cut out the dark 10434and light square backgrounds. The cutting algorithm is such that the 10435pixmap image is completely restored if the size was that of the total 10436board (e.g. a drawing of a Xiangqi board). 10437 104382010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10439Complete WB (western) bitmaps for Shogi at size 33 10440 10441The Lance was not replacing Queen in some sizes where the bitmaps were 10442already available, and new bitmaps for the promotion Golds were added. 10443 104442010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10445Make starting new variation dependent on shift key 10446 10447The shift key is read during mouse events, and posted in a global 10448variable, which can then be used by the back-end. The decision to start 10449a new variation (pushing the game tail rather than clipping it off) when 10450entring a move in Edit Game or Analyze mode is made dependent on this. 10451The move-typein also records the shift-key state. 10452 104532010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10454Fix merging bug 10455 10456A %g format was used to print an int in sending the level command, 10457because decimal points were dropped when merging patches. Also an unused 10458variable was removed to suppress a warning. 10459 104602010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10461Add set of shogi pixmaps for XBoard 10462 10463The -size 64 pieces from gShogi (and originally XShogi) are made 10464suitable for loading by XBoard, through redefining the transparent 10465background color as either light or dark square color. These bitmaps are 10466not included in the XBoard build, and perhaps should not even be 10467included in the source distribution, but made available in a separate 10468distribution? 10469 104702010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10471Implement -flipBlack in XBoard 10472 10473When -flipBlack is true, the white and back piece pixmaps are swapped in 10474flipView. The idea is that the black pieces are upside-down versions of 10475the white (Shogi) pieces, so that swapping white and black in effect 10476turns all pieces upside down, which is what should happen in flipView. 10477 104782010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10479Disable some very verbose debug printing 10480 10481The internationalization seems debugged enough to do without them. 10482 104832010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10484Add option -variations to control variation-tree walking 10485 10486Just so that users can switch it off if the find it annoying. 10487 104882010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10489Allow full promotion suffixes on SAN piece moves 10490 10491This facilitates the parsing of (non-standard) Shogi moves in ICS 10492protocol. It can also be useful for Seirawan Chess, where a future 10493implementation of it can use promotion suffixes to indicate gating. 10494 104952010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10496Allow lower-case piece indicator in drop-move notation 10497 10498As it seems that XBoard also sends such moves in zippy play, it seems 10499more fair to recognize them from the engine as well. 10500 105012010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10502Fix bug in ICS variant switch for Shogi 10503 10504Because a test for 8x8 variants was done by <= VariantShogi, 10505rather than <, spurious move-list fetching occurred in Shogi. 10506 105072010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10508Fix WinBoard Lance bug 10509 10510The choice between Lance and Queen was made on appData.variant, in stead 10511of gameInfo.variant. Because of this it was not always up-to-date in ICS 10512games. 10513 105142010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10515Adapt WinBoard to Shogi implementation on Variant ICS 10516 10517The Variant ICS does not use the '+P' notation for promoted pieces, 10518neither in the board, nor in SAN, but simply indicates any Gold by 'G', 10519and uses 'H' and 'D' for +B and +R. The Shogi promotion code in 10520LegalityTest() and Disambiguate(), which are used in move Parsing, are 10521adapted to handle this. Deferred promotions sent to the ICS now use an 10522== suffix. 10523 105242010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10525Inherit promoted-info that ICS does not give from previous board 10526 10527The ICS does not tell us in Crazyhouse (or Shogi) if a piece is 10528primordial or a promoted pawn (or a promoted other piece). We now derive 10529this info from the previous board. The option -disguisePromotedPieces 10530controls this feature. 10531 105322010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10533Limit multi-session clock handling to non-ICS games 10534 10535In ICS games a time forfeit crashed XBoard, apparently because the 10536fullTimeControl string is not properly set when we try to use it to see 10537if a sudden-death session is indeed the last session. 10538 105392010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10540Change evalgraph scale in drop games 10541 10542Score swings tend to be much larger in Crazyhouse and Shogi, so the 10543vertical rangee in those games is doubled to (-14, 14). 10544 105452010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>: 10546bugfix: fixed readline support with icslogon option 10547 10548The icslogon option sends the login and password, so we don't need to handle 10549special cases for the readline buffer. 10550 105512010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>: 10552fixed some typos that were introduced during the sprintf->snprintf changes 10553 10554 105552010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10556Fix uninitialized variable in book code 10557 10558The variable ' power' was used uninitialized in case -bookVariation was 10559set to 0, which can be an error even if it was only multiplied by zero. 10560 105612010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10562Fix menu translation bug 10563 10564The menuText array was declared too small, so that the last entry of the 10565File menu got out of bounds and was overwritten by the first of the Mode 10566menu. 10567 105682010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10569Allow -timeIncrement to be a float 10570 10571The increment can now be fractional seconds. The printing in 10572ParseTimeControl() and SendTimeControl() is done with %g format, so that 10573for integer increment there is backward compatibility with the old level 10574command. 10575 105762010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>: 10577adding gnu-readline support 10578 10579should 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. 10580 105812010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>: 10582added warning if icsLogon file couldn't be opened 10583 10584 105852010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>: 10586security fix: replaced some strcat with strncat 10587 10588there is still more to do 10589 105902010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>: 10591add option for silent builds 10592 10593this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules. 10594It should still work for older automake versions too 10595 105962010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>: 10597bugfix: missing array index 10598 10599 106002010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>: 10601added new case for (Chessmove) 0 in common.h 10602 10603this cleans up a few more -Wall messages 10604 106052010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>: 10606cleaned up -Wall warnings (apart from settings some parentheses) 10607 10608removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis 10609 106102010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>: 10611sizedefaults has 9 members, the last line of the array (NULL) only set 7. 10612 10613 106142010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>: 10615security fix: replaced sprintf with snprintf 10616 10617replaced 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. 10618 106192010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>: 10620security fix: replaced strcpy with safeStrCpy from backend.c 10621 10622see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places. 10623 106242010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10625Enhance multi-session TC clock handling 10626 10627Some new TC types are introduced: Bronstein and free sessions. The 10628former is implemented by letting an exclamation point '!' in front of an 10629increment (in the -tc string) indicate that the increment is limited to 10630the time actually used on the previous move. The latter is an interval 10631of given duraton in which you can do any number of moves (even zero), 10632before the next session starts. This is needed for implementing Shogi 10633byoyomi-type TC, as a first session, followed by a session of fixed-time 10634per move. The latter can now be specified with the -tc argument as a 10635degenerate case of Bronstein, where the time on the clock is <= the 10636increment (so that it is never possible to think longer than the 10637increment). A TC of 5 min + 10 sec byoyomi can then be indicated as 10638300:10+!10. 10639 10640The sessions are now separated by ':' in stead of '+', and all times in 10641the TC string are converted to seconds first (in ParseTimeControl), so 10642the fullTCstring can now be directly used in a PGN tag. 10643 10644Note that this patch only addresses clock handling; the engine will not 10645be informed yet if the TC type or parameters change at the start of new 10646session! 10647 106482010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10649Remove promotion-piece encoding from ChessMove type 10650 10651The shizophrenic way to indcate promotion pieces in the XBoard code 10652(sometimes using a promoChar, at other times relying on moveType) was 10653cured by combining all promotion move types (such as WhitePromotionRook) 10654into a single one (WhitePromotion), and relying on promoChar to specify 10655the piece. This solves the problem of promoting to new piece types in 10656variants, which formerly also required addition of new move types. 10657 10658In Shogi the '+' character is now consistently used to indicate 10659promotions (and recognized in ApplyMove), rather than 'q' or 10660PieeToChar(BlackQueen), as the latter did not work in minivariants where 10661the Queen (representng the Lance) did not partcipate. 10662 106632010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10664Pass promoChar to SendMoveToICS 10665 10666SendMoveToICS was the only place where the promotion piece was derived 10667from moveType, rather than an explicity passed promoChar. 10668 106692010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10670Suppress spurious use of SAN castling in mini variants 10671 10672King moves from a central file to the king-side-castled position (1 10673square away from the right corner) were intercepted and printed as O-O 10674in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the 10675normal King move Kc1-d1 as well. The castling notation is now reserved 10676for King moves larger than one step. 10677 106782010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10679Make Shogi promotion zone board-size dependent 10680 10681In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which 10682would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's 10683Shogi (6x6), which are indeed what these variants need. 10684 106852010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10686Make board-size overrule options volatile 10687 10688The options -boardWidth, -boardHeight and -holdingSize were legacies 10689from the day choosing a variant would not automatically set a board 10690size. As a result they are seldomly used anymore. The first real 10691application is mini-Shogi (on 5x5 board), and it turned out very 10692annoying if the 5x5 settings persisted to the next session, where you 10693almost certainly want to play another variant. 10694 106952010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10696Strip DOS line endings from parser.l 10697 10698 106992010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10700Extend mate test to drop games 10701 10702MateTest() in case of no legal moves now also looks if there are legal 10703drops that can resolve the check. This provides reliable mate testing in 10704Crazyhouse and Shogi, so these are now made subject to adjudications too. 10705 107062010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10707Extend legality testing to drop moves 10708 10709LegalityTest() can nowbe called with (internal-format) drop moves, and 10710delegates their testing to a new routine LegalDrop(). This routine 10711performs the 'no-pawn-on-back-rank' test that used to be in 10712UserMoveTest (which now calls LegalityTest also for drop moves). 10713The more complex Shogi case is also handled (except for Pawn mate 10714drops) in LegalDrop(). 10715 107162010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10717Revert splitting of UserMoveEvent 10718 10719This splitting into UserMoveTest and FinishMove was no longer needed, 10720now that the new mouse driver no longer calls UserMoveTest to figure out 10721if a move is a promotion, and XBoard and WinBoard are unified in this 10722respect. It was counter-productive, because UserMoveTest was not able to 10723change the fromX, fromY (call-by-value) parameters for passing them to 10724FinishMove, so it had to defer the conversion of drop moves to internal 10725format to the latter, while it did not belong there. (Because 10726DropMenuEvent already delivers the moves in internal format.) This 10727whole kludgy construction was therefore abandoned, by going back 10728to the original 4.2.7 calling scheme, where UserMoveEvent completely 10729pre-processes the move, and when it is valid, calls FinishMove directly. 10730 107312010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10732Fix silent bug in drop moves 10733 10734In ApplyMove() the piece on the from square was accessed and used before 10735we tested for drop moves. As drop moves have off-board from-squares this 10736led to out-of-bound array access, which apparently was usually harmless. 10737 107382010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10739Allow parsing of upper-case machine moves 10740 10741Dubious patch, as it caters to non-compliancy. Some variant engines are 10742very non-compliant, though. 10743 107442010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10745Prevent transmission of spurious promo char to other engine 10746 10747The parser now strps off spurious promotion characters. 10748New move types "White/BlackNonPromotion" had to be introduced for this, 10749to indicate NormalMoves that could have been a promotion, to make sure 10750the '=' suffix of Shogi deferred promotions survives. 10751 107522010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>: 10753fixed internationalization for winboard 10754 10755in the original commit some files were forgotten. This should fix it. 10756 107572010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10758Fix JAWS bug saying side to move in ICS play 10759 10760This was done the wrong way around. 10761 107622010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10763Make WB run-time language switch possible from menu 10764 10765This is a rather involved patch that might not be worth it. It is 10766difficult, because translation of things that live forever is not easy 10767to invert (menus, the auxiliary windows). We hae to remember all 10768original, English texts there to be able to put them back,or 10769re-translate. Still does not fully work, although the menus and 10770temporary dialogs now are all OK. 10771 107722010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10773Update WB translation template 10774 10775The language.txt file now also contains all translatable strings from 10776the C source files, rather than jsut the resource. 10777 107782010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10779Update docs 10780 10781Add descriptions for machine-match menu support and enhanced book 10782control, nick-name options and language. 10783 107842010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10785Add some forgotten translation hooks 10786 10787The general-options, file-browse dialogs and the about box did not call 10788Translate() yet. Also translate contents of combo boxes. Some small bug 10789fixes. 10790 107912010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10792Do not translate game-end messages in PGN 10793 10794The messages themselves are not subjected to _(), but in stead their 10795displaying in DisplayMove is subjected to T_(). 10796 107972010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10798Internationalization for WinBoard 10799 10800A function Translate() was added, which uses a list of item dialogs, 10801reads their value, and replaces it by a translation (if available). It 10802also reads the window title and sets a translation. Calls to this 10803routine are added in the initialization code of every dialog callback. 10804In addition all translatable strings in the WnBoard front end are marked 10805by the gettext macro _(). Because WB is not gettexted yet, a hard 10806re-definition of this macro is added in each file using it, to the 10807string-translation routine T_() supplied in winboard.c. 10808Code to read the translation file, and translate the menu texts is added 10809in winboard.c. In backend.c the meaning of the gettet macros is 10810redefined for the WIN32 case. 10811 108122010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10813Make the ID of all WB dialog items unique 10814 10815Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to 10816replace tet at run-time for translation purposes, they need to be 10817addressed individually. So they were given new IDs, with symbols defined 10818for those. 10819 108202010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10821Mark XBoard result messages for internationalization 10822 10823The GNU gettext macro _() is used with the game-end messages. This might 10824be controversial, as they will appear in the PGN as well. But only as a 10825comment. We can always decide not to supply a translation. 10826 108272010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10828Do not exit after match when match started from menu 10829 10830The codelooks weird, but matchMode == 2 in this case. We then use 10831DisplayNote() to report the match result. 10832 108332010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10834Trivial-draws recognition improved in Xiangqi 10835 10836Now based on a routine "SufficientDefence". If both have it, it is draw. 10837 108382010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10839Update .dev files 10840 10841The relocation of parser.c and the addition of history.c was not yet 10842incorporated in the devcpp proect files. 10843 108442010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10845Fix some MSVC compile errors 10846 10847Some statements has moved up stream of declaratons, which is an error 10848that gcc is forgiving about, but where MSVC is strict. 10849 108502010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10851Improved patch for expansion of WB settings-file name 10852 10853The expansion of environment variables now allows multiple environment 10854variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini 10855and %APPDATA%\winboard.ini. 10856 108572010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10858Add -colorNickNames option 10859 10860This option allows non-standard designation of side to move in FENs. 10861(Useful for Xiangqi, where white is indicated often as r(ed), and Shogi, 10862where white is s(ente) or b(lack), and black is g(ote) or w(hite).) 10863Can also be used for FENs in a local language. A match of theinput 10864character with the nick name translates it to the standard; this means 10865the standard will continue to be recognized, unless it was defined as a 10866nick name. 10867 108682010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10869Tricked by the grossnes 10870 10871Some WB menu items were referenced by a hard number. As items had been 10872added over the years, the wrong menu items were grayed. In particular 10873the Options -> Adjudication menu was grayed out, in -ncp mode, where 10874this was intended for the Sounds dialog. This accidentally proved 10875useful, until we started to apply adjudictions also to the Human moves. 10876Then it was suddenly undesirable, and a small mystery why it happened at 10877all, when I tried to change it. The numbers are now corrected to the new 10878locatons of the items in the menus. 10879 108802010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10881Allow match to be started from WB menu 10882 10883A menu item Machine Match was added in the Mode menu to switch to 10884matchMode. A persistent option /defaultMatchGames determines the number 10885of games. A control was added to the Options -> Common Engine dialog to 10886set this option. 10887 108882010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10889Add some book-control options 10890 10891Options /bookDepth and /bookVariation have been added to control the use 10892of the GUI book. In WinBoard the Optons -> Common Engine dialog now 10893contains fields to set them. 10894 108952010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>: 10896new developer release 10897 10898 108992010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10900Repair exit-popup deadlock patch 10901 10902Relocating the exit popup call had made it lose access to the message it 10903should print, because it was declared only in an inner code block, by 10904the same name: buf[]. Deleting the inner declaration fixes it. 10905 109062010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10907Fix erors when compiling with --disable-zippy 10908 10909The file args.h contained a codeblock in #ifdef ZIPPY, in stead of 10910fields. 10911 109122010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10913Fix zippy handling of draw offers from ICS 10914 10915The patch by DM to fix the problem introduced by the coloration of 10916zippy-matched commands (namely that the coloration code beat the zippy 10917draw recognition to it, and ate the draw offer away) was only targeting 10918ICC. The new fix should work on any ICS (by using the same pattern in 10919zippy as in the colorization code). 10920 109212010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10922Fix regression in colorization of zippy-matched commands 10923 10924The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so 10925that in XBoard no coloration would take place of ICS commands that were 10926matched by zippy. (It was using &i as input pointer, rather than &backup. 10927The XBoard-specific code now has been deleted completely, to remove a 10928seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB 10929now use the XBoard method, to only match zippy commands when logged in. 10930 109312010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10932Suggest default file name in browser dialog 10933 10934The argument 'def' to FileNamePopUp() was not passed through to the new 10935file-browser routine, which got NULL in stead, and thus started with an 10936empty input field. 10937 109382010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10939Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI 10940 10941Because the %s expansion of WB options in the /fcp and /scp lines only 10942works for options that contain 'first' or 'second', and /fUCI thus did 10943not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to 10944install UCI engines. (The latter option should be deprecated really; 10945the UCI-ness of the engines is a volatile option, so it makes no sense 10946to supply a way to set them both to false or true. One only needs to be 10947able to set it to the non-default state.) 10948 109492010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10950Add string option /pieceNickNames 10951 10952This (volatile) option allows definition of alternate letters for the 10953pieces, which will be recognized next to the standard symbols as given 10954in the /pieceToCharTable on input. (Output always uses the standard.) 10955This can be useful for reading PGN from another language, or 10956non-compliant FENs (e.g. using B and N for E and H in Xiangqi). 10957 The format of the argument is the same as for /pieceToCharTable. 10958Because the nickNames are consulted before the standard table, it is 10959possible to redefine a standard name as a nick for another piece. 10960 109612010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10962Fix deadlock in match-result display 10963 10964At the end of a match, GameEnds() was recursively calling itself, 10965through DisplayFatalError() and ExitEvent(), and the latter was then 10966delaying until the calling GameEnds() terminated. (Which it would of 10967course never do before ExitEvent returned; fortunately there was a tim 10968limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.) 10969 Now the calling of DisplayFatalError() (to show the result popup) is 10970delayed until after GameEnds completes (and resets the anti-recursion 10971flag 'endingGame'), so that it is simply executed a second time, unaware 10972of the earlier call. But this second time it does not do anything, 10973because the gameMode ws set to EndOfGame the first time, and the writing 10974of the PGN is blocked by the checksum being still the same. 10975 109762010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10977Fix WinBoard game-list title 10978 10979Number of displayed games and WDL stats were always appended to the 10980existing title, leading to an ever-growing title in the game-list 10981window. Now the old actual title is ignored, and the starts is appended 10982to the original title "Game List". (In the future we could use the 10983filename here?) 10984 10985In addition, the title was not updated when re-opening the game-list 10986window, while the stats could change if filtering was active when the 10987window was closed. (In that case the filter is cleared on re-opening, so 10988the number of displayed games changes.) Now a title-update (after 10989recalculating the stats) is done every time the game-list window is 10990opened. 10991 109922010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 10993Refactoring of material-draws adjudication code 10994 10995Insufficient mating material is now determined per side individually, by 10996testing for MatingPotential of each side. If both lack mating potential 10997the game is adjudicated as draw (if the -materialDraws option is set). 10998 10999This way MatingPotential() can later also be used to correct losses by 11000forfeit to draws (which currently is only done when the opponent has a 11001bare King). 11002 11003The accuracy of this type of adjudication in Xiangqi has been highly 11004improved. 11005 110062010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11007Fix bug in sending cores command to engine 11008 11009The cores command was alwas sent to the engine(s) when the user changed 11010it through the menu, even when the engine had sent feature smp=0 (which 11011is default anyway). NewSettingEvent() was patched to send the new 11012setting conditionally, based on the engine properties as recorded in 11013ChessProgramStates first, second; In this particular case it now 11014consults cps->maxCores. (Note the code for testing the second engine 11015contains some dirty pointer arithmetic.) 11016 110172010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11018Fix oneClickMove bug 11019 11020When checking for unique captures, no attention was payed to the option 11021setting, so the capture was also made when the option was off. 11022 110232010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11024Remove duplicate testing for cores feature 11025 11026The testing for this BooleanFeature occurred twice. 11027 110282010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11029Remove misspelled prototype 11030 11031NewSettingEvent occurred, next to the correct one, in misspelled form. 11032 110332010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11034Fix parsing of SAN shogi promotions 11035 11036A missing promotion character defaults to promotion in the move type, 11037but the promotion character was not set when this happened in variant 11038shogi. And it is especially important there, as the promotion character 11039'+' will always be missing, as the parser will take it to be a 'check' 11040symbol, and strip it from the move. 11041 110422010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11043Fix variant switch on PGN loading 11044 11045When the PGN specified an essentially different variant, the 11046piece bitmaps were not properly adapted, because the switch was done by 11047calling InitPosition(), rather than Reset(). (The latter would destroy 11048the PGN tags info.) We now added an explicit call to ResetFrontEnd(), 11049(which is normally done from Reset()). 11050 110512010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11052Adjudicate Xiangqi material draws with Advisor-less Cannons 11053 11054Used the Queen counter for counting Cannons. Note that material draws 11055with stale Pawns (i.e. on the back rank) are not yet adjudicated. 11056 110572010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11058Remove font settings from master settings file 11059 11060xboard.conf should not contain general font settings (not specific to 11061one board size) with specified point size. In fact it should not even 11062specify sizable fonts, as the new system would make specification of a 11063general font overrule the size-specific settings in the .xboardrc file, 11064so the persistence of fonts would be completely broken. 11065 110662010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11067Cut board squares out of texture bitmap more cleverly 11068 11069When the bitmap is larger than the entire board, the squares are now cut 11070out of the center of the virtual squares from subdividing the bitmap, so 11071that they stay centered on the grid of a Xiangqi board bitmap. If the 11072board size exceeds that of the bitmap, the old algorithm is still used, 11073as the centering would make the edge squares exceed the bitmap, and 11074cause a black rim around the board. 11075 110762010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11077Allow -flipBlack to work with font-based piece rendering 11078 11079In addition the font-based pieces will also be flipped vertically in 11080flipView for variant shogi when -flipBlack is off. 11081 110822010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11083Allow font-based piece rendering in board sizes below petite 11084 11085At least for variants that use unorthodox pieces, so that switching back 11086to using bitmaps is not really an option anyway. 11087 110882010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11089Ignore checks in 50-move count for Xiangqi 11090 11091Both checks and evasions are discounted; this is only done after the 11092naive counting exceeds the maximum, so during most of the game it causes 11093no CPU load. 11094 110952010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>: 11096removed some garbage from configure.ac that got added a while ago 11097 11098 110992010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>: 11100Remove unnecessary double equals from configure.ac. 11101 11102 111032010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11104Fix e.p. bug in xiangqi with -serverMoves option 11105 11106Sideway Pawn moves were written as e.p. captures in the file with moves, 11107which led to disappearence of pieces in the viewer. 11108 111092010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11110Repair score printing with -serverMoves option 11111 11112A previous patch had moved MakeMove to before the update of pvInfoList, 11113so that the score/depth info would not appear in the file with moves. 11114 111152010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11116Repair animate dragging 11117 11118The previous patch had left a stray semicolon in the mouse handler. 11119 111202010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11121Fix game end during dragging 11122 11123The stale-first-click fix interfered with proper handling of a piece 11124being dragged when a game suddenly ended (because of opponent resign, 11125or caling the flag), because up-clicks when the from-square was reset 11126were completely ignored. Now such an 'unmatched' upclick calls 11127DragPieceEnd() and redraws the board. 11128 111292010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11130Pop down old tags on loadng new game in WinBoard 11131 11132ResetFrontEnd(), called from Reset(), did not do this in WinBoard 11133(unlike XBoard), so that the tags from the previous game were left on 11134display when -autoDisplayTags was off. 11135 111362010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11137Reverse mousewheel action 11138 11139Apparently WinBoard was stepping in the opposite direction through the 11140game in reaction to the mousewheel as every other GUI in existence. 11141 111422010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11143Fix bug in sending "usermove" when forcing book moves 11144 11145The keyword "usermove" was copied to the buffer, but not sent before it 11146was overwritten by the actual book move. 11147 111482010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11149Fix engine stall on perpetual-check evasion 11150 11151The adjudication code had already put the engine in force mode after 11152postponing the actual adjudication to the next move. Now first determine 11153if we want to adjudicate now, and with which result, before stopping the 11154engine and ending the game. 11155 111562010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11157Let move parser return ImpossibleMove for off-board moves 11158 11159It used to return 0, which interfered with buiding a game list. This 11160broke reading of multi-game PGN files containing games in a variant with 11161a board size larger than that of the currenty active variant. 11162 111632010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11164Alter XBoard key bindings to mimic WinBoard 11165 11166A lot of new bindings were added, and four menuProcs had to be registered 11167to be able to add bindings to them. The use of the control key as 11168temporary take-back for the last move conflicted with the use of Ctrl 11169keystrokes, and this function was migrated to '.'. The iconify function 11170had no shortcut in WinBoard, but to get rid of letter bindings it was 11171migrated to '-'. 11172 111732010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11174Update README file 11175 11176 111772010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11178Fix typos in html help file 11179 11180 111812010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11182Fix JAWS piece drop cursor, and streamline some sentences 11183 11184The cursor square was reset to a1 after every use of the piece menu, 11185which was very inconvenient. Some of the spoken sentences have been 11186improved; the square is read before the piece now, when using the arrow 11187keys on the board. 11188 111892010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11190Allow escape sequences in telluser(error) messages 11191 11192The routine EscapeExpand was moved to backend.c, and applied to the 11193message received from the engine. 11194 111952010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11196Allow lower-case promochar in moves of type h8=Q 11197 11198Updated the parser rules. Other move formats already allowed this. 11199 112002010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11201Fix Alt+M JAWS command in Two-Machines mode 11202 11203The command refused to read the ast move because it contained thinking 11204output of the other engine. Let it pay attention to evenIfDuplicate. 11205 112062010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11207Fix rep-draw recognition 11208 11209The refactoring had broken the rep-draw recognition, by adding and extra 11210condition in a conditional with side effects. The testing of this extra 11211condition is now moved to after the side effect. 11212 112132010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11214Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~ 11215 11216Only a single variable at the beginning of the file name is recognized, 11217and the matching is not fool proof (it matches across backslashes). 11218 112192010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>: 11220Fix info lines being used as normal thinking output 11221 11222The new standard of using thinking output with time = nodes = score = 0 11223as info messages for printing in the Engine-Output window was not 11224understood everywhere, and led to such info lines being used for 11225autoKibitzing and PGN annotation. The programStats are now only updated 11226from thinking output received from an engine when it is not an info line. 11227 112282010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>: 11229new developer release 11230 11231 112322010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11233Suppress background observe for boards with own game number 11234 11235This is really a work-around for an ICS bug. The Variant-ICS sent the 11236initial board of a game in a move list with relation = 0, which means 11237'observed'. So XBoard was thinking it was observing its own game, and 11238switched to dual board. It seems harmless to suppress such a switch for 11239all boards of your own game, however, which is now done. 11240 112412010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11242Fix crash on switching to ICS xiangqi game 11243 11244The oldBoard was a local variable, and only squares of the old board 11245were initialized. This led to a crash if the copied board was enlarged, 11246and then displayed. The variable is now declared static, so the 11247uninitialized squares contain harmless zeros. 11248 112492010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11250Let Chat Boxes pop up above console, rather than on top of it 11251 11252Use EnsureOnScreen() to have them overlap if there was no room. 11253 112542010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11255Fix disabling of Chat Box navigation buttons 11256 11257The buttons for non-open boxes were enabed, rather than disabled. 11258 112592010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11260Prevent <Esc> closing chat box 11261 11262Let it in stead switch focus back to the console window. 11263 112642010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11265Let WinBoard recognize ~ in settings file name as HOMEPATH 11266 11267Fetch the appropriate environment variable to build the mathname in 11268MySearchPath() whenever the file name starts with "~\". 11269 112702010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11271Change name of Global Settings menu item to Common Engine Settings 11272 11273The old name confused ICS users, as this is an engine-only dialog. 11274 112752010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11276Update WinBoard RTF docs 11277 11278 112792010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11280Update WinBoard html help 11281 11282 112832010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11284Allow adjustment of clocks in any mode with shift+click 11285 11286In practice changing to edit-game mode during a game was very 11287cumbersome. In WinBoard shift+click is now offered as an alternative. 11288Make sure a right-click in the clock area is not also counted for other 11289purposes. 11290 112912010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11292Allow loading of PGN variations in XBoard 11293 11294Right-clicking variation comments in the comment-window was implemented 11295through a translation. The right button is now bound to routines that 11296set both the end and start of the selection, as setting a new start does 11297not seem to work if the previous select-start was not completed by a 11298select-end or extend-end. Finally the main handler uses the selection 11299cursors to know what was clicked. 11300 113012010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11302Update XBoard docs 11303 11304Added a descripton of the new ICS options (seek graph, back-ground 11305observe) and menus (Upload) to the texi file. Also added a description 11306of the variation (Annotate menu item and PGN variation comments) and PV 11307walking (clicking engine-output). Describe the -shuffleOpenings option. 11308 113092010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11310Paint highlights on dual board (WB) 11311 11312The highlight info is hidden in the partner board to pass it to the 11313front-end. 11314 113152010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11316Fix handling username change during game 11317 11318The title bar and gameInfo (going into the PGN) were not adapted when 11319the username was changed through the menu, so that the change became 11320only effective on the next game. Requires SetGameInfo to be called from 11321the front-end, and thus a prototype for it in backend.c. 11322 113232010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11324Fix window-position upset on failing engine start in WinBoard 11325 11326The main window was only positoned according to the settings-file data 11327after the engine was started up from InitBackend2(), so that if the 11328latter gave a fatal error, and Save Settings on Exit was on, a wrong 11329position for the main window would be saved. The call to InitBackend2() 11330is now moved until after setting the main-window position. 11331 113322010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11333Display PV from Engine-Output window (XBoard) 11334 11335Translations are added to bind button 3 to the PV walk for the memo 11336widgets, and the corresponding handlers are ported from wengineoutput.c. 11337 113382010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11339Set keyboard focus at startup to board window 11340 11341This makes XBoard sensitive to the keybindings also when the cursor is 11342outside the board window. This focus seems to persist indefinitely: each 11343time the board window gets selected, the key bindings become activem 11344wherever the mouse pointer is. Downside: the mouse pointer is no longer 11345an arrow outside the board window, but becomes a text-insert tool there. 11346 113472010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>: 11348added logo files for xboard 11349 11350logos are installed in the hicolor theme [1] using $datadir as the basedir. 11351Added both png and svg logo. 11352 11353[1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html 11354 113552010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11356Remake programVersion string after receiving engine features 11357 11358The engine could have sent a more accurate version of its own name 11359than the one derived from the exe filename in a myname feature, and we 11360better use that in the programVersion string, which will be sent as 11361interface name to the ICS. 11362 113632010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>: 11364Revert "Repair settings-file name" 11365 11366This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85. 11367 113682010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11369Add -autokibitz checkbox to UCI-options menu dialog 11370 11371 113722010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11373Also capture (numeric) whispers of players for -autoKibitz 11374 11375 113762010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11377Add kibitzes and c-shouts Chat Box 11378 11379A box dedicated to c-shouts will snatch any c-shout before it is 11380diverted to a normal shouts box. The kibitzes box can capture the 11381left-overs of -autoKibitz, if the latter is active. 11382 113832010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11384Mark non-compliant lines of engine in debug file 11385 11386The option -engineDebugOutput is extended to accept value 3 for printing 11387a cear indication of non-compliancy in the debug file. 11388 113892010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11390Redraw second board on expose events 11391 11392The -dualBoard option now does refresh the second board after another 11393window uncovers it. To acheive this, some data structures remembering 11394what is displayed had to be duplicated. (lastBoard and damage for XB, 11395lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.) 11396WinBoard now uses clipping also for second board. This required the 11397clips for the destination to be translated horizontally! 11398 113992010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11400Print seconds with 2 digits in backgroundObserve status line 11401 11402 114032010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11404Do not recognize non-ICS variants from PGN event tag 11405 11406These variants were introduced after supporting the variant tag, so if 11407the variant tag is missing, their recognition from the event tag will be 11408a false match. (Mainly to prevent events with 'super' in the name being 11409recognized as Superchess.) 11410 114112010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11412Fix display of uninitialized boards in background observe 11413 11414A variable partnerBoardValid is cleared on starting our own game, and 11415set when a board from the background game comes in during it. At the end 11416of our own game, a valid partner board now is put in the display. 11417 114182010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11419Add option Display Logo in WB general-options menu 11420 11421Changing the option requires InitDrawingSizes to be called for 11422re-formatting the board window. Switching it off requires clearing of 11423the cps->programLogo fields to take effect immediately. Switching it on 11424only takes effect the next session, as we will need some refactoring to 11425redo the figuring out what logos to display. 11426 114272010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11428Group Chat Boxes with console in stead of board window 11429 11430They now open and close with the console, which seems more natural, and 11431prevents the console from covering them. 11432 114332010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11434Put new options in WB ICS-options dialog 11435 11436The Seek-Graph, background-observe and Chat-Box options are added to the 11437ICS options dialog. They only control the appData settings, there are no 11438special actions yet on switching the settings. 11439 114402010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11441Create space in WinBoard ICS-options dialog 11442 11443 114442010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11445Use side-by-side boards to display background game 11446 11447A game observed in the background (i.e. if -backgroundObserve true) will 11448be displayed right of the normal board in the same window if the new 11449(persistent) Boolean option -dualBoard is also set. 11450Very flakey hack, especially in XBoard, where clocks and messsage 11451field all get the wrong width (and resist adjustment in the strangest 11452ways). The clocks of the partner game are not yet displayed, and 11453disaster happens when the background and foreground games do not have 11454the same board format. 11455 114562010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11457Repair background-observe patch 11458 11459Apparently a commit was lost that I collapsed with 3018a6 while the 11460latter was already pushed to savannah. Here I recreated this commit from 11461a diff between the respective commits in the savannah & nubati gits. 11462 114632010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11464Repair settings-file name 11465 11466The default name is put back to /etc/xboard/xboard.conf, so that XBoard 11467can again find its settings file. "make install" will still install it 11468in the wrong place. 11469 114702010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>: 11471new developer release 11472 11473 114742010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>: 11475fixed compiler warning for file-browser code 11476 11477missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now. 11478 114792010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11480Put newly opened Chat Box on top 11481 11482Dialogs always pop up in front, so set the onTop variable that prevents 11483highighting the button to navigate to it from other Chat Boxes 11484to reflect that a newly opened Chat Box is in view. 11485 114862010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11487Fix copying of kibitzed info in Engine-Output window 11488 11489Make sure all lines end with "\r\n" to not lose line breaks on 11490copy-paste from the memo. (XBoard would strip those again.) 11491 114922010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11493Allow walking a kibitzed PV 11494 11495If no tabs are found in te 'thinking output' we assume it is a captured 11496kibitz message, and look for "PV=" to locate the start of a PV in it. 11497Also try to include any continuation lines below the selected line. 11498 114992010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11500Insert autoKibitz continuation lines at end of line 11501 11502In the engine-output window lines that start with the ICS continuation 11503sequence "\ " are inserted behind the line they belong to, in stead of 11504at the top. This required keeping thrack of the length of the currently 11505active line in OutputKibitz(). 11506 115072010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11508Don't disturb background observe when receiving new piece 11509 11510When new holdings are sent when the background game is displayed, we now 11511ignore this, as presumably we are peeking at our partners game, and thus 11512should be well aware of what is captured there. 11513 115142010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11515Newly lexed parser in XBoard directory 11516 11517 115182010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11519Let yy_text determine progress of PV parsing 11520 11521The parsed unit yy_text was not available after ParseOneMove(), because 11522the buffer switch in yylexstr() apparently destroys it. To solve that, 11523yylexstr() now is equiped with an extra buffer argument, where it copies 11524yy_text before the switch, so the caller, ParsePV(), can see what was 11525parsed in yy_textstr. This is used to update the PV pointer, but also to 11526save any parsed comments (when ParsePV is used for parsing a PGN variation). 11527 115282010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11529Support playing through PGN variation comments 11530 11531Right-clicking a variation line in the comment dialog will shelve the 11532current variation, and parse the comment to replace it. This uses 11533ParsePV() in an alternative way, for which the latter had to be 11534enhanced: it was made resistent to move numbers and comments inside 11535the PV. It now has an argument to indicate if such comments should be 11536stored with the moves. The Comment Popup is closed on revert, to 11537make sure no comments to moves that are destroyed, containing 11538variations on a non-valid line, can keep hanging around. 11539 115402010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11541Add Annotate item in Step menu 11542 11543This does the same as Revert, except that it adds the destroyed 11544variation as comment to the original movem in PGN variation format. 11545RevertEvent now has an argument to indicate if it should add the 11546comment, or not. Comments in the abandoned variation are included in the 11547varriation command to the main line. (The exact layout of the variation 11548comment that results leaves still to be desired.) 11549 115502010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11551Add option -shuffleOpenings 11552 11553This volatile option is added just to make the existing variable 11554available from the command line, not only from the menus. 11555 115562010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11557Let the sounds sound on receiving a message in a Chat Box 11558 11559Use Colorize() to the applicable color to trigger the sound, and then 11560restore the original color as 'continuation', to do it silently. 11561 115622010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11563Allow WB Chat Box to be dedicated to shouts and 'it' 11564 11565By putting 'shouts' in the handle field, a chat window will capture all 11566shouts and c-shouts, and send messages typed into it as shouts. 11567The bracketing of the shouter name now indicates the type of shout. 11568The handle for WHISPER Chat Boxes has been changed to 'whispers', to 11569make it easier to pop them up by clicking the console. 11570 115712010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11572Add -chatBoxes option to open Chat Boxes at startup 11573 11574This string option contains a semicolon-separated list of handles for 11575which Chat Boxes should be opened at startup. The value saved in the ini 11576file is the value that was read, not the actual chat boxes that were 11577open at the time of saving. 11578 115792010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11580Make Chat Windows pseudo-tabbed 11581 11582By adding buttons in every Chat Box to navigate directly to every other 11583Chat Box, a stacked set of Chat Windows behaves like a single tabbed 11584window, but can still be unstacked. The buttons turn grey to warn that 11585new text appeared in hidden boxes (i.e. not the one last brought to top). 11586 115872010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11588Allow arrow keys in WB Chat Box to access command history 11589 11590The history is shared between al boxes and the ICS console. 11591 115922010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11593Make WB Chat Boxes wrap and handle URLs 11594 11595Cloned the code for the console text field to hande URL. (Initialization 11596to recogize the link, and notifiction to open it when clicked.) 11597Removed the ES_AUTOHSCROLL style from the RichEdit in the resource. 11598 115992010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11600Fix copying of WB Chat Window contents 11601 11602All line breks were lost on copy-pasting the contents of a chat window. 11603Adding CR to each outputted line in the front-end (wchat.c) solves this. 11604(Tell messages sent to a handle (which are not echoed by the ICS, and 11605thus have to copied to the chat box directly) also need CR!) 11606 116072010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11608Add upload of game to ICS for examining 11609 11610New item "Upload to Examin" in Action menu, calls UploadGameEvent(). 11611Use SAN moves to upload game to ICS, rather than long algebraic 11612(The ICS did not understand long-algebraic promotion moves) 11613Use bsetup within examine to set position onFICS, and also variant. 11614Castling rights do not work yet for FRC. Totally different set of 11615commands are needed on FICS and ICC. 11616 FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the 11617besetup command that specifies the variant. XBoard variant names are 11618used, except for fischerandom, which is 'fr'. Things like nocastle will 11619probably still not work. 11620 116212010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11622Handle display of PV that starts with other move than played 11623 11624Insert the retraction of the played move, without premove highlighting. 11625 116262010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11627Bugfix smart capture 11628 11629Disambiguate was changed to make sure that for ambiguous moves, a 11630capture would always prevail in the closure, rather than the last move 11631that happened to be generated. Before, double-clicking a piece would 11632sometimes plsy a non-capture. 11633 116342010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11635Fix XB crash on giving keyboard focus to non-text widget 11636 11637In the Engine-Settings dialog SetFocus() could be called for non-text 11638widgets, and this made XawTextSetInsertionPoint() croak. Setting the 11639insertion point to the end in SetFocus() was a bad ide anyway, as it 11640interfered with copying from the engine-output window, which would 11641uncontrollably scroll on getting focus. It is solved now by setting the 11642insertion point already on creation of the text widgets. 11643 116442010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11645Seek-Graph bugfix: disappearing output in ICS console 11646 11647Suppression of output to the cosole was handled fundamentally wrong: it 11648was not enough to set next_out to after the unit that should be 11649suppressed, as there can be a backlog in printing of previous units that 11650came in the same packet. So this has to be flushed first, or it will be 11651lost. -autoKibitz probably got away with that, because it comes in a 11652separate packet. But seek ads are often suffixed to other output, and 11653then that output disappeared! Now we flush everywhere before suppressing. 11654We now totally rely on the prompt to restart the printing, so that 11655acknowledgements following the echo of the sent message are also 11656suppressed. Also suppress LF before diverted chat messages. 11657 Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of 11658a "* (*): " pattern in tell messages, because of a missing continue. 11659 116602010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11661Pop up ICS text menu with default item under mouse pointer 11662 11663The menu popup is migrated to the down-click (was up-click), so the 11664up-click can select the item. Some trickery is needed to fool the menu 11665into thinking that the mouse moved, so that a moveless up-down click in 11666the ICS text field selects the default item (the upper-right one). 11667Also allow dummy item in ICS text menu: The command "none" in the ICS 11668text menu will now be treated as a grayed-out (disabled) entry, so it 11669can be defined in the position underthe mouse pointer to prevent the 11670up-click from doing anything, while keeping the menu open. Recommended 11671for use with an entry of spaces. 11672 116732010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11674Allow ICS context menu to pop up a Chat Box on clicking handle 11675 11676A command "chat" defined in the WinBoard icsMenu string will cause 11677ChatPopUp() to be called when it is clicked, with the clicked handle 11678(name) in the ChatPartner field, and focus on the input field. 11679ChatPopUp() had to get a parameter (the handle) to make this possible. 11680If that parameter is NULL (as when it is called from the Mode menu), 11681focus will still start on the (empty) ChatPartner field of the box. 11682 116832010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11684Fix right-edge spillover of Seek-Graph dots in WinBoard 11685 11686Rescale the X-axis to allow margin for dot size and color offset. 11687 116882010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11689Interface XBoard to GhostView file-browser dialog 11690 11691Note: The Ghostview dialog was using some deprecated variables for error 11692printing, and conditionally used getwd() on some systems that presumably 11693do not have getcwd(), but it did not assess the latter properly. 11694 116952010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11696Allow recalling history in ICS input box with arrow keys 11697 11698By adding translations for the Up and Down keys, and stealing some code 11699from winboard.c. Still needs some refactoring to move the duplicate code 11700to the back-end. 11701 117022010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11703Start insertion point at end of text edits in XB dialogs 11704 11705The function SetFocus now uses XawTextSetInsertionPoint to position the 11706end of the string it aready contains, rather than at the beginning. 11707 117082010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11709Capture holdings of background observed game 11710 11711 117122010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11713Match handles with multiple titles for channel Chat Boxes 11714 11715Only handles with at most one suffixed 'title', such as (U), (C), (IM) 11716or (TD), followed by the parenthesized channel number, were recognized, 11717so tells by people with more titles always went to the ICS console window. 11718Patterns are added to recognize handles with upto three such qualifiers. 11719 117202010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11721Do not pop down Seek Graph on on-dot click 11722 11723Leave the graph up, and let the incoming board of a started game cause 11724the pop-down. This in case the clicked ad is no longer vailable, or 11725manuay refused, and fails to start a game. 11726 117272010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11728Observe a game in the background while playing 11729 11730A new (persistent) option -backgroundObserve true|false is added. When 11731set, observed boards received while playing a game will not trigger a 11732game switch, but will be ignored except for storing in a dedicated board 11733buffer. Pressing the right mouse button will cause the board to be 11734displayed, until we release it. Time, strength and stm are always 11735displayed in the message window. 11736 117372010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11738Remove race condition in clock switching 11739 11740The move number is now incremented inside SwitchClock, when no timer 11741interrupt is scheduled, so the interrupt cannot occur at the wrong side 11742of the increment, and decrement the wrong clock. 11743 117442010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11745Let second click on piece make only capture, with -oneClickMove 11746 11747Normally this would clear the highlighting of that piece. 11748Required new field in DisambiguateClosure to count nr of captures. 11749 117502010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11751Bugfix stale first-click 11752 11753When the opponent resigned after the user had cicked a from-square, 11754clicking the from-square for the first move in the next game would 11755produce an "illegal move" message, because it was considered a to-click! 11756We now set fromX and fromY to invalid in GameEnds(). 11757Should we also reset them on mode changes? 11758 117592010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11760Add promotions and e.p. to oneClickMove 11761 11762For e.p. the to-Square of the Pawn has to be clicked. Promotions are 11763always to Queen when you click the to-square, but use the promotion 11764pop-up when you click the from-square. 11765 117662010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11767Fix error that compiler does not notice 11768 11769Boolean GLT_GetFromList did not return a value. But no error on Ubuntu! 11770 117712010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>: 11772new developer release 11773 11774 117752010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>: 11776updated year in copyright info 11777 11778 117792010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11780One-click moves 11781 11782Playing on ICS or against engine, clicking a square from or to which 11783only a single move can be made causes the move to be done, when the new 11784option -oneClickMove is set to true. 11785 117862010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11787Use squares for computer seek ads 11788 11789Shape indication passed in sign bit of color (char) variable. 11790 117912010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11792Use right mouse button to view seek ads 11793 11794Right down-click does the same as left down-click, right up-click 11795simulates a left up-click off board (so it misses all dots). 11796 11797Use right-click miss to refresh Seek Graph 11798 11799The 'moving' parameter had to be made into an int for this, to indicate 11800right clicks with code 2. Right press now already pushes the clicked ad 11801to the back, so that the up-click will display an underlying one. 11802 11803Bugfix pushing back seek ads on right-click 11804 11805On a right button press the previous in stead of currently hit ad was 11806receiving the penalty. 11807 11808Indicate seek-ad multiplicity 11809 11810If more than one seek ad is inside the capture range of the mouse 11811pointer, an exclamation point is printed before the seek-ad text. 11812 11813Some fixes to make seek-ad suppression work in WinBoard 11814 11815In WinBoard the z-depth was immediately erased by redrawing the graph; 11816the clearing of zlist had to be moved from PlotSeekAd() to AddAd() 11817(where it really belongs). Also aging of z-depth is now suppressed on 11818mere pointer motion. 11819 118202010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11821Dynamic Seek Graph 11822 11823The new option -autoRefresh sets FICS and ICC to report removal of seek 11824ads, and then removes those from the Seek Graph. New seek ads are added 11825to the graph, as soon as the ICS reports them. 11826 118272010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11828Implement SeekGraph in XBoard 11829 11830For now only controlled by left mouse clicks on board. New options 11831-seekGraph true|false and -sg to switch this feature on. 11832 11833Facilitate selection of coinciding seek ads 11834 11835Seek-ads that are viewed but not answered get a distance penalty on the 11836up-click that makes their selection more difficult next time, so that 11837the ad they covered gets a (better) change. The penalty ages away in the 11838course of 5 clicks. 11839 11840Slightly offset Seek-Graph dots of different color 11841 11842Dots of different color are now displaced horizontally be 3 pixels, to 11843prevent them from completely covering each other. (Required the axis 11844labels to be moved a little too, to not be covered by the 1-min ads.) 11845 11846Auto-show seek-ad texts in WinBoard 11847 11848Hovering the mouse above a Seek-Graph dot will make the text belonging 11849to it appear in the message field without the need to press a button. 11850Required SeekGraphClick() to be called from the WB mouse event handler, 11851with an extra argument 'moving' to make the distinction with a real 11852click. 11853 11854Show seek-ad text on mouse hovering (XBoard) 11855 11856The Eventproc is also set to trigger on PointerMotion, and this event 11857then calls SeekGraphClick with motion=true to handle it. 11858 11859Put poetic name of wilds in seek-ad text 11860 11861Use XBoard variant names, except for 'loadable' and 'fischerandom' 11862(becomes 'setup' and 'chess960'), but leave number (to distinguish wilds 11863that transate to same XBoard variant). 11864 118652010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11866Fix highlighting bug in XBoard 11867 11868The from-square was drawn before the to-square was erased, which led to 11869a missing highlight line if they shared an edge or corner. 11870 118712010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11872Shorten autoKibitz confirmation on FICS 11873 11874Strip off the "players)", but leave the separatng space. 11875 118762010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11877Repair damage to -autoKibitz done by FICS atomic zippy claim 11878 11879The sending of -autoKibitz info was also moved back in that patch, but 11880unfortunately to after clearing of the programStats info. Now the 11881clearing has been moved also, to remain after it. 11882 118832010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11884Send continuation lines to chat box they belong to 11885 11886The variable savingComment is used as a kludge to remember where the 11887comment should go (i.e. which chatbox, or elsewhere), so that when a 11888continuation line is matched, chatPartner (which was reset at EOL) can 11889be restored to its original value. Also put space after handle of talker 11890in channel Chat Windows 11891 118922010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11893Fix u64 format for cygwin 11894 11895With a -mno-cygwin compile %llu and %lld are definitely not understood 11896by scanf and printf, although they are by the compiler. In stead, %I64u 11897seems to work. Put it in under control of a switch USE_I64, which is 11898defined only in the gcc makefile when MINGW is used. 11899 119002010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11901Remove stray dot from WinBoard makefiles 11902 11903There was a period suffixed to config.h in the wgamelist.o dependency. 11904 119052010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11906Fix bug in display of logos 11907 11908The logo continued to be drawn after a boardSize change to a tinyLayout 11909size, although there was no space reserved for it. Fixed by explicitly 11910resetting logoHeight when no logo space is reserved in InitDrawingSizes(). 11911 119122010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11913Right-click refactoring: step III 11914 11915Let WinBoard call RightClick in back-end, and delete the duplicate code 11916it had for this, after rescuing the front-end bits, and let the letter 11917act depending on the result returned by RightClick. 11918 119192010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11920Right-click refactoring: step II 11921 11922Migrate the Right-click routine to the back-end. Let it communicate back 11923square coordinates through pointer arguments, to accomodate their 11924different naming in XBoard and WinBoard. Template added in frontend.h. 11925 119262010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11927Right-click refactoring, step I 11928 11929Divorce front-end part from back-end part of PieceMenuPopup in XBoard 11930front-end, and forge the back-end part into a new routine RightClick. 11931The right up-click in XBoard, which called unLoadPV() directly, now 11932calls RightClick through PieceMenuPopUp(). 11933 119342010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11935Merge gamelistopt sources into gamelist source files 11936 11937The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c 11938and gamelist.c, respectively. The WB front-end for the dialog already 11939resided in winboard.c, so there was little need to move it to wgameist.c 11940file. Makefiles adapted accordingly. Unsuitable key bindings were 11941removed. The low-level front-end prototypes are now defined in in 11942frontend.h. 11943 119442010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11945Game-List options dialog for XBoard 11946 11947A dialog similar to that of WinBoard was cloned from the game-list 11948window. The XBoard front-end is in a separate file xgamelistopt.c, 11949which in fact implements most of the low-level front-end as back-end. 11950 119512010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11952Refactoring of game-list-options dialog 11953 11954The back-end part is separated off, and moved to a file gamelistopt.c. 11955Front-end for now stays in winboard.c. No prototypes in frontend.h yet. 11956 119572010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11958Fix of ancient WB bug: test integer option values for validity 11959 11960Only a string of digits preceded by an optional sign is accepted now. 11961Before, any string was accepted, and leaving out a value could lead to 11962the next option being ignored (if it did not need a value) because it 11963was considered the value for the previous one! 11964 119652010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11966Fix bug in edit-position of holdings 11967 11968The holdings were effectivelly taken one too large, so that a promoted 11969shogi Pawn moved to, or created in the holdings was not demoted to Pawn, 11970but put in the dark (which you could see by the holding count if you did 11971it twice). The overflow tests in these two cases now have been corrected. 11972 119732010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11974Save fonts in XBoard settings file per boardSize 11975 11976Each -boardSize now can have its own font specified in the settings file 11977(and thus by a command-line option, although it would in general not be 11978very useful to specify a font for a size other than the selected). E.g. 11979a prefix "size33:" to the font name will apply it only to -size 33. 11980An unspecified-size font option (not normally in the settings file) will 11981always prevail over a font option specific for the current size. 11982A font of some size must have been used or specified in order to be 11983saved. 11984 119852010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11986Fix width of filter field in XBoard GameList 11987 11988An empirical dependence of the width of this text edit on the square 11989size now makes for an acceptable layout at any board size. 11990 119912010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11992Use FICS atomic draw claim for sending move in zippy mode 11993 11994For this the relaying of the move had to be moved until after the 11995adjudication, which again has to be done after MakeMove(), which is a 11996bit dubious, as MakeMove might take significant time when animating. 11997 119982010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 11999Send FICS atomic claim to ICS if move creates draw after offer 12000 12001The FICS format "draw MOVE" is used to send the move to the ICS when 12002the user enters a move that adjudicates as a claimable draw, and he 12003offered a draw before the move. For the benefit of ICS that do not 12004understand this format, the plain move is sent afterwards. 12005 120062010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12007Also allow user to claim by offering draw before his move 12008 12009Use the existing userOfferedDraw variable to test for such offers in 12010Adjudicate(). 12011 120122010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12013Also adjudicate after user move 12014 12015Call Adjudicate() in FinishMove(). 12016 120172010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12018Refactoring of adjudication code 12019 12020Put all the rule-based (as opposed to score-based) adjudications in a 12021separate routine, so they can also be called on user moves. This 12022requires sending the drawing move to the opponent engine to be made 12023conditional on existence of the latter. Execution of the code is no 12024longer dependent on the condition TwoMachinesPlay, but actual game 12025terminations are now all restricted by an alternative condition (no ICS 12026mode). 12027 120282010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12029Use -keepAlive option to determine connection health 12030 12031When there has been no ICS response since the previous 'ping', assume we 12032are disconnected and do a fatal-error exit. Also auto-start the ping 12033process in InitBackend3(). 12034 120352010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12036Use arrow keys in XBoard GameList for entry selection 12037 12038Add translations for arrows and home/end, to call LoadSelectedProc with 12039argument to indicate the step, and let the latter perform the action. 12040 120412010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12042Allow <Enter> to apply filter in XB GameList filter edit 12043 12044Apply a translation to intercept the <Enter> key. Set focus back to the 12045list display afterwards. 12046 120472010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12048Accept <Enter> for changing chat partner 12049 12050A kludge stolen from Alessandro's GameList filter allowed to let the 12051typing of <Enter> while updating the chat-partner field of the WinBoard 12052chat windows to act as pressing the Change button. Gives focus to the 12053input field of the window afterwards. 12054 120552010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12056Move duplicat gamelist code to backend 12057 12058The filtering routines are moved from xgamelist.c and wgamelist.c to 12059gamelist.c, and a prototype for them is placed in backend.h. 12060 120612010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12062Port game-list filtering to XBoard 12063 12064Added a text edit and apply button to the XBoard game-list dialog, and 12065only have it print those lines that match the filter. Translate index in 12066list to index of game in file when a game is selected, and index in file 12067to index in list when a line is highlighted. Duplicates some code 12068between xgamelist.c and wgamelist.c, which should be moved to back-end. 12069 120702010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12071Convert to DOS line endings 12072 12073For easier understanding of upcoming diffs of winboard.c 12074 120752010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12076Refactoring of move-history code 12077 12078The WinBoard code in whistory.c was split in a front-end part (remaining 12079in whistory.c) and a back-end part (now in history.c in the xboard 12080directory). This to allow easy porting to other platforms. 12081 120822010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12083Add fixed-time/move button in XBoard time-control dialog 12084 12085Put the TC-type buttons in a radio-group, and highlight the selected mode. 12086 120872010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12088Fix bug in XBoard PV display 12089 12090The PV was unloaded on anything but a button release, in stead of the 12091other way around. 12092 120932010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>: 12094fixed hardcoded location of config file for xboard 12095 12096the location should now follow sysconfdir during the configuration process. 12097Also added some more output to the configure script. 12098 120992010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>: 12100new developer release 12101 12102 121032010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>: 12104fixed Makefile.am to handle config file correctly 12105 12106 121072010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12108Change opening array -variant fairy 12109 12110We now use the position of "Chess with Different Armies", FIDE army vs. 12111a fantasy army (inspired on the Color-bound Clobberers) as opening 12112position. 12113 121142010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12115Add variant Makruk 12116 12117Thai Chess, played by 2 million world-wide. Required pawn promotion to 12118happen in a zone, and the Alfil to move as Shogi Silver, a new opening 12119array, and unusual Pawn placement. Because of the latter, I consider it 12120a setup position, so a FEN will always be sent to the engine. 12121 121222010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12123Fix parsing of O-O and O-O-O after FEN pasting in FRC 12124 12125Because the initial rights were not set in the FEN reader, the 12126initial rights of the previous game remained in force, so that the 12127parser did not understand OO-castling (although it would allow KxR 12128castling). 12129 121302010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12131Fix reading FEN castling rights for knightmate and twokings 12132 12133Scanning the back-rank for a King did not work in these variants, 12134because either the Unicorn castles, or there might be two Kings. 12135 121362010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12137Fix omission in castling refactoring for ICS received boards 12138 12139A default of -1 was still used, in stead of NoRights, when no Rook was 12140found. In theory this could have had effect in a setup board 0 in FRC, 12141when there were no Rooks on the back rank. 12142 121432010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12144Fix TwoKings ICS castling-rights bug 12145 12146Scanning the rank (as is done because of FRC) assigned castling rights 12147to the rightmost King. Even scanning the opposite direction would not 12148work, as it is not always the eftmost King that can castle. So we now 12149explicitly test for a King on e1/e8 in TwoKings and assign it rights, 12150relying on the Rook rights received from the ICS to control castling. 12151 121522009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12153fix double start of zippy engine after switch to gothic 12154 12155In ICS mode we now switch to the proper variant as soon as we receive 12156the generic game-start message, to prevent a mismatch when the first 12157board is received (which would trigger fetching of a move list). 12158 121592010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12160Extensive bugfix of -autoKibitz 12161 12162Suppression of printing of diverted kibitz messages failed when they 12163extended over more than one read. This could even lead to such 12164messages being erroneously saved as comments, which then lead to 12165crashes. The suppression mechanism now waits for a prompt, in stead of 12166the end of buffer. This required the printing of any leftover in the 12167buffer to be deferred until the next read completes it. 12168The number of people kibitzed to is now printed. 12169 121702010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12171Fix piece-to-char table -variant fairy 12172 12173The letters for Lance and Snake where swapped. 12174 121752010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12176Make WinBoard makefiles use parser.c in XBoard directory 12177 12178 121792010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12180Docs update for new features 12181 12182 121832010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12184Fix new args parsing of -lowTimeWarningColor 12185 12186This did not occur in the XBoard color translation table yet. 12187 121882010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12189Allow editing of holdings in EditPosition mode 12190 12191Dragging pieces to and from the holdings now consistently keep track of 12192the home square of pieces and the piece counts, as does creation of 12193pieces in the holdings through the piece menu. 12194 121952010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12196Indicate squares a lifted piece can legally move to 12197 12198Under control of the new option -showTargetSquares when 12199-highlightDragging and -testLegality are on, the squares a piece can 12200move to are marked by fat dots in the highlightColor (non-captures) and 12201premoveHighlightColor (captures), as soon as you grab it for dragging. 12202In variants with mandatory capture, the capture target of other pieces 12203is marked with the highlightColor (as non-captures are then not allowed). 12204 122052010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12206Fix bug for incommensurate time odds 12207 12208After normalization (-timeOddsMode 1) the time odds factors can be 12209non-integer, and thus must be stored as float. 12210 122112010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12212Display PV right-clicked from EngineOutput window 12213 12214The clicked PV is selected and the memo gets focus, so that it is 12215highlighted. This selection is restored in the proper place after 12216insetrtion of a new line in the memo. 12217 122182010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12219Display PV on right-clicking board 12220 12221 122222010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12223Bugfix legality null move in parsing with -testLegality off 12224 12225The pointers were compared, in stead of the values. 12226Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off. 12227 12228Also exclude moves with empty squares and enemy pieces. 12229 122302010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12231Newly lexed winboard/parser.c 12232 12233 122342010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12235Harmonize declarations of XBoard and WinBoard 12236 12237The engine-exit and settings patches make some stuff common to WinBoard 12238and XBoard, which needed to be harmonized, and is moved to frontend.h. 12239 122402010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12241Allow Ctrl-C copying from EngineOutput window text to clipboard 12242 12243 122442010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12245Allow popup-less (fatal) exit of engine after tellusererror 12246 12247 122482010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12249Improve layout of Engine #N Settings dialog 12250 12251An attempt is made to align the input fields of spins and text-edits 12252 122532010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12254Let XBoard print version with argument --version or -v 12255 12256 122572010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12258Fix castling rule assignment in shuffle games 12259 12260The conversion to in-board storage for rights copied directly to boards[0] in steadof 12261initialPosition, and was then overwritten when the latter was copied with uninitialized 12262rights to boards[0]. This affected FRC and CRC, where rights are non-standard. 12263 122642010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12265Implement castling in -variant caparandom 12266 12267CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING. 12268 122692010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12270Fix default castling rights on reading incomplete FEN 12271 12272This was overlooked in the conversion to the in-board storage of rights. 12273 122742010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12275Fix NoncompliantFEN defaults. 12276 12277This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields. 12278 122792010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12280Change format of -adapterCommand. 12281 12282first or f at the start of an option name are now automatically changed into second or s, 12283rather than needing %% to be recognized. The values of -ec and -ed in the default 12284-adapterCommand are now quoted (now XBoard understands quoting in the engine command line). 12285 122862010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12287Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings. 12288 12289 122902010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12291Delete old indirection settings-file code 12292 12293 122942010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12295Correct XBoard default debug file name 12296 12297 122982010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>: 12299Suppress saving font settings. 12300 12301The fonts are size dependent, and might thus not be reusable in the next 12302session. For now we therefore suppress the saving of them in the 12303settings file, until we diversify the fonts per boardSize. 12304 123052009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>: 12306added missing sounds files to be able to compile on windows 12307 12308 123092009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>: 12310Changes needed to compile master branch. 12311 12312 123132009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12314implements the eval-graph window for XBoard 12315 12316 123172009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12318improves the XBoard handling of the engine command line 12319 12320it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled. 12321 123222009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12323A better and more flexible way of invoking Polyglot 12324 12325rewrote 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. 12326 123272009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12328remove trailing \r in xboard output 12329 12330there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not 12331only 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. 12332 123332009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12334double buffer size to prevent overflow 12335 12336This patch doubles the size of the ICS input buffer to 16KB, to prevent 12337the suspected overflow with -keepLineBreaksICS false when using 12338"inchannel 1" on FICS and over 500 people are tuned in. 12339 123402009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12341fix problem with empty string in -firstNeedsNoncompliantFEN 12342 12343This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with 12344an empty string as argument. (Which led to truncation of the FEN.) 12345 123462009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12347updates makefiles to include dependency on config.h 12348 12349adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource 12350 123512009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12352correctly apply some check boxes from the option menu 12353 12354Usng the check-boxes in the Option->Adjudications menu to indicate the 12355engine reports absolute scores is now copied directly to the ChessProgramState, 12356from where it is used, in stead of only to appData. This makes the change take 12357effect immediately, in stead of after restarting. 12358 123592009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12360score sign in analysis mode 12361 12362this does not alter any of the current behavior with compliant engines, 12363but does extend the correction for non-compliant score reporting under 12364control of the -first(second)ScoreIsAbs option to cases where the engine 12365is analyzing or playing on an ICS. 12366 123672009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>: 12368fix for bug #28077: xboard needs to link against x11 12369 12370hopefully fixed automake to take care of this 12371 123722009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12373Fix castling rights when copying FEN to clipboard (again) 12374 12375missed a spot last time 12376 123772009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12378restoring windows (EngineOutput and MoveHistory) on startup 12379 12380restoring the open / closed status of the 12381auxiliary windows (EngineOutput and MoveHistory) on startup 12382in XBoard like they do in WinBoard, which makes sense now that 12383we aso remember their coordinates between sessions. 12384 123852009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12386fixed some outstanding pixmaps 12387 12388fixed transparency issues 12389 123902009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12391use linux style options for config file and add a system config file for XBoard 12392 12393This patch makes XBoard write the options to its conf file in 12394Linux style, "-option value" rather than Windows style "/option=value". 12395 12396The WinBoard option parsing code has always understood both formats 12397(including any hybrids), but the format it preferred for writing might 12398look quite strange to Linux users. I also attached a file to be installed 12399as /etc/xboard/xboard.conf on "make install". 12400 124012009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12402fix window positioning 12403 12404This patch adds stuff in the header files that allow the various front-end files 12405to share information on which windows exist, are up, and how they are positioned. 12406The EngineOutput, MoveHistory and GameList windows now all remember their 12407position and size, even when they are closed when XBoard exits. 12408 124092009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12410same argDescriptor parsing for Xboard and Winbaord 12411 12412This patch makes XBoard and WinBoard use the same argDescriptor 12413list of options, and (largely) use the same code for parsing and saving them. 12414This is acheived by moving this code to a new file args.h, and #including this 12415in both winboard.c and xboard.c (so that tiny differences, e.g. in default 12416values in the table, are decided by the context). XBoard has new menu items 12417"Save Settings Now" and "Save Settings on Exit" in the "Option" menu. 12418XBoard uses /etc/xboard/xboard.conf as default settings file. 12419A new option, -saveSettingsFile, can specify where settings should be saved, 12420without parsing the file. (So that it also works if the file does not yet exist.) 12421 124222009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>: 12423new developer release 12424 12425changed release name to <branch>-<date> 12426 124272009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12428fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing. 12429 12430 124312009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12432use xtell for talking to handles, but tell for talking into a channel. 12433 12434by changing the chatboxes to use xtell in stead of tell, we broke 12435the possibility to use the chat-box for chatting into a channel (which is 12436apparently not possible with xtell). 12437 124382009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12439fix bug in bughouse drop menu 12440 12441This patch fixes the bughouse drop menu, which was broken by the 12442new mouse driver, and could no longer drop white Pawns. 12443 124442009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 124452nd step for moving option parsing from winboard to the backend 12446 12447This is the next step in option-setting refactoring: All options that are 12448defined in XBoard are now included in the WinBoard ArgDescriptor list. 12449The handling of sound option has been harmonized: the sound names 12450now all initially go to the appData array, (as in XB) in stead of directly to the 12451WB-specific variables, and LoadAllSounds now takes care of the copying. 12452A new routine ExportSounds copies them back before saving settings 12453(which, in XBoard, could be a no-op). 12454 12455The definition of defaults for the XB-only options has been moved to common.h. 12456 124572009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 124581st step for moving option parsing from winboard to the backend 12459 12460This is a preparatory step in moving option parsing of WinBoard to the back-end. 12461The table of command-line options now contains a fifth field, holding the compiled-in default. 12462This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven 12463initialization routine SetDefaultsFromList(), which could be back-end. 12464 124652009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12466refactoring evalgraph code 12467 12468This is the refactored EvalGraph code: the back-end part is separated off, 12469and put in a file evalgraph.c, which in the future can also be used with XBoard. 12470Only the WinBoard front-end code is left in the file wevalgraph.c. A new 12471header file defines the variables and routines they share. 12472 124732009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>: 12474clean-up 12475 12476some file permissions where set up wrong 12477(e.g. execute permissions for text files) 12478 124792009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12480refactoring of engineoutput 12481 12482This refactoring patch separates the back-end part out of 12483xengineoutput.c, and puts it in a separate file engineoutput.c. 12484A new header engineoutput.h included by both defines the routines 12485for cross calling. Similarly wengineo.c will be stripped from its 12486back-end code, (and renamed to wengineoutput.c), so WinBoard and 12487XBoard now both use engineoutput.c rather than maintaining duplicate 12488code in their front-end part. 12489 12490I also let the back-end now call EngineOutputUpdate directly, rather then 12491through a relay in the front-end, by renaming it to SetProgramStats 12492(the former name of the relay in winboard.c / xboard.c). 12493 12494Moved some templates of functions in engineoutput.c from winboard.h 12495to frontend.h 12496 124972009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>: 12498fixed build on openbsd 12499 12500added missing header file 12501 125022009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12503improve thinking-output for mulit-variant 12504 12505Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window. 12506 125072009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12508fix castling rights when copying FEN to clipboard 12509 12510This 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. 12511 125122009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12513This 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. 12514 12515 125162009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>: 12517fixed prototype for AppendComment 12518 12519 125202009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12521cleaned up some debug messages and typos 12522 12523 125242009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12525variation-support patch 12526 12527It allows you to Revert to the main line (or previous variation) when 12528playing variations on an existing game in EditGame or Analyze mode. 12529 125302009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12531fix for new way of saving castling and e.p. information 12532 12533I forgot to make some conversions to the new-style encoding of castling there 12534(using the enum constant NoRights instead of -1 to indicate 12535the absence of rights, which was the price of storing the 12536rights in the board, which is an unsigned enum type.) 12537 12538I also was a bit worried about portability, because I casted the enum type ChessSquare 12539to (int) before comparing it with (possibly negative) constants EP_NONE etc. 12540Now on my system enum types are (unsigned int), and this works, but I could 12541imagine there are systems where this would be an unsigned char. (Not sure 12542if there are rules for this). So to be safe I cast ChessSquare to (signed char), 12543which should always work to make small negative ints assigned to it read 12544back as themselves. 12545 125462009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>: 12547removed files that should only be in the windboard directory 12548 12549 125502009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>: 12551add Winboard source files into tar-ball 12552 12553forgot to add them when rewriting the Makefile.am 12554 125552009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12556Integrate castling and e.p. rights into board array; bugfix for EditPosition 12557 12558A large-scale operation that I have been postponing since the very first 4.4.0: 12559The castling and e.p. rights are now integrated into the board array, as 12560boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and 12561boards[moveNr][EP_STATUS] replacing epStatus[moveNr] 12562These quantities are now automatically copied with the position by CopyBoards 12563(allowing the removal of lots of dedicated copying code), and passed as 12564function arguments with the position (so that the moves.c functions like 12565TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal 12566no longer need explicit e.p. and castling parameters. 12567 12568Also fixed a bug introduced by a recent previous fix: by adding fake castling 12569rights to a position set up through the EditPosition menu, I destroyed the 12570castling rights of a pasted FEN. Faking castling rights is now made conditional 12571in EditPositionDone(), depending on the caller. (I had not realized it was also 12572called after FEN pasting, to send the position to the engine.) 12573 125742009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>: 12575added missing library for build on OS X 12576 12577Xmu seems to be missing 12578 125792009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12580Some code refactoring and cleanup; one small bug fix 12581 12582Some code refactoring, mainly to bring definitions of routines and variables 12583shared between winboard.c and one of the auxiliary-windows files 12584whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file 12585(winboard.h). Unfortunately this made winboard.h dependent on data types 12586defined in frontend.h, so that the #include order had to be changed in many 12587other .c files. 12588 12589The operation revealed one potentially bad bug: engineOutputDialogUp was 12590written as int in engineo.c, but declared as char in winboard.c. 12591 12592I also changed the storage mechanism of the the comment and tags window 12593positions to use WindowPlacement structs rather than simple variables, 12594so that in the future they can be docked, like the others. 12595 12596I also removed some remnants of the Analysis window. 12597 12598The wgamelist.h and wedittags.h header files contained only 3 lines, and 12599I absorbed them in winboard.h, rather than creating other such nearly empty 12600headers engineo.h, whistory.h and wevalgraph.h. This affects the make files. 12601 126022009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12603let the clocks run in -searchTime mode 12604 12605 126062009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>: 12607add fixed time per move to the WinBoard time-control menu dialog 12608 12609 126102009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>: 12611updated version number to unstable 12612 12613 126142009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>: 12615release of version 4.4.1 12616 12617 126182009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12619cleaned up ChangeLog and NEWS 12620 126212009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12622use xtell instead of tell in wchat 12623 126242009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12625prevent buffer overflow 12626 12627This is a buffer-size adjustments to prevent the JAWS version from 12628crashing when it has to read out loud very long comments. 12629 126302009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>: 12631Further copy/paste fixes 12632 12633We needed to implement the XA_TARGETS target in order for more 12634sophisticated apps to really believe we put anything on the clipboard 12635they can use. 12636 126372009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>: 12638Make copy/paste position and game use clipboard, bug #27810 12639 12640Copy actually sets both the clipboard and the selection for 12641convenience and compatibility with the old way of doing things. 12642Paste pastes from the clipboard by default, but the new -pasteSelection 12643option lets you get back the old behavior of pasting from the 12644selection. 12645 126462009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12647switch focus to the board after loading a game 12648 126492009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12650fix for bug #27826: fixed autoDisplayComment 12651 12652apparently the -autoDisplayComment option was not working, 12653not even in WinBoard. This patch should fix it,both for WB and XB. 12654(Unfortunately xboard.c and winboard.c were using a different name 12655for the same front-end variable I needed, so I had to change one of them.) 12656 126572009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12658fix for bug #27826: ported two options to xboard 12659 12660also updated the documentation 12661 126622009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12663fixed jaws version 12664 12665turns out the new mouse handler broke the JAWS patch, as I discarded 12666the function IsPromotion. I adapted it to call HasPromotionChoice instead. 12667Also fixed two arnings by removing a no-longer needed debug print. 12668 126692009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>: 12670reformated html to be correctly validated 12671 126722009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12673quick fix for "White Mates" in parser.l 12674 126752009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>: 12676fixed a regression 12677 126782009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12679changed stderr to debug output, since stderr is closed in winboard 12680 126812009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12682removing empty lines from ICS play 12683 12684this patch causes removal of spurious prompts during ICS play 12685also if the prompt is preceeded by a number of empty lines 12686(as the board for the opponent move is on FICS). 12687 126882009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12689another bug in VariantSwitch: an unitialized board was printed. 12690 12691Must have been there a long time, but this time it crashed WinBoard. 12692 126932009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12694more work on variant switch 12695 12696the previous solution to the cosmetic problem of displaying a wrong shuffle 12697in an ICS game that was observed from the very start unfortunately turned 12698out to cause a real error in diplaying a stored game through the smoves 12699command, for variants not using the FIDE setup as standard. 12700 12701This patch displays the position from before setting up the start position 12702of the new variant, but does setup boards[0] to the initial position of that 12703variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board 12704will immediately be sent from the ICS to correct the shuffle.) 12705 127062009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12707force full redraw in winboard 12708 12709Full redraw is now always forced when highlightMovesWithArrow is on, 12710rather than only when highlight info is available. (As in drop moves the 12711latter is invalid, but we must still erase the arrow from the previous move.) 12712 127132009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12714fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle 12715when observing shuffle games from the first move (#27790 bis), 12716and the sounding of the FICS bell on crazyhouse captures (#27772 bis). 12717 127182009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12719fixed bug related to unsigned char in convert.c 12720 12721I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the 12722129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed 12723afterwards (so I could use it to create a new m33s.bm) 12724 127252009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>: 12726unguarded debug printf. added the appropiate if statement 12727 127282009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12729fix for two compiler warnings 12730 127312009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12732fix for bug #27799: fix for nested-nested-nested variations 12733 127342009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12735The book-probe code forgot to close the book file after opening it. 12736 12737fixed by adding an fclose at two points. 12738 127392009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12740removed unused v54?.bm bitmaps from resource file 12741 12742it seems the v54?.bmp bitmaps were actually included in the WinBoard build 12743(in the resource file), although they were never actually used. So I have 12744removed their inclusion in the resource file now. 12745 127462009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12747replaced defective bitmaps with copies from 4.2.7 12748 127492009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12750removed bitmaps files that are not needed any more 12751 127522009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12753fixed some bitmaps 12754 127552009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>: 12756Drop an obsolete script that was only used to update my personal web site 12757 127582009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>: 12759Silence warnings when compiling 64-bit xboard 12760 12761Some harmless warnings were caused by 64-bit mode having 32-bit 12762int but 64-bit long and pointer. Add casts (etc.) to silence them. 12763This might require adding a definition of intptr_t (a signed int 12764type that is the same width as a pointer) on old systems that don't 12765have it. 12766 127672009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>: 12768Fix up man page some more 12769 12770Sigh, the project history was still partly in reverse chronological 12771order and partly in forward order. Swapped the order of some 12772sentences to help straighten it out. I don't really care about this, 12773so other project members should feel free to do what they like here, 12774but the messed-up order was bugging me. 12775 127762009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>: 12777Fix some issues in the XBoard man page 12778 12779Correct places where the XBoard man page was calling XBoard 12780"WinBoard". Change references to "WinBoard engines" and "WinBoard 12781protocol" to "XBoard/WinBoard ...". Update bug reporting guidelines. 12782Reorganize project history to something more like chronological order 12783-- it had gotten pretty randomly ordered. 12784 127852009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>: 12786new pre-release version; updated version numbers 12787 127882009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12789This patch adds <Enter> to the characters that cause an automatic 12790switch to the ICS console when typed to the board window. 12791 127922009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12793fix to the minor graphics issue contained some typos, 12794as was remarked in the bugs reports 12795 127962009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12797improved mouse handler 12798 12799The improved mouse handler still needed an extra call to DrawPosition to 12800work in XBoard. 12801 128022009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12803NPS plays and pondering 12804 12805Clock updating did not work correctly in node-based time controls when the 12806engine was pondering. (It was not really meant for use with pondering. Oh well...) 12807This patch checks if the engine reporting the node count is indeed thinking 12808(as opposed to pondering). 12809 128102009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12811holdings update and regression fix 12812 12813The holdings-update patch was not yet satisfactory, because FICS seems to send 12814holdings both before and after the board! And those received before did overwrite 12815the holdings received after the previous board. I know tried to fix that in a kludgey 12816way, by hiding a flag in the board that tells if the holdings have already been written 12817by the ICS or not, and ignore new holdings when they are. (Except in bughouse, 12818where holdings updates cannot be tied to a particular board and multiple updates 12819between boards are normal. (I hope?).) 12820 12821I also undid a regression in my previous fix for the minor graphics problem, 12822and solved it in a slightly different way to prevent flicker. 12823 128242009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12825improved mouse handler 12826 12827I improved the mouse handler in a way which will preclude disappearence of pieces 12828on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported 12829in the "premove bug?" thread. Also the command-line premove problem reported there 12830is now fixed, by removing the prefixing. 12831 128322009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12833fix for bug #8847: moving backward while examining on FICS not reported to engine 12834 12835I moved Daniel's code that backs up the engine when a bord with a 12836lower number is received to a place where it is always done in zippy mode, 12837rather than only when the engine is analyzing. 12838 12839Apart from taking back moves, there was also the case where the 12840user moves forward by more than one move (usually immediately to 12841end-of-game). In this case a new movelist is fetched from the ICS 12842to recover the moves that were skipped. But this assumes that the 12843engine is at the start of the game and feeds all these moves to the 12844engine. So the engine had to be reset in this case to stay in sync. 12845 128462009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12847better init for random number generator 12848 128492009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12850fix for bug #27772: holdings not updated 12851 12852holdings lines from the ICS nor update the holdings 12853of boards[forwardMostMove] in stead of boards[currentMove]. 12854 128552009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12856allowe parsing / disambiguation of SAN moves like Xe4 in certain situations 12857 12858This patch allows parsing / disambiguation of SAN moves like Xe4, if there 12859is only one wild-card piece X on the board. Moves with wild-card pieces 12860are now considered illegal if they leave the King in check by a piece of 12861known gait. 12862 128632009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12864fixed bug when switching to variantsuper 12865 128662009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12867fix for bug #27715: 2 (minor) graphic issues 12868 12869I forced a total redraw when Reset is called from the ICS code in case a 12870new game is encountered, in the hope it will make the reported 12871(irreproducible) problem go away. As game switches are not frequent, I 12872guess there is hardly any downside to this. 12873 128742009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12875fix for bug #27667: PV line missing in analysis window, part 3 12876 12877"3. Wish for Engine state string (right to the icon): 12878Can you add the actual search depth in analyzing mode? A change like " 12879 12880I also added the requested display of depth of the analysis move in the 12881EngineOutput window. I guess a similar change could be made to wengineo.c 12882(as this is in the code they share in common), but no one ever requested 12883that in the 5 years since Alessandro wrote it. So for now I leave it alone. 12884 128852009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12886fix for bug #27760: debug printf in backend.c and additional check for variant 12887 128882009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>: 12889fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases 12890 12891this is correct, deleted the text out of the documentation that claims we support it 12892 128932009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>: 12894new alpha version; first one with new naming scheme 12895 128962009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12897smarter analysis of the boards that XBoard receives from an ICS 12898 12899I added smarter analysis of the boards that XBoard receves from an ICS, 12900based on board size and piece types in the position, to recognize cases 12901where the board does not match the current variant, and switch to an 12902appropriate variant. 12903 129042009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12905fix for bug #27667: window should be reference to toplevel 12906 12907The remaining objections of #27667 should be fixed by bringing the 12908EngineOutput window under control of the TOPLEVEL compile-time switch. 12909 129102009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12911partly fix for bug #27715: scaling of menu bar 12912 12913the menu bar to the left edge of the window. 12914 129152009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12916fixed bug reported in WB forum: second game of a match would 12917not start when using the GUI book 12918 129192009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12920fix for bug #27751: negative holding counts displayed 12921 12922I put code in the back-end to prevent holdings counts from 12923becoming negative when a drop move is made from empty holdings. 12924(This can happen when re-loading ICS bughouse games, 12925as the smoves command fails to fill the holdings.) 12926 129272009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>: 12928Updated compiling instructions. 12929 129302009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>: 12931Changes to allow fonts with any charset (such as terminal) 12932 12933Affects winboard only. 12934 129352009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>: 12936Moved SIGWINCH signal so it can be used... 12937 12938I goofed putting this in StartChildProcess() originally. 12939 129402009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>: 12941Added internal wrapping ability. 12942 12943New options: 12944 -wrapContinuationSequence "foo" (default: "\\ " 12945 -useInternalWrap (Winboard default: false, XBoard default: true) 12946 12947Note: -keepLineBreaksICS if set, prevents wrapping, usurping the 12948 useInternalWrap setting. The idea is if you want to keep ICS line 12949 breaks, then you don't want internal wrapping. Because of this, 12950 the new default for keepLineBreaksICS is now false for XBoard. 12951 129522009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12953fixed segfaul in convert.c used to convert pixmaps 12954 129552009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12956new mousehandler to correct for premove and promotion popup 12957 12958this is the new mouse handler for XBoard, which should fully implement 12959premove, including promotion popup, and yet suppress the promotion popup 12960on illegal moves that are not premoves. It is almost completely moved to 12961the back-end now, so that WinBoard will be able to use it as well. I just 12962must hook it up to winboard.c, in particular harmonize the call-backs of 12963the mouse driver into the front-end for grabbing and releasing pieces for 12964dragging, to make sure they have the same names and arguments. 12965 129662009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12967updated black fairy pieces 12968 12969here is a set of black fairy pieces with opaque white details, 12970so they have the same style as the orthodox XBoard pieces. 12971 129722009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>: 12973Adjustment to joining to work around server not always including space. 12974 12975This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004 12976into the updated joining routine. This issue seems not to be server 12977variance, but instead the server electing to omit the space between 12978words when it occurs at exactly your width setting (-1 actually). 12979 12980This patch makes the joiner add back the space just like the referenced 12981commit. Note: this is just a workaround to a server issue-- the joiner 12982actually joins correctly before this patch. 12983 129842009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>: 12985Fixed joiner detection, allowing it to work with timeseal 12986 12987When timeseal's buffer fills in the middle of the continuation 12988sequence, detection fails, and the lines aren't joined. 12989 12990As a result of this fix, measures intended to bypass joining are 12991no longer needed, so I removed them. These utilize server vars 12992when available to prevent splitting. 12993 129942009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 12995fixed engingeoutput routine 12996 12997removed outdated code regarding analysis window 12998 129992009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13000moved bitmap to correct location 13001 13002was misplaced in a previous commit 13003 130042009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13005fixed wrong number of arguments for EngineOutputPopUp 13006 130072009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13008new bitmap converter (including fill option) and new pixmaps 13009 130102009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>: 13011forgot to add these two lines to the last commit 13012 130132009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>: 13014removed AnalysisPopUp. Use EngineOutputPopUp instead 13015 13016this was already in Winboard, copied it to xboard and removed unused code. 13017 130182009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13019Proper board and holdings size when switching to variants 13020gothic, capablanca, great and super within an ICS game. 13021 130222009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>: 13023cleaned up an old #ifdef in zippy 13024 130252009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>: 13026neglected this for the auto-width updating in xboard 13027 130282009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>: 13029Added server width adjustment based on client width changes 13030 130312009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>: 13032silence some compiler warnings 13033 130342009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>: 13035Maintainence to support all compilers. 13036 130372009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>: 13038Adjusted alternative joining method to obey keepLineBreaksICS 13039 130402009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13041fix for bug #27668: e.p. field still not passed to engine 13042 13043PositionToFEN now takes the e.p. rights from epStatus[moveNr], 13044rather than calculating it on the spot from moveList[moveNr-1] 13045(which failed on the first move). 13046 130472009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13048fix for bug #27666: naming of variants 13049 13050Variant names "misc/xxx" are recognized as "normal", rather than "xxx" 13051to not get confused by the board "misc shogi" run by FICS. 13052 130532009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13054changed enable menus 13055 13056Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items 13057in the appropriate enable lists for graying them out wen not applicable. 13058 130592009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13060Added a command-line option -keepLineBreaksICS true/false to control line joining. 13061 130622009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>: 13063Added code to prevent unnecessary width updates. 13064 130652009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>: 13066Turned off wrap when possible on ICS servers. 13067 13068Turning off line wrap prevents splitting lines up using the 13069continuation sequence "\\ ". This is desirable when using 13070timeseal because timeseal's buffer is sometimes too small, 13071causing it to break lines itself. These lines can't be joined. 13072 130732009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>: 13074vsnprintf() must be _vsnprintf() for MSVC 13075 130762009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>: 13077added code to handle initial width update 13078 130792009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>: 13080Added width updates to ICS client on font and window size changes 13081 13082What still needs to be done is placing an update call after login 13083to initialize with the correct width. I didn't see where to put 13084that. 13085 130862009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>: 13087added ics_printf() and ics_update_width() and utility functions 13088 130892009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>: 13090Cleaned up ConsoleWndProc (not complete, see below) 13091 13092Using static variables this way is not appropriate. I only addressed 13093hInput and hText in this commit though. But imagine the WndProc being 13094used by multiple windows instead of just one, and you can see why 13095using static variables in this way is wrong. 13096 130972009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>: 13098Restructured URL code so it fits better with how winboard is set up. 13099 131002009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>: 13101cleanup: removed "#if 1" statements 13102 131032009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>: 13104cleanup: removed "#if 0" from source 13105 13106a bit of cleanup of the source code 13107 131082009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13109fix joining of lines split by ICS 13110 13111This patch fixes the joining of lines that were split by an ICS, so that adding 13112a space at the break point is done only when there was not a space already. 13113(Some ICS leave a space at the end of the broken line, others do not.) 13114An extra space would interefere with board12 in Gothic Chess, which is so 13115long that the ICS breaks it, and the WB parser could not handle a double 13116space within the board. 13117 131182009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13119fix for bug #27642: Clock jumps strangely in engine mode 13120 13121This moves SwitchClocks() back to after incrementing forwardMostMove, 13122so that it knows again who has the move (which was broken by the "bare" patch), 13123and will take the appropriate tick length. 13124 131252009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13126removed test for premove 13127 13128this was added while looking for the premove bug, but is not needed 13129 131302009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>: 13131added URL detection and provided hotlinks in the ICS client 13132 131332009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>: 13134reverted winboard.c beofre URL commit to correct whitespace conversion 13135 131362009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>: 13137Added URL detection into the console text window for ICS. 13138 131392009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>: 13140added some comments and formated code 13141 131422009-10-08 23:46:52 -0700 Chris Rorvick <>: 13143fix printing out help message (list of command line options) (tiny change) 13144 13145The postfix increment always resulted in an attempt to print out an 13146option on the right side regardless of one actually existing. Use 13147prefix increment to prevent a crash when printing an odd number of 13148options. 13149 131502009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>: 13151Updated navigation accelerators, fixing ICS problems. 13152 13153Recent changes to the navigation accelerators were in the wrong 13154accelerator table. Since the goal was to correct non-JAWS versions 13155back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still 13156retained the #ifdef JAWS conditional compilation. 13157 13158On an ICS, the navigation keys took control away from the ics 13159client to navigate the game. The update requires the ALT key to 13160be pressed, but it works identical to 4.2.7, not causing an 13161unexpected focus back to the board window when you're just editing 13162text. 13163 131642009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13165fixed premove recapture problem;promotion popup appearing on 13166obviously illegal moves; promotions in Superchess and Great Shatranj 13167 131681) the premove recapture problem 131692) the promotion popup appearing on obviously illegal moves (the 1. e2a8 13170problem) 131713) promotions in Superchess and Great Shatranj, where the piece can now be 13172selected from the holdings 13173 131742009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13175added forceIllegalMove to xboard 13176 131772009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>: 13178bugfix: segfault when invalid option argument was given (bug #27427) 13179 13180when given a wrong argument to an option (e.g. -tc 0) xboard aborts 13181before setting up the window, but tried to write a message to the 13182messageWidget which doesn't exist at that point. 13183 131842009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13185small improvement for JAWS version 13186 13187This is a patch to make JAWS read out any comments when /autoDiplaycomment=true. 13188As focus does not stay on the Comment window, the comment was not spoken otherwise. 13189 131902009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13191updated to winboard internationalization scripts 13192 13193Also a slight improvement of the internationalization scripting, 13194to prevent it from crashing on messages containing a slash. 13195 131962009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13197new forceIllegalMoves option 13198 13199The -forceIllegalMoves option uses setboard or edit to force a position 13200when an engine refuses the move leading to it by an "Illegal Move" message. 13201Especially for engines using the edit command this was a bit tricky, 13202because of the a2a3 kludge to avoid using the white and black commands. 13203 132042009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>: 13205removed _winmajor if not defined so that VC 2008 can compile the project 13206 13207The oldDialog variable should just be set to 0 in all cases now, and 13208as such, legacy code supporting the old dialog ought to be removed. 13209The test for _winmajor is against < 4, which is always false at present, 13210causing oldDialog to be 0 in every conceviable circumstance. 13211 132122009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>: 13213getting ready for 4.4.1 release 13214 132152009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>: 13216Simplified future version changes. 13217 13218Added a numeric version to config.h that is now used in winboard.rc 13219instead of being hard-coded there. Just be sure to preserve the 13220proper format (4 comma-separated 16 bit integers) or else it won't 13221compile. 13222 132232009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>: 13224updated version number to 4.4.1.pre 13225 13226should have done this straight after the last release, but forgot... 13227 132282009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13229worked on premove bug 13230 13231I made an attempt to make premove unsensitive to a race condition, 13232just in case the premove problem was caused by that (which seems unlikely, 13233but in any case I added some debug printout to test this). 13234 132352009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13236fixed loading of saved games via command line 13237 13238the variables forwardMostMove and backwardMostMove where set to zero 13239at the wrong place. 13240 132412009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13242small fixes for the JAWS version 13243 13244* I moved saying 'check' by the JAWS version to where castling also benefits from it. 13245* I made sure the check symbols are also recognized on promotion moves 13246* In the non-JAWS version, define the plain arrows as shortcut keys for the button bar 13247 132482009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>: 13249Fixed bug dereferencing garbage, causing crash. 13250 13251Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the 13252resultDetails of the gameInfo structure. That exact code exists a few lines 13253above where it was added. None of these free() calls finish by setting the 13254member to NULL afterword, therefore repeated attempts to test/free() the 13255members result in an attempt to free() memory winboard no longer owns, and 13256an eventual crash. 13257 13258link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 13259 132602009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>: 13261Added wchat.c to the project files we maintain. 13262 132632009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>: 13264Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp(). 13265 132662009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>: 13267Add resource ID for new Mute menu item. 13268 13269I know this was probably done by HG, and simply left out of 13270his commit. Anyway, the project can be built now after this change. 13271 132722009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>: 13273Use of strcasecmp() broke Visual C++. 13274 132752009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>: 13276wrong default value for engineDebugOutput 13277 13278the new default is now 1 13279 132802009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>: 13281updated cmail.in to adapt the CVS->git change 13282 13283don't reference $Revision:$ anymore. 13284Instead use reference xboard-version via autoconf. 13285 132862009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13287bugfix for protocol extensions: egtbpath -> egtpath 13288 13289A new and very bad bug was discovered in the implementation of 13290the protocol extensions: XBoard sends a command "egtbpath" to the 13291engine in stead of "egtpath" from the protocol specs. 13292After discussion on WB forum it was decided that egtpath was better 13293than the egtbpath I originally had proposed, and I changed it accordingly, 13294but I had not realized that this string occurred TWICE in backend.c, 13295depending on if matched the -defaultPathEGTB of -egtFormats option. 13296I only changed the first occurence. 13297 132982009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13299fix for edit-position "moves" being sent by XBoard to the engine 13300 133012009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13302Engine did not start playing when out of GUI book on second move with white 13303 133042009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13305Opening Engine #1 Settings crashed XBoard when there were no 13306text-edit options in the dialog (to which to set keyboard focus) 13307 13308 133092009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13310added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request 13311 133122009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13313Updated the RTF docs for the chat windows, engine-settings dialog, 13314/keepAlive option and new game-list tag 13315 133162009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13317Made the beep sounds for JAWS board navigation configurable through 13318command-line options 13319 133202009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13321Prepared a system to internationalize the WinBoard menus 13322 133232009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13324added the result comment to the game-list tags when the game list is 13325exported to the clipboard 13326 133272009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13328rewrote wevalgraph for better frontend/backend separation 13329 13330I have finished re-writing the eval-graph code to have some 13331front-end / backe-end separation, something I had already started on my 13332holiday in Norway (when I had no internet :-) ). 13333The new code now appears to work exactly like the old code, 13334and I guess it could be ported to gtk comparatively easily. 13335 133362009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13337fix for keepalive and chat window 13338 13339I made a fix to the keepAlive option so it does not send the date command 13340to the ICS after every move. This required changing ScheduleDelayedEvent() 13341so that it does not execute the event if a new identical one gets scheduled. 13342I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c 13343 13344(This also cures the regression of the winboard.c copyright patch) 13345 13346I extended the chatbox patch to also listen to channel tells, and divert 13347them to a chatbox for that channel number. Affects 13348backend.c and wchat.c 13349 13350That should make those patches fully operational. No docs for either of them 13351yet, though. 13352 133532009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13354fixed parse bug for pgn files 13355 13356fixed the existing bug that the time-control tag was displayed as "?" 13357in the game list; turns out it was never parsed on reading PGN files 13358 133592009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13360allow the result comment as a display item in the game list 13361 133622009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13363fixed the HAVE_LIBXPM-dependent compile errors 13364 133652009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13366added a chat window to keep track of multiple conversations 13367 13368The chat-window patch affects: 13369winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds 13370the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms. 13371 13372In addition I added a new option -keepAlive, which affects 13373common.h (in addition to winboard.c and backend.c). 13374 13375As I had to modify backend.h, I also defined the -reset option type there, 13376which we are going to add later. This required some changes 13377to suppress warnings in wsettings.c. 13378 133792009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>: 13380more files for git to ignore 13381 13382most of these are generated by make distcheck 13383 133842009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>: 13385another bug fix found by Stanislav Brabec 13386 13387returned -1 in some case although the variable was a char... 13388changed to signed char 13389 133902009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>: 13391Swapped 'tell' and 'message' parsing order for colorization. 13392Sometimes messages are relayed as tells and should be colorized as tells. 13393 133942009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>: 13395added some more files to be distributed via make dist 13396 13397as suggested by Stanislav Brabec 13398 133992009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>: 13400fixed some implicit declarations reported by Stanislav Brabec 13401 134022009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>: 13403fixed a few more small bugs reported by Stanislav Brabec 13404 13405- A function uses a 'return;' statement, but has actually a value to 13406return, like an integer ('return 42;') or similar: xboard voidreturn 13407xengineoutput.c:766, 782 13408 13409- Program returns random data in a function at xengineoutput.c:602 13410 13411- With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker 13412ignores them. Fix is attached. 13413 13414- ToDo: Convenient name in most projects is TODO (autotools package it 13415automatically). 13416 134172009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>: 13418reverted .texi file and fixed Makefile.am 13419 13420the problem was actually not in the texi-file, but the Makefile.am. 13421Reverted changes in the .texi and fixed it (hopefully) correctly now. 13422 134232009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>: 13424get "make distcheck" to work 13425 13426needed to add all *.h files to Makefile.am and also the bitmaps that 13427are needed and some other files. Also had modified copyright.texi. 13428 134292009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>: 13430changed to version 4.4.0 13431 134322009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>: 13433updated AUTHORS, README and ChangeLog files for release 13434 134352009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13436fixed some typos 13437 134382009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13439set castling rights after setting up a position 13440 13441I was going through old WB forum posts, and I encountered a 13442bug report for a bug that I never fixed: The castling rights should 13443be properly set (actually: cleared) after setting up a position 13444in Edit Position mode (as opposed to pasting a FEN). 13445 134462009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>: 13447removed install files from master 13448 13449they now live in their own branch 13450 134512009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13452updated polyglot protocol 13453 13454I added a new option type "-reset" to the protocol for the new option feature. 134554.4.0 does not implement it yet, but Michel wants it for future Polyglots, 13456and I think it is best to update the protocol in one big swoop. 13457So I want to already include it in the specs now. (engine-intf.html) 13458I made xboard's response to an unknown option type compliant 13459with the new protocol specs. 13460 134612009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13462fixed some typos 13463 134642009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>: 13465Updated project files for DevCpp and Visual Studio to add wsettings.c 13466 134672009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>: 13468Added newline at end of file to silence warning. 13469 134702009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13471workaround for error message for missing pieces used in variants 13472and initstring bugfix: error messages showed for non-existing pieces 13473showed up for old user supplied pixmaps. 13474Loading a pixmap of the king for the missing pieces now. 13475 13476Another bad bug surfaced: the -initString argument does not work in any 13477XBoard version! (Including 4.2.7b) The escape sequences for linefeed in 13478the string are not understood: -initString "new\nrandom\n" actually sends 13479the \ and n to the engine (which then does not recognize the line as a 13480valid command)! 13481 13482So I also added a patch to expand escape sequences in the InitString and 13483ComputerString command-line options. 13484 134852009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13486updated installe script 13487 13488I re-organized the doc files in the install, so they now all go in the 13489WinBoard\doc folder (and none in the root). I so included the COPYING 13490and COPYRIGHT files there. This required some updates of the links in 13491some html files, and of the menu link to README.html in the install script. 13492I also fixed an error with the current directory 13493in the menu short-cuts of some engines (which started in the fonts folder, 13494and could not find the opening book there...). 13495 134962009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13497updated documentation 13498 134992009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13500updated installer script 13501 135022009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13503new help files for windows 13504 135052009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13506updated installer 13507 135082009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13509undid some previous changes 13510 13511some files got mixed up 13512 135132009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13514fixed small bug in wsetting 13515 135162009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13517trigger a focus switch to ICS input field when typing 13518 13519old behavior was that "." or "," triggered this, 13520now every printable character except 1-9 will trigger the focus switch 13521 135222009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13523bug in backend.c when receiving lines from ICS 13524 13525A space was appended to every character received from an ICS 13526in stead of just at line breaks. 13527 135282009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13529fixed warning messages from compiler 13530 135312009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>: 13532fixed build on OS X 13533 13534this seems to fix it. Bug reported by Louis Zulli who also did the testing. 13535 135362009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13537OK, this is the beefed up version of the Polyglot info-string kludge, 13538for WB and XB. 13539 135402009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>: 13541added missing X_LIBS references to Makefile.am 13542 135432009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>: 13544made the install script and executable 13545 135462009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>: 13547changed beta1 to beta2 13548 135492009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>: 13550fixed enable zippy in configure script and added some checks for OS X 13551 13552make tried to compile zippy even when --disable-zippy was given. 13553Also fixed a bug in xboard.c where #ifdef instead of #if was used 13554to test for ZIPPY (it's either 0 or 1, so we need #if). Also added 13555some special checks for OS X, not sure if these will do it, but it's a start;) 13556 135572009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>: 13558added configure summary to configure output, also cleaned up configure.ac a bit 13559 13560used AS_HELP_STRING where possible 13561 135622009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>: 13563added check for malloc.h 13564 13565this should fix a build error on OS X 13566 135672009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13568A small cosmetic change in the size of buttons 13569inside a groupbox of the Engine-Setup dialog. 13570 135712009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13572make xboard usable with UCI engines 13573 13574I made a small patch in xoptions.c (where the corresponding Engine Settings 13575dialog was for XBoard), to make it at least usable for UCI engines: I now 13576divide the options over upto 4 columns, if there are too many to fit into 13577a single column. This seems to work. Still looks very ugly, but it is 13578functional. 13579 135802009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13581fix premove for winboard 13582 13583This might fix the illusive premove problem. In 4.2.7 the code was not properly 13584indented, and this led to an unbalanced braces error that I then fixed the 13585wrong way. Click-click premoves did only work after clicking the toSquare twice. 13586It might be that they actually did work after clicking it once, 13587but that the highlights were not displayed (although set) 13588for lack of a display refresh. 13589 135902009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13591fixed bug for double saved games 13592 13593This patch should solve the problem with doubly saved games when XBoard is 13594closed. I calculate a cecksum of each saved game now (including move comments), 13595and suppress saving if the checksum is not changed. 13596 135972009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13598fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c. 13599 136002009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13601updated xboard.texi: added warning that pixmaps are not build for all variants 13602 136032009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13604added a dialog for engine-specific option settings 13605 136062009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13607updated some documentation 13608 136092009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13610fixed several bugs in the backend and added some more polyglot support 13611 13612* I added recognition for the new UCI3 option types that are recognized in the WB 13613option features, to make sure this version is compatible with future Polyglots. 13614Also fixed a bug that failed to strip an asterisk prefix from the first 13615combo-box item. 13616 13617* I fixed the ICS-time-in-PGN bug. 13618 13619* I fixed a bug which caused a space to be missing when long lines broken up by 13620an ICS were joined. 13621 136222009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13623better polyglot support for engine ouput 13624 13625I fixed the algorithm for clearing the Engine Output window to work better with 13626the latest Polyglot, whight outputs UCI "info strings" amongst the thinking 13627output. 13628 136292009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>: 13630Beginnings of installer for 4.4.0. HGM asked me to forward the nsi file, 13631but it seemed best to just add the installer tree to git even though 13632it's not finished. You must install NSIS then FontName-0.7.exe 13633(included in installer folder) then run build.bat in the same directory. 13634 136352009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13636patch backend.c to make the -noGUI option also work in ICS mode. 13637 136382009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13639temporary fix for pre-select 13640 13641As a temporary kludge I replaced looking into the holdings for the piece type 13642by figuring out which piece would belong on the clicked holdings square. 13643This is a non-trivial process, as it depends on which pieces participate 13644in a certain variant. 13645 136462009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13647changed click-click moves 13648 13649I got complaints about the way XBoard 4.4.0 handles click-click moves, 13650in particular changing the selected piece after selecting King 13651(for which I suppressed interference with FRC castling in a rather brutal way). 13652People tell me it is very annoying that clicks sometimes don't work to select a piece. 13653WinBoard uses refined logic in the back-end to handle this, but the XBoard 13654front-end is not interfaced with that yet. 13655(This would require a major rewrite of the mouse handler.) 13656This temporary patch suppresses this behavior in all variants that do not support 13657Fischer castling, and even there only exhibit it for Rook-after-King selection 13658(which will be interpreted as an attempt to enter a castling move as K x own R). 13659 136602009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13661option -adjudicateDrawMoves is not included in the XBoard list. 13662 13663added it to the option list 13664 136652009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>: 13666converted files from dos to unix format 13667 13668run dos2unix over a bunch of files 13669 136702009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>: 13671Stripped out unused VersionInfo 13672 136732009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>: 13674changed version to 4.4.0.beta1 13675 136762009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>: 13677updated INSTALL file to add ./autogen.sh 13678 136792009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13680higher number of engine options possible now 13681 13682I upped the number of options per engine from 1368350 to 100, and the average number of characters per option from 10 to 20. 13684 136852009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>: 13686Fix of bad bug 13687 136882009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>: 13689Added version information to resources. 13690 136912009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>: 13692Added Jaws targets to IDE projects. 13693 136942009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>: 13695Final makefile adjustments and compiling instructions. 13696 136972009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>: 13698Cleaned up garbage left behind from my makefile update. 13699 137002009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>: 13701Updated cmdline makefiles to be able to produce JAWS binaries. 13702 13703This breaks support for MSVC 4.x. It may still be possible to 13704use that compiler if you obtain the latest SDK from Microsoft. 13705MSVC 6.0 still works, but I had to change the target windows 13706version to 0x500 which causes warnings about building beta 13707applications. This is all due to the use of MENUBARINFO data 13708type in the jaws binary. You can reduce the WINVER to 0x0400 13709safely if you are not building a JAWS binary, and MSVC 4.x 13710will work fine. 13711 137122009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>: 13713Removed dependency on jfwapi.h 13714 13715Allows anyone to compile a jaws compatible binary. 13716 137172009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>: 13718Fixed duplicate resource in winboard.rc 13719 13720PLEASE remember to pull before commiting. This is the 2nd 13721time I've fixed this. It's a waste of time to keep fixing 13722the same problems. 13723 137242009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>: 13725resolved conflict between Xt and Xaw libraries 13726 13727seems like we don't need to link against Xt. 13728 137292009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13730help-menu was not un-grayed in the JAWS version, when it played with engines 13731 137322009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13733integrated jaws into winboard 13734 13735I integrated the JAWS patch now into WinBoard in such a way that the 13736JAWS and standard version can use the same resource file. This new 13737winboard.c contains the improved dialog layot of the JAWS version, 13738but none of the menus and JAWS-specific acclerator keys. The latter 13739are now generated at run time by code in jaw.s. As a result jaws.h 13740could be cancelled, as there the JAWS-specific defines are no 13741longer needed outside jaws.c (now the .rc does not use them), and 13742is incorporated in it. 13743 137442009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>: 13745fixed problem in autoconf using Xaw3d 13746 13747rewrote the section for Xaw3d in the autoconf file 13748 137492009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>: 13750Added Jaws support to GCC makefile 13751 137522009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>: 13753added help support: MSVC IDE and DevCpp IDE project files 13754 137552009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>: 13756Removed obsolete makefiles and support files. 13757 137582009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>: 13759updated AUTHORS with the help of git. use 13760 13761git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD |sort |uniq 13762 13763a bit of hand editing and a quick emacs macro later and you have a nice 13764comma seperated list of all files changes by one author between two commits. 13765 137662009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>: 13767updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7 13768 137692009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>: 13770cleaned up some more copyright notices 13771 137722009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>: 13773updated copyright to reflect A. Scotte as copyright holder 13774 13775need to mention him, since the paperwork won't be finished before the next release 13776 137772009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>: 13778updated patchlevel to "k" 13779 137802009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>: 13781fixed autoconf problem with VERSION/PATCHLEVEL variables 13782 13783xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables. 13784Switched to PACKAGE_STRING provided by autoconf 13785 137862009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>: 13787cleaned up old CVS left overs 13788 13789removed $Id tags from all files 13790 137912009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>: 13792converted xhistory via dos2unix 13793 137942009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13795fixed crash in history window 13796 13797someone discovered that opening the move-history window in XBoard leads to 13798an immediate crash. Turns out that renaming the menu item broke it! (The 13799name of the item was apprently used elsewhere in the code to access it, 13800for putting a check mark there.) 13801 138022009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13803fix for Animation of castling moves in Chess960 13804 13805Animation of castling moves in Chess960 turned out to sometimes make the 13806king disappear from the display. For the time being I patched this in 13807xboard.c to suppress animation of FRC castling moves altogether. As FRC 13808castlings internally are represented as KxR, the to-square does not make 13809sense anyway, which made the animation look very weird even when it led 13810not to a king disappearance act. And the Rook move of a castling is never 13811animated. 13812 138132009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>: 13814Update GCC makefile to remove .obj targets. 13815 13816Dunno how they got in there, but they should be .o 13817 138182009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>: 13819Update makefile dependencies on help.c and help.h. 13820 138212009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>: 13822Allow compiling with MSVC6.0 and 4.1 13823 13824Move prototypes into help.h, after making sure that DWORD_PTR is 13825defined. Include help.h from winboard.c and help.c so both files 13826benefit from the definition. 13827 138282009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13829 lists these accelerator keys in the menus for JAWS 13830 138312009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13832added shortcuts 13833 13834This patch allows the use of Ctrl+C and Ctrl+V for Copy Game 13835and Paste even in I C S mode when the board has focus. 13836 138372009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13838better handling of pasting a game without PGN tags 13839 13840patch in wclipbrd.h to make it smarter to decide between pasting 13841a game or a position so it can handle games without PGN tags. 13842If it doesn't parse as a FEN it is assumed to be a game. 13843 138442009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13845fixed parser error for knight move 13846 13847The parser had a strange quirk: it recognized bd2 as a valid Knight move 13848(Nb1-d2) while this SAN format should be reserved for Pawn moves only. 13849 138502009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13851 fixed a few warnings in connection with the help patch (now warning free) 13852 138532009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13854some major re-assignment of accelerator keys in the JAWS 13855 138562009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>: 13857several small fixes 13858 13859uptracked winboard.ini 13860 13861* Cleanup: moved "Some definitions required..." from winboard.c to config.h, 13862and combined some definitions from borland w/ MS. 13863 13864* Changed internal HtmlHelp return type and 4th argument to facilitate various 13865compilers. These changes, while not strictly adhering to HtmlHelp() conventions, 13866won't impact anything since the function modified is internal only. 13867 13868* Modified HtmlHelp return values to integer to silence warnings. 13869* Added help.c to the project in makefile.gcc & makefile.ms. 13870* Fixed duplicate resource in winboard.rc. 13871 138722009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13873added JAWS support; help files for Vista; bugfixes for winboard.c 13874 13875* JAWS support 13876* help files should now work under Vista (the user has to have either 13877 a program to view old windows help files or to view html-files installed) 13878* I fixed the tabbing between all windows that were added according to Tim's sugestions. 13879* I added typing in of a move number in the move type-in dialog as a shortcut 13880 to going to that position by use of the < and > buttons. Mainly intended to 13881 ease life for the blind, but I think it can be generally useful. 13882 (Although the move-history dialog provides that functionality too, 13883 this is quicker if you don't happen to have it open.) 13884* I added typing of a FEN in the move type-in dialog in Edit Position mode. 13885 (Which could not be used without mouse at all, and is defective 13886 in crazyhouse even with mouse, as there was no way to populate holdings.) 13887 138882009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13889some bugfixes: ICS error handling 13890 13891* play a different sound for takebacks in ICS mode 13892* pop up error messages for illegal moves for typed-in moves 13893 138942009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13895removed no longer needed debug message 13896 138972009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13898fixed compile error from a previous change 13899 139002009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13901user selectable font in game list 13902 13903This makes the game list use the same (user selectable) font 13904as the the move-history window. 13905 139062009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13907fixed typos in xboard.texi documentation. 13908 139092009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13910updated the FAQ 13911 139122009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13913changed font in engine output window 13914 13915The engine-output window now uses the same font as the move-history window 13916(which was selectable in the "Options -> Fonts..." menu, while the other 13917wasn't). 13918 139192009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13920fixed some characters in xboard.texi 13921 13922It seems that copying manual sections from the RTF to th texi file did 13923somehow mess up the double-quote characters, and changed them into some 13924strange (unicode?) symbols. 13925 139262009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13927two shogi related bugfixes 13928 13929I discovered a bug in the move generator for the Shogi Dragon King. I 13930guess it went unnoticed so far because this is a promoted version of the 13931Rook, which hardly occurs in games. (moves.c) 13932 13933There was also a problem with the piecesfix I sent you before; Shogi 13934chosen as initial variant did use wrong piece symbols. (I had tested this 13935on gothic, but there it happened to work for a different reason, unique to 13936gothic.) This affects xboard.c. 13937 139382009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>: 13939small cleanup 13940 139412009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13942adds bitmaps for shogi promotions, and selects the bitmaps or 13943pixmaps for the more rarely used piece types on a per-variant basis. 13944 139452009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13946adds new piece types in the promotion dialog and edit-position piece menu 13947 139482009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13949updated bitmaps files: files for fairy pieces where missing, 13950others had names that didn't work with autoloading. 13951 139522009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13953fixed a bug concerning bitmaps 13954 139552009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>: 13956give a default directory for bitmaps files (tiny change) 13957 13958this is also one of the debian patches, should be rewritten to use 13959the correct install directory. No Author was given. 13960 139612009-06-27 15:47:52 -0700 Brian May <>: 13962verbose_error_message_about_recognized_options (tiny change from Debian patches) 13963 139642009-06-27 15:45:14 -0700 Matt Zimmerman <>: 13965add a visual low time warning (tiny change from Debian patches) 13966 139672009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>: 13968dos 2 unix conversion of backend.c 13969 139702009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>: 13971exchanged some sprintf with snprintf found in a patch for the debian system, 13972extended it a bit to other sprintf's original patch included only 11 lines 13973by Florian Ernst <florian@debian.org> 13974 139752009-06-24 23:07:23 -0700 Mark Ioli <chessknight>: 13976enabled a patch for default settings in winboard 13977 139782009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13979updated copyright notice 13980 13981 139822009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13983patches a bug in chosing the initial board size on a virgin startup 13984I introduced recently 13985 139862009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13987I put in testing for the winning condition in 3checks 13988 13989on a check it just goes through the entire game to subject 13990every position on a check test, to see if there were two more. 13991 139922009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 13993updated copyright notice in docs 13994 139952009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>: 13996added small patch from debian (tiny change) 13997 13998according to the debian patch tracker, this patch is by 13999Florian Ernst <florian@debian.org>. 14000It fixes whitespace issues in filename called from cmail. 14001 140022009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>: 14003converted dos2unix format for xboard.texi 14004 140052009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>: 14006deleted two more files that don't need to be in git 14007 14008these files can be generated by autogen.sh 14009 140102009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14011major overhaul of the -stickyWindows feature 14012 14013I did a major overhaul of the -stickyWindows feature. 14014The game-list and ICS-interaction windows are now also sticky. 14015I also added a form of stickiness when the main window is resized; 14016edges of auxiliary windows sticking to the right or bottom side of 14017the main window stay attached when the window resizes 14018(due to nr of board squares or their size). The way the window 14019coordinates are saved in the .ini file is now relative to the 14020main window, and some dummy options are added to be able to 14021recognize right- and bottom-edge sticking, and reconstruct that 14022when WB starts up with another board size. Also added are 14023volatile options to ensure there will be space for auxiliary windows 14024above and left of the main window. 14025 140262009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14027fixed long-algebraic form of drops 14028 14029The WB parser turned out not to understand the long-algebraic form 14030of drops send by an ICS. (like B/@@-e4), so even with 14031legality testing off I now use the SAN move for drops. 14032 140332009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14034Refined stalemate adjudication in Suicide, some cleanup 14035 14036Refined stalemate adjudication in Suicide, which seems to be not always won 14037for the stalemated side, but for the side with the smallest number of pieces. 14038Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h) 14039Also includes a tiny change in the -autoKibitz format, as requested on 14040Talkchess. 14041 140422009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14043Enhancement of the way -autoLogo decides which logos to display 14044 140452009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14046bugfix and enhancement in autoKibitz mode 14047 14048changed the format of the autoKibitz: score/depth in stead of depth/score, 14049as in PGN. I also supress the ICS time for the move now in the PGN 14050if extended info is available. When enhancing the functionality of 14051the autoKibitz command (using the opponent engine kibitz for the saved PGN) 14052I discovered that the xengineoutput.c in our tree was obsolete, 14053and contained a routine of which the arguments were no longer compatble 14054with the call from backend.c, and caused segfaulting. I copied in 14055the corresponding routine in wengineo.c, which was compatible. That the 14056compiler did not flag this is a sign of badly organized code, I suppose... 14057 14058The enhancement itself affected backend.c. 14059 140602009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14061modified clock layout 14062 14063I altered the display of the clocks in the presence of engine logos; I used to 14064stack them, but some inquiry on Talkchess sowed that people disliked the 14065stacking. So now I display them next to each other again, but as 2-line-high 14066fields to make room for te logos. 14067 140682009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14069new zippy option zippyShortGame 14070 14071On request of Mike Adams I added a new zippy option, -zippyShortGame, 14072to make life more difficult for abusers of abort and disconnect for cheating. 14073 140742009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14075fixed some bugs in the animation of atomic captures 14076 140772009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14078some small bugfixes 14079 14080I had overlooked one place from which the FEN writer 14081(of whicf I changed the argument types), which made WB crash 14082if you copied a FEN (or PGN that cotained FEN) to the clipboard. 14083I must have overlooked a warning during compile, or some depedency 14084is not correct in the makefile. Anyway, wclipboard.c had to be changed. 14085I also moved adjudication of some losing conditions to before tetsing 14086for stalemate, (e.g. in atomic, if your king get destroyd you lose, 14087even if you have no moves after that because it was your only piece.). 14088this affects backend.c. 14089I had used the same bits in the rule-modifier flags for indicating 14090mandatory capture as was already used for indicating FRC-style castling. 14091This led to frequent illegal move calls in FRC... (moves.h) 14092 140932009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>: 14094cleaned up HTML in FAQ.html -- still need to work on content 14095 140962009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14097added option for work-around for some FRC engines in regards to FRCFENs 14098 14099It suddenly occurred to me that I had promised on CCC to include an option 14100to provide a work-around for the problem that some FRC engines do not 14101understand FRC FENs (and thus do not play at all under WinBoard, 14102as FRC always has to begin with sending the initial position). 14103So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN. 14104This affects winboard.c and xboard.c, (for defining the option), 14105common.h, backend.h, backend.c, (for implementing it), 14106xboard.texi and winboard.rtf (decribing it). 14107This option provides users with a means to always force the FEN castling field 14108to KQkq (but can be used for many other work-arounds as well). 14109 141102009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14111fixed bug with random calls 14112 14113There also seemed to be a bug with the shuffling of opening positions; 14114I had changed the declaration of the position number from 14115long long int to u64 to comply with MSVC, but this suppressed shuffling 14116completely. I now changed it to int. I recently noted a problem with true 14117randomizing anyway: this was based on srand(time()), but time() apparently 14118did not change fast enough, so that starting several games in rapid succession 14119(because the book line contained a 3-fold repetition) produced identical games. 14120So I now seed the random once and for all during startup, based on the msec of 14121the time mark, and removed the other calls to srand(). 14122 141232009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14124changed name for fairymax program in xboard.h 14125 141262009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14127removed my name from copyright message in help->about menu 14128 141292009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14130fixed -stickyWindows option 14131 14132I figured out why -stickyWindows was not working in XP and Vista 14133(while it always worked under Win2K), and I think I found a fix for 14134it that works under all Windows versions. (I tried XP and Win2K.) 14135 141362009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14137Updated docs for Engine-Settings menu 14138 141392009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14140Awareness of winning conditions for atomic and giveaway variants; two bugfixes 14141 14142fixed bug in claim verification 14143Bugfix on initial position of Great Shatranj 14144 141452009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14146Legality testing (mandatory capture) in giveaway variants 14147 141482009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>: 14149don't ignore winboard/parser.c 14150 141512009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14152Added new variant Twilight Chess 14153 141542009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14155some renaming and restructuring of WB menu items, to conform more to XBoard 14156 141572009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14158Fixed bug in atomic patch that interfered with non-atomic variants 14159 141602009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14161fixed different use of engine option compared to Polyglot 14162 14163it turns out the new Polyglot uses a sightly different version 14164of the GUI->engine option command than the one I proposed 14165(and implemented in XBoard; Michel sneaked in an '=' sign 14166between the NAME and VALUE of the option, to allow for 14167more unambiguous parsing. I guess in principle this is a good idea, 14168so I adapted XBoard to Polyglot rather than the other way around. 14169The result is that there are canges in xboard.c, and the documentation. 14170I noticed that I unjustly had internationalized the option strings 14171to be send to the engine in xoptions.c; this was of course nonsense, 14172as this was WB protocol. So I undid that too. 14173 141742009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14175add the already supported variants 3check and great (=Great Shatranj) 14176to the New Variant... menu. 14177 141782009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14179animate explosions in variant atomic (if animate moves is on). 14180 141812009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14182fixed castling bug in variant twokings. 14183 141842009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14185fixed forteitary wins for special game variations 14186 14187feature that corrects forfeitary wins (e.g. on time) 14188of a bare King to draws of course breaks proper operation 14189in losers, suicide and giveaway 14190 141912009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14192automatically test ini file extension for files from commandline option @filename 14193 14194The winboard.c is a patch that automatically tries indirection files on the 14195command line (@filename type arguments) also with an extension .ini if the name itself 14196did not match any existing file and contained no period. This saves the user typing the 14197.ini all the time (which I started to find pretty annoying while working on the installer 14198package). 14199 142002009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14201added gamelisttag option to xboard 14202 14203also updated documentation. 14204 142052009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14206updated RTF file for winboard 14207 142082009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>: 14209fixed syntax error in texi file 14210 142112009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>: 14212updated to patchlevel "j" 14213 142142009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14215fixed adjudicating probelm in Shantranj 14216 14217Refrain from adjudicating a draw based on insufficient mating material 14218(except bare King vs bare King) in Shatranj (where in this case you can 14219still win by baring the opponent's King). 14220 142212009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14222updated documentation and FAQ 14223 142242009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14225source clean up. Fix compiler warning, removed unused variables, etc. 14226 142272009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>: 14228adding support for different windows compiler 14229 14230Eric kindly provided us with some makefiles for different windows 14231compiler and also fixed some issues that came up while using those compilers. 14232 142332009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>: 14234cleanup: got rid of a lot of files that are not needed for a new release 14235 14236lots of documentation was available in several places, 14237old unused source files and not used graphics file were floating around 14238in the tree. This should clean up most of it. No need to keep these files 14239around, especially since we are using version control. 14240 142412009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14242Added the Action-menu items that allow the user to adjudicate 14243ongoing games in Two-Machines mode. This was an already existing 14244backend function from Winboard_x; I only had to create a menu item for it 14245to be called. Due to an oversight I had forgotten to do that so far. 14246(Logically, I should have done it in the 4.3.5 release, 14247where I updated the XBoard menus to conform to the WinBoard menus.) 14248 14249I tested them, and they seem to work. (As expected.) 14250 142512009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>: 14252updated patchlevel to "i" 14253 142542009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14255small change to mousewheel support; two changes in window behaviour 14256 14257* Visible effects during resizing suppressed, bug in chosing new size fixed. 14258* No longer reserves left and top margins next to main window on first popup. 14259* built in some hysteresis into mousewheel support, ignorng the first event in any new 14260direction to suppress effects from accidential mouse movement. 14261 142622009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14263corrected 'animate dragging' 14264 14265I finally figured out how the 'animate dragging' works in XBoard, 14266so that I could add code to do the unstacking of multiple pieces 14267in the holdings, rather than always leaving an empty square while 14268you drag them. (And then suddenly re-growing the remaining pieces 14269as you make the drop.) It does not look as fancy as in WinBoard 14270yet, because the counts still only decrease when you release the 14271piece, rather than when you lift it. But this is not nearly as 14272disturbing as leaving empty holdings (if only temporarily) when 14273you still have pieces there. 14274 142752009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14276Added comand-line options -debugFile (as synonym for -nameOfDebugFile, 14277as WinBoard also has these synonyms), and -engineDebugOutput 14278(wich already existed in the backend). 14279 142802009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14281updated documentation for new release 14282 142832009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14284added Xiangqi perpetual-chase detection 14285 142862009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>: 14287Updated all files to GPL version 3. 14288 142892009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>: 14290converted two files from dos to unix format 14291 142922009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>: 14293updated INSTALL, NEWS and other files for new release 14294 14295cleaned up a bit and updated some information in the text files. 14296 142972009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>: 14298winboard/config.h shouldn't be in .gitignore, only ./config.h 14299 143002009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14301bumped patchlevel to 0g 14302 143032009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14304corrected path in makefile 14305 143062009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14307updated rtf 14308 143092009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14310added firstOptions, secondOptions, noGUI, firstXBook, secondXBook 14311 143122009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14313handle promotion case for Shogi 14314 143152009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14316add note about RESULT command for GUI programmers 14317 143182009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14319small changes to book.c 14320 14321 added code for different board sizes 14322 added some debuginfo 14323 handle promotion of pieces 14324 143252009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>: 14326added a .gitignore file 14327 143282009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>: 14329wrong line ending for Unix... ran dos2unix on both files 14330 143312009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>: 14332fixed texinfo files, added windows help file, removed config.h from git 14333 14334texinfo.in is not needed anymore, since it only provided a 14335version string, but this can be created automatically using autotools 14336 14337deleted config.h from version control, since it is automatically created. 14338added winboard.hlp file (not sure if needed) 14339 143402009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>: 14341updated autoconf init file 14342 14343* renamed autoconf init file from configure.in to configure.ac 14344* added bug-report email address to ac_init 14345* replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output 14346 143472009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>: 14348parser.c is generated by lex, so it shouldn't be tracked 14349and also parcer.c shouldn't be in Makefile.am 14350 143512009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>: 14352added book.c to Makefile.am 14353 143542009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>: 14355use autoheader to create config.h.in 14356 14357no need to track this in git anymore 14358 143592009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>: 14360fixed autoheader warings, remove depreciated acconfig.h 14361 143622009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>: 14363added a autogen.sh 14364 143652009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14366changes from H.G. Muller; version 4.3.16 14367 143682009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14369changes from H.G. Muller; version 4.3.15 14370 143712009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14372changes from H.G. Muller; version 4.3.14 14373 143742009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14375HGM fixed cygwin compile for winboard 14376 143772009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>: 14378cross compilier working 14379 143802009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14381changes from H.G. Muller; version 4.3.13 14382 143832009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14384changes from H.G. Muller; version 4.3.12 14385 143862009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14387changes from H.G. Muller; version 4.3.8 14388 143892009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14390changes from H.G. Muller; version 4.3.7 14391 143922009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14393changes by H.G. Muller; version 4.3.4 14394 143952009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14396changes from H.G. Muller; version 4.3.2 14397 143982009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>: 14399changes from H.G. Muller 14400 144012009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>: 14402cleaned up the directory a bit. Removed winboard-dm-beta, 14403merged the two Changelogs together 14404 144052009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>: 14406changes from Alessandro Scotti from 20060129 14407 144082009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>: 14409changes from Alessandro Scotti from 20060112 14410 144112009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>: 14412changes from Alessandro Scotti from 20051231 14413 144142009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>: 14415changes from Alessandro Scotti from 20051129 14416 144172009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>: 14418changes from Alessandro Scotti from 20050322 14419 144202009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>: 14421translated a handfull of strings and set the codeset to UTF-8 14422for the translations. 14423 144242009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>: 14425Translation: added German po file (roughly 50% translated) 14426 144272009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>: 14428fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi 14429 144302009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>: 14431fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in 14432 144332009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>: 14434fixed a warning message in the configure script 14435 144362009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>: 14437fixed parser.l. Should fix bug #22812 14438 144392009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>: 14440fixed parser.l. Should fix bug #22812 14441 144422009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>: 14443added myself to the AUTHOR file 14444 144452007-06-15 04:26:57 +0000 Mark Loli <chessknight>: 14446Initial check-in of NSIS Winboard installer files. 14447 14448* 06/12/2005: bugfix some more possible buffer overflows. 14449 14450* 06/27/2004: added simple icsEngineAnalyze for xboard 14451 14452* 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games 14453with a chessprogram on a Internet Chess Server (ICS) 14454 14455* 02/12/2004: Bugfix ICS interaction console crashed while chess 14456engine starting and user type in some stuff. We wait now to finish 14457the engine boot. 14458 14459* 02/11/2004: Winboard: Added color lines for the ics interaction 14460console if zippy used 14461 14462* 02/09/2004: Added mousewheel support for winboard. Play moves 14463backward and forward with the mousewheel. 14464 14465xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann 14466 14467* 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output 14468to WinBoard.debug too. (This isn't needed in xboard because ICS 14469output already goes to stdout, so it's easy to capture along with the 14470debug output on stderr.) This was issue #280 in the ToDo file. 14471 14472* 11/23/2003: Cleaned up some minor problems in cygwin.mak. Thanks to 14473Hans Werner Strube for the problem report. 14474 14475* 11/23/2003: Updated the default list of chess servers in 14476winboard/defaults.h. Deleted two that appear to be dead and added a 14477new one that is active. 14478 14479* 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard. 14480Hopefully this will get them the right way around by default on more X 14481window managers. I wish I understood this better. 14482 14483* 11/18/2003: Implemented a simple 32-bit random number generator for 14484WinBoard, replacing the Windows rand(), which ranges only up to 144850x7fff. Formerly on Windows, only zippy.lines sayings that started in 14486the first 32767 bytes of the file could ever be used. This was issue 14487#505 from the ToDo file. 14488 14489* 11/16/2003: The xboard man page and info files are now built from a 14490common set of texinfo source files, and the xboard man page now covers 14491cmail as well. Formerly, ever since the texinfo file was first 14492contributed to the project, it was separate from the man page and the 14493two files had to be updated in parallel, making for a maintenance 14494nightmare. To make combining the files possible, I took the Perl 14495script "texi2man" from the GNU Units project and added support for a 14496larger subset of the texinfo markup language. I then carefully 14497compared the old man page and old texinfo file to make sure the latest 14498and clearest words survived into the new combined texinfo file. It 14499would be great to merge in WinBoard's help file too, but that's a 14500larger project. It would have to be heavily conditionalized to 14501deal with differences in features between XBoard and WinBoard. 14502 14503* 11/15/2003: Cleaned up and applied a small patch from Daniel 14504Mehrmann, to stop overly long PVs in thinking output from causing a 14505buffer overflow crash in backend.c. 14506 14507* 11/5/2003: When a chess engine sends a "telluser" command (including 14508the cases where "tellall" or "tellopponent" acts like telluser), the 14509information now goes into a nonmodel popup that is automatically 14510dismissed when the user clicks anywhere on the board. This fix is 14511more significant on WinBoard, where formerly you got a fully modal 14512dialog that had to be dismissed by clicking on OK before anything else 14513could happen. The bug was issue #406 in the ToDo file. 14514 14515* 11/1/2003: Removed email addresses from this file to reduce spam 14516load, as it gets linked to from the Web. 14517 14518* 11/1/2003: Updated READ_ME and winboard/READ_ME.txt. 14519 14520* Modified xboard and winboard makefiles to be able to build the 14521project in the new combined directory structure. 14522 14523* Applied a small security fix to pxboard, from Martin Maeok. 14524 14525* Fixed a bug in the game list dialog. The change in 4.2.6 to opening 14526games in text mode (meant to avoid getting extra \r's into comments) 14527caused a new bug in determining seek offsets when parsing a game file 14528to form the game list. Also, the change was incomplete; on some code 14529paths games were still being opened in binary mode. Thanks to Lenik 14530Terenin for reporting the offset bug. I've now gone back to always 14531using binary mode when reading game files, and I've fixed the comment 14532bug by adding code to remove \r's from parsed comments explicitly. I 14533still use text mode for writing game files so that games written by 14534WinBoard will have Windows-style line endings. 14535 14536* Fix for minor bug in WinBoard installer. If you chose a non-default 14537destination directory, the default directory was still used for a 14538couple of unimportant things, namely setting the App Paths registry 14539keys (unused by WinBoard) and trying to copy the existing WinBoard.ini 14540file to WinBoard.old. I inherited this bug from the InstallShield 5 14541sample template. Thanks to "l.d." for noticing the incorrect keys. 14542 14543* Patch from Chris Priest: when two engines are being run through rsh, 14544avoid reusing the same stderr port for both. I'm not sure why this 14545should be needed, but it's harmless, at least. 14546 14547* Bugfix: The kludge to deal with old engines that give an error 14548message because they don't know the "st" command was too sloppy; it 14549could hit on an "st" substring anywhere in an error message. GNU 14550Chess 4 is the only engine I know of where the kludge was needed, so I 14551changed the kludge to match a longer, more GNU-specific string. 14552 14553* Changed the WinBoard self-extracting installer to choose a unique 14554temporary subdirectory name within the Windows temp directory instead 14555of always putting wb-setup directly in temp. Besides being better 14556practice, this avoids the need to deltree wb-setup first, which 14557occasionally alarms someone who thinks that deltree is only used by 14558trojans to delete all your files. (Yes, I'm serious.) 14559 14560* Fixed a bug where FICS-style "wild/0" strings were not parsed as the 14561proper wild type. The "/" was not being skipped. 14562 14563* Fixed a WinBoard bug where temporary files created by game 14564copy/paste were being created in the root directory of the current 14565drive instead of the TMP directory and were not always deleted on exit. 14566 14567* Fixed a small bug in winboard.c's ErrorDialog() function. Thanks to 14568"Ron" (no last name given). The bug might have caused a problem when 14569pressing OK or Cancel in an error dialog when more than one error 14570dialog was being displayed, but I'm not really sure. 14571 14572* Removed a hack that worked around a bug in very old versions of 14573Crafty, where it would sometimes reply "illegal move" to a "." 14574command. The hack kept us from recognizing real illegal move messages 14575in analyze mode from engines that don't respond to the "." command. 14576Thanks to Fabien Letouzey for the report. 14577 14578* Fixed a bug in the xboard version of GetDelayedEvent. It would 14579return the most recently scheduled event even if it had already fired. 14580This caused at least one visible error: in -ics -xreuse mode, starting 14581the engine again and seeing another "feature done=1" would re-run the 14582initialization code in InitBackEnd3, including the code that opens the 14583connection to ICS. The WinBoard version didn't have this bug. Thanks 14584to Bob Hyatt for the bug report. 14585 14586* The promotion popup for ICC wild 26 (giveaway) now includes King. 14587Thanks to Fredrik Josefsson for the bug report. 14588 14589* The first game in a file (or being pasted from the clipboard) can 14590now start with a bare move -- no PGN tags, no move number "1", etc. 14591Suggested by Shane Harrelson. One could imagine taking this farther 14592and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but 14593I haven't done that. 14594 14595* Bug fix: xboard didn't really accept a paste of multiple games, 14596contrary to what I wrote when adding the feature to WinBoard in 145974.2.4. Now it works in both. 14598 14599* Fixed generic start/end of game messages to work on chess.net, where 14600they put ratings in parens after the player names. 14601 14602* Updated config.sub and config.guess to newer versions from 14603automake-1.4p5-2. This makes configure work with MacOS X + X11. 14604 14605* Bugfix: when examining a game fragment on FICS where black plays 14606first, don't show two "(0:00.000)" times on the initial "none" move. 14607 14608* If TestLegality is on and one of the engines makes an illegal move 14609in TwoMachines mode, it forfeits immediately. Formerly the game would 14610get stuck at that point and the engine that made the illegal move 14611would eventually lose on time. 14612 14613xboard/WinBoard 4.2.6 -- Fri Feb 1 22:26:31 PST 2002 14614Tim Mann 14615 14616Another small bugfix release. 14617 14618* Put in a small change from Alexander Mai to allow xboard to build in 14619an OS/2 EMX environment. 14620 14621* Fix WinBoard-only bug where editing a PGN file with comments would 14622insert more \r characters before the \n after every Load/Save cycle. 14623For some unknown reason we were reading the files in "rb" mode but 14624writing them in "a" mode, so we kept the \r characters on reading and 14625added an extra one on writing. Fix: change the "rb" to "r". Thanks 14626to Joel (last name not given) for the bug report. 14627 14628* Put the arguments to rsh/remsh in the right order for better 14629portability. Thanks to Michael Kalisz. 14630 14631* FreezeUI is now implemented in WinBoard; it was previously only 14632implemented in xboard. This function prevents the user from entering 14633moves or other commands while we are waiting for an engine to 14634initialize itself. Implementing it fixes a bug where the user could 14635start a game (etc.) during feature negotiation. One of the symptoms 14636of this bug was that we could send "new" one or move moves *after* the 14637first game started! 14638 14639* Fixed some handle leaks (WinBoard only), including a nasty one that 14640leaked one handle per command sent to ICS. Thanks to several folks 14641who helped characterize the bug and tried to look for leaks. 14642 14643* We now install and look for the info file in ${prefix}/share/info 14644instead of ${prefix}/info. The latter is still the default in 14645autoconf, but the former is currently used in Red Hat Linux and 14646probably elsewhere. 14647 14648xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001 14649Tim Mann 14650 14651* Changed the bundled GNU Chess 5.02 in the WinBoard package to 14652include a much smaller book and to use much less hash table space by 14653default (8 MB transposition table, 0.5 MB pawn evaluation table). The 14654large book included with 4.2.4 made the WinBoard download too big for 14655some people, and the default hash tables were larger than the 14656available physical memory on some people's computers. I built the 14657small book by running Crafty's "small.zip" book line collection 14658through a Perl script that makes it look enough like real PGN games 14659that the GNU Chess book builder will accept it. The script and some 14660minor patches to GNU Chess 5 are available in the WinBoard source 14661distribution and at http://www.tim-mann.org/gnuchess.html. 14662 14663* Fixed a bug in the code that deals with engines that complain that 14664"time" and "otim" are illegal moves. This was a new bug in 4.2.4. 14665 14666* Revamped the implementation of ToStart in analysis mode. Formerly 14667there was some ill-conceived code that would try to get back to the 14668start of the game by doing a "new" command (and all the followup 14669commands that requires) while remaining in analysis mode. This is 14670problematic for engine authors to support, though it works with 14671Crafty. This code was trying to solve the problem of ToStart being 14672slow because the engine would try to start an analysis after every 14673"undo" command all the way back to the start. But ToEnd already had a 14674much better solution to this problem, and now ToStart does the same 14675thing: we exit from analysis mode and enter force mode instead, 14676make/unmake moves to get to the end/start of the game, and then 14677reenter analysis mode. 14678 14679* Formerly, Zippy could try to start playing a game before the engine 14680was initialized; that is, during the initial timeout for protover 1 14681engines, or before "feature done=1" for protover 2 engines. We now 14682wait until the engine is initialized before connecting to ICS, which 14683fixes this in the common case. If you turn off engine reuse for 14684multiple games (that is, if you give the -xreuse option), there could 14685still be problems; see item 503 in the ToDo file. Thanks to Dieter 14686Buerssner for the bug report. 14687 14688* Bugfix: All WinBoard versions since the merge with WinBoard Plus 14689(but not xboard) have had a bug in changing the PeriodicUpdates, 14690PonderNextMove, and ShowThinking options from the menu. The bug 14691mostly just caused changing these options during a game to not take 14692effect until after the next reset. For TwoMachines games, though, 14693changing PonderNextMove just before the game would take effect 14694immediately for the second engine but not until the next game for the 14695first engine. Thanks to Koundinya Veluri for the bug report. 14696 14697* Bugfix: In 4.2.4, we sometimes got confused when trying to leave and 14698reenter analyze mode. One symptom was that Analyze File did not work. 14699Thanks to Igor Syry for the bug report. 14700 14701xboard/WinBoard 4.2.4 -- Sun Dec 9 14:56:30 PST 2001 14702Tim Mann 14703 14704* WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00. 14705 14706* WinBoard's PasteGameFromClipboard will now handle a paste with 14707multiple games in it, popping up the game list dialog. xboard 14708already did this. Suggested by Robert Gerstman. 14709 14710* We now use the "clearboard" command on ICC where appropriate. 14711 14712* Bugfix: don't generate a bogus "variant normal" command to an engine 14713for the loadable ICC wild types that we internally flag as 14714VariantLoadable. Also clarified the message that Zippy sends when 14715declining such wild games -- it can't deal with the possibility of 14716loading an arbitrary position into the game. Thanks to Dieter 14717Buerssner for reporting the problem. It would be nice to be able to 14718actually play these wild types some day; presumably there would have 14719to be an option to either send "loadgame" with a specified position, 14720or to deal with an opponent sending it. 14721 14722* If we get a holdings message from ICS when we thought we were 14723playing normal chess, we now try asking for a move list so that we can 14724find out from the header what's really happening. Formerly we guessed 14725bughouse in this case. Response to a comment from Gian-Carlo 14726Pascutto. 14727 14728* Fixed two longstanding bugs in the clock code. These affected only 14729play between a user and a local engine, or between two local engines, 14730not ICS play. (1) The last fractional second used by a player before 14731moving and virtually pushing his clock was being charged to his 14732opponent instead of to him. (2) The time and otim commands were being 14733sent to an engine before the (buggy) fractional second update was 14734done. The second bug was pretty harmless in itself, but the first one 14735was serious. Many thanks to Peter Rosendahl for carefully diagnosing 14736and reporting these bugs! 14737 14738* Changed WinBoard timestamp key. Nothing is changed other than the 14739key and a recompilation. ICC may phase out the old key soon; if they 14740do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later 14741to connect to chessclub.com. 14742 14743* Fixed an xboard-only bug where most dialogs would not take keyboard 14744input unless the mouse was actually over the dialog, even if the 14745dialog window had focus. Thanks to Jason Varsoke for the bug report. 14746 14747* Bugfix; Remember to send time and otim commands to engine before 14748sending playother. Thanks to Bob Hyatt for the bug report. Also 14749fixed a bug where time and otim were sometimes sent even with feature 14750time=0. 14751 14752* Added small patches from Wilkin Ng that are meant to fix a crash in 14753CopyGameToClipboard and a "can't unlock clipboard memory" error in 14754PasteTextFromClipboard, under Windows 2000. 14755 14756* Changed cygwin.mak to not use -mno-cygwin. In other words, it now 14757uses cygwin1.dll instead of the mingw libraries. This works around 14758bugs in fileno() and stat() that I encountered in mingw. (fileno 14759seems to always return 0. stat fails because the library routine uses 14760a different definition of struct stat than the header files provide.) 14761Thanks to Robert Gerstman for reporting the symptoms these bugs caused 14762when WinBoard was compiled with Cygwin. 14763 14764* Added -showButtonBar option. This lets you delete the << < P > >> 14765buttons and thus widen the message widget a bit. 14766 14767* Added code to address a very obscure bug. If an engine dies and 14768needs to be restarted while in one of the analyze modes, it was not 14769getting put back into analyze mode. This bug should not really ever 14770have gotten tickled unless reuse was turned off and the engine sends 14771game end commands (such as 1-0) when a game ends by rule while in 14772analyze mode. The next version of the protocol spec will say that 14773engines should not do that, but version 2 and earlier didn't address 14774the issue. 14775 14776* We now use the FICS "iset ms 1" feature to get times in ms instead 14777of seconds. Thanks to DAV for email telling me about this feature. 14778 14779* Changed clock display to show tenths of seconds for 9.9 seconds and 14780less, instead of 0.9 seconds and less as before. 14781 14782* It has been discovered that Zippy can play simuls on ICC (but not on 14783FICS). If you arrange for Zippy to send the ICC command "simulize" in 14784the -zippyGameStart string, it will accept additional games while 14785playing. Zippy will use the same engine for every game, so whenever 14786it switches opponents, the engine's state will be reset with the "new" 14787command. This will of course weaken its play, so don't enable simuls 14788if you want your engine to have the highest possible rating. Zippy 14789was never designed to work with simuls; it just works by accident, and 14790it hasn't been tested much. So please report any bugs you notice, but 14791don't expect them to be fixed rapidly. Thanks to Paul McGuire for 14792noticing that this works. 14793 14794* Bugfix: Suppress the direct command to engine popup if there is no 14795engine. In WinBoard this case used to cause a crash. Thanks to 14796"Dargon" for the bug report. 14797 14798* Bugfix: formerly we did part of the engine initialization for the 14799very first game too soon, before feature negotiation. One result of 14800this is that engines would never get the "ics" command for the first 14801game. 14802 14803* Lengthened timeout to detect protocol version 1 chess engines to 10 14804seconds. This should reduce problems with protocol version 2 engines 14805that are slow to initialize missing the timeout and not getting a 14806chance to send their feature commands before the first game starts. 14807 14808* Klaus Friedel says that adding a short sleep to WinBoard after 14809starting a new chess engine solves a problem that occurs under Windows 148102000, in which engines sometimes don't see the initial command(s) from 14811WinBoard and hang. I don't understand how that can happen, but the 14812sleep is harmless, so I've put it in. Others have also reported what 14813may be the same problem, so hopefully this will fix it for them too. 14814 14815* Bugfix: editing the Result field in EditTags will no longer cause a 14816later crash. Thanks to DAV for a clear bug report that let me 14817reproduce the problem. 14818 14819* ICC wild 28 is now recognized as shatranj, but it is not supported. 14820You might be able to play it by turning off Test Legality. 14821 14822* Formerly we would always turn off "feature time" if the engine 14823printed an error message with the string "time" or "otim" in it; now 14824we do that only if the message comes before the engine makes its first 14825move. This change is useful because some engines spew a lot of bogus 14826error messages about commands they don't fully parse, so something 14827like "result 0-1 {White lost on time}" could generate such a message. 14828Engines shouldn't do that, but if they do, mysteriously turning off 14829"feature time" is not a good way to react. 14830 14831* Fixed an infrequently occurring Zippy bug: formerly, resuming from 14832adjournment by position (that is, with GetMoveList turned off) or 14833starting/resuming a wild game (nonstandard starting position) would 14834try to set up the position without putting the engine into force mode 14835first. That was probably tolerated by most engines, but if the 14836position was black-to-play and the engine hadn't set feature 14837setboard=1, then the fake "a2a3" move (which we use as a kludge to get 14838black to be on move before sending the edit command) would appear to 14839be a real move, and the engine might reply to it! This bug could also 14840be seen when trying to use Zippy to play a simul -- something that 14841Zippy was never designed to support, but which seems to mostly work 14842anyway. Thanks to Paul McGuire for sending a WinBoard.debug file that 14843showed the bug occurring. Some other cases of resuming adjournments 14844or starting games from nonstandard positions may have been broken too; 14845I think I've straightened out the problems. 14846 14847* Agreeing to a draw in the human vs. local engine case formerly did 14848not work if the human offered first; now it does. A human's 14849unsolicited offer is considered valid until he makes another move. 14850Thanks to Bruce Moreland for the bug report. 14851 14852* Bugfix: We used to look for just "fr" in Event tags or strings from 14853ICSes to recognize Fischer Random games. This caused a lot of false 14854matches. Now we look for "wild/fr" instead, which is what FICS uses. 14855 14856* Bugfix: Clicking on a move in the MoveList window only updated the 14857displayed position; if a chess engine was active, its state was not 14858updated. Thanks to Alejandro Dubrovsky for the bug report. 14859 14860* Bugfix: The "resign" command from engine to xboard formerly did not 14861work in ICS (Zippy) mode. 14862 14863* Bugfix: Formerly we would register a garbage premove if the user 14864clicked on a piece, then clicked on an edge or outside the board. Now 14865such an errant click is ignored. 14866 14867* Bugfix: GameEnds would send "exit" to an engine in analyze mode even 14868if we did not actually want to leave analyze mode. 14869 14870* Bugfix: "feature pause" was being rejected. We don't currently use 14871it, but that is no reason to reject it. Thanks to Gian-Carlo Pascutto 14872for the bug report. 14873 14874* Bugfix: when "partner" needed to be sent both to ICS and the engine, 14875Zippy was erroneously sending the ICS prefix character to the engine 14876too. Thanks to Gian-Carlo Pascutto for the bug report. 14877 14878* Zippy now declines challenges when the engine is not yet ready to 14879play again, instead of ignoring them. This is needed so that the 14880server will let the opponent repeat the challenge. It might be better 14881to remember such challenges and accept them when the engine is ready, 14882but that would be a bit more complicated to implement. 14883 14884* Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a 14885built-in alias for "it", not a real command. So sending "$i foo" gave 14886an error message instead of doing "it foo". We now leave out the 14887alias-suppressing prefix for emotes. 14888 14889xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001 14890Tim Mann 14891 14892* Bugfix: The error message "Variant X not supported by gnuchessx" 14893formerly could pop up even in -ncp mode. 14894 14895* Fixed an xboard bug in premove highlighting. If you had 14896HighlightLastMove turned on, premoves got highlighted in 14897highlightSquareColor (yellow) instead of premoveHighlightColor (red). 14898 14899* Modified premove again. Now we are back to displaying the move 14900locally immediately after sending it to the server, as in versions 14901prior to 4.2.1. This is good because it lets you register your next 14902premove sooner. As a better fix to the problem that the change in 149034.2.1 had been trying to address, we now suppress animating the 14904opponent's move if you have a premove reply pending. However, it's 14905probably still a good idea for you to turn off AnimateMoves entirely 14906if you are trying to play extremely fast games. 14907 14908* Removed an erroneous patch that left zombie chess engines around 14909when both sigterm and reuse were turned off. (Bug was in xboard only, 14910not winboard.) 14911 14912* Bugfix: loading a game with autostepping did not work for games with 14913PGN result "*" (unfinished). This bug was introduced in 4.1.0, caused 14914by some outdated code that was supposed to leave you in EditGame mode 14915after loading an unfinished game. I fixed this, and also changed it 14916to leave you in EditGame mode after loading *any* game, but without 14917changing the tags to say it's an edited game. It's not really clear 14918whether that is the best thing is to do here -- ideally, perhaps, the 14919tags should change to say "edited game" if you actually make any 14920changes, but that is harder to make work. 14921 14922xboard/WinBoard 4.2.2 -- Tue Feb 6 20:00:00 PST 2001 14923Tim Mann 14924 14925* Fixed a problem introduced in 4.2.1. In -zippyPlay mode, 4.2.1 14926started sending the initString immediately after the old game ended, 14927but then when the next game started, it would still send "force" and 14928another initString. Another problem was that the first initString put 14929the engine out of sync with the displayed board position, though that 14930might not usually have been noticeable. This is now changed to do a 14931full Reset at the end of the previous game, and avoid doing a Reset at 14932the start of a new game if we are still in BeginningOfGame mode. 14933 14934* Fixed some limitations in -zippyPlay mode. The engine was not being 14935fed the moves or history of games that were displayed but not being 14936played, so it would get confused if you tried to do something like 14937examine a game, then enter EditGame mode from somewhere in the middle 14938of the game. 14939 14940* Made a small change so that cygwin can compile xboard for Windows 14941(an X server is required to run it). Thanks to Volker Zell. Most 14942people would probably prefer to run WinBoard on Windows, however; note 14943that cygwin could already compile WinBoard. 14944 14945* Added some missing documentation to engine-intf.html: It is okay to 14946send "feature done=0" even before you receive the xboard and protover 14947commands, if this is needed to give your engine enough time to 14948initialize. See engine-intf.html for more discussion. 14949 14950* Bugfix: "feature done=0" did not work for the second engine; now it does. 14951 14952xboard/WinBoard 4.2.1 -- Sat Feb 3 19:52:26 PST 2001 14953Tim Mann 14954 14955* Bugfix: in Zippy mode with feature san=1, the elapsed time was being 14956sent to the engine after the SAN move; for example, "e4 (0:01)" was 14957sent instead of just "e4". 14958 14959* It seems that scroll wheel mice with incompletely installed software 14960(under Windows 95, at least) can send repeated middle button up events 14961when the wheel is turned. Moved QuickPaste from middle button up to 14962middle button down to avoid problems with this. 14963 14964* A premove is now sent *before* the opponent's move that it replies 14965to is animated. The premove itself is no longer displayed (or 14966animated) when sent; instead, it is displayed when the chess server 14967echoes it back as a board update. 14968 14969* Bug fix: in -xreuse mode, xboard was only sending command line 14970arguments to the engine the first time it was started. (WinBoard 14971didn't have this bug.) 14972 14973* In -zippyPlay mode, we now initialize the chess engine for a new 14974game immediately after the old game ends. (In -xreuse mode, this 14975means starting a new engine process; in the default -reuse mode, it 14976just means sending "new".) If the engine supports ping, we don't 14977accept challenges until the "new" has finished. This should help 14978avoid losing time (re)initializing the engine after the game starts. 14979 14980* We now handle the new FICS field in style 12 that says whether the 14981clocks are ticking. 14982 14983* whiteFlag and blackFlag are now reset whenever an ICS board image 14984arrives, giving autoflag a fresh chance to work. 14985 14986* Suppressed "geometry error" debug messages unless -debug flag is given. 14987 14988* Bugfix: avoid core dump on Solaris with -debug flag, caused by 14989passing NULL to a %s format in GameEnds. 14990 14991* Added -firstProtocolVersion and -secondProtocolVersion. This will 14992allow use of extremely broken engines that hang or die when given the 14993"protover 2" command. It should be rarely if ever needed. 14994 14995* Zippy now strips highlights from player names in the Creating 14996message; previously the ratings would not be extracted from this 14997message properly if you had set the highlight variable. 14998 14999* Bug fix: Zippy with -zp but not -zt used to be fooled by false 15000partner tells inside channel tells; e.g.: 15001Garf(24): Garf (your partner) tells you: sit 15002 15003* Bug fix: when an engine reported its name with the new "feature 15004myname=" command, we had been putting just that name into the window 15005title even when in TwoMachines mode. 15006 15007* By default, WinBoard no longer uses the new feature introduced in 150084.2.0beta of keeping the ICS menu, ICS server list, and lists of chess 15009engine command lines in separate files; instead, the lists are back in 15010the winboard.ini file. This gets rid of some problems where the 15011separate files could not be opened because the working directory was 15012not set to WinBoard's installation directory. 15013 15014* WinBoard command lines and ini files now have another optional 15015syntax for quoting an option value. All characters within { } curly 15016braces are interpreted literally except for '}' itself. SaveSettings 15017now uses this syntax for string values that contain a backslash or 15018newline and do not contain a '}'. This should address the problem 15019that the separate .ini files had been meant to fix; engine command 15020line lists can now be written without \-escapes. 15021 15022* Fixed three bugs in relaying moves between engines in TwoMachines 15023mode: an engine would be sent SAN if the *other* engine had set 15024feature san=1, a relayed SAN move did not end with a newline, and 15025feature usermove was not implemented for relayed moves. 15026 15027* Fixed several bugs in exiting: File/Exit would sometimes hang; 15028timestamp/timeseal would not get killed off; an engine crash would 15029cause error messages to be printed recursively until stack overflow. 15030 15031* Fixed a bug in the code to detect which ICS is in use and adapt to 15032it; the chess.net case was broken. 15033 15034* Removed the leading alias-suppression character when sending a move 15035to ICS, because it seemed to break accuclock on chess.net. 15036 15037* Fixed a bug where a FICS prompt like "10:01_fics%" would be matched 15038as finger note number 10, causing a problem detecting when the user is 15039logged in. 15040 15041* Added tellicsnoalias command to protocol. 15042 15043* Changed st command in protocol back to old behavior. 15044 15045* Added done=0 feature to protocol, to lengthen initial timeout. 15046 15047* Added missing -colorSeek command line option to xboard. (Was 15048present in WinBoard.) 15049 15050* Bug fix: setting feature reuse=0 was not working. 15051 15052xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000 15053Tim Mann 15054 15055* Setting -searchTime no longer turns off -clockMode. Note that when 15056-searchTime is set, some engines may search for the lesser of 15057searchTime and the amount of time their normal clock management would 15058dictate, while others will disable their normal clock management and 15059always search for exactly searchTime. 15060 15061* Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the 15062ICS Interaction window would scroll back to the top whenever it filled 15063to capacity and WinBoard trimmed some text off the top. 15064 15065* Changed xboard dragging so that the center of the dragged piece is 15066forced to be over the mouse cursor. (WinBoard dragging already worked 15067that way.) This should avoid confusing cases when you start a drag 15068with the mouse near the edge of a square -- formerly most or all of 15069the piece could be over one square but the mouse cursor over another. 15070Suggested by DAV. 15071 15072* Added move list window for xboard. Code contributed by Manuel 15073Hoelss and re-hacked a bit by me. Performance of this window is poor, 15074because the implementation regenerates the entire window contents 15075whenever anything changes. It's hard to avoid this when using the 15076Athena List widget, though we could be a little smarter and notice 15077when the current move number has changed but the move list has not. 15078There are also several drawing problems caused by bugs in the Athena 15079Form and List widgets. The window should not really allow a 15080horizontal scroll bar, but the bugs are much worse if I turn it off. 15081In both Xaw and Xaw3d, the List widget tries to resize itself when 15082XawListChange is called, even if you tell it not to; and what's worse, 15083if the widget cannot resize itself to be large enough to avoid 15084clipping any of the list item, it does not change the list! Arrgh. 15085On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1 15086(X11R6.4.3). 15087 15088* The OK button in the WinBoard startup dialog is now simply disabled 15089if none of the radio buttons is selected, instead of bringing up an 15090error dialog. Suggested by Ted Milbaugh. 15091 15092* Used ping to address the worst of the race conditions in the 15093protocol. Now if an engine supports ping, we ping it after sending 15094the "new" command and after trying to place it in force mode at the 15095end of a game. When a ping has been sent and the corresponding pong 15096has not yet come back, we (1) ignore or undo any moves the engine 15097sends, (2) ignore game end messages (such as "offer draw", etc.) from 15098the engine, (3) ignore thinking output from the engine, (4) delay 15099starting the next game if in -matchGames mode, (5) in -zippyPlay mode, 15100respond to challenges with a polite message to try again soon instead 15101of accepting them. There are a few more things that should be done 15102(and item 5 might not be quite what we want), but it's hard to fit 15103them all into the existing code. 15104 15105* Patched the version of GNU Chess 5.00 included with WinBoard to 15106support protover, feature, setboard, and ping, and to fix some minor 15107bugs. See gnu500+.patch. 15108 15109* Changed the GNU Chess 4 kludges for missing "st" and "sd" commands 15110to be invoked only if the engine gives an error message for "st" or 15111"sd", and to always use protocol commands instead of engine 15112command-line options. See "Idioms" in engine-intf.html. 15113 15114* Added new protocol command "protover 2" to tell the engine what 15115version of the protocol is in use. Version 2 is still compatible with 15116old engines; see engine-intf.html. 15117 15118* Add new protocol command "feature ..." The engine can send this in 15119response to the protover command command, to say what extended 15120protocol features it would like to enable, etc. xboard responds 15121"accepted F" or "rejected F" for each feature F that is set. See 15122engine-intf.html. 15123 15124* Added new protocol command "setboard <fen>". This is an alternative 15125to "edit", used only if the engine says "feature setboard=1". 15126 15127* Added new protocol command "ping <msg>". The engine is supposed to 15128respond "pong <msg>". This gives us a tool to fix some race 15129conditions in the protocol, but it is not used to the fullest yet. 15130 15131* Added new protocol command "tellopponent". This will do a "say" if 15132you're on a chess server in Zippy mode, or pop up an information 15133dialog otherwise. 15134 15135* Added new protocol command "tellall". This will do a "kibitz" if 15136you're on a chess server in Zippy mode, or pop up an information 15137dialog otherwise. 15138 15139* Added new protocol command "tellothers". This will do a "whisper" if 15140you're on a chess server in Zippy mode, or do nothing otherwise. 15141 15142* Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames, 15143and /secondChessProgramNames options to accept a filename preceded by 15144"@", meaning to find the value in the file. Changed the defaults to 15145use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini, 15146and scp.ini. This should make it easier for users to edit the values, 15147since one less level of quoting is needed, and each value is in its 15148own file, not mixed into winboard.ini. Those who upgrade from an 15149older winboard version and already have a winboard.ini file will not 15150automatically have these values moved to a file; that has to be done 15151by hand if desired. 15152 15153* We now strip .exe from engine names for "name" command, tags, etc. 15154 15155* Allowed WinBoard input widget to hold more than one line. You can get 15156a newline into the widget with copy/paste or with Ctrl+Enter. 15157 15158* Fixed an xboard bug where the [P] button would appear in the 15159opposite highlight state from what it should be after being pressed. 15160 15161* We now use the "/" or "$" alias suppression feature on the chess 15162servers, to avoid problems if the user inadvertently aliases a 15163needed command to something else. 15164 15165* Changed the method used to deiconize xboard in AutoRaise and cmail. 15166This may fix bugs under some window managers where after 15167deiconization, the board window was mapped but nothing was drawn 15168inside. 15169 15170* Preliminary, partial support for playing several chess variants 15171against a local engine or editing variant games. The -variant option 15172must be given on the command line or WinBoard startup dialog; there is 15173no menu. The current variant is not displayed (except in the 15174Tags/EditTags window). Many variants will not work quite right even 15175if the engine supports them; see item 326 in the ToDo file for 15176details. 15177 15178* Added a workaround to detect the variant type when examining a 15179scratch wild game on an ICS. 15180 15181* Fixed two cases where "variant" command should be sent to the engine 15182when necessary but was not: loading a game from a file and restarting 15183a dead engine. Thanks to Gian-Carlo Pascutto. 15184 15185* Added missing support for FICS games that start from a bsetup position 15186with Black moving first. 15187 15188* Fixed a bug in loading a file from the game list window while in 15189Analysis or AnalyzeFile mode. This now leaves us in AnalyzeFile 15190mode, analyzing the new file. 15191 15192* Fixed a bug in loading games with a comment before the first move. 15193 15194* Fixed a bug in handling LoadGame (or -lgf) with -td 0. 15195 15196* Added a command line option to select an initial minor mode from the 15197Mode menu. This should satisfy requests from a couple of users with 15198special applications. 15199 15200* Fixed a problem where some things in WinBoard's General Options 15201dialog box were grayed out at the wrong time. 15202 15203* We look for a few messages from the chess engine pipe that are 15204intended to catch problems starting an engine via rsh, such as "No 15205such file". Moved code so that these strings won't match until other 15206protocol messages have been looked for, and documented the messages in 15207engine-intf.html. 15208 15209* Fixed the WinBoard bug that sometimes made the console input box 15210white-on-white even when not in password-entry mode. 15211 15212* Small changes to WinBoard to be compilable with the latest Cygwin 15213net release (as of 10-16-2000). Thanks to Mark Schoenberg. 15214 15215* Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net 15216release (as of 10-16-2000). Also rebuilt the book just to be sure, 15217since I had one bug report about it. It came out identical and seems 15218to work fine. 15219 15220* Added messages for some common InstallShield errors instead of just 15221printing InstallShield's stupid error code numbers. 15222 15223* Added -firstComputerString and -secondComputerString, allowing you 15224to suppress or change the command that is sent to a chess engine when 15225its opponent is another computer. 15226 15227* Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead 15228of Xaw widgets in xboard. Thanks to Johnny C. Lam of the NetBSD 15229project. I've left Xaw as the default because Xaw3d is too ugly. 15230 15231* The version of the Xaw Form widget released in XFree86 4.0.1 15232(X11R6.4.3) has a bug that causes xboard to display the button bar 15233on top of the message widget. I've reported the bug and have 15234installed a kludge workaround into xboard. 15235 15236xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000 15237Tim Mann 15238 15239* Merged Winboard Plus 4.0.8 from Mark Williams into xboard 15240 source pool. Status of Winboard Plus features in xboard: 15241 15242 - White pieces now have borders, but the implementation is 15243 completely different from WinBoard's; see below. 15244 15245 - Options menu not changed, probably won't be. 15246 15247 - Copy&paste support working, using Mark's changes to backend.c, Ben 15248 Nye's changes to xboard.c for FEN positions, and some code of my 15249 own in xboard.c for PGN games. 15250 15251 - Premove hooked up and working. No pre-first-move, though. 15252 15253 - ICS Alarm hooked up and working. 15254 15255 - Auto-flip working. 15256 15257 - PGN Training mode hooked up and working. 15258 15259 - Improved menu item enable/disable working. 15260 15261 - Improved >> button working. 15262 15263 - Auto activate board working. I changed this to be optional; you 15264 might not always want it, especially in Zippy mode. 15265 15266 - Blindfold working. 15267 15268 - Documentation updated. 15269 15270* Fixed more colorization bugs. Commands like "message foo tells you: 15271xxx" and "tell 33 tells you: xxx" will no longer generate bogus 15272colorization. 15273 15274* Added low-tech sound support to xboard, by invoking an external 15275program on a filename for each sound to be played. 15276 15277* ICC wild 27 is now recognized as VariantAtomic, and it sets the 15278"ignore check" flag, but is not otherwise supported. 15279 15280* Converted the piece bitmaps from .bm to .xpm for use with xboard's 15281xpm support. (An .xim version was not created.) Wrote a shell script 15282using ImageMagick to do the conversion and to bucket fill from 15283coordinate 0,0 with the background color. Used xpaint by hand to 15284clean up a few pieces where background color "leaked" into the inside 15285or didn't flow all the way around the outside, then a sed script to 15286fix up color names and bitmap names in the xpaint output. If any more 15287sizes are added later, they should be straightforward to convert with 15288reference to the existing scripts. With this conversion, not only do 15289the white pieces now have dark borders, but (unlike with WinBoard) the 15290light details on the black pieces are opaque. 15291 15292* If the XPM library is found when building xboard, the new xpm pieces 15293are compiled in as the default. External bitmap (or xpm) pieces can 15294still be used by giving the -bitmapDirectory (or -xpmDirectory) 15295option. If the XPM library is not found, the old bitmap pieces are 15296the default. In this case external bitmap (or xim) pieces can be used 15297by giving the -bitmapDirectory (or -xpmDirectory) option. There is no 15298way to compile in xim pieces. 15299 15300Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000 15301Mark Williams 15302 15303* Bugfix release. 15304 15305* Main menu now visible in Win NT. Thanks to Microsoft for creating a 15306compiler which auto-mutilates the WinBoard.rc file so that the menu is 15307displayed under Win 98 but not Win NT. I fixed the problem by hand editing the 15308.rc file. Sigh. 15309 15310* "Reset game" now works properly when invoked from Analysis mode when two 15311engines are present. Correction of bug introduced in Winboard Plus. Thanks to 15312Mogens Larsen for reporting the bug. 15313 15314* Pasting a FEN position with Black to move now works in all modes. 15315Thanks to Mogens Larsen for reporting the bug. 15316 15317* Added gnuchess.dat to the distribution and a couple of text files that were 15318missing in 4.0.7. 15319 15320*** Merged in the following changes from Tim Mann: 15321 15322* Bugfix: Highlights would sometimes not be taken down, at least in 15323xboard. The problem is that SetHighlight works in chess coordinates, 15324not view coordinates, so if flipView has been toggled since the 15325highlight was put up, it gets taken down from the wrong square. Fixed 15326by being careful to call ClearHighlights before toggling flipView, not 15327after. Ugh. 15328 15329* Bugfix: HighlightLastMove would sometimes highlight square a1 after 15330a FICS "tomove black" command. 15331 15332* Bugfix: a move list with initial position that has black to play was 15333not being handled correctly. 15334 15335* Removed "decline abort" and "decline adjourn" commands from Zippy. 15336The syntax is changing on FICS, and Zippy really doesn't have to 15337explicitly decline the requests anyway; it's sufficient to not accept 15338them. 15339 15340* ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC 15341calls it "giveaway"). 15342 15343* Bugfix: PGN games with black to move in the initial position weren't 15344being legality checked correctly. I think this was introduced in 153454.0.6 when I fixed a different PGN bug. Thanks to Mark Williams for 15346spotting the bug and suggesting a fix. 15347 15348* Bugfix: the initial "name(" of a kibitz wasn't being colorized. 15349 15350Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000 15351Mark Williams 15352 15353* New white pieces with black borders. 15354 15355* Major overhaul to Options menu. New dialogs for setting General Options, 15356 Board Options, ICS Options, Sounds, Fonts, Colors. 15357 15358* Clipboard support for PGN game scores and FEN positions. 15359 15360* Optional ICS Premove with user-specified first moves for White and Black. 15361 15362* New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm. 15363 15364* New auto-flip option when playing against a chess program. 15365 15366* Added PGN Training mode. 15367 15368* Certain menu options now disabled while program is thinking. 15369 15370* ">>" button now always goes to the end of the game. 15371 15372* In ICS mode, the board is automatically activated at the start of a 15373new game. 15374 153754.0.7 -- Sun Mar 5 17:17:49 PST 2000 Tim Mann 15376 15377* Fixed a nasty bug in parsing ICS game histories that was introduced 15378in 4.0.6. 15379 153804.0.6 -- Fri Mar 3 16:20:11 PST 2000 Tim Mann 15381 15382* Fixed bugs in Zippy's code for responding to messages sent with the 15383ICS "message" command. 15384 15385* Fixed bugs where xboard could still create dialogs partially off the 15386top of the screen. Fixed unwanted interactions between initial sizes 15387and positions of various unrelated xboard dialogs. Deleted 15388borderXoffset and borderYoffset resources. 15389 15390* Fixed restoring the xterm name on exit to work in more cases. 15391 15392* Small fix to the WinBoard self-extracting installer: when it starts 15393up, it now always deletes any old wb-setup directory left over from a 15394previous installation. Formerly this worked only on Windows 95/98, so 15395on NT the self-extractor would sometimes stop and ask the user whether 15396it was OK to overwrite the old wb-setup files. 15397 15398* Modified WinBoard to be compilable with the free Cygwin tools 15399available from http://sourceware.cygnus.com/cygwin/. Based on work by 15400Mark Schoenberg. (His mods were enough to get WinBoard through the 15401compiler, but a few things were broken along the way, so I reworked them.) 15402 15403* Merged changes from Don Fong to make WinBoard compilable with 15404Borland C++ 4.5. I do not have Borland C++ and am unable to test with 15405it, but I did make sure the changes don't stop it working with MSVC++ 154065.0 and Cygwin. 15407 15408* Forbade entering TwoMachines mode from MachineWhite or MachineBlack 15409mode when machine is on move. This used to confuse the engine and 15410cause problems, because when we try to get the engine to stop, it 15411might make a move first, and it might not do that immediately. 15412 15413* Variant classification now deals with new ICC wild 25, classifying 15414it as "3check". Also, we are now conservative about new wild numbers 15415we don't know about, classifying them as "unknown" instead of 15416"normal". 15417 15418* Replaced bad GNU Chess 5.00 book in WinBoard distribution with a 15419correct one. 1.e4 now no longer takes GNU Chess 5.00 out of book! 15420Thanks to Pete Galati. 15421 15422* Made move parser accept and ignore nonstandard ep suffix on PGN moves, 15423e.g., "exf6ep" or "exf6e.p." 15424 15425* Fixed bugs in parsing PGN files starting with no move number, or 15426with a move number other than "1." (including "1..."). Thanks to 15427Michael Soulier and Stefan Zipproth for example PGN files 15428demonstrating the bugs. 15429 15430* Changed InitComboStringsFromString to not modify the input string; 15431this caused an exception when WinBoard was compiled with MSVC++ 6. 15432Thanks to Bert Tuyt for the report. 15433 15434* In WinBoard, dragging a piece off the edge of the board without 15435releasing the mouse button no longer instantly aborts the move. You 15436still must release the mouse button inside a square to complete a 15437move, but you can now drag off the edge and come back inside. 15438 15439* WinBoard bugfix: If you went into EditGame or EditPosition mode 15440while observing or playing an ICS game, and a new move came in 15441(snapping you back to ICSClient mode) while you were dragging a piece 15442around, the drag state would not be reset, causing the piece you were 15443dragging to remain on the board wherever you dropped it. Thanks to 15444David Brinegar for the bug report. 15445 15446* WinBoard bugfix: If you moved or resized the board while your 15447opponent was moving, and you had AnimateMoving on, his move would not 15448be displayed until after your next move. Thanks to DAV for reporting 15449the bug repeatedly until I finally understood it. 15450 15451* Added a Zippy "farewell" feature; see zippy.README. 15452 15453* Fixed a bug (xboard only) in processing -zippyReplayTimeout on the 15454command line. Thanks to Steve Beer for the report and patch. 15455 15456* Send "computer" command to both sides in TwoMachines matches. 15457 15458* Fixed a Y2K bug in Evan's cmail code! Thanks to Brian Mays for the 15459report and patch. 15460 15461* Bugfix: Initialize variant field of GameInfo struct in gameinfo.c. 15462This could cause crashes in LoadGame. Thanks to Andrzej Nagorko. 15463 15464* Fixed several pattern matching problems: Finger notes and formula 15465vars no longer get replied to by zippyTalk or colorized. Channel 15466tells by players with many titles are now colorized fully, and 15467zippyTalk handles channel tells by such players correctly. The shout 15468"--> foo(99): bar" no longer gets colorized as a channel tell. Code 15469is cleaned up a bit, and autocomment capture now uses the same 15470criteria as colorization. 15471 15472* xboard fix: Enter key now closes error popups as in WinBoard. 15473Especially nice for the "Exiting: Connection closed by ICS" popup. 15474 154754.0.5 -- Tue Dec 7 10:30:40 PST 1999 Tim Mann 15476 15477* Added missing documentation of SIGTERM usage into engine-intf.html. 15478 15479* Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as 15480-zippyReplyTimeout. Thanks to Francesco Di Tolla. 15481 15482* xboard -ics now restores the xterm's original title upon exit, at 15483least if $WINDOWID is set. 15484 15485* Bugfix: -matchGames mode wasn't terminating properly. Final score 15486popup would come up twice and engines would not be killed off. Thanks 15487to Frank Quisinsky for the bug report. Bug was introduced in 4.0.4. 15488 15489* Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout; 15490similarly for "...s-shouts:" and "...c-shouts:". Thanks to David Lee 15491for the bug report. 15492 154934.0.4 -- Fri Dec 3 17:51:27 PST 1999 Tim Mann 15494 15495* Bug fix: formerly if you invoked SaveGame from EditPosition mode 15496with black to play, the position was not saved properly. As a quick 15497fix, SaveGame now takes you out of EditPosition mode before saving. 15498 15499* Changed -matchGames to keep track of the score (won-lost-drawn) and 15500display it in the banner. The final score is displayed in a modal 15501popup before the program exits. 15502 15503* Changed "Connection closed by ICS" to display in a model popup 15504before the program exits. 15505 15506* Added -popupExitMessage option, default on. Setting this to false 15507suppresses the modal popups that you sometimes get just before 15508xboard/winboard exits -- both the two new ones listed above and the 15509existing Fatal Error popup. This is useful when running Zippy 15510unattended from a shell script (or .bat file) that loops and starts a 15511new copy after a time delay when there is an error. 15512 15513* In xboard, added missing support for WM_DELETE_WINDOW to all 15514windows. This makes xboard a better citizen, and is much needed with 15515the newer X window managers that put an [X] button on every window and 15516bind it to "kill application" if the applicationd does not support 15517"delete window". We can't allow xboard to be thoughtlessly killed, 15518since that leaves the chess engine running in the background. 15519 15520* We now avoid positioning tops of xboard dialog boxes offscreen. 15521 15522* zippy.lines can now use the caret ('^') character as an inter-saying 15523separator. You no longer need to dig up a text editor that can put NUL 15524('\000') characters in text files. 15525 15526* Bugfix: In traditional chess clock mode, White now gets time added 15527to its clock as soon as it makes time control. Previously both White 15528and Black got their time added only when Black made time control, 15529which would cause some engines to make their 41st move as White too 15530quickly, thinking they were low on time. 15531 15532* The zippyAcceptOnly feature no longer sends a decline command or 15533a tell. Thus you can use it to put Zippy into a manual accept mode. 15534 15535* Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a 15536personal tell; similarly for "...whispers:" and "...kibitzes:". 15537 15538* WinBoard no longer blanks the message line when you start a new 15539move, unless there was an error message there from the previous move. 15540 15541* WinBoard now never puts the white piece drop menu on the middle 15542mouse button. Both colors are always on the right button. Windows 15543users often don't think to look for a middle button menu, or don't 15544really have a working middle button despite what Windows says. 15545 15546* Guest login handles on ICC are now parsed again; an ICC wording 15547change had broken this feature. 15548 15549* Autodetect when the engine does not support the "draw" command and 15550don't relay the command to it in that case. Needed because sending an 15551unsupported command to GNU Chess makes it move immediately, so people 15552could make Zippy move without thinking by continually offering a draw. 15553Thanks to Frank Walker for the problem report. 15554 15555* Small changes based on code from Robert Jurjevic: The WinBoard 15556analysis window can be minimized (though not to the taskbar). The 15557WinBoard ICS Interaction window will autoscroll if you drag the mouse 15558above or below the window while selecting, and password entry mode 15559leaves the entry line as the background color instead of using 75% 15560gray. Seeks are now colorized with a new color of their own. 15561 15562* Added -zippyMaxGames feature. 15563 15564* -zippyNoplayCrafty command line option was missing in xboard; fixed. 15565Thanks to John Perry. 15566 15567* Fixed bug in detecting when Zippy loses his bughouse partner. 15568Thanks to Ben Dean-Kawamura. 15569 15570* allobs fix in 4.0.3 didn't work; corrected it. 15571 15572* WinBoard will now update the board immediately if a move is made 15573while the window is being moved or resized. 15574 155754.0.3 -- Sun Aug 15 18:44:39 PDT 1999 Tim Mann 15576 15577* Bugfix: moved winboard wizard functions that send a command directly 15578to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2. 15579Ctrl+Alt is equivalent to the European AltGr key, so the old assignments 15580conflicted with typing an @-sign on some keyboards. 15581 15582* Bugfix: prevent "If this message stays up, your chess program does 15583not support analysis" from appearing if AnalysisMode is selected when 15584already in Analysis or AnalyzeFile mode. Also, deleting analysis window 15585in WinBoard now switches you to EditGame mode, to avoid the anomaly of 15586being in an analysis mode with no analysis window present. 15587 15588* Change all Zippy environment variables to work as command line 15589options. For now they still work as environment variables too, but 15590the environment variables are deprecated. 15591 15592* Use unsigned long to hold node counts from engines. 15593 15594* Print error instead of crashing on attempts to use xpm or xim pieces 15595in monochrome mode. Thanks to Jim Torrance for the bug report. 15596 15597* Tightened pattern recognition for ICS messages sent to Zippy; should 15598no longer match ICC allobs output. Fixed recognition of when Zippy is 15599sent a message; small change to FICS output had broken it. 15600 15601* Zippy now exits if the engine dies unexpectedly. 15602 15603* Added Zippy "spoofedby" feature; see zippy.README. 15604 15605* Narrowed the margins on some older WinBoard dialogs to make their 15606style uniform with the newer ones. 15607 15608* Bugfix: Changing Ponder Next Move from the Options menu did not take 15609effect until the next game. This bug was in WinBoard only. Thanks to 15610Stefan Zipproth for the bug report. 15611 15612* Got rid of "Internal error: bad move type" message when the engine 15613makes a move that we can parse but think is illegal. Now the move is 15614just passed on (which also may be the wrong thing to do). 15615 156164.0.2 -- Thu Feb 25 19:55:32 PST 1999 Tim Mann 15617 15618* Added one more built-in sound choice to WinBoard: move.wav from Pete 15619Galati. 15620 15621* Added new larger piece sizes: big, huge, giant, colossal, titanic. 15622 15623* Modified the xboard font searcher to be able to use scalable fonts. 15624The new -fontSizeTolerance flag controls how closely a nonscalable 15625font must match to be used in preference to a scalable font. 15626 15627* Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control 15628whether Zippy will accept abort and adjourn requests. 15629 15630* We now determine the variant type being played on ICS, send it as a 15631command "variant VARTYPE" to the chess engine (if in Zippy mode), and 15632put it in the PGN tags. See engine-intf.txt for variant names. See 15633ZIPPYVARIANTS in zippy.README to control what variants Zippy will 15634accept. Note that this now applies to bughouse, too. 15635 15636* Zippy now won't do -zippyTalk in a channel unless his handle is 15637mentioned there. 15638 15639* Zippy now ignores bughouse holdings if not actually playing, instead 15640of stupidly trying to abort the game. Let me know if other strange 15641things happen when Zippy is observing a game. 15642 15643* Set ICS Interaction title bar to "user@server". User name is 15644determined by parsing message during the login sequence. Zippy now 15645uses this method to get its name too, so ZIPPYNAME is eliminated. 15646Problem: with xboard, the title bar gets set to "xterm" upon exit, 15647since we didn't know what it was to start with. 15648 15649* Fixed xboard-only bug in -colorChannel1 command line option. Thanks 15650to Fredrik Sandstrom for the bug report and fix. 15651 15652* Check for overflow of MAX_MOVES. Still not sure this is checked for 15653everywhere it needs to be. 15654 15655* Added .epd to suffixes recognized by WinBoard as position files. 15656This is a bit of a kludge, as the .fen reading code was not written 15657with .epd files in mind, but reading them with it is said to work. 15658 15659* Added ZIPPYGAMESTART feature, suggested by Jason Hoblit. See 15660zippy.README. 15661 15662* Restored the feature of soaking up the moves from a user-typed "moves", 15663"oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but 15664changed it so that the move list is also echoed to the screen. Some folks 15665still liked the old feature since it is faster than examine mode, and 15666printing the moves to the screen should eliminate the confusion it caused 15667for other people. 15668 15669* Bugfix: in WinBoard, starting a click-click move and then clicking on 15670a black line would cause the source square to be forgotten without taking 15671the highlight down. Now the errant click is ignored. 15672 15673* Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's 15674File menu. Thanks to Andreas Stabel for the bug report. 15675 15676* Bugfix: if you had a completely full ICS context menu in WinBoard 15677(90 items), the last one would do nothing if selected. 15678 15679* The "computer" engine command added in 4.0.1 was not working; I had 15680left out part of the code patch. Oops. 15681 156824.0.1 -- Fri Feb 12 21:24:15 PST 1999 Tim Mann 15683 15684This is a minor bugfix release. The first item listed below is the 15685only interesting new feature. 15686 15687* You can now type in moves from the keyboard in WinBoard. Either 15688select TypeInMove from Step menu, or (if you are not in ICS mode), 15689just start typing. In ICS mode you can type moves into the ICS 15690interaction window anyway, so I've retained the feature that typing 15691switches you there. Not implemented in xboard. 15692 15693* Removed the "noise 1000" command that used to be sent to the chess 15694engine when entering analysis modes. 15695 15696* Deleted the feature where we soak up the output of a user-typed ICS 15697"moves" or "oldmoves" command. This ancient feature is not really 15698useful anymore, now that "examine" exists, and it caused a lot of 15699complaints. 15700 15701* Increased maximum size of ICS text menu to 90 entries and added 15702overflow checking. 15703 15704* The command sent to ICS by Zippy at the end of each game can now be 15705customized with the ZIPPYGAMEEND environment variable. 15706 15707* We treat xboard.info as a pseudo-source since most people don't have 15708the tools to rebuild it. But "make install" erroneously had a 15709dependency on it, even though "make all" did not. Fixed. 15710 15711* Miscellaneous minor updates and clarifications to engine-intf.txt. 15712In particular, documented the st and sd commands (support for command 15713line options -searchTime and -searchDepth), warts and all. 15714 15715* Added a small code patch from Bob Hyatt to detect when Zippy's ICS 15716opponent is a computer and send the command "computer" to the engine. 15717Added this command to engine-intf.txt. Thanks, Bob. 15718 15719* Bugfix: configure was looking for usleep(), but config.h.in didn't 15720have an entry for it, so HAVE_USLEEP was never defined. Also, in the 15721non-HAVE_USLEEP case, there was a possible race condition between the 15722signal handler and the pause() call. Thanks to Ben Dean-Kawamura for 15723the bug reports. 15724 15725* Bugfix: a "1..." preceding Black's first move (usually present if 15726there is a comment on White's first move) would cause the parser 15727to think a new game started there and report "End of game" on the 15728current game. Thanks to Dell Garner for the bug report. 15729 15730* Changed the abbreviation for -searchDepth from -sd to -depth to fix 15731a clash with -secondDirectory. 15732 15733* Changed -searchDepth to be orthogonal to the various timing options. 15734Previously it would search for an unlimited time to the given depth; 15735now the engine is allowed to choose its search time in the normal way, 15736but is told to cut off the search early if it reaches the given depth. 15737 15738* Bugfix: SaveSettings in WinBoard was saving both the long form 15739option highlightSquareColor and its abbreviation (hsc). 15740 15741* Fixed a redisplay bug in DisplayBothClocks that could cause White's 15742clock to be highlighted in EditPosition mode when Black's should have been. 15743 15744* Fixed Zippy's feature of passing on draw offers from the ICS opponent. 15745The colorization code was eating the offer before Zippy saw it, so I disabled 15746colorization of offers while in -zp or -zt mode. (Other types of 15747colorization are already disabled in Zippy mode for similar reasons.) 15748 15749* Added some more commands to the default ICS context menu in WinBoard, 15750and put "(name)" on the ones that insert a playername (or game number). 15751 15752* Added missing documentation to WinBoard help file: PonderNextMove, the 15753-ponder/-xponder argument, and the up/down arrow history feature in the 15754ICS Interaction window. 15755 15756* Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty, 15757not if some other Crafty is observing the game and kibitzes. 15758 15759* Fixed bugs in generating "partner" commands when Zippy is playing 15760bughouse. 15761 157624.0.0 -- Sat Jun 20 16:59:47 PDT 1998 Tim Mann 15763 15764* Fixed WinBoard resizing so that the edges you do not drag remain in 15765place, even when the final size is different from what you dragged to. 15766(This doesn't work on NT 3.51 or earlier, if anyone cares.) 15767 15768* Fixed problems with resizing WinBoard on Windows NT: you no longer get 15769whitespace around the board, a clipped board, or a lot of flashing during 15770the drag. 15771 15772* Added customization for highlight-square color. 15773 15774* Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't 15775work in WinBoard. 15776 15777* Added Index Number field back to LoadGame/LoadPosition dialog boxes in 15778WinBoard. This required some extra code to work with both the 15779Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes. Ugh. 15780 15781* WinBoard startup dialog now understands -zp mode. The first chess 15782engine selector is enabled and the value is used. 15783 15784* Bugfix: ResetGame would send "exit" to engine twice if it was in an 15785analysis mode. 15786 15787* Bugfix: The response "Illegal move: bk" to the "bk" command, indicating 15788that it is not implemented, would confuse xboard. 15789 15790* Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message 15791saying that some bogus string (often "Hint:") is illegal. 15792 15793* Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken. 15794 157953.6.12 -- Sat Jun 13 14:57:10 PDT 1998 Tim Mann 15796 15797Beta test release of xboard and WinBoard. 15798 15799* Spruced up xboard man page a bit. 15800 15801* Added Highlight Last Move to xboard too. 15802 15803* The revamped xboard mouse click code had several more bugs than the 15804previous version, so I revamped it again. All fixed now, I hope. 15805 15806* xboard bugfix: crash in CreatePieceMenu. 15807 15808* Oops. winboard-3_6_11beta.exe installed 3.6.10beta, not the new version. 15809 158103.6.11 -- Fri Jun 12 20:00:48 PDT 1998 Tim Mann 15811 15812Beta test release of xboard and WinBoard. 15813 15814* Major reorganization to engine-intf.txt. Some new features added, 15815many existing features clarified and hints for engine programmers added. 15816Support for new features added to program. 15817 15818* Changed defaults for -scp (etc.) back to being independent of -fcp, as 15819in 3.6.2. That is, the default is no longer to copy the value from -fcp if 15820-scp is not specified. This will sometimes make command lines longer but 15821will remove some confusing situations. 15822 15823* Split -reuseChessPrograms into two options: -reuseFirst and 15824-reuseSecond. Fixed obscure bugs when reuse is off. 15825 15826* Detect ICC and change some command usage slightly there: only ICC has 15827set-quietly; only FICS has iset and bsetup clear. With this feature, we 15828can now safely use bsetup clear when appropriate instead of deleting each 15829piece one by one. 15830 15831* Added indent to lines that are wrapped by WinBoard ICS Interaction 15832window. This seems to tickle a Microsoft bug in the RichEdit control: 15833occasionally the start of the next line after the wrapped line is indented 15834too. I think the wrapped indent feature is useful enough that it's worth 15835having in spite of the bug. 15836 15837* WinBoard bugfix: bounding box for the board was computed incorrectly by 15838mouse code. It would think you moved off the bottom of the board before 15839you really did, so it was hard to drag pieces along the bottom rank on 15840smaller board sizes. 15841 15842* Fixed obscure parser.l bug: ambiguity between capture using : instead of 15843x and email header line. Also removed or simplified a lot of complex 15844patterns for English (as opposed to PGN) end-of-game indications while I 15845was in there. 15846 15847* Added PonderNextMove option. 15848 15849* xboard EditPosition piece menus now let you set the side to play by 15850selecting the "White" or "Black" label at the top of the menu, like 15851WinBoard. (Both xboard and WinBoard still let you set the side to play by 15852clicking on the clock.) 15853 15854* Merged documentation of Crafty and GNU Chess thinking output in 15855engine-intf.txt. Corrected code in backend.c to match documentation; it 15856used to require the PV to start in column 27 (!). 15857 15858* Fixed bug that caused crashes in "-reuseChessProgram false" mode. 15859 15860* Draw by agreement in Two Machines mode now works as it is supposed to. 15861Other minor bugs in handling game end messages from machines are also 15862fixed, and engine-intf.txt is revised in this area. 15863 15864* Revamped xboard code for handling mouse clicks on the board. In 15865particular, it had a bug if a click-click promotion move was made. 15866 15867* Fixed and reinstated optimization for << in analysis modes: send 15868initString and re-send the board if needed. Sending repeated undos 15869is bad because Crafty prints some analysis after every one. 15870 15871* Don't go into a spin loop while pausing between xboard animation frames. 15872This caused problems, especially when compiling with -O2 on HP-UX. 15873 15874* WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome 15875if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults. 15876This seemed to confuse people before. 15877 15878* Bugfix: ICS Interaction context menu items with neither of the two 15879optional flags set did not work. 15880 15881* Bugfix: PGN move numbers are optional, but we were insisting on "1" 15882right after the tags. 15883 15884* Bugfix: only the first game of an -mg match was loading -lpf or -lgf. 15885 15886* Other minor fixes and code cleanup. 15887 158883.6.10 -- Mon Jun 1 01:32:31 PDT 1998 Tim Mann 15889 15890* Added ZIPPYNOPLAYCRAFTY feature; see zippy.README. 15891 15892* Added timestamps for chess engine interaction to -debug output. 15893 15894* Now allow 10 seconds (was 5) between games in match mode for engines to 15895respond to "force" command that ended previous game. 15896 15897* When a game is picked from the game list and the names of White and 15898Black are known, display them in the window banner instead of the filename 15899and game number. 15900 15901* Changed default for -scp and -sd to be the values of -fcp and -fd. 15902 15903* Added boxes for both engines to WinBoard startup dialog. Changed to 15904dropdown boxes whose content can be set from winboard.ini, similar to 15905the box for ICS name. 15906 15907* Accept "offer draw" (or "*offer*draw*") from engine to offer a draw. 15908 15909* Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax. 15910 15911* Added support for bughouse engines (Zippy mode only). 15912 15913* Move bombproofing for engines sending illegal or out of turn moves. 15914 15915* Always send "xboard\n" to engine as first command. Eliminates need 15916to run crafty as "crafty xboard". 15917 15918* Rewrote xboard code for input from engines to fix longstanding bugs. 15919Previously an engine that sent one line in two separate writes with 15920some time lapse in between (or perhaps that sent several lines in one 15921write) could make xboard hang. WinBoard did not have this bug. 15922 15923* Fixed minor bugs in dealing with illegal moves. 15924 15925* Added "iset startpos 1" for FICS. 15926 15927* Removed special support to put "GNU Chess" or "Crafty" in the window 15928banner instead of the engine's base filename. This gives a more level 15929playing field for other engines. Also fixed bugs in the code that finds the 15930engine's base filename. 15931 15932* Bugfix: Abort or Resign at the very start of a game in chess engine mode 15933would fail to send "force" to the engine. 15934 15935* Fixed some minor bugs in new "result" messages, and changed format to 15936include a trailing PGN comment giving the reason the game ended. 15937 15938* Changed syntax of /font options in WinBoard; old syntax was assuming 15939that a font name can't contain a digit, which is wrong. Old font names in 15940WinBoard.ini files are still accepted. 15941 15942* Serious further work on getting WinBoard to read/write files in the 15943"right" directories and documenting exactly what it does. 15944 15945* Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition. 15946 15947* Misc. tiny fixes and cleanup. 15948 159493.6.9 -- Sun May 24 20:53:08 PDT 1998 Tim Mann 15950 15951xboard and WinBoard beta release. 15952 15953* Tightened up illegal move handling. Illegal or meaningless moves from a 15954file or chess engine should no longer get translated into a1a1 and blindly 15955applied. Explicit moves to the same square (like a1a1) no longer make the 15956piece on that square capture itself and vanish. 15957 15958* Added AlwaysOnTop feature to winboard. 15959 15960* Fixed bug in winboard "@" command line indirection operator. 15961 15962* Removed buggy "optimization" code for ToStart in analysis modes. 15963 15964* Fixed typo bug in zippy.c that would often cause winboard to crash 15965right after starting a game in -zp mode. 15966 159673.6.8 -- Sat May 23 22:23:19 PDT 1998 Tim Mann 15968 15969xboard and WinBoard beta release. 15970 15971* Added -firstDirectory and -secondDirectory so that chess engines can 15972be started in a different directory from xboard/WinBoard itself. 15973 15974* Added -matchGames to allow more than one game in -matchMode. The games 15975are played with colors alternating between the two chess engines. Had to 15976add a time delay at the end of each game to catch up with game ending 15977messages from both chess engines -- yuck. 15978 15979* Changed TwoMachines mode to have firstChessProgram play White by 15980default. Added -firstPlaysBlack to restore old behavior. 15981 15982* Major rework of code in backend.c for dealing with first and second 15983chess engines. Generalized the code and created a struct type with one 15984instance for each engine. Several small bugs fixed along the way. 15985 15986* Fixed bugs in Abort in local chess engine mode. 15987 15988* Tightened pattern matching to recognize moves from machine. Should cure 15989bogus "Illegal move" errors while Crafty is pondering with Show Thinking 15990on, among other things. 15991 15992* WinBoard keeps focus in board window after popping up a comment due to 15993Forward/Backward/ToStart/ToEnd commands. 15994 15995* Finally got rid of warnings on compiling moves.c under Windows. 15996 15997* Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not 15998defined. 15999 16000* Removed various bits of unused code. 16001 16002* Parse (and ignore) NAGs in PGN files. 16003 16004* Updated engine-intf.txt. 16005 16006* Send "result R" to the chess program at the end of each game, where 16007R is the PGN result 1-0, 0-1, 1/2-1/2, or *. 16008 16009* Bugfix: suppress animation when loading a game with timeDelay=0. 16010 16011* Bug fix: pondering output from Crafty that contained "..." could be 16012mistaken for a move, causing bogus error messages and general chaos. 16013 16014* xboard "make clean" bug fix: moved things created by configure to be 16015removed only by "make distclean". 16016 16017* Fixed a remaining case where move was being animated before being 16018relayed to opponent. 16019 16020* Backend was reversing time/otim commands to the chess program (new bug), 16021and was often not sending them on the first move of a game or the first 16022move after a mode change (old bug). Fixing the latter required a kludge 16023to work with both GNU Chess and Crafty, because Crafty swaps white and 16024black clock times when it swaps sides, while GNU Chess does not. The 16025kludge is that we always make sure the chess engine thinks its opponent is 16026on move before we set the clock. This will sometimes result in sequences 16027like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and 16028black interchanged. 16029 16030* Removed last trace of old -whiteString and -blackString arguments. 16031 16032* Fixed so that you can type "bd" into the Direct Command dialog when 16033debugging gnuchess, without having xboard parse the clock display 16034(starting with "White") as "White wins" and end the game. 16035 16036* Changed moves.c to make a distinction between IllegalMove (where we 16037could tell what move was intended, but it violates the chess rules) and 16038MeaninglessMove (where we could not tell). This is a step towards getting 16039rid of cases where we translate meaningless moves into "a1a1", but some 16040work is probably needed to track them all down. 16041 16042* Fixed bug in WinBoard monoMode dragging. 16043 16044* Changed WinBoard to new style file dialogs. In the process, disabled 16045the feature that let you enter the index number of a game or position within 16046the file in the dialog. This is no loss in LoadGame, as you can pick your 16047game from the game list dialog that follows, but it does remove some 16048functionality from LoadPosition. 16049 160503.6.7 -- Mon May 18 21:25:00 PDT 1998 Tim Mann 16051 16052xboard and WinBoard beta test release. I've been unable to reproduce some 16053reported drawing bugs, so they may still not be fixed. 16054 16055* Changed PopUpErrors option to PopupMoveErrors, which is more useful, and 16056changed default to off. Errors other than move errors should always be in 16057popups; they are often too big for the message area and too important to 16058put where they can be easily missed. But it seems good to get rid of the 16059popups for move errors by default. 16060 16061* xboard analysis window no longer forces itself to top whenever there is 16062new output. Also, now uses built-in Xaw word wrapping instead of trying 16063to do its own; works better. 16064 16065* Bugfix: Reset did not take Crafty out of analyze mode. 16066 16067* A chess engine no longer has to claim to be Crafty to be able to use 16068AnalysisMode and AnalyzeFile; it just has to implement the analyze 16069command as Crafty does. Put in heuristics to generate more informative 16070error messages if the engine does not support analyze, and checked that 16071they work at least with GNU Chess. 16072 16073* Added click-click moving, HighlightLastMove, and HighlightDragging to 16074WinBoard. The highlight features are unlikely to go into xboard unless 16075the xboard drawing code is cleaned up to do *all* drawing on the board 16076from DrawPosition, as WinBoard does. This is low priority for me. 16077 16078* Eliminated bogus "Error gathering move list: no header" popup. You 16079could get this by observing two fast games at once without turning off 16080GetMoveList. 16081 16082* Disable WinBoard Sounds menu entirely in -ncp mode, since not even 16083MoveSound is used in that mode. 16084 16085* WinBoard bugfix: Several problems were caused if the user changed 16086WinBoard's current directory in a Load, Save, or Browse dialog. In 16087particular, WinBoard.ini would get saved in the wrong directory, and 16088sound .wav file names would not get saved with a full pathname. I think 16089all such problems are now fixed. 16090 16091* WinBoard bugfix: iconizing the board after an aborted mouse resize would 16092(partially) resize it to Tiny. 16093 16094* WinBoard bugfix: board was not being drawn in color on 256-color 16095displays. This bug was introduced in 3.6.6. 16096 160973.6.6 -- Tue May 12 17:43:43 PDT 1998 Tim Mann 16098 16099xboard and WinBoard beta release. Note: not all reported bugs are fixed. 16100 16101* Move animation in WinBoard, programmed by Henrik Gram. Great stuff! 16102 16103* Animate backward moves too. 16104 16105* xboard bugfix: -font (and friends) can now specify a font alias (such 16106as "fixed"), not just a full X Consortium name pattern. Previously this 16107would give a resource conversion error message. 16108 16109* Some coding style cleanup in xboard.c. 16110 16111* Earlier error check for moving wrong color piece in EditGame mode. 16112 16113* Completed fix to pattern matching; see 3.6.5. 16114 16115* Fixed some software rot bugs in Zippy. 16116 16117* Split AnimateDragging as separate option from AnimateMoves. 16118 16119* Added FlashMoves to options menu and -flash/-xflash to command line 16120options (xboard only). 16121 16122* Some preliminary work on visible bughouse holding support. Most of the 16123code is not present in this release because I have not gotten it working 16124properly yet; my first approach went down a blind alley and I had to 16125remove most of the partially working code in preparation for a rewrite. 16126 161273.6.5 -- Fri May 8 14:22:09 PDT 1998 Tim Mann 16128 16129Not generally released. 16130 16131* Pack bughouse holdings display in banner more tightly when board is one 16132of the smaller sizes (when smallLayout or tinyLayout is true, that is). 16133An interim measure, but should help. 16134 16135* Completed fix to make move list parsing recognize the end condition and 16136final comment. 16137 16138* Fixed pattern matching for chatter (tells, etc.) to be more reliable. 16139This should reduce the incidence of colors starting in the wrong place and 16140of incorrectly matching things that look like other patterns inside 16141chatter, such as "shout <12>". (These errors were already rare.) 16142 16143* WinBoard now lets you customize the list of ICS's in the startup dialog. 16144For now, at least, requires editing WinBoard.ini with a text editor. 16145 16146* Bug fix: WinBoard window sizing and position setting save/restore did 16147not work right when the taskbar was at the top (or left side) of the 16148screen and not in autohide mode. 16149 16150* Merged xboard click/click mode and drag mode, and deleted 16151ClickClickMoving option on menu. Now if you click on a piece, it 16152highlights and a further click on another square will move it. (A second 16153click on the same square takes down the highlight.) Or if you press down 16154on a piece and start to drag, you can drag it to a new square. 16155 16156* When making click/click style moves, if your second click is on a piece 16157of the same color, instead of saying "Illegal move", we now cancel the first 16158starting square, replace it with the second, and wait for another click to 16159finish the move. 16160 16161* Separate -secondInitString. Default: same as -initString. Suggested by 16162Remi Coulom. 16163 16164* Patch from Frank McIngvale to make animation work with XIMs. Yay! 16165 16166* Changed move animation to happen after move is passed on to ICS or the 16167chess engine, where applicable. Fixed problems with updating moveList 16168that this uncovered. 16169 16170* Changed game list to show PGN result token for each game. 16171 16172* The usual minor bug fixes. 16173 161743.6.4 -- Thu Apr 30 23:14:43 PDT 1998 Tim Mann 16175 16176xboard and WinBoard beta test release. 16177 16178* xboard documentation updated, both man page and info file. An attempt 16179to generate both from the same source with LinuxDocSGML was abandoned, at 16180least for now. WinBoard doc updated too. 16181 16182* Merged updates to animation code from Hugh. Fixed a couple of remaining 16183bugs, mostly to do with handling Pause mode correctly. 16184 16185* Added SaveSettingsOnExit to WinBoard. 16186 16187* WinBoard now saves the last screen position of the Comment, Edit Tags, 16188Game List, and Analysis windows (in addition to the board and ICS 16189Interaction windows) in WinBoard.ini. 16190 16191* WinBoard now provides a way to customize the right-button context menu 16192in the output area of the ICS Interaction window. For now, requires 16193editing WinBoard.ini with a text editor. 16194 16195* Various minor fixes to ICS message recognition, most affecting only Zippy. 16196 16197* Colorize the notification when someone sends you a message while you are 16198logged in, not the output of the "messages" command. 16199 16200* Fixed colorization to turn off at the right place more reliably. 16201 16202* Added a new color and WinBoard sound for "requests": abort, adjourn, 16203draw, pause, and takeback. The same color and sound are used for all of 16204these. 16205 16206* Added GUI to change sounds in WinBoard. 16207 16208* Suppressed WinBoard error popup when a sound can't be played. They were 16209popping up when two separate WinBoards tried to play a sound at the same 16210time (such as during a bughouse match). 16211 16212* Fixed WinBoard crash when a sound file didn't exist. 16213 16214* WinBoard ports of timestamp and timeseal now produce decent error 16215messages if they fail to connect, and WinBoard captures the messages and 16216puts them into a popup. Previously WinBoard would exit with no message on 16217such errors. 16218 16219* WinBoard resizing with mouse improved; now accurately picks the largest 16220size that fits in the new area. 16221 16222* Added option to turn off error message popups. 16223 16224* Added sizes slim, dinky, and teeny. 16225 16226* Fixed some minor problems with error message wording. 16227 162283.6.3 -- Mon Feb 23 19:08:57 PST 1998 Tim Mann 16229 16230xboard beta test release only. Man page is updated for the changes, but info 16231file is not. 16232 16233* Bug fix: LoadGame could not load a PGN game whose first move was 16234castling (which is possible from setup positions). 16235 16236* Bug fix: we were ignoring illegal move messages from chess engines in 16237modes where the engine is refereeing but not participating (EditGame, 16238LoadGame, AnalyzeFile). The problem was in a workaround for a Crafty bug, 16239where Crafty generates a bogus illegal move message if a "." (used by 16240the PeriodicUpdates feature) is sent in analysis mode when the current 16241analysis reveals a forced mate. Installed a different workaround (that 16242works in most but not all cases) and reported the Crafty bug. Bob Hyatt 16243replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so. 16244 16245* WinBoard only: enabled resizing board with the mouse. It snaps to the 16246nearest (but not too much larger) predefined size. 16247 16248* The xboard default font is now sized according to piece size, just as 16249clockFont and coordFont have always been. 16250 16251* Added more sizes: bulky, moderate, average, middling, mediocre, petite. 16252 16253* xboard only: Added Animate Moves and Click-Click Moving to Options menu. 16254 16255* xboard only: Added code to animate piece movement, from Hugh Fisher. 16256 16257* New feature: autoflag is implemented in MachineWhite, MachineBlack, and 16258TwoMachines modes. If it is on and either a chess program or the user 16259oversteps his time, xboard will automatically call the flag and end the 16260game. This feature was requested by someone who runs matches between 16261programs and wants to penalize GNU Chess for its habit of running slightly 16262over at the end of a time control. I personally think it's pointless. 16263 16264* Fixed a bug in Zippy's pattern matching; he can now reply to ICC 16265messages again. 16266 16267* Generate prettier notation for illegal moves. If a move is illegal only 16268because it leaves the player in check, generate notation as if that were 16269not illegal. For instance, if two knights are a knight's move away from 16270f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to 16271move the g1 knight, Nef3 to move the e5 knight. (Suggested by Philippe 16272Schnoebelen.) In addition, if a move is illegal because the type of piece 16273moved cannot go that way, would be jumping over another piece, etc., we 16274give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8, 16275d2xd8=Q, etc. An alternative would be to still write Ng3 if there is only 16276one knight on the board, or Ngg3 if the other knight is not on the g file, 16277but life is too short to code up all this stuff, and perhaps the way I did 16278it is better as it emphasizes that this move was really made despite being 16279illegal. I wonder if the new PGN standard revision will speak to notation 16280of illegal moves? 16281 16282* Fixed gross bug from 3.6.2: if a chess program said "checkmate" and 16283White was left on move, the PGN outcome was "1-0 {Black mates}" instead 16284of "0-1 {Black mates}"! The bug occurred only for that specific string. 16285 162863.6.2 -- Wed Jul 23 16:47:29 PDT 1997 Tim Mann 16287 16288* There was a bug in backing up from the end of a game against a chess 16289engine, introduced when -reuse mode was added. Fixed. 16290 16291* Recognize "{" as terminating an ICS move list. Previously we needed to 16292see a prompt (containing %), but occasionally ICC can send more stuff 16293right after a move list with no prompt in between. 16294 16295* In WinBoard, -mm now implies -cp, so you don't get the startup dialog. 16296 16297* WinBoard startup dialog no longer sets -scp. People used to get 16298confused because they would give the -fcp and -scp arguments, but omit 16299-cp. This would bring up the startup dialog, which would set both -fcp 16300and -scp to the value in the engine name box. Now you can change -scp 16301only with the command-line argument. That will confuse some people too, 16302but hopefully fewer. I think overall it's better than putting spaces for 16303both -fcp and -scp in the dialog, which would puzzle newbies. 16304 16305* Bug fix: Analyze File mode now works in WinBoard. 16306 16307* Bug fix: WinBoard window no longer cuts off part of the bottom row if 16308the menu bar wraps to a second line. 16309 16310* Accept game end messages of the form "PGN-result {comment}" from the 16311chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2. Accept "resign" 16312or "computer resigns" from the chess engine as a synonym for "0-1 {White 16313resigns}" or "1-0 {Black resigns}". Accept any message from the chess 16314engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}". 16315Accept "White resigns" or "Black resigns". 16316 16317* Enable "Action / Draw" menu item in chess engine mode. It sends the 16318command "draw" to the engine. Accept any message from the chess engine 16319containing "offers a draw" as a draw offer. WARNING: Draw offers from the 16320user and the engine (or from two engines) are not yet matched up by xboard 16321in chess engine mode. Two engines could get into a loop offering each 16322other draws. 16323 16324* Bug fix: Game end messages from the chess engine are always ignored in 16325Zippy mode. Previously they could sometimes be processed, which was 16326sometimes making Zippy hang at the start of a new game that followed 16327quickly after an old one. 16328 16329* Zippy can now respond to titled players in channels. Zippy will avoid 16330talking to himself in a channel if he knows his own name. 16331 16332* Bug fix: in colorization arguments, the bold setting was being ignored 16333if the background color was defaulted. (xboard only.) 16334 16335* Extended ParseFEN to accept Crafty 12.2's interpretation of FEN. 16336If fewer than 8 squares are given in a row, or fewer than 8 rows are 16337given, the uncovered squares are empty. Also, there can be a / after the 163388th row. 16339 163403.6.1 -- Sat May 17 01:02:33 PDT 1997 Tim Mann 16341 16342* Bug fix: Hitting escape while entering a password on WinBoard no longer 16343sets the font color back to black (which made further typing visible). 16344 16345* Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would 16346often hang if you tried to exit with the Exit menu item, the [X] button, 16347etc. The same fix may also have corrected the problem where running a 16348chess program with /xreuse would sometimes crash Windows 95 (but not NT) 16349when the chess program was killed and quickly restarted. 16350 16351* Bug fix: Periodic Updates would not work if turned on after having been 16352off. Also, the default was needlessly "off" in WinBoard. 16353 16354* Zippy bug fix: Continuing an adjourned game was totally broken. The 16355wrong moves, or no moves at all, were being fed to the chess program. 16356 16357* WinBoard change: Giving -ics without -icshost now pops up the startup 16358dialog with "Use an Internet Chess Server" pre-selected, so that you get a 16359menu of chess servers instead of going directly to ICC. 16360 16361* Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and 16362-icshelper in winboard.ini. This causes a problem if you use a different 16363icshost later that needs the default values for icsport (5000) and 16364icshelper ("", meaning none). 16365 16366* Disabled complaints about unexpected "[Ii]llegal move" messages from 16367the chess program; we still get them at times. 16368 16369* Greatly simplified the code for Move Now and SIGINT (ATTENTION). Fixes 16370the bug where Move Now did not work with GNU Chess in WinBoard, and 16371several more obscure bugs as well. Reintroduces a minor bug: GNU Chess might 16372not think on your time after a Move Now command. Trying to fix this 16373causes too many other problems. Documented change in engine-intf.txt. 16374 16375* Cleaned up code for obtaining ratings from ICS. It was kludgey and may 16376have had bugs on systems with no "Creating:" message. It should fail 16377gracefully there, just not finding the ratings. 16378 163793.6.0 -- Thu May 8 19:55:58 PDT 1997 Tim Mann 16380 16381* WinBoard now has right-button context menus in the ICS Interaction 16382window. Some of the items do immediate commands on the player name you 16383have selected or pointed to. (Suggested by Paolo Casaschi.) Also, the 16384middle button or shift+right does a immediate Copy and Paste. 16385 16386* Fixed a bug in Zippy's wild rejection. The bug was causing Zippy to 16387reject all forms of wild. Now it rejects only 1, 9, 16, 17, and 24, as 16388was intended. These variants have different rules, while the other 16389variants defined so far only have different starting positions. 16390(Actually, wild 2, 3, and 4 never allow castling, but may sometimes by 16391chance have king and rook start on squares where castling appears legal. 16392This could cause a problem later.) 16393 16394* Zippy now resumes adjourned games by feeding the chess program 16395the move list instead of the position. Setting -getMoveList to False 16396restores the old behavior. Feeding in the move list is better because 16397it enables the chess program to correctly handle en passant legality, 16398castling legality, draw by repetition, and draw by the 50 move rule. 16399 16400* Added a WinBoard startup dialog for people who run WinBoard.exe without 16401using the Start menu or reading the help file. Instead of being dumped 16402directly into GNU Chess mode, you now get a menu of choices. You now have 16403to give the new WinBoard -cp option to go directly into chess engine mode. 16404I did not add this feature to xboard. 16405 16406* Handling of "illegal move" from Crafty is now back on. (It was turned 16407off in 3.4.6; see below.) Crafty 12.0 doesn't seem to send bogus ones 16408anymore. I did have to suppress sending time and otim in analyze mode to 16409make this work, but there is no harm in that. 16410 16411* Zippy now sends "gameend" to ICS at the end of each game. You can alias 16412this to "seek" or whatever you like. 16413 16414* Added Crafty support for Move Now, using the "?" command. We test 16415whether this command exists by trying it once at the start of the first 16416game, before it really makes sense. If we don't get a message like 16417"Illegal move ... ?", we assume it's OK. (We're careful about this 16418because sending a "?" to GNU Chess on Move Now keeps it from pondering the 16419next move as it should.) 16420 16421* Added support for a tellusererror command from the chess engine. See 16422engine-intf.txt. 16423 16424* Attempted to make engine-intf.txt complete. 16425 16426* Minor fixes/cleanup to GameEnds code, to be sure we always interrupt 16427when needed, and always undo an extra move generated by stopping the chess 16428program while it is thinking. 16429 164303.5.7 -- Sat May 03 22:37:44 PDT 1997 Tim Mann 16431 16432Beta release of both xboard and WinBoard. 16433 16434* Updated xboard documentation. I really wish the man page was built from 16435the info file instead of being separate! It's a pain to update them both. 16436 16437* Updated documentation of the interface between XBoard/WinBoard and chess 16438programs, and renamed it to engine-intf.txt. 16439 16440* Added support for tellics, telluser, and askuser commands from the chess 16441engine. See engine-intf.txt. 16442 16443* Various bug fixes. On WinBoard, 256 color displays are finally handled 16444right; no more color flashing when you switch windows unless the colors 16445really need to be updated. Also, I think the problem of the console font 16446failing to change or changing back by itself is finally fixed. 16447 164483.5.6 -- Tue Apr 29 03:08:00 PDT 1997 16449 16450Beta release, WinBoard only. ChangeLog was out of date in release, 16451updated here. 16452 16453* Added ICC timestamp and FICS timeseal to WinBoard distribution. These 16454are my own ports to Win32, based on and used by permission of the owners 16455of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram 16456for timeseal). The owners permit these programs to be distributed only in 16457binary form (to help prevent cheating), so to avoid running afoul of the 16458GPL, I have kept them as separate programs, not linked into the WinBoard 16459address space. Updated Start menu icons to use them. 16460 16461* Miscellaneous smaller changes. 16462 164633.5.5 -- Fri Apr 25 03:06:00 PDT 1997 16464 16465Beta release, WinBoard only. ChangeLog was out of date in release; 16466updated here. 16467 16468* Added simple sound support to WinBoard. 16469 16470* Updated WinBoard documentation. 16471 16472* Internal implementation of the telnet protocol is now more complete. 16473You can now hop through a VMS host on the way to ICS. For example, do 16474"xboard -ics -icshost vms.host.edu -icsport 23", then log in. Do not use 16475the -telnet flag; that says to use an *external* telnet program. To avoid 16476double echoes, you need to force character mode in VMS telnet after 16477connecting from VMS to ICS. Do "^]^Mset mode char^M^M". 16478 16479* Display opponent names in the title bar for MachineWhite, MachineBlack, 16480and TwoMachines modes. 16481 16482* WinBoard now has an installer, built with InstallShield. The installer 16483works with a binary-only distribution. Sources are still freely 16484available, but now separately. 16485 16486* Added SaveSettings to WinBoard, which saves current option settings to 16487winboard.ini. Made sure all options can be saved and loaded, including 16488fonts and com port settings. 16489 16490* If the game ends while you are dragging a piece, we now don't let you 16491finish the move. Formerly the move was accepted and your opponent's clock 16492would start running again. 16493 164943.5.4 -- Fri Apr 18 01:15:24 PDT 1997 Tim Mann 16495 16496Beta test release of WinBoard and xboard. The documentation remains 16497out of date. 16498 16499* Many fixes and improvements to new WinBoard user interface code. 16500 16501* In Zippy mode, avoid sending another copy of the same move to the chess 16502program if ICS sends us another copy of the board image. Hard to believe 16503it took me until now to diagnose and fix this problem! 16504 165053.5.3 -- Sat Apr 12 19:49:33 PDT 1997 Tim Mann 16506 16507Beta test release of WinBoard and xboard. 16508 16509* Fixed fatal bug in WinBoard input handling. 16510 16511* Made code to stop chess program for reuse a bit smarter. Removed kludge 16512of "white" in initString; it didn't work well, and is unneeded 16513with Crafty 11.21 and later. 16514 165153.5.2 -- Sat Apr 12 15:40:01 PDT 1997 Tim Mann 16516 16517Beta test release of WinBoard. 16518 16519* Ignore check and permit promotion to King during suicide games; no need 16520to turn off TestLegality. 16521 16522* Renamed CheckLegality to TestLegality to avoid confusion with the chess 16523term "check". 16524 16525* Added Rematch to Action menu. 16526 16527* WinBoard now has a custom ICS interaction window with scrollback, a 16528separate line for input, and colorization. Accelerators that conflict 16529with normal editing keys were changed (by requiring Alt+) so they can work 16530in both the console and the main window. 16531 16532* WinBoard error popups are now non-modal and disappear when you make a 16533new move, as in xboard. 16534 16535* Configure now defaults to --disable-ptys on all systems. If anyone has 16536an ancient SysV system where pipes don't work with select, they can still 16537do "configure --enable-ptys" explicitly. I would appreciate getting a bug 16538report if this happens to anyone, with complete output from configure and 16539"uname -a". 16540 16541* "make install" now makes the installation directories too. 16542 16543* Fixed a bug that would cause an "Illegal move" message for Black from 16544GNU Chess to be incorrectly considered bogus. 16545 16546* Handle name changes during an ICS game (FICS bname and wname commands). 16547 16548* You can force both chess programs to be killed at the end of each game 16549by turning off the reuseChessPrograms option. There are still some 16550problems with reusing Crafty even in version 11.20. 16551 16552* Now the second chess program stays around by default too, if it ever 16553gets started. 16554 165553.5.1 -- Sat Apr 5 16:47:48 PST 1997 Tim Mann 16556 16557Beta test release. 16558 16559* Don't kill off and restart the chess program for each game; keep the 16560same one running, using the "new" command to start a new game. This 16561change works around the problem in Windows 95 that makes WinBoard crash it 16562at times, and is generally desirable to make new games start faster. The 16563second chess program (for TwoMachines) is still killed at the end of the 16564game, and unfortunately this can still crash Windows 95. Temporarily 16565added "white" to the initString to make this work with Crafty 11.20, which 16566has a minor bug in "new". Older versions of Crafty have worse bugs in 16567"new"; they should not be used with this version of xboard. 16568 16569* Support for FICS suicide chess: Parse illegal moves (that leave King in 16570check) in game history. If CheckLegality is off, allow promotion to King 16571and illegal moves in game files. We still generate e2e4 style notation 16572for illegal moves. 16573 16574* Handle FICS "has timeseal; checking" message. 16575 16576* Changed the coords from white back to black; this was a bug. 16577 16578* Fixed problems compiling with K&R compilers. 16579 16580* Fixed an old bug in RegisterMove that was crashing cmail on some systems 16581(notably linux). 16582 165833.5.0 -- Thu Jan 2 16:59:49 PST 1997 Tim Mann 16584 16585Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above! 16586 16587* Fix Crafty resumed game time bug (frankm) 16588 16589* Word wrap text in Analysis window (frankm) 16590 16591* More debug info for XPM loading (frankm) 16592 16593* Replaced config.sub, config.guess, etc., with up-to-date versions from 16594autoconf 2.12. Hopefully this will fix problems on Pentium Pro machines. 16595 16596* Removed some Makefile gunk that was causing looping for one person. 16597 165983.4.7 -- Thu Dec 19 14:22:41 PST 1996 Tim Mann 16599 16600All changes from Frank: 16601 16602* Retrieve ratings from ICC (and FICS, etc., when they add the Creating: 16603message), save them in the PGN tags, and pass them to Crafty in Zippy mode. 16604 16605* Add settable time delay between characters in ICS login script. 16606 16607* Colorize messages like personal tells. Fix false recognition of channel 16608tells. 16609 16610* Pass "tells" from Crafty through to ICS (in Zippy mode). 16611 16612* Implement ~/ filename convention from C shell for game and position file 16613names. 16614 16615* ZIPPYACCEPTONLY feature for testing. 16616 166173.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996 Tim Mann 16618 16619* Put recognition of "illegal move" messages from Crafty for 16620illegal castling, etc., inside an #if that is currently turned off, 16621because of a bug in Crafty that generates bogus "illegal move" messages 16622after some moves that are actually legal and accepted by Crafty. 16623 16624* Added -checkLegality option; previously this could not be turned off. 16625 16626* Fixed an old bug in finding default board size parameters. 16627 16628* Differentiated among channel tell, kibitz/whisper, and personal tell/say. 16629 16630* Fixed a bug in detecting Xpm in the configure script. 16631 166323.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996 Tim Mann 16633 16634* Added zic2xpm to the kit; it had been omitted by mistake. 16635 16636* Added some default colors for -colorize 16637 166383.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996 Tim Mann 16639 16640This is meant to be a beta release in preparation for version 3.5. 16641 16642* Added InfoXBoard and ManXBoard to the Help menu. 16643 16644* Made Frank's ICS input box optional, defaulting to off. 16645 16646* Merged in Frank McIngvale's XbKit. Many new features, including 16647-clickClick mode, the Analysis modes, piece flashing, ZIICS import, 16648ICS text colorization, and the ICS input box. Many thanks to Frank for 16649supplying and documenting this code. 16650 166513.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996 Tim Mann 16652 16653Small set of changes made while Frank McIngvale was working on XbKit in 16654parallel. Unreleased in this form. 16655 16656* Updated zippy.README. 16657 16658* Removed useless X event handler and removed strange code for copying 16659form translation table to board that worked around the bug it caused. 16660This makes changing bindings in .Xdefaults more straightforward. 16661 16662* Now pressing the Control key steps back one move, and releasing it steps 16663forward again. 16664 16665* Moved quit from "q" to "Q" for greater safety. 16666 16667* Use "unobserve" instead of "observe" to stop observing; needed on FICS. 16668 16669* Support for interface variable. 16670 16671* Strip titles from people who are talking to us, so (for example) Zippy 16672won't try things like "tell Darooha(*) hello". Needed on FICS. 16673 166743.4, patchlevel 2 -- Tue Jul 9 19:06:42 PDT 1996 Tim Mann 16675 16676This patchlevel is not planned to be an announced release. It's in 16677preparation for integrating Frank McIngvale's XbKit. It mostly contains 16678minor fixes I've accumulated since 3.4.pl1. 16679 16680* WinBoard /telnet option now fires up an external program, as 16681with xboard, instead of trying to use a feature of NT 3.1 that does not 16682exist in later versions of NT or in Windows 95. ChangeLog for 3.4.pl1 16683said this had been implemented there, but it really wasn't. 16684 16685* Indicating player to move by the icon color now works under Windows 95. 16686 16687* WinBoard now kills the chess program when you exit using the system menu 16688or the [X] button. Thanks to Michael Lowe. 16689 16690* Minor changes to Zippy, including: Now understands wild challenges on 16691FICS; these used to crash it. Removed limit on how fast a game will be 16692accepted. Use "set formula ..." on the chess server to limit this if you 16693are using GNU Chess. Now sends correct opponent name to Crafty. 16694 16695* Added some missing default values to documentation. Thanks to Stuart 16696Cracraft. 16697 16698* Bugfix: Trying to print "No fonts match pattern" error message would 16699crash. This can happen to Linux users who don't install Helvetica, for 16700example. 16701 16702* Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an 16703infinite loop. 16704 16705* Added more directories to search for Athena widgets on HPUX. 16706 16707* New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan. 16708 16709* Recognize "illegal move" messages from Crafty for illegal castling, etc. 16710 16711* Bugfix: "name" command added to zippy.c for Crafty was producing error 16712message if GNU Chess was in use. 16713 16714* In bughouse mode, suppress holding messages from console window; show 16715holdings only in banner. 16716 16717* Minor fixes/cleanup to Makefile.in and configure.in. 16718 167193.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995 Tim Mann 16720 16721* This patchlevel updates WinBoard to match xboard, and includes a few 16722fixes and minor improvements. "-size tiny" and "-size n,n,n,n,n,n" 16723are still not implemented for WinBoard. 16724 16725* Installed support for Crafty based on code from Bob Hyatt. 16726Currently the only documentation for this is in the FAQ, and a few 16727things don't work with Crafty 8.23. Please do not report these 16728problems as bugs in either xboard or Crafty. Bob and I know about 16729them. The worst ones (if not all of them) should be fixed in Crafty 167308.24. 16731 16732* Changed the kludge command we send when gnuchess wants to print 16733something that doesn't end with a newline, from "help" to "bogus". 16734This works because the error message gnuchess prints ends with a 16735newline. It also improves compatibility with Crafty, which doesn't 16736need the kludge, but for which sending "help" causes a problem. 16737 16738* Don't draw grid at all if lineGap is 0; previously we drew the grid 16739with X "0-width" lines (usually 1 pixel wide) and then overwrote it. 16740 16741* Makefile: Removed xboard.info from "all" target so we won't try to 16742rebuild it, because this fails on hosts that don't have makeinfo 16743installed. Other minor fixes to "clean" targets, etc. 16744 16745* Fixes and cleanup to Auto Comment code that handles continuation 16746lines and highlighting. 16747 16748* Auto Observe now tries to observe the game from the point of view of 16749the player who was on your gnotify list. Requested by rng. 16750Limitations: We can't tell which player it was unless you have ICS 16751highlighting turned on. Also, currently "observe foo" works as 16752required (observing from foo's point of view) only on ICC, but FICS 16753will probably implement this soon. 16754 16755* "-size tiny" now makes the default font smaller automatically. This 16756was implemented by introducing an extra Form widget in the hierarchy 16757for all xboard windows, named either normalLayout, smallLayout, or 16758tinyLayout. So you can have resource specifications that apply only 16759to certain layouts; in particular, XBoard*tinyLayout*font. 16760 16761* Bug fix: EditGame or EditPosition while playing or examining still was 16762not really being permitted. 16763 16764* WinBoard bug fix: On the EditPosition menu, King did not work. 16765 16766* Added text catalog of WinSock error messages to WinBoard, because 16767Microsoft still has not put them in the system message catalog. 16768 16769* Removed support for older ICS game-ending messages that do not have 16770a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'. 16771The code for older messages was sometimes firing on the newer 16772messages, due to parsing ambiguity. If the current code sees an old 16773message, it will understand that the game is over, but will always 16774display * as a result token instead of trying to guess the result by 16775interpreting the text message. 16776 167773.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995 Tim Mann 16778 16779* This patchlevel was released for xboard only. 16780 16781* Updated the info file. It should now be as up-to-date as the man page, 16782with good English except in the parts that pertain only to AmyBoard. 16783 16784* Added "-size tiny", requested by Bob Hyatt. Also cleaned up bitmap 16785support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps, 16786if the actual bitmaps are supplied by the user. 16787 16788* Updated bughouse support. 16789 167903.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995 Tim Mann 16791 16792* Unreleased beta that works with preliminary FICS bughouse code. Will 16793need changes before release to track FICS message changes. 16794 16795* Removed use of .EX macro from man page. It is not supported by some 16796nroff -man macro packages, notably the one on Slackware Linux. Switched 16797to boldface for references to xboard and other commands within the man 16798page, as this seems to be the modern way. 16799 16800* Bug fix: If ICS rejected a move, it was correctly undone on the board, 16801but the message widget still displayed the bad move. Reported by DAV. 16802 16803* Normally, xboard in ICS mode fetches the move list whenever the board 16804display switches to a new game. Doing this is now an option 16805(getMoveList) that can be turned off, which is useful if you are watching 16806multiple blitz games. Requested by rng. 16807 16808* Move list fetching code is now smarter: it ignores a move list if it is 16809not for the right game. 16810 16811* Added support for bughouse as implemented on FICS. Holdings are shown 16812in the window title in place of the strength numbers. A menu on mouse 16813buttons 2 and 3 (same on both) lets you drop pieces. There is no checking 16814as to whether you actually hold the piece you are trying to drop; we rely 16815on ICS to check that. Notation of the form P@f7 is generated and parsed. 16816The mate detector does not understand that non-contact mate is not really 16817mate in bughouse, but this does no real harm. It results in a "#" 16818suffix being displayed on the move notation, but xboard does not assume the 16819game is over. 16820 16821* Bug fix: Promotion to a knight was not working with ICC! Thanks to 16822Wendigo for the report. 16823 16824* Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3* 16825(supplied from configure.in) had a bug that would cause childio.c to 16826fail to compile, due to a "continue" that was not within a loop. 16827 16828* Bug fix: In pgntags.c, memory was being freed while still in use. One 16829symptom this caused was that on some machines, cmail would fail with a 16830message that it could not find the BlackNA tag. The error was in some 16831submitted code that I included in version 3.2.pl3 without reading 16832carefully enough. Anders Forberg noticed the symptoms, and Evan Welsh 16833(who had nothing to do with causing the bug) found the bug and submitted a 16834fix; thanks to them both. 16835 16836* Removed restriction against using EditGame while playing, observing, 16837or examining on ICS. You still get a warning popup. 16838 168393.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995 Tim Mann 16840 16841* Bug fix: Going directly from MachineWhite to TwoMachines mode would kill 16842off the second chess program after Black's first move. 16843 16844* Added -timeIncrement feature. Thanks to Joel Rivat. 16845 16846* Deleted code that tries to keep you from observing more than one game, 16847or observing while playing or examining. There is actually no problem in 16848doing this, except that every time an update comes in from a different 16849game than is currently being displayed, xboard fetches the history of the 16850new game, which may be time-consuming if you are on a slow link. 16851 16852* Fixed configure so as not to crash when neither lex nor flex is found. 16853lex or flex is needed only if the user wants to rebuild parser.c. Thanks 16854to Phil Humpherys for reporting the crash. 16855 16856* Bug fix: config.h.in used #define instead of #undef for some macros used 16857in the pty code in childio.c. This causes the code to fail to compile on 16858some architectures, because the symbols are supposed to be undefined, not 16859defined to empty, when they are not set in configure. Bug originated in 168603.3.pl0 when config.h was introduced. Thanks to Phil Humpherys for report. 16861 16862* Bug fix: ShowThinking would not show anything when current position had 16863no move to display in the move window. E.g., if position was created by 16864LoadPosition or EditPosition. 16865 168663.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995 Tim Mann 16867 16868* Zippy code was omitted from xboard-3.3.pl1 by mistake; now included. 16869 16870* For WinBoard, added hint to help file that you may need to turn off 16871LocalLineEditing while typing dialing commands to your modem. 16872 168733.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995 Tim Mann 16874 16875* Zippy distribution is no longer separate from regular xboard distribution. 16876 16877* Deal properly with Show Thinking output from GNU Chess when it is 16878thinking on its opponent's time. In TwoMachines mode this output is 16879suppressed to avoid interfering with the output from the machine that is 16880on move; in other modes it is displayed (including the move that GNU Chess 16881is predicting the user will make next). GNU Chess produces this output 16882only if it is built without -DQUIETBACKGROUND defined; this symbol is 16883defined by default in patchlevels before pl75, but undefined by default in 16884pl75. 16885 16886* Bug fix: Handling of initial board position in move list for wild games 16887was broken, so wild games could not be observed and adjourned wild games 16888could not be continued. Thanks to "Maximum Entropy" for the bug report. 16889 16890* Added feature: algebraic notation now shows "+" indicator for check 16891and "#" for checkmate, as called for in PGN standard. Thanks to Kevin 16892Maher for the suggestion. 16893 168943.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995 Tim Mann 16895 16896* Changed configuration to use a config.h file instead of passing zillions 16897of -D options on the cc command line. 16898 16899* Merged a small fix and some updates to the texinfo file from Jochen 16900Wiedmann. The texinfo file still needs work. 16901 169023.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995 Tim Mann 16903 16904* Beta test release of xboard only. 16905 16906* Updated WinBoard code to include new xboard features. 16907 16908* Added texinfo file from Jochen Wiedmann to the release, but not as the 16909primary documentation. It needs updating, and the English needs work. 16910I did make a few improvements, mostly to change incorrect uses of @var to 16911either @samp or @code as appropriate. 16912 16913* Merged in code changes to 3.2.pl4beta from Jochen Wiedmann. 16914 16915* Fixed EditComment; did not pop up window in previous beta. 16916 16917* Added AutoComment feature. 16918 16919* Added GameListDestroy to disable the outdated game list popup in cases 16920where we load a new game file without building a new popup. 16921 16922* Added yyskipmoves feature to parser.l to speed up building of gamelist. 16923 16924* gamelist.c wouldn't compile with a non-ANSI compiler. Fixed. 16925 16926* Change to yy_text handling in patchlevel 3 still had problems. Can't 16927use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER 16928according to whether the lexer on the current host makes yytext a pointer. 16929But most people will be using a parser.c that was generated on another 16930host and shipped with the package. 16931 169323.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995 Tim Mann 16933 16934* Beta test release of xboard only. 16935 16936* Added FIREWALLS section to man page. 16937 16938* Changed -icsport to be a string. Now with the -telnet option, 16939specifying -icsport "" suppresses the second argument to telnet. 16940 16941* Added EditTags feature. Removed AboutGame from menu, because EditTags 16942subsumes it. EditTags suggested by Jochen Wiedmann and first implemented by 16943him in AmyBoard. xboard implementation is my own. 16944 16945* Fixed some missing or incorrect prototypes. 16946 169473.2, patchlevel 3 -- Sat Jun 3 18:57:38 1995 Tim Mann 16948 16949* Beta test release of xboard only. 16950 16951* New version of cmail from Evan Welsh, to fix compatibility problems with 16952perl 5.0. 16953 16954* Added game list feature on Load Game, based on code from Jochen 16955Wiedmann. Integrated it with cmail. 16956 16957* Several bug fixes from Jochen Wiedmann, including one to my yy_text 16958workaround for the difference in the type of yytext between lex and flex. 16959 16960* Handle clock pause on FICS. 16961 16962* Suppress clocks in untimed FICS games (time control 0 0). 16963 16964* Rebuilt configure script with autoconf 2.3. This fixes a bug in 16965configuring for X11R6, where -lSM -lICE would not be added when needed. 16966 16967* Fixed inconsistent type declarations on IntSigHandler and 16968CmailSigHandler. Bug report from Josh Daynard. 16969 16970* backend.c wouldn't compile with a non-ANSI compiler. Fixed. 16971 169723.2, patchlevel 2 -- Tue Feb 7 14:50:30 1995 Tim Mann 16973 16974* Minor release of both xboard and WinBoard. 16975 16976* Added recognition of some FICS messages. On the other hand FICS is also 16977changing some of its messages to match what xboard already recognizes. 16978 16979* Temporarily went back to using "promote" command on ICS instead of 16980"a7a8=Q", because FICS doesn't implement the latter yet. 16981 16982* We now avoid using overlapped I/O on pipes in WinBoard, to make Windows 1698395 beta 2 happy. This lets WinBoard work with GNU Chess on Windows 95! 16984 16985* Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard. 16986 16987* Installed patch to cmail bug in LoadGame from Evan Welsh. 16988 16989* Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode 16990were not being handled correctly. Bug was in GameEnds(). 16991 16992* Implemented EchoOn and EchoOff for xboard, using system("stty echo\n"). 16993Now passwords won't be echoed when you connect directly to ICS. Also, 16994telnet negotiation characters aren't displayed (when possible). 16995 16996* Implemented more of the telnet protocol. Now connecting to a telnet 16997server with "-icsport 23" should work even without giving the -telnet 16998option. The telnet is in "old line-by-line mode". 16999 170003.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994 Tim Mann 17001 17002* This patchlevel released for WinBoard only. 17003 17004* winboard.c: Fixed ConsoleInputThread(). Needed to change CRLF to LF, 17005not to CR. This was stopping normal /ics mode from working. Thanks to 17006Asher Kobin for the bug report. 17007 17008* winboard.c: Fixed Raw(), EchoOn(), EchoOff(). Now they take effect 17009immediately, not on the next console read after the one in progress. 17010 17011* winboard.c: Attempted to make WinBoard work with gnuchessx running 17012directly on Windows (not remotely via rsh). It now works on NT, but only 17013if gnuchess is told not to think on its opponent's time ("easy\n" removed 17014from initString). The problem seems to be that GenerateConsoleCtrlEvent 17015is not doing anything. On Windows 95 beta 2, we get error messages on 17016both reading and writing to gnuchessx; I didn't investigate why. 17017 170183.2, patchlevel 0 -- Wed Dec 7 13:23:36 1994 Tim Mann 17019 17020* Thanks to all the beta testers who gave me feedback: Josef Nelissen, 17021Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen, 17022Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike 17023Lee. Sorry if I forgot anyone. Thanks to Virendra Kumar Mehta for 17024information about DYNIX/ptx. 17025 17026* Don't exit on keyboard EOF unless we get two in a row. 17027 17028* WinBoard only: added -localLineEdit switch to allow turning off local 17029line editing if you really want to. It is still a bad idea to let the 17030echoing be done remotely, however; see below. 17031 17032* Fixed some configure problems on HP-UX. [Steve Booth] 17033 17034* Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3. [Josef Nelissen] 17035 17036* cmail bugfix from Evan Welsh (cmail 3.4). 17037 170383.1, patchlevel 9 -- Fri Dec 2 23:54:56 1994 Tim Mann 17039 17040* Beta distribution only 17041 17042* Always do local echo/edit of user typing in ICS mode. Doing the echo 17043downstream may seem nicer in some modes, and it can be hard to turn that 17044echo off, but the echoed characters can be interleaved with ICS output 17045and make it impossible to parse correctly. For xboard this involved only 17046a change to recommendations in the man page, as Raw() isn't implemented. 17047For WinBoard, removing Raw() made a real difference. Added code in 17048WinBoard to change /r/n back into /r on keyboard input, as we get the 17049former when Raw() is not called. 17050 17051* Do not issue ICS "refresh" command after we start to observe a game 17052unless we get to the next prompt without seeing a board image. Newest 17053version of ICS doesn't require this refresh, but old versions around still 17054do. 17055 17056* cmail bugfix and small code cleanup in LoadGame, from Evan Welsh. 17057 17058* Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame. Evan 17059Welsh request. 17060 17061* Using "-" on the command line as a filename for loading (saving) games 17062or positions specifies the standard input (standard output). Alain Picard 17063suggestion. 17064 17065* On WinBoard only, a command line option without a leading '-' or '/' is 17066now taken as the value of -lgf. 17067 17068* Changed to not use stdin, stdout, stderr as initializers in backend.c; 17069needed for GNU libc compatibility. You also must build parser.c with flex 17070(not lex) if you are using GNU libc, to avoid having the same problem 17071there. 17072 17073* Changed WinBoard to avoid using "overlapped" input on the console. It 17074now seems to fully work on Windows 95 beta 2. 17075 17076* Improved comment popups on WinBoard. Now newlines are handled properly, 17077and the plain Comment popup window doesn't disappear and reappear when we 17078step to a new move with a new comment. 17079 17080* Fixed bugs in detecting the absence of the time and otim commands. 17081 17082* Added built-in implementation of rcmd protocol to WinBoard. Windows NT 17083does not implement passing signals through rsh, and Windows 95 does not 17084have rsh at all. 17085 17086* Added -remoteUser option. 17087 170883.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994 Tim Mann 17089 17090* Beta distribution only 17091 17092* Rearranged ChangeLog file into reverse chronological order to be closer 17093to GNU standards. 17094 17095* Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2). 17096Includes a bug fix to TruncateGame. 17097 17098* Updated ICS address to be chess.lm.com. 17099 17100* Bug fixes to handling the aftermath of FatalError. Thanks to Chris 17101Petroff for the bug report. 17102 17103* Test for remsh before rsh, other fixes for HP-UX. Thanks to Richard 17104Lloyd. I wasn't able to do all the things he suggested, so there may 17105still be some rough edges in building on HP-UX. See the FAQ file for hints. 17106 17107* Bug fix; added missing check for HAVE_SYS_SYSTEMINFO. Thanks to Josef 17108Nelissen for testing on Solaris 2.x. 17109 17110* Updated WinBoard to match xboard. (WinBoard still has a few option 17111dialogs that don't exist in xboard.) 17112 17113* Changed Hint output to a popup. 17114 17115* ShowThinking output and move output no longer overwrite each other. 17116ShowThinking output won't appear if the displayed position is not current. 17117ShowThinking output in TwoMachines mode made clearer and documented. 17118 17119* Implemented --enable-ptys and --disable-ptys arguments to configure. 17120 17121* Fixed Book and Hint code to work over a pty with echo enabled and tabs 17122expanded to spaces. Thanks to Dima Dahknovsky for the bug report. 17123 17124* Moved Attention calls from all over xboard to one place, inside 17125SendToProgram. 17126 17127* Added bulletproofing to ShowThinkingEvent. 17128 17129* Added code to handle "refresh N" boards that come in from ICS properly, 17130assuming ICS is changed to mark them with a new relation code (-3). 17131 171323.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann 17133 17134* Beta distribution only 17135 17136* Changed ShowThinking to just show the current best line in the 17137DisplayMessage area, instead of dumping everything to stdout. 17138 17139* Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and 17140changes to cmail code in backend.c, from Evan Welsh. 17141 17142* Miscellaneous minor fixes. 17143 171443.1, patchlevel 6 -- Fri Nov 4 12:53:53 PST 1994 -- Tim Mann 17145 17146* This patchlevel was not actually released to anyone. 17147 17148* Updated the pty code to be based on GNU Emacs 19.24, and moved it to a 17149separate file. It was hard to split out just the pty configuration from 17150all the stuff emacs does with its custom configure script and .h files, 17151but I did my best. 17152 17153* Converted from imake to GNU autoconf. This was a serious upheaval. 17154 17155* Put in code to help trap "error gathering move list" problem reported by 17156Michel van der List if it recurs. I couldn't reproduce it. 17157 171583.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann 17159 17160* Beta distribution only. 17161 17162* We now test for checkmate or stalemate in EditGame mode after every user 17163move, and in LoadGame mode whenever we hit the end of a game without 17164seeing a PGN end marker. cmail needs an update to deal with this 17165correctly; Evan promises one. 17166 17167* Bugfixes in new move generator. Thanks to Mike Lee for reporting one of 17168the bugs. 17169 17170* Imakefile was omitted from patchlevel 4. 17171 171723.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann 17173 17174* Beta distribution only. 17175 17176* The move generator includes a mate tester. Initially this is used only 17177by cmail, and even that usage needs further work. 17178 17179* Wrote a true move generator and used it to replace all the move 17180disambiguation and legality checking code in parser.l. The move generator 17181is capable of dealing correctly with en passant and castling availability, 17182but the rest of the program still does not keep track of this information. 17183 17184* Bug fix: xboard did not handle "foo has made you an examiner of game 23" 17185message. Thus you could not use examine features until the next board 17186came in, showing your new relation to the game. Thanks to POOKIEWOOKIE on ICS 17187for the bug report. 17188 17189* Added AutoObserve feature. Thanks to Chris Petroff for the idea. 17190 17191* Added Book feature to use new gnuchess "bk" command. Mike McGann request. 17192 17193* Redid code to handle missing "time" command in gnuchess, because latest 17194gnuchess no longer sends a response to this command. 17195 17196* Eliminated need for -DFLEX. Thanks to Michael Shields (Vladimir?) for 17197the idea. 17198 17199* Added missing code to implement MoveNow in TwoMachines mode. 17200 17201* Added ShowThinking feature. Thanks to Richard Lloyd for the idea. 17202 17203* Applied patches from Evan Welsh; some fixes and improvements to the 17204cmail code. 17205 17206* Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack, 17207introduced in previous patchlevel. Also fixed related bug in ending a 17208game in ICS mode; was entering EndOfGame mode instead of IcsIdle. 17209 17210* Added patch to implement internetChessServerLogonScript flag, from Kevin 17211O'Connor. Thanks! 17212 172133.1, patchlevel 3 -- Wed Sep 7 13:22:07 PDT 1994 -- Tim Mann 17214 17215* Beta distribution only. 17216 17217* Merged in new cmail code from Evan Welsh. He added the ability to have 17218more than one game per message, needed for official IECG matches. I added 17219the ability to resign or offer/accept/decline a draw in a cmail game. 17220 17221* Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError 17222was called too early in initialization. Georges Honore reported this bug. 17223 17224* Decided to keep EndOfGame mode as an element of the user interface---it 17225means that a gnuchess game or loaded game has ended, and the user must 17226explicitly select EditGame to edit it, rather than just being able to 17227enter more moves freely. But internally there is no longer an invariant 17228tying this mode to whether the chess program is running. 17229 17230* Zippy bugfix: Was saving only the final position in the -sgf file when 17231the game ended by something other than resignation or flag. Also fixed 17232the longstanding bug that Zippy would think the final board of such a game 17233was a new game and restart the chess program. 17234 17235* Now does a better job of faking castling availability in FEN. We still 17236don't really keep track of it, but now at least we don't say that castling 17237is still available when the king or rook is not on its home square. 17238 17239* Bugfix: Initial board of game history for wild games was going through 17240too much processing, causing us to forget the game length, which is now 17241needed by ParseGameHistory. This was causing problems with resuming 17242adjourned wild games. 17243 17244* Updated ICS host to ics.onenet.net. 17245 17246* Zippy now accepts challenges where the opponent specified his color. 17247 17248* Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess. 17249 17250* Bitmap directory can include alternative icons now, too. 17251 17252* Handle "Game * (*) has no examiners" message from ICS. 17253 17254* Revamped window title and icon name selection. 17255 172563.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann 17257 17258* "Beta" distribution for Zippy users only. 17259 17260* Bugfix: common.h was assuming that X11 type Boolean is char, which is 17261not always true. This might have caused all sorts of obscure bugs! 17262 17263* Installed new bitmaps from Elmar Bartel as the default. Many thanks! 17264The old bitmaps can be used by changing the "bitmaps" symbolic link before 17265compiling xboard, or by using the -bitmapDirectory option at runtime. 17266 17267* Loading a game that ends with the PGN unfinished symbol ("*") now always 17268leaves you in EditGame mode. 17269 17270* Added documentation of -icscomm to man page. Thanks to Maarten Remkes 17271for the linux script. 17272 17273* ^C now kills gnuchess as well as xboard. Thanks to Dima Dakhnovsky for 17274reminding me how to do this. 17275 17276* Bitmap icon color now indicates player to move. Stuart Cracraft 17277suggestion. 17278 17279* Changed piece bitmap flags to have just one flag, which points to a 17280directory full of bitmaps, instead of a flag for each bitmap. Also 17281changed bitmap naming convention. 17282 17283* "Connection closed by ICS" is no longer a FatalError popup. This was 17284too annoying in the normal case where the user typed "quit". 17285 17286* Changed default font to 14 pixels instead of 10 points. This seems to 17287make it close to the size I want it to be on more displays. 17288 17289* Major mode (GNU Chess, etc.) appears in title bar. Stuart Cracraft 17290request. 17291 17292* Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and 17293TwoMachinesEvent were calling PauseEvent to get out of pause mode, which 17294now has undesired side effects, such as advancing the display to the 17295forwardMostMove. It works fine to just set pausing = FALSE instead. 17296 17297* IcsExamining mode now lets you access ICS edit position commands using 17298the same popup menus as xboard's EditPosition mode. Thanks to DAV on ICS 17299for inspiring the idea. 17300 17301* Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd. 17302 173033.1, patchlevel 1 -- Wed Jun 1 16:25:11 PDT 1994 -- Tim Mann 17304 17305* Added parser.c.lex and parser.c.flex to the distribution. 17306 17307* Added HP gcc options to Imakefile, from Mats Nylen. 17308 17309* EndOfGame mode no longer highlights EditGame mode indicator, because the 17310modes really do differ. I would like to get rid of EndOfGame mode in the 17311future, at least as far as users can see. 17312 17313* Larger %a in parser.l, needed for RS/6000 users. 17314 17315* Minor improvements to Mail Move error messages. 17316 17317* When -debug flag is given to xboard, -v is passed to cmail. 17318 17319* Old Save Style uses "1. ..." instead of "1..." when black moves after a 17320comment; more like xboard 3.0's actual style. 17321 17322* New version of cmail from Evan Welsh. Looks for UCB Mail in a more 17323portable way and has some minor bug fixes. 17324 17325* Bug fix: Saving a FEN position while in EditPosition mode with black to 17326play was showing white to play in the saved position. 17327 173283.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann 17329 17330* This is the first general release since 3.0, patchlevel 9. Releases 17331since then have been limited-distribution or beta releases. 17332 17333* Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway, 17334Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff, 17335Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and 17336Evan Welsh. Sorry if I've forgotten anyone who gave me feedback. 17337 17338* Updated man page. 17339 17340* Minor cleanup on menu sensitivity code. 17341 17342* Integrated another even better version of cmail from Evan Welsh, 17343including some code he supplied in xboard itself. 17344 17345* A few more fixes to cmail support. 17346 17347* Automatically update clocks after an ICS "moretime" command. 17348 17349* Handle ICS automatic examine mode (set examine 1) after a game. 17350 173513.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann 17352 17353* Beta test release only. 17354 17355* Don't suppress prompt on first board of game being examined; otherwise 17356it looks like nothing happened at all (i.e., like you're lagged). 17357 17358* Added StopExamining and StopObserving (Chris Petroff suggestion). 17359 17360* Made Reset do a refresh on ICS. John Chanak's original ICS code for 17361xboard tried to do this; I finally decided it was a good idea after all. 17362 17363* Fixed bugs in handling updates that come in while you are pausing in 17364examine mode. This is pretty tricky to do right. 17365 17366* Made un-Pausing immediately pop you to the current position. This is 17367always necessary in examine mode, since the game may have changed under 17368you; your remembered moves might no longer be right. So I made it do the 17369same in all modes. 17370 17371* Took Detach Examine mode back out...used Pause mode for this instead! 17372 17373* Put in a trap for the GNU Chess bug of printing an Illegal Move message 17374when its own hint move is illegal. 17375 17376* Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after 17377it checkmates its opponent. This involved adding an argument to GameEnds 17378to say who says it ended (ICS, GNU, etc.) and taking different actions in 17379different cases. Unfortunately, this just restored an older Zippy bug, where 17380Zippy restarts gnuchess when it gets the board with the final position, 17381because GameEnds still puts xboard in EndOfGame mode. Sigh. 17382 17383* We now capture elapsed time on last move when getting game history. 17384(Josef Nelissen bug report) 17385 17386* Rewrote code to redisplay last file title so it really works. 17387 17388* Fixed bug in oldSaveStyle. 17389 17390* Larger %a and %o were needed for lex. 17391 173923.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann 17393 17394* Beta test release only. 17395 17396* FatalError popups stay on the screen now. If the error is really fatal, 17397all functions are disabled, and the program exits when you press OK. 17398 17399* Redisplay last file title when using Load (Next/Previous/Same) Game. 17400 17401* Zippy understands new match challenge message format on ICS. 17402 17403* Added Revert command. 17404 17405* When examining a game on ICS, < > buttons do ICS backward/forward 17406commands, unless you set the Detach Examine option. Thanks to Dima 17407Dakhnovsky for the idea. 17408 17409* Fixed various minor problems in cmail mode. 17410 17411* cmail generates the tags now. New version of cmail from Evan Welsh. 17412 17413* cmail mode won't let you do MailMove unless the currently displayed 17414position is exactly one move past the end of the game you loaded. 17415 17416* Fixed building of man pages in Imakefile 17417 17418* Updates to INSTALL file 17419 174203.0, patchlevel 12 -- Sat May 7 21:10:03 PDT 1994 -- Tim Mann 17421 17422* Beta test release only. 17423 17424* Brought man page up to date. 17425 17426* Added Shift+R to resign from keyboard. 17427 17428* Some items on Action menu available in GNU Chess mode now. 17429 17430* Revamped Action menu. 17431 17432* Reordered functions in backend.c as a small step toward reorganizing 17433this whole mess. 17434 17435* Generate TimeControl PGN tag. 17436 17437* Get type of ICS game (e.g., rated blitz) and save in PGN tags. 17438 17439* Bug fix: Clocks were not redisplayed when entering EditGame mode. 17440 17441* Bug fix: Clocks were not being redisplayed after loading a game file 17442with -td 0, so they could show the wrong color active. 17443 17444* Bug fix: Chess programs would be killed and match mode would exit 17445prematurely when loading a PGN game fragment ending with "*". 17446 17447* ICS command "sposition" no longer confuses xboard. 17448 17449* Integrated new version of cmail (with support code in xboard) from Evan 17450Welsh. 17451 17452* Added TruncateGame, MoveNow, RetractMove, and QuietPlay. 17453 17454* Bug fix: switching between MachineWhite and MachineBlack was not calling 17455Attention(). Reported by Dino Dini. 17456 17457* More improvements to INSTALL and Imakefile. 17458 17459* Pack moves into 79 character lines in PGN output. We don't generate 17460check indications, and we always break the line before the result, 17461so this is not quite PGN export format. 17462 17463* Use FEN tag in PGN. 17464 17465* Improved finding and counting of game starts in save files. 17466 17467* Negative position or game numbers in -lpi/-lgi mean to seek to that byte 17468offset. Hook for possible future features, not in man page. 17469 17470* Detect and handle absence of either "time" or "otim" commands in 17471gnuchess. 17472 17473* Don't use "promote" command to ICS anymore. 17474 17475* Handle switching sides and taking back moves on FICS. 17476 17477* Handle flip state flag in style 12 board. 17478 17479* Handle examine mode on ICS. 17480 17481* Improved error popups for various kinds of illegal moves. 17482 17483* Suppress unasked-for hints from gnuchess (which it generates in post 17484mode). 17485 17486* Load/save position functions use FEN. Old style also supported. 17487 17488* Added detailed error messages if loading a bitmap file fails. 17489 17490* Small board has 2-pixel lines between squares instead of 3-pixel. 17491 17492* Added OldSaveStyle and AboutGame. 17493 17494* Renamed ForceMoves to EditGame. 17495 174963.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann 17497 17498* The following changes were present in xboard 3.0, patchlevel 11, but the 17499first group did not make it into WinBoard 3.0 until later. xboard 175003.0.pl11 was a limited-distribution release only, mostly to Zippy users. 17501 17502* Man page minor fixes. 17503 17504* Added a missing file close. 17505 17506* Removed automatic error popdown on Reset, which was destroying some 17507error messages before they could be read. 17508 17509* Fixed char vs. unsigned char warnings on bitmaps. 17510 17511* Use ICS board style 12. Some improvements to ICS parsing. 17512 17513* Comment window is now labelled with the move the comment is on, and 17514comments don't pop down when you step to the next move. 17515 17516* Save files now in PGN format. 17517 17518* Support for loading PGN files. PGN tags pop up when a PGN game file 17519is loaded. 17520 17521* More info in INSTALL and Imakefile about building for Suns (and 17522other systems). 17523 17524* WinBoard 3.0 patchlevel 11 split off from an early version of xboard 175253.0 patchlevel 11, so it does not have all the features of that 17526patchlevel. The following changes made it into both xboard and 17527WinBoard: 17528 17529* Made Comment dialog non-modal in WinBoard. 17530 17531* EndOfGame mode is now more transparent. It looks like ForceMoves 17532mode except that there is no chess program running. 17533 17534* Small bug fixes in clock management. Most noticeably, pausing when 17535it is gnuchess's move now works as documented (again). 17536 17537* Add minimal support for -icscomm option. Not documented yet because 17538I haven't sorted out the issues with setting the tty modes on the comm 17539port device, or with locking it properly. But it's usable by wizards. 17540 17541* Don't restart the chess program upon Backward event from EndOfGame mode. 17542 17543* Suppress extra prompt after ICS sends us a board. 17544 175453.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann 17546 17547* Beta test release only. 17548 17549* Zippy now plays chess. zippy.c and zippy.h are still not included 17550in the standard distribution, but are available on request. 17551 17552* Switched to using style 12 on ICS. 17553 17554* Updated man page, and documented use of XBoard*form.translations to 17555add more shortcut keys. 17556 17557* Added shortcut keys "d" to claim/offer/accept a draw, and "t" to 17558call flag. Suggested by venu on ICS. 17559 17560* More explicit instructions in INSTALL file. 17561 175623.0, patchlevel 9 -- Tue Sep 7 14:02:00 PDT 1993 -- Tim Mann 17563 17564* General release, minor update to 3.0.pl8. 17565 17566* Loosened checking on whether it's okay to start a move, to satisfy 17567ICS ultra-blitz players. Now we don't check whether it's your turn 17568until you let go of the piece. 17569 17570* Parser now recognizes "+-+" as meaning the game ended in a draw. 17571 17572* Got rid of S_NONE symbol, which seems to conflict with some symbol 17573Sun defines. 17574 17575* Tweaked the man page. Clarified that there is currently no way for 17576two people running copies of xboard to play each other without going 17577through the Internet Chess Server. 17578 17579* Fixed a bug in color name conversion. Asking for two different 17580colors whose names were the same in the first four characters would 17581get you two copies of the first one. Thanks to Volker Zink for the 17582bug report. 17583 17584* Improved confusing Usage() message. 17585 17586* Added a bunch of Sun information to the Imakefile and INSTALL file. 17587Thanks to Ed Hanway, Arik Klingensmith, and others who responded. 17588 17589* Test for defined(WIN32) instead of !defined(unix). 17590 17591* Avoid using (void *) type with non-ANSI C compilers. Thanks to 17592James Altucher for the bug report. 17593 175943.0, patchlevel 8 -- Thu Sep 2 12:23:01 PDT 1993 -- Tim Mann 17595 17596* Note: Patchlevel 8 was the first non-beta release of xboard 3.0 17597 17598* Added cmail to distribution. Contributed (and still maintained) by 17599Evan Welsh. 17600 17601* Bug fix: -queen option wasn't initializing menu check. Reported by 17602Pat Surry. 17603 176043.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann 17605 17606* Sent WinBoard 3.0.pl7 to Torre on ICS 17607 17608* Added parser.h to hold the interface to parser.l 17609 17610* Upgraded COPYING file and copyright notices to GNU GPL version 2. 17611 176123.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann 17613 17614* We no longer display intermediate positions or intermediate comments 17615while loading a game file with -timeDelay 0 or loading an opening to 17616start up a -matchMode game. 17617 17618* Loading an empty game from an xboard save file now gives a status 17619message "No moves in game" instead of an error popup saying "Game not 17620found in file." 17621 17622* Added comment.awk to distribution. 17623 176243.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann 17625 17626* Bug fix: xboard would crash if it couldn't get all its colors; now 17627it switches to monoMode instead. Also, xboard was trying to convert 17628color resources even when using a b/w display. Reported by Larry 17629Rogers. 17630 17631* Bug fix: Declared fields of TimeMark as signed so that we get signed 17632instead of unsigned arithmetic. SubtractTimeMarks was breaking on 17633Alpha AXP (which has 64-bit longs) with old declarations. Reported by 17634Michel van der List. 17635 17636* Bug fixes: Keyboard accelerators now work after EditComment window is 17637popped down. Iconize keyboard accelerator now works even if xboard 17638was started with -iconic flag and later deiconized. 17639 17640* Bug fix: The routine that tests whether a move is illegal because it 17641would leave you in check was not handling e.p. captures properly. 17642Reported by Patrick Surry. 17643 17644* Bug (?) fix: Was adding time to clocks at time control even when 17645loading a game file. Actually it's not entirely clear how time 17646controls should be dealt with when some moves are loaded from a file 17647or clicked in with ForceMoves. For now ForceMoves mode does add the 17648time (because it can be used to change moves during a live game), but 17649LoadGame mode does not. 17650 17651* Updated usage message. 17652 17653* Previous attempted fix to matchMode had broken TwoMachines mode and 17654generally needed more work. Also simplified command line interface to 17655matchMode. 17656 176573.0, patchlevel 4 -- Thu Aug 5 14:17:18 PDT 1993 -- Tim Mann 17658 17659* Thanks again to the beta testers listed for 3.0 patchlevel 3, and also 17660Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe. 17661 17662* Reorganized man page, splitting OPTIONS into subsections. 17663 17664* matchMode was very broken; fixed. 17665 17666* Changed convention for turning off command line options from --opt 17667to -xopt, to be less inconsistent with GNU standards. Also changed 17668the long command line options to take True/False arguments like 17669resources; seems to make more sense this way. 17670 17671* Added AlwaysQueen option -- suppresses promotion dialog and always 17672promotes to a queen if you move a pawn to the last rank. Has no 17673effect on gnuchess (or your ICS opponents!) -- they can still 17674underpromote. 17675 17676* Subtracted an extra fudge term when determining how wide message and 17677title widgets should be. This fixes a problem some beta testers had. 17678Wish I knew why it's needed. 17679 17680* Bugfix in parser; symptom was that you couldn't do LoadGame after 17681observing a game on ICS. 17682 17683* Bugfix in Forward; didn't work after game ended while Pause was turned on. 17684 17685* Removed bogus execute bits on .h files. 17686 17687* Use REMOTE_SHELL and TELNET_PROGRAM definitions. 17688 17689* MachineWhite and MachineBlack now work from TwoMachines mode. 17690 17691* Popping down an error message with the [ok] button was not turning off 17692the errorUp flag, so the next move would cause xboard to try to pop it 17693down again, resulting in a wild memory reference and sometimes a crash. 17694 176953.0, patchlevel 3 -- Tue Aug 3 17:40:27 1993 -- Tim Mann 17696 17697* Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma, 17698Chris L. Petroff, Richard K. Lloyd, Michel van der List, Craig Metz, 17699Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell, 17700Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel. 17701 17702* Improved error messages for trying to move the wrong color pieces or 17703to move when it's not your turn. 17704 17705* Special code for monoMode on 1-bit displays now understands displays 17706where 1=white and 0=black. 17707 17708* Declare getenv() if <stdlib.h> not included; avoids a compiler warning. 17709 17710* Documented borderXoffset and borderYoffset. 17711 17712* Added -titleInWindow option for use with X window managers that 17713don't let us set the title in the window banner. 17714 17715* Fixed error message printing in WinBoard; system error messages no 17716longer appear as numeric codes. 17717 17718* The error message popup is now non-modal; you don't have to press the 17719[ok] button before you can do something else. In addition, the popup is 17720positioned so that it doesn't cover up the board (too much), and making a 17721move or otherwise clicking on the board pops it down. (Not implemented in 17722WinBoard.) 17723 17724* You can now call your opponent's flag in ICS mode by clicking on his 17725clock. 17726 17727* Fixed minor bugs in -flipView option and documented exactly how xboard 17728decides which way to flip the view. 17729 177303.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann 17731 17732* Added Autosave to Options menu. Would be better to have Save 17733Options dialog as in WinBoard, but this was quick to do and gives the 17734most-needed functionality. 17735 17736* Changed "Reload Game" on menu to "Reload Same Game". 17737 177383.0, patchlevel 1 -- Thu Jul 8 21:22:59 PDT 1993 -- Tim Mann 17739 17740* Sent a copy of patchlevel 1 to Patrick Surry to beta-test. 17741 17742* Added -cmail option that sets appData.cmailMode. Currently a no-op. 17743In the future this may set special modes for use by the cmail script 17744for playing chess by email. 17745 17746* Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu. 17747ReloadGame suggested by Patrick Surry. 17748 17749* Added -flipView command-line option. Suggested by Patrick Surry. 17750 17751* Fixed bugs in parser.l: (1) Pattern for "# xboard game file ..." 17752needed to match to end of line. (2) Start of a new file was not matching 17753the ^ start-of-line character. The fix for this is a kludge. 17754 17755* Made game counting code in LoadGame more robust, and made LoadGame 17756able to detect the end of a saved partial game (by noticing the start 17757of the next game) in game files created by XBoard itself. We don't 17758try to find the start of the next game that way in other kinds of game 17759files, because the only way I can think of to do that is to look for 17760another move #1, and that technique gets too many false hits. 17761 17762* Fixed recently introduced bug in LoadGame when game starts with a 17763position diagram. 17764 177653.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann 17766 17767* Changes in this patchlevel were too numerous to list. Larger ones are 17768listed below. 17769 17770* Added a popup dialog to enter and edit comments. Inspired by some 17771code from Patrick Surry. Changed the normal read-only comment popup 17772to the same style. 17773 17774* Added ICS init script feature from Karl Schwamb. 17775 17776* Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan. 17777 17778* Revamped code to allow use of flex instead of lex on parser.l. 17779Using flex requires adding -DFLEX to defines in Imakefile. 17780 17781* Source code is split into front end (xboard.c), which knows about X 17782and Unix, and back end (backend.c), which knows about chess, gnuchess, 17783and the ICS. There is also a front end for Windows NT. 17784 17785* Boolean command line options now use "-foo" to turn on and "--foo" 17786to turn off instead of "-foo true" and "-foo false". [Later -xfoo; 17787see above.] 17788 17789* Added menu commands to control autoflag, bell, and coords options. 17790 17791* User interface has a new look: (1) Menu bar instead of array of 17792buttons. A few very commonly used features have small buttons in 17793addition to being on the menus. (2) Large font for clock. (3) Pop-up 17794dialogs for errors. 17795 177962.1, patchlevel 11 -- Sat Jun 5 00:01:01 PDT 1993 -- mann@src.dec.com 17797 17798* Added code to deal with "wild" games on ICS. This includes allowing 17799castling with the king on d1 or d8, which is allowed in wild(1) games 17800if the king started there. Notation is o-o to castle "short"---to 17801whichever side the king is closer to---and o-o-o to castle "long." 17802Right now wild castling is always allowed by xboard; we rely on ICS or 17803gnuchess to reject it when we aren't really in wild mode. 17804 17805* memcpy call had arguments in wrong order. 17806 17807* Removed April Fool code 17808 178092.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com 17810 17811* Avoid trying to select on a pipe when using System V. Needed to 17812copy some code from InitChessProgram() up into establish(). 17813 17814* Bug fix in disambiguating pawn moves like "ed". 17815 17816* Fix to error handling in ReceiveFromProgram. 17817 17818* Bug fix: entering EditPosition mode with black to play highlighted 17819White's clock instead of Black's. 17820 17821* Added telnetProgram resource in case "telnet" is not the name of the 17822telnet program. 17823 178242.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com 17825 17826* Entering Force Moves mode clears "flag has fallen" messages from display. 17827 17828* ICS host name can now be in numeric format; for example 128.2.232.4. 17829 17830* Bug fix: LegalityTest was failing to test whether a pawn move was 17831illegal because the move would discover a check. 17832 17833* Handle ICS message "mann asserts a win over manntest, who disconnected." 17834 17835* Bug fix: A recent change to PromotionCallBack had broken 17836underpromotion to a knight. 17837 17838* Bug fix: In EditPosition mode, dragging a piece onto a square border 17839would make it vanish. xboard wasn't distinguishing this case from 17840dragging the piece off the board. Thanks to Matthew Kidd. 17841 17842* Removed "static" declaration from yywrap for compatibility with IRIX 17843version of lex. Thanks to stiller@blaze.cs.jhu.edu. 17844 17845* Added substitutes for bzero, bcopy, and gethostname for Solaris 17846SVR4. Thanks to Michael Grant. 17847 17848* Bug fixes to queen move disambiguation. Bugs showed up only when 17849promotion resulted in more than one queen on the board. 17850 178512.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com 17852 17853* parser bug fix: It now really works to leave off the piece a pawn is 17854promoting to and let it default to queen. 17855 17856* When starting to observe or play an ICS game, don't draw board in 17857initial position and then immediately redraw it in the current 17858position. 17859 17860* Handle ICS messages when an "abuser" forfeits a game by 17861disconnecting and when a game is aborted ("removed") by an 17862administrator. 17863 17864* Bug fix: A user move when in LoadGame+Pause mode was resuming the 17865game load instead of putting us in force mode. 17866 17867* It seems that crashes inside sscanf when xboard is compiled with gcc 17868(as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are 17869caused by an incompatibility between gcc and the sscanf implementation 17870on these platforms. A workaround is to specify -fwritable-strings to 17871gcc (see the gcc documentation). Added info on how to do this to the 17872Imakefile. Thanks to Tom McConnell for this information. 17873 17874* Clocks are allowed to go negative. This is mostly for ICS 17875compatibility, but it affects gnuchess mode too. Also, we give the 17876time bonus when a player hits the time control boundary even if his 17877flag is already down. This choice is a bit debatable, but it makes 17878things look better when you are in TwoMachines mode and gnuchess's 17879time management screws up causing it to exceed its time limit. 17880 17881* Implemented move legality checking code. Moves made with the mouse 17882or parsed from a file are checked for legality before being made. 17883This is mostly in preparation for future extensions, such as 17884human-human play. For now it makes -noChessProgram mode more useful. 17885 17886* If the user takes back moves, we restore the clocks to the earlier 17887settings. 17888 17889* We now handle the output of the ICS oldmoves command, including 17890parsing the game end condition. 17891 17892* Added autoCallFlag mode. 17893 17894* Fixed glitches in the medium size outline king and rook bitmaps, and 17895touched up the medium size solid king and outline queen. 17896 17897* bug fix: DisplayMove would not display backwardMostMove - 1. 17898 17899* Added CallFlag button and removed AcceptMatch. CallFlag is more 17900important with new ICS, and accepting the current match offer is easy 17901with the new ICS command "accept" (can be abbreviated "ac"). 17902 17903* LoadGame and LoadPosition display tail of file name (plus index 17904number, if any) as title. 17905 17906* MachineWhite, MachineBlack, and TwoMachines now work properly from 17907LoadGame and LoadGame+Pause mode. 17908 17909* Use o-o and o-o-o to castle on ICS, not 00 and 000. 17910 17911* Stripped out code for old ICS messages; new ICS is now installed. 17912 17913* Bug fix: don't offer autosave when paused during LoadGame. 17914 179152.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com 17916 17917* Track change to "Illegal move" message in new ICS. 17918 179192.1, patchlevel 6 -- Tue Dec 8 10:48:44 PST 1992 -- mann@src.dec.com 17920 17921* Kludged around bug in keeping comment popup where you put it by 17922adding borderXoffset and borderYoffset resources that give the width 17923of the borders added by the window manager. Yucch. 17924 17925* Changed searchDepth kludge back to using "help" instead of "bd"; the 17926latter didn't work because the output contains a line starting with 17927"White", so we think gnuchess is telling us that White won. Oops. 17928 17929* Removed some code that uses an X11R5 feature, XrmGetDatabase. 17930Without this, the auto font sizing code is harder to make work, so to 17931keep my sanity I had to change it to affect only the fonts that appear 17932in the main window and the comment popup, not the other popups. Maybe 17933this is better anyway. 17934 17935* AcceptMatch button now works after a counterchallenge, too. 17936 17937* Added code for more variants of messages about games being adjourned 17938or aborted. These messages need to be unified in new version of ICS. 17939 17940* Added workaround for minor bug in ICS; game number on first board 17941can be wrong. 17942 17943* Removed code to say "refresh n" instead of "refresh"; was broken and 17944wasn't needed anyway. 17945 17946* Added missing casts for compilers that distinguish enums from ints 17947and missing cast in connect call. 17948 17949* Added code to recognize "both sides are out of time" draw message 17950proposed for next version of ICS. 17951 17952* Thanks to Danny Sleator and Joe Peterson for bug reports. 17953 179542.1, patchlevel 5 -- Sun Dec 6 19:52:40 PST 1992 -- mann@src.dec.com 17955 17956* Removed gcc and CDEBUGFLAGS from Imakefile. 17957 17958* Corrected setting of mode to ForceMoves when game file ends or 17959contains an AmbiguousMove or BadMove. Previous bug was harmless. 17960 17961* Added AcceptMatch button and mention of 50-move rule for Draw button 17962to man page. 17963 179642.1, patchlevel 4 -- Sun Dec 6 02:55:42 PST 1992 -- mann@src.dec.com 17965 17966* Now handles revised messages from new version of ICS. New ICS is 17967not released yet, so this code might change further. Next patchlevel 17968will remove support for old ICS; both are there now. 17969 17970* Initial processing for a new game being watched or played now 17971happens when we see the first board image. Removes the need to parse 17972some messages and unifies some code. 17973 179742.1, patchlevel 3 -- Tue Dec 1 19:40:40 PST 1992 -- mann@src.dec.com 17975 17976* Handles ICS messages "Draw : neither player has mating 17977material" and "Draw : White has no material, Black has no time." 17978 17979* Added AcceptMatch button for ICS mode. 17980 17981* Fixed bug in previous fix to yylexstr(). 17982 17983* Fixed bugs in code for loading old position files that don't start 17984with "#" and for handling case where user asked for nth position in 17985file but there aren't that many. 17986 17987* Handles ICS message "* has restored your old game" 17988 17989* ResetProc always clears title line now. 17990 17991* Don't issue just "refresh" when watching a game; use game number. 17992Upcoming new version of ICS may need this. 17993 17994* Added code to try to prevent user from watching and/or playing more 17995than one game at a time. There is a race condition inherent here; if 17996we get more than one board from the game before our command to stop 17997watching it takes effect, we'll think the user started it again. Not 17998clear how to fix this. 17999 18000* Redid ParseBoard8 to use sscanf. Code is a good deal cleaner now. 18001Also, we now parse out the game number too, though we don't make much 18002use of it yet. 18003 18004* (Tried to put in a feature that recognizes the current game in a 18005game file must have ended when we see the start of a new one, but had 18006to disable it because we have too many false hits with the current 18007parser, especially in gnuchess listing files.) 18008 18009* Moves read from game files or received from ICS are now translated 18010into canonical algebraic form just like all other moves. Minor nit: 18011If you use Reset while playing or observing a game in ICS mode, the 18012game history (including the current board position) is lost, so the 18013next move of the current game can't be translated. 18014 18015* Default fonts now vary with board size, and are chosen by pixel size 18016instead of point size (since piece bitmaps have a fixed pixel size). 18017 18018* Bug fix: An extra Forward was required to skip over time indications 18019in game files. 18020 180212.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com 18022 18023* If you move the comment popup, the next time it pops up it will come 18024back where you put it. 18025 18026* Fixed yylexstr() so calls to it can be interspersed with calls to 18027yylex(). 18028 18029* Fixed bugs in Forward/Backward while in LoadGame mode. 18030 18031* Changed Save{Game,Position} functions to append instead of 18032overwriting if file exists. Changed Load{Game,Position} functions to 18033deal with multiple games/positions per file. 18034 18035* Changed load{Game,Position}File resources to trigger automatic load 18036on program startup. Changed save{Game,Position}File resources to 18037trigger automatic save after every completed game and on program exit. 18038 18039* Added autoSaveGames mode. 18040 18041* Fixed bug with PromoPiece in call to MakeAlg from MakeMove. 18042 18043* Many changes to get rid of picky compiler warnings and generally 18044clean up the code. 18045 180462.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com 18047 18048* A last minute change before patchlevel 0 went out broke 18049ParseGameHistory(). Immediately fixed in patchlevel 1. 18050 18051Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com 18052 18053* Uses "time" command of gnuchess 4.0 and following to keep clocks in 18054sync. Still works with older versions without this command; we test 18055whether the command is present the first time each chess program is 18056started. 18057 18058* File name dialog pops up under the mouse cursor, so that it's got the 18059keyboard focus if the window manager is using pointer focus. 18060 18061* Attempts to move the wrong color piece or an empty square are filtered 18062out in xboard instead of being passed on to GNU Chess or the ICS. 18063 18064* The reason a game ended is now remembered even if you move backward 18065and forward after it ends. It is forgotten only if you make a move 18066(which is as it should be---this is now a different game, which hasn't 18067ended yet). The message saying why the game ended no longer wipes out 18068the last move. 18069 18070* Pause, Backward, Forward, ForceMoves, and EditPosition now work from 18071TwoMachines mode. 18072 18073* Forward and Backward now change only the board display unless you 18074are in ForceMoves mode. Pause mode keeps new moves that are received 18075from being displayed on your screen until you unpause (or use 18076Forward). 18077 18078* Added option to ring the bell after opponents' moves. 18079 18080* Saved games that start from other than the standard initial position 18081now begin with a postion diagram as in saved position files. The 18082loader is modified to understand such save files. 18083 18084* Improved error checking when trying to read from gnuchess. 18085 18086* Parser understands things that look like time indications, e.g., (0:12), 18087instead of popping them up as comments. 18088 18089* Send "quit" to gnuchess before trying to kill it. I needed this 18090locally because sending a SIGTERM to rsh was not killing the remote 18091program on some internal field test systems we have. 18092 18093* Merged in code from John Chanak to make xboard a front end to the 18094Internet Chess Server, and added several improvements of my own. 18095(These include parsing end of game messages, loading the current state 18096and previous history of a game that's joined in progress via "watch" 18097or "load", automatic switch from board style 1 to 8 when needed, 18098removing irrelevant buttons and adding some new ones, adding the 18099useTelnet and gateway resources, and miscellaneous code cleanup, bug 18100fixes, and documentation.) Many thanks to John for writing and 18101contributing the initial version of this code. 18102 18103Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com 18104 18105* gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a 18106preliminary version of 4.0.pl60 that I have). Added code to handle 18107this. The old format ("e1g1", etc.) still works too. 18108 18109* Added code to format moves in normal abbreviated algebraic notation 18110(for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic 18111(for example, e2e4, e3d4, f7f8q, g1f6, e1g1). Moves entered with the 18112mouse or received from gnuchess are translated into this canonical 18113format for display on the message line or in saved game files. Moves 18114read from game files are not translated, however; they are shown and 18115saved just as they appear in the file. 18116 18117Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com 18118 18119* It's not really correct to write an ep capture of a pawn on e5 as 18120fxe5; this should be written as fxe6 because e6 is where the capturing 18121pawn ends up. Nevertheless, the parser now interprets fxe5 as the ep 18122capture f5xe6 unless there is a pawn on f4, in which case it 18123interprets fxe5 as f4xe5. By design, the parser does not flag fxe5 as 18124ambiguous if there are pawns on both f4 and f5; instead it prefers the 18125more legitimate f4xe5 interpretation. 18126 18127* A move like fxe6 or fe6 is now interpreted as an e.p. capture of the 18128pawn on e5 if there is one there and e6 is empty. 18129 18130* A move like fxe5 can no longer be interpreted as an e.p. capture if 18131there isn't a pawn on e5 to be captured. Previously this could happen 18132erroneously if there were pawns on both f4 and f5, and the f4 pawn was 18133capturing a piece on e5. 18134 18135* The parser no longer munges the move it is parsing; in the past, for 18136instance, it would remove the "x" from a move like dxc5 before echoing 18137it to the screen. 18138 18139* The parser now detects when a move is ambiguous and returns an 18140error, instead of arbitrarily choosing one possibility as it used to. 18141 18142Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com 18143 18144* Added code so parser can handle fully qualified algebraic, e.g., 18145Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4. The "P" and "/" work only for 18146fully qualified moves, not generally. 18147 18148* Fixed parser bugs in handling moves with rank or file disambiguator, 18149e.g. N1f3 or Ngf3. 18150 18151Mon Jul 6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com 18152 18153* AIXV3 patch from Tom McConnell; thanks! 18154 18155* After hitting the Backward button we see the last move made instead of 18156the word "Pausing" displayed. 18157 18158* Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault 18159and Alan Walsh for bug reports and help with fixes. 18160 18161* Added optional display of algebraic notation coordinates along left and 18162bottom edges of board. This was inspired by some code from Jean-Christophe 18163Engel; thanks! 18164 18165* Swapped EditPosition and Pause buttons to reduce danger of losing the 18166game in progress by hitting EditPosition when you wanted Backward. Thanks 18167to Ove Lundberg for complaining (though it bugged me too). 18168 18169* Despite one complaint, I kept the feature of changing both clocks when black 18170makes time control, rather than changing each individually when the player 18171involved makes it. This is to avoid having it look like White is way ahead on 18172time while Black is thinking about the last move of the time control period 18173(i.e., when White has made time control but Black hasn't yet). 18174 18175* Corrected clocks to work as in real tournaments. Time is *added* when you 18176reach time control; previously the clocks were simply set to the length of the 18177new time period. Also, when a player's flag falls, he still does not receive a 18178new time allotment at the next time control, but his opponent does still 18179receive more time if *his* flag has not fallen; previously, time controls were 18180ignored for both players if either flag fell. I forget who reported this bug. 18181 18182* Added a small ESIX patch from Kayvan Sylvan. 18183 18184Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21) 18185 18186* Added some SVR4 support code from Ronald Cole. It's Greek to me. 18187 18188* Note: Stephen Meatheringham reports a bug causing xboard to crash with an 18189error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1 18190and OpenWindows 3.0. This bug has not been tracked down yet. 18191 18192* Fixed a problem with ATTENTION code. On some operating systems, you have to 18193be even more cautious about when you send a SIGINT to gnuchess, because the 18194signal handler gets deinstalled each time it is used, and gnuchess does not 18195reinstall it immediately. In particular, if you send a SIGINT and make an 18196illegal move or ask for a hint, gnuchess does not reinstall the handler until 18197*after* you make your next move, so you had better not send a SIGINT before 18198it. I put a workaround for this case into xboard; I hope there are no more. 18199 18200* The ATTENTION code is needed when compiling for the ESIX operating system, 18201because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that 18202lets you interrupt its thinking on your time just by typing in your move does 18203not work. Perhaps gnuchess will have a workaround for this eventually. 18204 18205* Fixed yet another bug in using XtGetValues; code to inhibit shell resizing 18206was leaving a null pointer as the place to store the current sizes. 18207 18208* Man page fixes: corrected -sl to -sd, updated LIMITATIONS. 18209 18210* Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY. I hope this 18211works for all systems; on mine, <time.h> and <sys/time.h> are the same file, 18212but with an #ifndef that makes it harmless to include both. 18213 18214* Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan, 18215d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole. 18216 18217Mon Jun 8 11:39:18 PDT 1992 (patchlevel 20) 18218 18219* Documented default value of initString and explained what it means. This 18220paragraph also serves to inform the user that xboard by default will tell 18221gnuchess to think on his time, something one user apparently didn't understand. 18222 18223* Redid -searchDepth (formerly -searchLevel) and -searchTime code. They both 18224work correctly with gnuchess 3.1 now. The -searchDepth option also works 18225correctly with gnuchess 4.0. The -searchTime option does not work with 18226gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a 18227working searchTime feature. Instead of having xboard do a half-baked emulation 18228of this feature by using a 1-move time control, I will be submitting a patch to 18229the gnuchess folks to restore the feature as in 3.1. 18230 18231* Improved clock code. It now keeps accurate track of fractional seconds of 18232clock running time, if your system has gettimeofday(); if not, it is generous 18233about them---if a clock has been going for n.m seconds when it is stopped, only 18234n seconds are charged. Previously, xboard would charge one second immediately 18235when a clock was started, so if n.m had elapsed when it was stopped, n+1 would 18236be charged. This should stop xboard from thinking gnuchess has let its flag 18237fall on the last move of a time control, as it often did before. I also 18238improved the comments and condensed the code a little. I hope there are no 18239systems that have X11 and don't have gettimeofday(), but if there are, I'd like 18240to know what to replace it with. 18241 18242* "Flag dropped" messages now show up on the top line, beside the clocks, so 18243that they don't obscure more interesting messages on the second line. 18244 18245* Fixed confusion of NULL and '\000'. 18246 18247* Include time.h to get ctime() declaration. 18248 18249* Fix to "parser bug" messages in parser.l. 18250 18251* Changed code to work with old-fashioned tolower() macro that requires its 18252argument to be an uppercase letter. 18253 18254* Minor fix to some usage error messages; was reversing program name and 18255erroneous argument value. 18256 18257* Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports. 18258 18259Fri Jun 5 13:06:08 PDT 1992 (patchlevel 19) 18260 18261* Note: xboard does not seem to work when compiled with gcc 1.40 on a 18262PS/2 running AIX. It crashes at the sscanf in line 768 of xboard.c. 18263You can work around the problem by specifying the -timeControl option 18264on the command line instead of defaulting it. This does not seem to 18265be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with 18266MetaWare High C. [But see 2.1.pl8 above.] 18267 18268* Removed bogus files from distribution. 18269 18270* Changed variable name that conflicted with SVR4 ttyname function. 18271 18272* Thanks to Christoph Strozyk for another bug report, and to several 18273of the folks mentioned under patchlevel 18 for testing it. 18274 18275Wed Jun 3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com 18276 18277* Added an include of sys/fcntl.h to pick up the definition of O_RDWR for 18278System V users. 18279 18280* Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine 18281which chess program got the signal. 18282 18283* Removed the declaration of strrchr, which was causing problems for some 18284people, and added an include of <string.h> or <strings.h> instead. 18285 18286* Fixed a bunch of type errors uncovered by compilers that check more carefully 18287than the one I was using. I just patched many of them with casts---typically 18288cases where a function didn't take the same number and type of arguments as the 18289X header file prototype said it should---because I didn't see any other way to 18290fix them. The versions of the X header files that I have don't actually have 18291full prototypes for these function types; they declare only the return type and 18292just give the argument types as comments. 18293 18294* InitChessProgram returns immediately if chess program died while we were 18295waiting for it to say "Chess". I think this fixes a bug that could make xboard 18296crash or go into an infinite loop printing "Warning: Select failed; error code 182979" if gnuchess crashed there. 18298 18299* Removed code that tries to put the file descriptor used to read messages from 18300gnuchess into nonblocking mode. I don't see how this kludge could ever have 18301fixed the problem it was intended to (see below), and it seemed to be causing 18302a race condition when we were waiting for the initial message from gnuchess 18303after it started up. 18304 18305* Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark 18306Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas, 18307and Kris Van Hees for bug reports and help with fixes. 18308 18309Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu 18310 18311* 'xboard' suffered from a couple of serious bugs. An initial 18312 size needed to be given to the message label to avoid a race 18313 condition (!) so I gave it some text (otherwise occasionally 18314 xboard would fail because the message widget was 0 width under 18315 MIT X11R4). The sizes needed to be Dimension, not int, because 18316 they were written in by Xt -- on my big-endian box Dimension 18317 is short, causing chaos. Also, I hacked a declaration in for 18318 strrchr() to shut the compiler up -- this is arguably a kludge, 18319 but I couldn't think of anything better; maybe you can. 18320 18321Fri May 22 13:40:50 PDT 1992 (patchlevel 16) 18322 18323* First real (non-beta) release of version 2.0. 18324 18325* Added GNU copyleft notices covering version 2.0 enhancements. 18326 18327Thu May 21 12:30:09 PDT 1992 (patchlevel 15) 18328 18329* Removed -g from Imakefile. 18330 18331* Added casts in parser.l to prevent warning messages from some C compilers. 18332 18333* Bugfix: code to exit if chess program couldn't be started had bug in error 18334message printing. 18335 18336Tue May 19 11:58:06 PDT 1992 (patchlevel 14) 18337 18338* Fixes one small bug: If LoadGame does not find a game in the file, it resets 18339xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of 18340leaving it in LoadGame mode. 18341 18342Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13) 18343 18344* Improved error handling when gnuchessx crashes. Now displays a message and 18345enters EndOfGame state without exiting. This should help with diagnosing 18346gnuchessx problems, since the position and move history are not lost. 18347 18348* Debugged man page. 18349 18350Version 2.0 -- Thu Apr 2 16:04:54 PST 1992 (patchlevel 12) 18351 18352* Added small 40x40 pixel pieces; board size now specified as small, medium, or 18353large. 18354 18355* Improved man page. 18356 18357* Saved position files now say "white to play" if it's white's move. 18358 18359* SavePosition while in EditPosition mode now gets side to play right. 18360 18361* Made "Pawn" the default on edit position menus. 18362 18363* Removed "To play" from edit position menus, since it's redundant. Left 18364support code in so it can be restored if someone wants it. 18365 18366* Tightened parser's definition of a move number to help further with skipping 18367over stuff before the first move. 18368 18369* Put back feature of skipping over stuff in game files before a start of game 18370marker. This helps when loading electronic mail messages that have things 18371like "00" in the header (looks like castling), or that talk about moves in 18372running text before the actual game score. Tradeoff is that we can't load 18373games that don't either have move numbers or say "gnuchess game" just before 18374the moves. 18375 18376* Changed version number to 2.0 because others have used "1.3" for patched 18377versions of 1.2. Display version number and patchlevel at startup. 18378 18379Thu Apr 2 15:30:22 PST 1992 (patchlevel 11) 18380 18381* Bugfix: Match started with TwoMachines button now handles the case where 18382user loaded/edited a position *and* forced some moves. 18383 18384* added error message feedback to many cases where the user's button press is 18385rejected because it isn't allowed in the current mode. 18386 18387* added -noChessProgram option to allow use as a passive chessboard without 18388gnuchess, replacing old buggy scheme that tried to do this automatically when 18389gnuchess was not found on the search path. 18390 18391* parser accepts "=" in front of promotion piece 18392 18393* parser accepts ":" notation for captures 18394 18395* Removed SwitchSides button to make room for EditPosition. Left code in 18396place, ifdef'ed out. 18397 18398* Added EditPosition mode. 18399 18400* Reformatted xboard.c to eliminate long lines. 18401 18402* Promotion popup now appears near rank to which pawn is moving. 18403 18404* UI improvement: Button representing current program mode is kept highlighted. 18405 18406* Bug fix: Hint button is now disabled when machine is on move. 18407 18408Sat Mar 21 14:57:37 PST 1992 (patchlevel 10) 18409 18410* TwoMachines now works from MachineWhite or MachineBlack mode. 18411 18412* ForceMoves and Backward/Forward now work at the end of a game started by 18413the TwoMachines button. 18414 18415* Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O. 18416 18417* Bug fix: SwitchSides button is now disabled when machine is on move. 18418 18419* Added -searchLevel option and corrected handling of -searchTime to reflect 18420the way gnuchess really handles command line options instead of what the 18421documentation used to say. Allowed optional ":seconds" on times. 18422 18423Tue Mar 17 21:00:35 PST 1992 (patchlevel 9) 18424 18425* Removed non-working code that tried to recover when a remote chess program 18426could not be started; now exits with a message instead. 18427 18428* Now waits for chess program to print its first message (normally "Chess") 18429before sending it any commands. 18430 18431* Matches between two machines can now start from a black-to-play position or 18432black-to-play opening. 18433 18434* Bug fix: The program would sometimes lose track of the board position after 18435the end of the game, drawing a board full of white pawns next time it got an X 18436redraw request. Now fixed. 18437 18438* Cleaned up handling of illegal moves in game files. Now we just stop reading 18439and go into ForceMoves mode. 18440 18441* Saved games against gnuchess indicate who won (restored and debugged 1.2 18442feature). 18443 18444* Setting -searchTime turns off -clockMode. 18445 18446* My trick for setting up a black-to-play position broke in the transition from 18447gnuchess 3.1+ to 4.0. Installed a different trick that works with both. 18448 18449* Bug fix: Was clobbering memory by mallocing one byte too few for the file 18450name in SetupPositionFromFileProc. This usually resulted in a crash on the 18451second attempt to load a position from a file. 18452 18453Mon Mar 16 16:49:00 PST 1992 (patchlevel 8) 18454 18455* Game and position files are saved in CHESSDIR as well as loaded from there. 18456We actually chdir there, so gnuchess listing files also wind up there. 18457 18458* Underpromotion moves from gnuchess really work now. 18459 18460Sat Mar 14 14:55:24 PST 1992 (patchlevel 7) 18461 18462* Cleaned up lots of bugs and kruft in parser.l. It's a wonder the old version 18463worked at all. Improved rejection of random text interspersed with the moves. 18464 18465* Relabeled buttons to reduce confusion (Play From File --> Load Game; 18466Setup From File --> Load Position). 18467 18468* Bug fix: Doesn't exit at the end of a game that was started by pressing 18469the Two Machines button. 18470 18471* Bug fix: Doesn't get confused if you hit Machine Black (White) while 18472the machine is already playing black (white) and is on move. 18473 18474* Prints "White to play" or "Black to play" after loading a position file. 18475 18476* Bug fix: No longer hangs if no start-of-game is found in a game file. 18477 18478* More permissive about game file format. The first line is not assumed 18479to be a header comment unless it starts with "#". We don't insist on 18480seeing a "1." before the first move. 18481 18482* Added pop-up dialog to allow underpromotion. Moving a pawn to the last rank 18483pops up a dialog to let you select what piece to promote to. Also added code 18484to handle underpromotion moves from gnuchess or from a game file correctly. 18485 18486* Added code to send SIGINT to gnuchess before trying to move, if gnuchess 18487might be busy thinking on our time. The code is ifdef'ed out because it's 18488not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or 18489below require it. 18490 18491Mon Feb 24 20:10:22 PST 1992 18492 18493* Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode 18494and to ShutdownChessPrograms. (They both sent the same fixes.) I did not 18495install the change that removed "easy" from the initialization string, so 18496xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's 18497time) by sending this command. 18498 18499Version 1.3 -- Thu Dec 19 18:19:00 PST 1991 mann@src.dec.com (Tim Mann) 18500 18501* I've fixed a slew of bugs in this version of xboard: 18502 18503* You can now back up from the end of a game, even if gnuchess was playing 18504against you. Since gnuchess exits upon mate or draw (when it's not in force 18505mode), this feature works by starting up a new copy of gnuchess and feeding it 18506the saved starting position and moves. Drawback: the new gnuchess starts with 18507clocks at the beginning of a fresh time control. 18508 18509* Note: the "force" command to gnuchess is a toggle. I fixed a couple of 18510places in xboard where "force" was being issued when gnuchess was already in 18511force mode, which resulted in chaos. I don't know if they were in 1.2 or if I 18512added them myself in the course of putting in new features. 18513 18514* ForceMoves button is now legal in PlayFromFile mode. It closes the game file 18515and lets you force moves (or go Backward) from whatever position you've 18516reached. 18517 18518* The parser now recognizes "white resigns" and "black resigns" (in any 18519combination of upper and lower case, with or without the closing "s"). These 18520used to be misinterpreted as meaning "white wins" or "black wins" respectively! 18521Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1". 18522 18523* I removed the parser feature of considering "!" as a comment delimiter. 18524"!" is so common as an annotation in game scores that this feature seems like a 18525very bad idea. 18526 18527* Added a wait() after each successful call to kill() to avoid leaving zombie 18528processes around. 18529 18530* Removed the feature of putting an indication of how the game ended into the 18531internal move list when playing from a file. The only benefit of this was that 18532it would get written back out if you saved the game at that point. This 18533feature doesn't seem too useful, since you are unlikely to save a game you've 18534read in without making any changes, and it caused a lot of problems in the code 18535and user interface. The end condition is still displayed as a message when 18536it's first read in from the file. End conditions when playing against gnuchess 18537are still saved, too. 18538 18539* programName is now the last file name component of argv[0], not all of it. 18540 18541* xboard.c got three compiler warnings due to arguments that didn't match the 18542prototypes on X toolkit functions. I got rid of them by adding some casts, and 18543adding extra unused arguments to the ReceiveFromProgram function. 18544 18545* As I received it, the distribution had an extra period glued on the front 18546of every line that started with a period. This broke the manpage in an 18547obvious way. It also broke parser.l in a nonobvious way that stopped 18548PlayFromFile from working. 18549 18550* Fixed one or two bugs where the clock was started when it shouldn't have 18551been. I think one example was if you tried an illegal move in ForceMoves mode. 18552 18553* Now starts the machine's clock if you hit MachineWhite when white is on move 18554or MachineBlack when black is on move. 18555 18556* Now updates the to-move indicator (highlight on clock display) when you use 18557Forward/Backward or ForceMoves. 18558 18559* gnuchess 3.1+ has a bug that makes it try to think on its opponent's time 18560even when in force mode; this causes problems with xboard's SetupFromFile 18561command because gnuchess's saved hint move is garbage after the new position is 18562loaded, so gnuchess prints out an error message when it tries to think about 18563what it would do if the user made this move. Here is a patch for gnuchess 185643.1+: 18565 18566*** nondsp.c~ Mon Dec 2 12:37:18 1991 18567*-- nondsp.c Thu Dec 19 15:36:06 1991 18568*************** 18569*** 1223,1229 **** 18570 ok = flag.quit = false; 18571 player = opponent; 18572 ft = 0; 18573! if (hint > 0 && !flag.easy && Book == NULL) 18574 { 18575 fflush (stdout); 18576 time0 = time ((long *) 0); 18577*-- 1223,1229 ---- 18578 ok = flag.quit = false; 18579 player = opponent; 18580 ft = 0; 18581! if (hint > 0 && !flag.easy && Book == NULL && !flag.force) 18582 { 18583 fflush (stdout); 18584 time0 = time ((long *) 0); 18585 18586* SavePosition/SetupFromFile now handle black-to-play positions. If it's 18587black's move in a saved position, the line "black to play" is printed 18588immediately after the board display. Upon loading a position, xboard 18589looks for "black" at the beginning of this line to determine whether it's 18590black's move. 18591 18592* SetupFromFile now leaves you (effectively) in ForceMoves mode. This 18593eliminates some cases where the program would get into an inconsistent state, 18594and hopefully is more intuitive for the user, too. 18595 18596* PlayFromFile now leaves xboard in ForceMoves mode after playing through all 18597the moves in the file. You can use Backward/Forward, make moves, get gnuchess 18598to join the game with MachineWhite or MachineBlack, etc. The game file can end 18599with either white or black to play. 18600 18601* Backward/Forward now seem to work in all cases. Previously using these 18602buttons during a game against the machine would get xboard out of sync with 18603gnuchess's idea of what was going on, resulting in chaos. Now using these 18604buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the 18605game using the MachineWhite or MachineBlack buttons. 18606 18607Thu Jun 27 15:06:25 PDT 1991 18608 18609 * Remove comment popups during a reset. 18610 18611 * Bug in my forward move fix. Didn't work for playgamefile mode. 18612 18613Thu Jun 20 15:04:06 PDT 1991 18614 18615 * Can't do a backward move when it isn't your turn because gnuchess 18616 gets confused. Similar bug for forward move. Do a bunch of moves, 18617 back up move and go forward. These get filtered out now. 18618 18619 * Put easy back into the initString. This DISABLES easy mode which by 18620 default is ON. 18621 18622 * New-line wasn't always being added to forward move strings sent to gnuchess. 18623 18624 * Parsed comments as [ ..............text follows ] into d7d5 18625 18626 * Long game file comments cause core dumps on HP systems. 18627 18628 * Multiple uses of the get positition file button got confused 18629 on the second click. 18630 18631 Minor fixes to the 1.2 release 18632 18633Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991 18634 18635 * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D., 18636 Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found 18637 a lot of bugs that we put into xboard just to see if they were paying 18638 attention. They were. 18639 18640 * Changed the protocol that xboard uses to work with the new version of 18641 gnuchessr. 18642 18643 * There was an off by one error with the clock resetting code. Also, 18644 the clock display highliting was wrong. Thanks to Bill Shauck for 18645 pointing these out. 18646 18647 * enumerations are not really integers on some C compilers. I added casting. 18648 The new version of gnuchess expects the "go" command for two machine 18649 and machine plays white cases. The whiteString resource is for 18650 compatibility with previous gnuchess versions which get confused by go. 18651 Thanks to Martin D. for catching these. 18652 18653 * Fixed a bug where the checkmate message wasn't being parsed and xboard 18654 kept playing. Also, the message was added to game file if saved. 18655 Thanks to Scott Hemhill for pointing this out. 18656 18657 * Fixed a bug where saving a long game, resetting and saving a short game 18658 resulted in appending the end of the long game to the short one. 18659 If a game is just being played out and there is no reason for gnuchessr 18660 to be used, ignore pipe signals. This allows people to use xboard 18661 as a chess board without need for gnuchess. Also, trivially bad moves 18662 such as e2e2 are not passed on to gnuchessr but instead ignored out of 18663 hand. This allows people using xboard as a chessboard with gnuchessr 18664 to pick a piece up, think and put it back down without making a move. 18665 Thanks to Jeff Kenton for pointing these out. 18666 18667 * Added the CHESSDIR environment variable. Game and position files are 18668 found in this directory. If this variable is not declared, then the 18669 current directory is used. File names starting with / are treated 18670 specially. 18671 18672 * The bitmap file names were changed so that none exceeded 14 characters. 18673 This is necessary for R5. 18674 18675 fcntl(from_prog[0], F_SETFL, O_NDELAY); 18676 18677 The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr 18678 18679 printz ("Illegal move (no matching move generated)"); 18680 18681 * fixed a problem with the new version of gnuchessr where xboard wasn't 18682 getting gnuchessr error messages for illegal moves. The problem seems 18683 to be fixed *without* any gnuchess changes but this is likely to be 18684 highly system dependant. There should be a new line on line 246 of nondsp.c 18685 18686 * -iconic doesn't work at all now. The Iconify() does work. This was 18687 a tradeoff and it is really an Xt bug. 18688 18689 * Fixed a compiler warning for gcc and an error for the IBM RT compilers. 18690 This is the VOID_PROC macro in xboard.h. Thanks to David Jensen for this. 18691 18692 * If the DisplayWidth or DisplayHeight is less than 800, use small size mode. 18693 Also the size of the name widget was reduced from 500 pixels to 400 pixels 18694 because in small size mode there was a gap on the right. 18695 Changed the default font from fixed to helvetica_oblique14 to: 18696 **-helvetica-bold-r-normal--14-*-*-*-*-*-*-* 18697 helvetica_oblique14 is a font alias not on all R4 systems. 18698 Curiously enough, the 17 point is not available on 75dpi systems 18699 and the 18 point font is not available on 100dpi systems. 18700 Thanks to Richard K. Lloyd for pointing these out. 18701 18702 * Minor hacks to work with R5 alpha. Had to add an event handler to the 18703 boardWidget to get translations to work. This may go away with the real R5. 18704 Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility. 18705 18706 * If the first character of the file is not `1' then the first line 18707 of a game or position file is displayed as the name in a label widget. 18708 18709 * Added a PopUp dialog for getting file names. 18710 18711 * Modified the code to use the R4 routines rather than R3 compatibility. 18712 18713 * Changed the forwards/backwards/readgamefile code to allow a play to step 18714 back and forth in a game. If he steps all the way to the beginning 18715 he has to restart the game. If he gets into a mated position, same problem. 18716 18717 * Moved the man page from xboard.1 to xboard.man. This makes imake man page 18718 installs work correctly. Thanks to Richard K. Lloyd for pointing this out. 18719 18720 * Corrected the queening code. XBoard was sending the wrong syntax. 18721 It was sending for example h8(Q) when it should have been sending h8q. 18722 Thanks to Paul Vaughan and Mike McGann for pointing this out. 18723 18724 * Added a lex parser for algebraic games. It should be easy to use the parser 18725 for other interfaces such as the Microsoft Windows version. 18726 It parses comments of the form [anything] and ! to the end of a line. 18727 18728Version 1.1 -- Mon Jan 7 14:46:03 PST 1991 18729 18730 * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht, 18731 Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during 18732 beta-testing. 18733 18734 * older non-ANSI versions of Sun compilers complain vociferously. 18735 18736 * the remoteShell resource was added for HP-UX systems 18737 and other systems where the remoteShell isn't rsh. 18738 18739 * -iconic doesn't work properly. If XBoard is opened iconic then 18740 iconifying it later with a keystroke doesn't work. I think 18741 this is an Xt bug. 18742 18743 * For systems with smaller screens, XBoard can use smaller pieces, 18744 and a smaller board. -bigSizeMode False uses a smaller set of pieces. 18745 These are scaled versions of the large pieces. They look ok but could 18746 be improved. 18747 18748 * getlogin() does not work in all cases. 18749 It was replaced by getpwuid(getuid())->pw_name). 18750 18751 * Warning messages get displayed in the message box. 18752 18753 * Any button restarts a paused game. 18754 18755 * Kayvan Sylvan contributed a patch for ESIX. 18756 It seems that select() on pipes is broken on his system. We declined 18757 to incorporate his patch though, because it was a work-around for 18758 something that was broken on one system, and selfishly, that system 18759 was not my own. Nevertheless, it is likely that other System V users 18760 on PC's may need to use this patch and it is is included as the file 18761 ESIX.patch. To use it, type 18762 18763 patch xboard.c ESIX.patch 18764 18765 * Fixed a bug where hint didn't work. The local version of gnuchessr 18766 had been hacked. The fix was to clone stderr and stdout for gnuchessr. 18767 18768 * Fixed a bug where a player could play after a game had been finished. 18769 18770 * The bitmaps have been pushed into the bitmaps directory. 18771 18772 * Substantially rewrote and simplified the Two Machine code. 18773 18774 * Added StrStr() because many systems don't have this ANSI function. 18775 18776 * Added keyboard equivalents. Added an iconify keystroke, C or c. 18777 18778 * Works with gcc now. gcc complained about casting float constants 18779 as XtPointers. 18780 18781 * Detect if the visual doesn't support color. If so, run in monoMode. 18782 An alternative would be to detect grayscale visual and use a collection 18783 of gray user interface colors. 18784 18785 XBoard.clockMode: False 18786 18787 * For people who don't like or use chess clocks a clockMode switch 18788 has been added. It is on by default. It can be turned off in the 18789 .Xdefaults file with 18790 18791 * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics. 18792 18793 * Hal Peterson contributed a new Imakefile. 18794 18795 * Rewrote DisplayClocks(). 18796 18797 * Rewrote TwoMachinesPlay mode. 18798 18799 * Konstantinos Konstantinides added the -searchTime option. 18800 18801 * Substantially rewrote and simplified the clock code. If a game was paused 18802 and then resumed, the clocks were out of sync. 18803 18804 * Fixed a bug in HandleUserMove() where the user could make a move while the 18805 machine was thinking. The fix detects and ignores these moves. onMove 18806 was not being used and was removed. 18807