1 ChangeLog for XBoard/WinBoard
2 -----------------------------
4 (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
6 2016-05-15 10:05:40 -0700 Arun Persaud <arun@nubati.net>:
9 2016-05-15 10:03:04 -0700 Arun Persaud <arun@nubati.net>:
10 new version number for release 4.9.0
12 2016-05-12 15:49:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
13 Forgotten header for previous patch
15 2016-05-10 21:52:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
16 Abbreviate DATADIR to ~~ while saving XB themes
18 The path name of theme files is typically quite long in XBoard, where
19 installed data is very deep in the file-system tree. This path is now
20 recognized, and replacend by its abbreviation ~~ when storing a theme
21 in the -themeNames option.
23 2016-05-10 20:46:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
24 Fix crash on too-long theme definitions
26 Long file names for texture and pieces could make theme definitions
27 so long as to overflow the buffers used to hold them. The buffer
30 2016-05-10 20:29:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
31 Fix debris after click-click explosion near board edge
33 The redrawn grid was not exposed for board edges a knight's jump
34 away from an explosion square after a click-click capture in variant
35 atomic. This was due to the smartness in preventing overlapping
36 exposures of neighboring square, deferring the task to expose the grid
37 to squares that were beyond the edge. Now all squares in the explosion
38 range are exposed including grid.
40 2016-05-10 20:26:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
41 Fix highlights clearing when highlight last move off
43 When moves are not highlighted, the selected piece still is. But
44 this highlight should be erased after the move.
46 2016-05-10 19:42:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
47 Fix redrawing of pieces dragged off board (bug #47888)
49 The board was not redrawn after a piece was dragged off board,
50 leaving the piece 'invisibly' in its original position, and also
51 leaving the target squares marked.
53 2016-05-09 07:36:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
54 Describe new Edit menu items in texi file
57 2016-05-09 07:08:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
58 Add Mute all Sounds menu XB
60 XBoard now also has a menu item to mute all sounds (except the Play
61 button in the Sounds dialog) at the topof the Options menu, like WinBoard.
63 2016-05-08 20:04:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
64 Describe use of blue highlights in protocol specs
66 The function of 'blue' markers, and the role of the 'choice' command
67 in this is explained in the CECP specs.
69 2016-05-08 19:35:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
70 Fix forgetting 'choice' command after promotion
72 The promotion restriction specified by a 'choice' command is now reset
73 at the start of every new move, so that future promotion moves won't
74 use it too. In addition,the 'choice' command is ignored when legality
77 2016-05-08 14:39:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
78 Fix description of Tournament Options in texi file
80 Some headers were not exactly equal to the dialog texts because of typos,
81 frustrating the help clicks. And matchPause was not described at all.
83 2016-05-07 23:33:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
84 Fix multi-leg promotions
86 Two-leg promotions were sent as gibberish to the engine (and thus
87 rejected). It was also pretty annoying that XBoard's own idea of
88 what should be promotions was still applied even when highlighting
89 denied promotions (because the zone was different than assumed, or
90 a promotion-on-entry rule applies). Now the legality markers from
91 the GUI move generator are different from the red and yellow markers
92 from an engine highlight command, and the latter are taken as a denial
93 of promotion, and will suppress it.
95 2016-05-07 22:10:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
96 Erase markers before processing highlight FEN
98 Markers from the Betza generator were only half-heartedly erased when
99 a color-FEN camein through a highlight command, because FENs tend to
100 skip empty squares in stretches. This was already fixed for the legal[][]
101 array, but now it is fixed for the markers itself as well.
103 2016-05-07 12:13:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
104 Fix saving of piece colors as part of theme
106 The wrong condition was used for deciding of whether the piece-color
107 settings were relevant for a theme definition.
109 2016-05-07 12:06:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
110 Allow engine to force user to make non-standard promotion
112 The engine can now force an unexpected promotion on moves entered
113 by the user, by marking the to-square of such a move in blue.
114 Releasing a piece on such a blue square will then defer further
115 processing of the move (after having send the 'put' command to the
116 engine) until reception of a 'choice' command to specify what the
117 piece should promote to. This solves problems in Maka Dai Dai Shogi,
118 where a piece capturing a contageous piece would only be allowed to
119 promote to its normal promoted form if the to-square was marked in
120 purple (offering a P / +P toggle).
122 2016-05-06 07:42:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
125 The option -trueColors is now saved with the theme settings when a
126 pieceImageDirectory was given in XBoard, and the piece colors are
127 saved when this option is off even with a piece directory. The square
128 colors are now also saved when useBooardTextures is on, but the textures
129 are transparent. For this the transparency also had to be made visible in
130 the WinBoard front end, (by moving the flags for it to backend.c), but
131 always stay at the default 0 there.
133 2016-05-04 15:18:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
134 Fix deferral on sweep promotions
136 When a sweep in the to-square due to a highlight-induced promotion
137 had left the original piece as choice, the piece would be considered
138 to promote to itself (i.e. the move would get the promoChar for its
139 piece type), rather than to not promote at all. Some engines choked
140 on this (HaChu). Now such a move is not considered a promotion.
142 2016-05-01 21:41:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
143 Implement -showMoveTime option
145 A persistent option -showMoveTime can cause the time thought so far
146 on the current move to be displayed in the clock field, behind the
147 time left on the clock, in parentheses.
149 2016-04-29 16:16:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
150 Prevent crash on help-click for engine without manual
152 The error message of "man w xxx" when no man entry for xxx exists
153 appears on stderr, which is not caught by popen(). As a result the
154 path to the man file gets set to an empty string, and saveStrCpy
155 is not so save that it can copy an empty string, but quits XBoard
156 through an ASSERT in that case.
158 2016-04-28 14:36:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
159 Allow engine to specify holdings larger than board height
161 On reception of a 'setup' command we now automatically increase the
162 number of board ranks to the holdings size if the latter is larger,
163 but remember the number of added 'dead ranks'. When parsing a FEN these
164 ranks are blacked out, and on generating a FEN they are ignored. This
165 makes FENs behave like the board was not enlarged.
167 2016-04-28 13:24:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
168 Implement two-kanji -inscriptions
170 When the -inscriptions option specifies a UTF8 string that starts with
171 the character '2', it will assume the symbols that follow have to be
172 drawn on the pieces in (vertically stacked) pairs of somewhat smaller
173 size than it would use for single-character inscriptions. An optional
174 '1' at the start of the string could be used as an escape to be used
175 when the first character we want to inscribe would be a '2'.
177 2016-04-27 22:22:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
178 Prevent sending empty line to engine after multi-leg move
180 As the pmoves are stored internally with a linefeed suffixed to them,
181 this linefeed was mistaken for a promotion character in the multi-leg
182 printing formats, and led to an extra empty line being sent to the
183 engine on non-promotion multi-leg moves. Now a linefeed is replaced
184 by a null character before sending the move.
186 2016-04-27 20:34:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
187 Fix piece commands for promoted pieces
189 The flexible partner assignment had broken the code for 'piece'
190 commands defining the moves for these pieces, as the promotion
191 partner was still calculated the old way.
193 2016-04-25 18:31:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
194 Fix dragged piece during promotion popup
196 When dragging to a promotion square, the piece would keep 'hanging'
197 in the release position while the promotion popup was shown.
198 (This usually covered it, but not always.) As after a choice is made
199 the move will be animated, it was more logical to put it back on the
202 2016-04-24 22:34:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
203 Add option -pgnTimeLeft to print clocks in extended PGN info
205 When set a persistent option -pgnTimeLeft makes XBoard save the time
206 left after the move in the score/depth comments, rather than the time
207 thought about the move. A leading sign will allow the reader to
208 distinguish the two. The time is always printed in integer seconds.
210 2016-04-24 21:10:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
211 Fix EOF detection in PGN parser
213 The result of fgetc was stored in a (char) before comparing it with EOF,
214 which fails badly if the char is not signed.
216 2016-04-24 20:53:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
217 Alter piece images in Spartan Chess
219 The Captain of Spartain Chess is now represented by the new Tower piece,
220 so that the Crowned Rook pictogram can be (and is) used for the General,
221 for better uniformity with other variants.
223 2016-04-24 20:30:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
224 Regularize Chu-Shogi piece assignment
226 The pieces in Chu Shogi have been reassigned to other internal codes,
227 so that juggling of images in variant cu is no longer needed. This
228 became possible by the flexible assignment of promotion partners.
229 It makes it easier to use Chu Shogi as parent variant without having
230 to worry about a non-stadard meaning of the -pieceToCharTable.
231 The built-in move generator had to be changed to work for the new
234 2016-04-24 14:00:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
235 Allow group specification in ArgInstall options
237 The option that add a line to the existing multi-line options
238 (e.g. -installTheme which adds to -themeNames) now can specify the
239 line should be added within a group, by prefixing the line with
240 "# GROUPNAME\n" (where \ and n separate characters). If a group of
241 that name already exists, the line to add is insert immediately after
242 the group header line. If not, the group is created, by adding both the
243 group header line and the line to add, as well as an "# end" line to
246 2016-04-24 12:30:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
247 Save programStartTime in settings file rather than save time
249 The -saveDate time stamp is used to decide whether XBoard has seen
250 options added to the master settings file before. But it looks only
251 to the master settings file at stratup. So when we save settings we
252 now put XBoards startup time as -saveDte in it, so that installs
253 when XBoard was already running would still find their way into the
256 2016-04-22 11:37:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
257 Also supply shortcut for start directory in GTK file chooser
259 The first shortcut entry in the Places list is now created for the
260 directory in which XBoard started (which is $CHESSDIR if that was set).
261 This is suppressed if it would be a user home directory, as this would
262 already be in the list by default.
264 2016-04-22 09:33:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
265 Fix rounding when sizing 1x1 textures
267 When 1x1 textures were sized to the actual square size, this could lead
268 to bitmaps that were 1 pixel too small, presumably because of rounding.
269 We now add 0.99 pixel to the desired size of the texture image before
270 calculating the scaling factor (in floating arithmetic) that has to be
271 passed to the cairo scaling routine, and this seems to solve the problem.
273 2016-04-21 23:11:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
274 Limit prefilling with color to textures with alpha channel
276 When loading and preparing a texture we now test the format, and if
277 the image has an alpha channel we stay on the save side, and always
278 color the squares before drawing the texture. Only when the format
279 is not ARGB32 we skip the color fill. (And the default textures
280 do not have an alpha channel, so at least there no time will be
281 wasted on pointless color fills.)
283 2016-04-21 22:47:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
284 Fix confinement of Advisor in Xiangqi
286 Ever since the move-generator rewrite the Advisor could leave the Palace!
287 Now it can only move in XQ as a normal Ferz when on the board axis, and
288 everywhere els it can only move to the axis one square from the edge.
289 This does not generalize in a natural way to larger boards or larger
292 2016-04-21 22:14:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
293 Allow transparency in board textures
295 Rather than coloring the square evenly OR rendering a board texture
296 cutout we now always do both. Drawing the color will then erase anything
297 that was on the square before, which is expected behavior, and will then
298 remain visible where the texture is transparent. Before any transparency
299 in the texture would leave the old square content (pieces, arrows,
302 2016-04-21 19:09:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
303 Make EditTags dialog non-wrapping
305 As the data edited with this dialog (PGN tags, engine list, theme list,
306 book moves, ICS menu definition) is always tabular, wrapping the lines
307 is just confusing, and it is better to have an automatic hscroll in case
308 the lines are too long to fit.
310 2016-04-21 19:02:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
311 Make preview message in file-chooser title bar a bit clearer
314 2016-04-21 13:51:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
315 Allow skipping to secondary series in -inscriptions string
317 A slash in the UTF8 string of the -inscriptions option now will start
318 the inscriptions of the pieces from the secondary series. This allows
319 writing -incription values that will remain valid wehen new pieces would
320 be added to the end of the primary series.
322 2016-04-21 11:44:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
323 Commit forgotten prototype
326 2016-04-21 10:03:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
327 Add menu item for editing ICS text menu
329 An item Edit ICS Menu was added in the View menu, and will pop up
330 the Edit Tags dialog for editing the -icsMenu option that determines
331 how the ICS Text Menu will look.
333 2016-04-21 09:26:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
334 Add Edit Themes List menu item XB
336 The Edit Tags dialog is now also used for editing the -themeName list,
337 with a menu item in the View menu to pop it up.
339 2016-04-20 23:56:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
340 Make preview resistent to nothing being selected
342 The name of the selected file could be a null pointer, and ScaleOnePiece
343 does not like that for a pieceImageDirectory.
345 2016-04-20 14:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
346 Add option -jewelled to decide which King is a Zebra XB
348 A new volatile option -jewelled is added, with default value -1.
349 When it is set to 0 the King image will be replaced by the Zebra image,
350 when it is 1 the same thing will happen to the black King. This color
351 testing will be done before the swapping of colors ordered by -flipBlack,
352 so that the color rather than the side of the (possibly flipped) board
353 decides which King is displayed as Zebra. (While the board side determines
354 whether a white or black Zebra will then be used in -flibBlack mode).
355 Shogi themes can use this by providing a Jewelled General as Zebra (a piece
356 that was not used in any Shogi variant).
358 2016-04-20 11:51:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
359 Point out preview in title of file chooser GTK
362 2016-04-20 11:31:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
363 Fix sizing problem in i3wm tiling window manager GTK
365 Apparently i3wm creates a window of different size than the requested one
366 without sending a configure-event that would allow XBoard to adapt its
367 board size. This is now fixed by triggering a first configure-event by
368 hand. The first resize had to no longer be suppressed to make this work.
369 (This was not needed anymore anyway, as the board size is now protected
370 during clock resize.) The -fixedSize option had also to be fixed.
372 2016-04-19 20:49:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
373 Let file chooser show preview of textures on board
375 When browsing for a board texture or piece theme, selecting a file in
376 the browser will now cause immediate display of the board with that
377 texture or theme, which will revert if you cancel the choice. Or when
378 you accept the choice, but cancel the Board dialog.
380 2016-04-20 23:49:26 -0400 Joshua Pettus <jshpettus@gmail.com>:
381 Renamed shogi jewled pieces to zebra
384 2016-04-20 16:51:49 -0400 Joshua Pettus <jshpettus@gmail.com>:
385 Update ru.po translation
388 2016-04-17 10:16:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
389 Provide item-by-item description of ICS Chat in texi file
392 2016-04-17 10:13:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
393 Provide help clicks on recently-used-engines menu items
395 The items for recently used engines in the Engine menu are now recognized
396 as such, and will look for help on "Recently Used Engines" rather than
397 on the item text (which is the engine name).
399 2016-04-17 10:05:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
400 Use missing SVG from parent if -pid name starts with sub_
402 If the current piece-image directory's name starts with "sub_", any
403 pieces not found in it will be searched in the parent directory.
404 This allows variants that need just a few pieces of a theme changed
405 to get their own sub_xxx sub-directory within the directory with SVG
406 images, containing the deviating SVGs. This will work recursively.
408 2016-04-17 09:32:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
409 Fix one-click moving with engine-define and wild-card pieces
411 In the disambiguation routine wild-card pieces were still treated as
412 special even when explicit moves were defined for them. In addition,
413 Disambiguate would try native XBoard piece motion for resolving ambiguous
414 moves, which is sensible for parsing SAN (which might be saved by an old
415 version of XBoard), but wrecks one-click moving.
417 2016-04-11 20:44:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
418 Improve resize/co-dragging GTK
420 The reconfigure event of the main board is not processed directly,
421 but sets a timeout to call the actual handler, which will be restarted
422 when new reconfigure events occur during the timeout period. This makes
423 that the (very timeconsuming) redrawing and moving of all windows
424 will only be done if the stream of events dries up.
425 Unfortunately the ReSize routine called as part of the handling needs
426 to be interruptable, which can cause recursive calling of the reconfigure
427 handler. A variable 'busy' would ignore such recursion, but at the price
428 of missing the interrupting event completely. The attempted fix to set
429 a new timeout was flawed, as delayedDragTag would not have been cleared
430 at that point. So we threw it out. Now 'busy' is a counter, which will
431 remember if there were ignored recursion attempts, and then makes these
432 into a harmless tail recursion, to do the resize/drag once more, based
433 on the latest window parameters.
435 2016-04-10 19:42:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
436 Fix size collapse to 0 after too-small sizing
438 The test for the end of the sizeDefaults list was one off, so that
439 a too-small size request would be rounded to a size just behind
440 the table, where there is an all-zero sentinel element.
442 2016-04-09 23:40:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
443 Also put themes and textures in file chooser GTK
445 The themes and textures folders are now also directly listed amongst
446 the 'Places' shortcuts in the GTK file chooser.
448 2016-04-09 22:47:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
449 Add DATADIR as shortcut folder to file chooser
451 The file chooser invoked by a dialog Browse button now puts XBoard's
452 DATADIR amongst the shortcuts in the 'Places' list, so you can navigate
453 there with a single mouse click.
455 2016-04-09 20:12:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
456 Fix browsing for folders, and allow starting in DATADIR
458 The previous path seemed to cause a segfault when browsing for a folder
459 with an empty text-edit. In addition there existed a bug for browsing
460 from the Engine Settings dialog, where the value of the option was taken
461 as a filter. Both are fixed now.
462 The Option.textValue field, which for FileName Options holds the filter,
463 for PatName Options could be NULL or "". The latter is now taken to
464 mean that browsing should start in DATADIR, and is only used when
465 browsing for sound files or pieceImageDir with empty pathname field.
467 2016-04-09 17:29:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
468 Start button-activated browse near old field contents GTK
470 The file chooser activated by Browse buttons for filling a File or Path
471 text edit started in the last directory it visited for that file type.
472 But for the initial browse after startup it started in the current
473 directory. Now it starts in the directory derived from the filaname
474 currently in the text edit, if there is one, and only in the last-
475 visited directory for the file type if the text-edit was empty.
477 2016-04-09 16:30:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
478 Extend full-board textures by periodic tiling (XB)
480 Texture images with an -NxM suffix to their name are scaled to match
481 that number of squares before cutting squares out of them. But if the
482 actual board was larger than NxM the remaining squares fell outside the
483 image and remained white. Now the cutting area is mapped back into
484 the image, effectively behaving as if it is periodically tiling the
487 2016-04-07 22:14:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
488 Mention support for Arena960 protocol with USI/UCCI checkbox WB
490 Normally the -uxiAdapter option would be configured to use UCI2WB,
491 and in the binary distribution of WinBoard it certainly will be.
492 As UCI2WB now supports the UCI dialect Arena uses to play Chess960,
493 people can use the USI/UCCI checkbox also for Chess960 engines that
494 use that protocol, and the checkbox label now points that out.
496 2016-04-07 19:34:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
497 Finish castling and e.p. rights for Edit Position
499 In stead of faking rights based on corner positioning of Rooks and
500 e-file King, EditPositionDone now interprets the rightsBoard that
501 recorded 'promotion clicks' on King, Rooks or Pawns to toggle their
502 rights. This rightsBoard is initialized from the castling rights in
503 the position that is being edited, and the clear and piece-pallette
504 boards now also set these castling rights correctly.
506 2016-04-06 18:22:46 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
507 Describe Common Engine dialog item-by-item in texi file
509 This had not been done yet, so that help clicks in the dialog did
510 not retrieve any help.
512 2016-04-06 16:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
513 Fix history/eng.out font setting on sizing and other bug
515 The coord font was set with the historyFont value, and when a valid
516 font was taken from the fontTable, fontIsSet was not set.
518 2016-04-06 16:08:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
519 Apply fonts in 'other windows' after sizing
522 2016-04-06 15:45:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
523 Store fonts changed by font dialog in fonts table
525 The fonts table holds fonts per type and size that should be saved
526 in the settings file because they were either read from it, or explicitly
527 specified by the user on the command line. This now also holds for
528 fonts altered through the Fonts dialog, without waiting for the saving
529 of settings, because by that time the boardSize might already be different.
531 2016-04-06 14:38:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
532 Only save fonts that are not defaults
534 When the font in use is a (size-adapted) default, we don't save
535 it in the settings file.
537 2016-04-06 14:25:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
538 Conditionally replace 'other-window' fonts on sizing
540 Fonts not used in the main window (i.e. other than clock, coord and
541 message) are now also adjusted on sizing, but not when this would
542 mean replacing an explicitly specified font by a default one.
543 If we size to a boardSize for which a font was specified earlier,
544 we always switch to the latter, and if we were merely using the
545 default font for the old size we switch to the default font for
546 the new size rather than keeping it.
548 2016-04-06 14:08:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
549 Reset fontIsSet when sizing causes change to default font
551 The array fontIsSet now tracks whether the fonts in actual use are
552 from a (possibly size-adapted) default, or were specified by an option
553 (also through a fontIsValid entry in the fontsTable) or the Fonts dialog.
554 For changing a font on sizing a subroutine is now used.
556 2016-04-06 14:08:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
560 2016-04-06 13:03:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
561 Lock board size when clock changes to two lines
563 First writing in the clock widget will usually increase its height
564 because the clock font is bigger than default. And for two-line
565 clocks as used with logos this will even be more pronounced. This
566 did cause the extra size to be taken from the board, ending up with
567 a smaller square size than originally requested. Which again would
568 cause any font changes to be saved as belonging to that smaller board
569 size. So starting next time with the originally requested size (as
570 opposed to the saved board size) would then not use those fonts!
571 The board size is now locked during the first write to the clocks,
572 or writes that change the number of lines.
574 2016-04-06 12:13:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
575 Fix Bold button and application of commentFont
577 Oops! The B button in the Fonts dialog had disappeared with the
578 suppression of the B(lue) button in the Board dialog! The comment
579 font was applied to the wrong widget in the Edit Comment dialog.
581 2016-04-06 11:56:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
582 Only adjust fonts that are actually changed
584 OK-ing the Fonts dialog now checks which fonts have been changed,
585 and only applies those to the widgets that use them. In addition it
586 sets a flag to indicate that the changed font no longer is a default.
587 A bug that did not apply the gameListFont for preview is now also
590 2016-04-06 10:49:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
591 Put fonts in font table in allocated memory after sizing
593 To make it possible to change the font later it should always be
594 put in allocated memory.
596 2016-04-06 09:38:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
597 Fix explosion of clocks for large board size GTK
599 When packing things in a hbox for getting them on the same row,
600 the hbox was made vertically expandable when the height of the first
601 element was requested > 80 (assuming it would be a text memo). At
602 square sizes > 81 the logos would require a height > 80, though,
603 and would be the first element on the logo + clocks row. This would
604 make them expandable, so that the window height would be equally divided
605 between board and logos (which again would leave preciously little for
606 the board). Now the expandability is reserved for TextBox Options only.
608 2016-04-05 23:40:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
609 Suppress menubar text clipping on resize in OSX App
611 The menu bar is not in the window in OSX, so the menu texts should
612 always remain full length.
614 2016-04-05 22:07:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
615 Fix clipping of menu texts after sizing
617 When tinyLayout = 0 the texts should not be clipped at all, rather
618 than to a single letter.
620 2016-04-05 21:05:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
621 Enlarge background of startup message
623 Because of rounding of the character size the message width exceeded
624 the background for some square sizes.
626 2016-04-05 20:23:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
627 Adapt clock and message font after board-window sizing
629 The clock and message font are now adapted to the new -boardSize value
630 determined after sizing of the board window. When a valid font for the
631 new size was already available (e.g. read from the settings file), it
632 uses that. If not it uses the hard-coded default font name. In both
633 cases a %d in the name is expanded based on the size-table indication
634 for that font. This makes the clock font adpat even without prior history.
636 2016-04-05 20:19:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
637 Prevent message text widening window GTK
639 Removing the size request from the label widget of the message field
640 made the width of this field grow with the text displayed in it, and
641 with it the entire board window. This could be prevented by setting
642 an ellipsize mode for it.
644 2016-04-05 18:52:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
645 Pick -boardSize on window width rather than square size
647 For boards with other than 8 files the squares will be scaled different
648 from what the sizeDefaults say, so that the font and menu clipping
649 determined by the latter will match the total board width. We now pick
650 the boardSize after sizing such that popup with an 8-wide board next time
651 would reproduce the board width.
653 2016-04-05 18:40:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
654 Adjust menu-text clipping to square size
656 After window sizing has adjusted the square size the text on the menu
657 bar are now clipped to a length that would make the menu bar not exceed
658 the width of the board, similar to what is done at startup.
660 2016-04-05 16:49:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
661 Make user-adjusted board size quasi-persistent (GTK)
663 After adjusting the board-window size the newly calculated square size
664 will be used to derive a new -boardSize for saving in the settings file,
665 by rounding it down to the nearest standard size. (But the size actually
666 used for display will not be rounded!) This will cause the board to pop
667 up with approximately the same size next time. The remembered initial
668 square size will also be adapted to the rounded value, so that the fonts
669 will start to apply to the new -boardSize as well on saving settings.
670 This will only be done if the old -boardSize value did not contain
671 commas (meaning it specified more than just square size).
673 2016-04-05 16:36:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
674 Unlock width requests in board window GTK
676 The message field and clocks had a specified width to force them as
677 wide as the board irrespective of their text content. This prevented
678 the user to size the board window below the initial width. The size
679 requests are now removes after initial pop up, as they already were
680 for Graph widgets. This means the width of the window can now be
681 decreased, although we quickly run into the point where the texts
682 on clock or menu bar prevent further shrinking. (Which could only
683 be prevented by clipping the menu texts more, or decreasing the clock
686 2016-04-05 14:32:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
687 Adjust window height after clock-font change
689 A routine LockBoardSize are added, and called to protect the board's
690 Graph widget from absorbing the height change pf clock and message field.
691 Enlarging these now forces the top-level window to expand, and after the
692 change we try to reduce this window size to tightly fit the board to
693 squeeze out empty area after shrinking.
695 2016-04-04 12:04:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
696 Fix help clicks in Engine Settings dialogs
698 A previous patch had broken recognition of the .IX Item "..." lines.
700 2016-04-04 12:00:57 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
701 Ignore stderr when reading from man command
703 BufferCommandOutput was using StartChildProcess also used for engines,
704 which combines the output from stdout and stderr on the pipe. On FreeBSD
705 "man -w" produces spurious error messages, however, which would append
706 to the path of the man file. To work around this we now use popen()
707 to collect the output of the man command during help clicks.
709 2016-04-04 10:53:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
710 Silence Clang warnings
712 The assignment of the variant number to appData.variant was a real bug.
713 The signedness of EP_STATUS looked like one, but seemed to work in practice.
715 2016-04-13 14:22:35 -0400 Joshua Pettus <jshpettus@gmail.com>:
716 Update nl.po Translation
719 2016-04-10 08:32:47 -0400 Joshua Pettus <jshpettus@gmail.com>:
720 Update es.po translation
723 2016-04-06 17:29:37 -0400 Joshua Pettus <jshpettus@gmail.com>:
724 Update de.po translation
727 2016-04-05 23:59:50 -0400 Joshua Pettus <jshpettus@gmail.com>:
728 Update fr.po translation
731 2016-04-05 15:11:25 -0400 Joshua Pettus <jshpettus@gmail.com>:
732 Update zh_CN.po translation
735 2016-04-04 13:41:23 -0400 Joshua Pettus <jshpettus@gmail.com>:
736 Update uk.po translation
739 2016-04-03 13:55:34 -0700 Arun Persaud <arun@nubati.net>:
740 new developer release; updated po/pot
743 2016-04-03 21:25:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
744 Start implementing rights control in Edit Position mode
746 Clicking on an already selected Rook or King will toggle its virginity,
747 displaying the new state in the message field.
749 2016-04-03 16:28:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
750 Fix erroneous use of @itemx
752 The offending @itemx directives were changed to @item. This does mean
753 an unwanted empty line will appear above the corresponding headers.
755 2016-04-03 10:23:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
756 Save font settings based on initial square size
758 Font settings were saved by the square size as it was at the time of
759 saving, which could have been altered compared to the reading of the
760 fonts from the settings file by interactive sizing of the window, or
761 by switching to a variant with other board dimensions. Now the initial
762 square size is remembered and used for this.
763 BEWARE: we might want to undo this when window sizing would affect font
764 selection, rather than just sizing the board.
766 2016-04-02 19:12:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
767 Let color-pickers start at current color
770 2016-04-01 22:01:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
771 Use GTK color picker instead of R, G, B and D buttons
773 By an awful hack in the generic dialog constructor ever Button Option
774 with the name R, G or B is now completely ignored, while Buttons with
775 name D will be replaced by GtkColorButtons. Instead of catching the
776 "clicked" signal these will respond to the "color-set" signal, invoking
777 a handler private to the GTK front end, which will set the color text
778 and colorof the reset button as the platform-independent handler of the
779 RGBD buttons would normally have done.
780 Unfortunately this had to use deprecated GTK2 stuff, as the recommended
781 GTK3 equivalents are not understood on Ubuntu 10.04.
783 2016-04-01 16:34:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
784 Use the official GTK font selector
786 A gtk_font_button is now put in the Fonts dialog to allow selection
787 of a general font. The individual window fonts got a button marked *
788 to assign this font to them. To implement the selector button some
789 kludgy code had to be added in the generic dialog constructor, to
790 recognize these Button Options by name, and use the special GTK
791 widget to implement them, or assign an unusual callback.
793 2016-04-01 11:13:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
794 Describe Fonts dialog in texi file
797 2016-04-01 10:30:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
798 Silence warning due to missing prototype
801 2016-04-01 10:28:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
802 Fix translation of dialog texts GTK
804 When using the Option names during the creation of GTK widgets,
805 the gettext macro _() was not applied to them, so they remained
806 untranslated even though they were marked with N_() in the Option
809 2016-04-01 10:19:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
810 Fix Xaw for font damage
812 A dummy for ApplyFont is added in the Xaw front end to allow compiling it,
813 and the Fonts dialog refuses to pop up when it recognizes an X-font setting
814 for the message font, with an apology.
816 2016-04-01 10:08:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
820 2016-04-01 09:50:46 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
821 Replace coord font control for ICS font control
823 In the Fonts the control to set the coord font is removed, as the Cairo
824 version currently ignores the -coordFont setting. Instead a control to
825 set the font in the ICS Console is added. As the fonts there are controlled
826 by tags, and would ignoe the global font setting of the widget, the font
827 tag is redefined through a kludgy call of AppendColorized with a NULL
828 string as text. This is now interpreted as a signalfor recreating the font
829 tag based on the current icsFont, which will then only be applied to
832 2016-04-01 09:13:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
833 Let font entries show preview of their own setting
835 The font settings are now applied to the text entries in the Fonts dialog
836 that control them, at popup of the dialog as well as when changing them
839 2016-04-01 00:46:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
842 A dialog is added to set the various window fonts, either by typing or by
843 operating buttons for Bold, Italic, or adjusting the point size.
845 2016-03-29 21:23:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
846 Add headers for <<, <, > and >> buttons in texi file
849 2016-03-29 21:20:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
852 The help search was ignoring the last character of the searched string.
853 Which almost neven mattered, except when the searched string was only
854 1 or 2 characters, like for the buttons in the button bar.
856 2016-03-29 20:20:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
857 Fix disambiguation for one-click moving
859 The test in the DisambiguateCallback to ignore duplicate moves (as
860 sometimes generated by Betza descriptions) was only testing for the
861 same from square. This is good enugh if the to-square is always given
862 (as in SAN), so that moves with different to-square would always be
863 rejected anyway. But to determine if a piece has only a single move
864 we disambiguate with unknown to-square. So all moves but the first
865 of a piece would be ignored, making it always pass the only-move test.
866 We now test both from- and to-square, and only ignore moves that
867 have both of these equal to that of an already matching move.
869 2016-03-29 16:33:30 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
870 Fix exposing of premove highlight and move exclusion XB
872 Now that drawHighlights does not trigger an expose event itself, it is
873 essiential that DrawPosition is called after every SetPremoveHighlight()
874 call. But it wasn't after entering a premove, and after a drag-drop move
875 exclusion the old position was not redrawn at all, leaving the dragged
878 2016-03-29 16:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
879 Fix erasing of premove highlights XB
881 The to-square premove highlight was not marked for erasure (but
882 the from-square was marked twice if the to-square higlight changed),
883 leading to accumulation of highlighted squares during PV walking.
885 2016-03-28 22:31:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
886 Describe New Shuffle dialog item by item in texi file
889 2016-03-28 22:24:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
890 Fix New Shuffle Game dialog
892 The insertion of the Fischer-castling option had broken the operation
893 of the 'randomize' and 'pick fixed' buttons.
895 2016-03-28 21:56:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
896 Describe -epd option in texi file
899 2016-03-28 21:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
900 Describe divide-by-60 option of TC dialog in texi file
903 2016-03-28 21:37:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
904 Suppress participation of second engine in EPD mode
906 Starting the second engine, and initializng it for the next game in
907 TwoMachineEvent() is now suppressed in EPD mode, so that the latter
908 even works with a non-existent second engine.
910 2016-03-28 09:56:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
911 Also copy -sd from -fd when no second engine defined
913 If the second engine defaults to the first, and the first needs to
914 be run in a specific directory, the second engine would not start
915 if we do not copy its directory too.
917 2016-03-27 18:17:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
918 Only let second engine default to first when of same type
920 When the first engine is UCI, making the second engine equal to the
921 first without setting the corresponding protocol flag, is a certain
922 recipe for causing trouble. So copy the flag too.
924 2016-03-27 17:27:30 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
927 The individual positions now get "time: move" printed when solved,
928 and "move?" or "move???" when not solved (the latter when it was an
929 avoid move). The total time is now reported also, at the end.
931 2016-03-27 13:21:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
932 Clear total solving time at start of match
934 When multiple EPD suites are launched interactively, the time should be
935 calculated separately for each of them.
937 2016-03-27 12:59:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
938 Allow a list of best moves in EPD
940 All characters upto a semicolon (rather than space) are now read as bestMove
941 string. For checking the correctness of a solution all moves in this string
942 are parsed and compared.
944 2016-03-27 12:02:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
945 Internationalize EPD messages
948 2016-03-27 11:58:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
949 Print average solving time of EPD suite
951 The number of good solutions and average thinking time on them are
952 now printed in the 2nd engine-output pane.
954 2016-03-27 11:22:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
955 Fix determination of EPD solving time
957 Repeating an already found solution would increase the solving time
958 like the repetition was the first good solution.
960 2016-03-26 23:35:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
963 The -epd option now causes color assignment such that the first engine
964 plays all moves. Extraction of the bm field from the EPD is fixed,
965 and clearing of the second engine-output pane is suppressed.
967 2016-03-24 23:46:01 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
968 Add -analysisBell option to use move sound in analysis mode
970 The persistent integer option -analysisBell can be used to let the
971 move sound play in analysis mode for every PV that arrives after the
972 dely (in seconds) it specifies has elapsed since the current analysis
975 2016-03-24 17:25:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
976 Fix crash on loading variant engine after changing variant
978 The New Variant dialog did not store the variant name (and in fact
979 several other option values, such as nick names) in allocated memory,
980 but just by pointing to it, which made XBoard crash when the options
981 were parsed again (as part of an engine load), and it tried to free()
984 2016-03-24 16:15:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
985 Fix variant switch on engine load
987 When an engine was installed with an engine-defined variant, selecting
988 that engine through the Load Engine dialog did not properly switch to
989 the intended variant. Now doing this at the start of a game forces an
990 extra New Game event. This event now also remembers the name of any
991 unknown variant, in the hope the engine will define it.
993 2016-03-24 14:40:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
994 Describe Board Options dialog in texi file
996 The Board Options dialog is described item by item, so that the help
997 clicks on it will work.
999 2016-03-23 22:54:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1000 Reorganize texi file
1002 For the help clicks to work universaly, it is necessary that all dialog
1003 items are described separately, with headers exactly equal to the label
1004 they have in the dialog. This is a first step in that direction.
1006 2016-03-23 20:25:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1007 Allow help-clicks on Label Options with linefeeds
1009 Some of the LabelOptions in dialogs do have linefeeds. (In particular,
1010 those in the Load Options dialog.) So we allow help clicks on them,
1011 but add linefeed with the termination characters. Except that a leading
1012 linefeed will be clipped off.
1014 2016-03-23 20:16:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1015 Make sizing more robust (GTK)
1017 On sizing we now do not immediately replace the buffer canvas, but set
1018 a flag in the Graph Option to indicate the canvas is invalid. Instead
1019 of taking the canvas handle from a global variable (csBoardWindow) we
1020 now obtain it in every drawing call from a function, which first tests
1021 if the canvas is still valid. If it is not, we replace it by one of
1022 the size specified in the Option (which was obtained from the window
1023 size the moment the flag was set).
1024 The GraphExpose requests now bypass the general GraphEventProc, by
1025 calling the drawing of the exposed area (which was relocated to a
1026 separate function) directly. This avoids the overhead of checking for
1027 resizing through requesting the window geometry.
1029 2016-03-23 11:07:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1030 Improve behavior of secondary board on sizing main window
1032 Resizing the main window now immediately orders corresponding resizing
1033 of the secondary board window, plus an immediate redraw, rather than
1034 waiting for a move to occur on that board.
1036 2016-03-22 22:37:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1037 Prevent FICS bell character fro printing in ICS Console XB
1039 FICS sends bell characters (ascii 7) at the start of many messages.
1040 We now strip a leading bell off the message before appending it to
1041 the text memo of the ICS Console, and ignore the message altogether
1042 if it was just bell + linefeed (to prevent each move of an observed
1043 game adding an empty line).
1045 2016-03-22 20:59:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1046 Fix erasing and exposing of arrow on secondary board
1048 For the second board the damage flags set for exposing a freshly drawn
1049 arrow are left for the next draw to erase that arrow again.
1051 2016-03-22 15:40:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1055 2016-03-22 15:38:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1056 Pop up warning when engine manual is not available
1058 Help clicks on the engine dialog pop up a warning when the manual is
1059 not found. It seems useful to alert the user that this info has to
1060 come from the manual of the engine' rather than XBoard's.
1062 2016-03-22 15:10:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1063 Add -men option for changing piece moves
1065 A volatile string option -men allows the user to change the moves of
1066 the pieces from the command line similar to what the VariantMen tag
1067 does from a PGN file. Using the New Variant dialog resets the option.
1069 2016-03-22 14:56:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1072 A volatile string option -fen can now be used to set the initial position
1073 of the initial variant through the command line, removing the need to
1074 prepare a position file for this. Otherwise the effect should be the same
1075 as when using -lpf: New games will be started from the specifoed positon
1076 until the New Variant dialog is used. The position is 'auto-sizing', i.e.
1077 the FEN is used to set the board geometry as well.
1079 2016-03-22 12:04:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1080 Make startup announcement self-disappearing
1082 The startup message is now configurable through an option -startupMessage,
1083 and the master config file sets this to announce the help clicks.
1084 The message can contain multiple lines. The display of lines that are a
1085 sub-string of the option -messageSuppress is suppressed, however.
1086 Using a help-click sets this latter option to the help-click announcement,
1087 so that people who have used help clicks won't see this message anymoe.
1088 Displaying the startup message is now only considered on board draws
1089 that ordered a full repaint.
1091 2016-03-22 10:36:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1092 Forget piece redefinitions before loading game
1094 The effect of a VariantMen tag in a previous game of the same file
1095 was also applied to later games that did not have such a tag.
1097 2016-03-22 09:41:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1098 Prevent crash on loading empty game file
1100 The parser code is made resistant to loading a file with 0 characters in it.
1102 2016-03-21 23:50:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1105 No prototype for SendToICS was in a sufficiently shared header.
1107 2016-03-21 23:44:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1108 Fix replay of multi-leg move
1110 Replaying multi-leg moves made the moving piece reappear on the
1111 from-square during continuation legs in WinBoard.
1113 2016-03-21 23:39:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1117 2016-03-21 23:37:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1121 2016-03-21 22:30:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1122 Implement 3-leg animation in WinBoard
1124 Move animation in WinBoard now also pays attention to the kill2 square.
1125 Besides a bug was fixed that made the animated piece re-appear on the
1126 from-square during the second leg, and the victimes are made to disappear
1127 when the animated piece passes over them.
1129 2016-03-21 21:51:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1130 Move dataDir definition to args.h so WB can also use it
1133 2016-03-21 20:24:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1134 Fix exposure of square highlights
1136 The exposure of highlighted squares assumed the line gap was 1 pixel,
1137 and thus failed for wider grid lines.
1139 2016-03-21 13:16:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1140 Fix built-in Lion move
1142 The 3-leg patch had uncovered a latent bug in the built-in move generation
1143 for Lions/Falcons/Eagles, which would qualify moves as FirstLeg even when
1144 the kill-square was already set.
1146 2016-03-21 12:25:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1147 Repair flashing of moved piece (XB)
1149 The flashing was not working (at least in GTK), because the redraw of
1150 the square needed even processing to show something. So the draw/erase
1151 loop that does the flashing needs to call DoEvents() to make things
1152 visible. This however could lead to recursive processing of LeftClick,
1153 as the press of a click-click move already enters the move and starts
1154 the flashing, so that the release usually comes before the press
1155 processing has finished. Which would cause it to be interpreted as
1156 a second move identical to the first. A static flag inside LeftClick
1157 now makes it ignore clicks during flashing, which is just what we had
1158 to do with the release anyway. Flashing should be suppressed during
1159 sweep-selection under-promotion.
1161 2016-03-21 11:33:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1162 Streamline XBoard board drawing
1164 XBoard was drawing in a very inefficient way. To improve efficiency
1165 alteration of highlights will not immediately be exposed, but be
1166 marked as damage so that a subsequent DrawPosition call will show them.
1167 Squares touched by a to-be-erased arrow will be treated likewise.
1168 The drawing now has three passes: repairing damage (which erases
1169 highlights and arrow), emptying the from-square, and drawing new
1170 pieces and highlights.
1172 2016-03-21 11:14:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1173 Improve board drawing
1175 The erasing of target-square markers could lead to flashing of the
1176 moved piece. It was also ugly when the piece was slipped under a marker.
1177 The actual display of the marker change on erasing can now be deferred
1178 to a later position draw, and this is used when erasing after a drag-drop
1179 move to do it after the move was accepted (so the piece would not be
1180 flashed on the from-square, but still displayed without marker on it
1181 after the drop). For click-click the erasure is shown before animation
1182 starts. A problem with showing deselection when target-square marking
1183 was off is now also fixed.
1185 2016-03-17 22:13:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1186 Cleanse help texts of some common TeX escape codes
1188 The TeX escapes \s-1, \s0 around all-capital words, \*(L, \*(R for
1189 distinguishing left/right quoting, a mysterious \& and a \ in general
1190 (e.g. for \- as forced hyphen) occur quite often in the man-page text.
1191 They now no longer clutter the help popups.
1193 2016-03-17 12:04:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1194 Also provide help on adapter options
1196 Adapters often add their own options to thoso of the engine in the
1197 Engine Settings dialog. Polyglot, for instance, has many options,
1198 their names all starting with "Polyglot ...". We adopt this as a
1199 convention, so that XBoard can compare the adapter name (the name
1200 of the program actually run, if that is different from the name
1201 of the engine binary) with the start of the option name for which
1202 help is requested. If there is a match it will conclude we are dealing
1203 with an adapter option, and will consult the adapter manual (for an
1204 option without the adapter-name prefix) instead of the engine manual.
1206 2016-03-17 11:32:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1207 Also buffer engine man page
1209 The path to the engine man file, and possibly its unzipped text, are now
1210 also buffered, together with the name of the engine they are for, so that
1211 they can be re-used when the engine has not changed.
1213 2016-03-17 00:01:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1214 Also recognize .IX lines in man file for help clicks
1216 Beside .B and .SS directives, which tend to mark item headers in the
1217 XBoard manual page, ".IX item" lines are now also recognized.
1218 Such lines are produced by pod2man for =item directives in the .pod file.
1220 2016-03-16 14:40:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1221 Implement XBetza iso modifier
1223 An 'i' modifier on a continuation leg will force it to be of equal length
1224 (measured in steps) as the latest sliding leg (i.e. of maximum length != 1)
1225 before it. This is useful for defining rifle captures of sliding pieces.
1226 On initial legs it still means the move is for virgin pieces only.
1228 2016-03-15 15:15:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1229 Allow access to gzipped man files
1231 For *.gz man files we run gunzip to buffer the unzipped version in
1232 memory. For engines this buffer is not saved, because the engine might
1233 change. (A bit course...)
1235 2016-03-15 12:36:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1236 Fix reading of long man files
1238 The low-level read call to read from the spawned process did not
1239 always return as many characters as we asked for, so we now use fread.
1241 2016-03-15 11:29:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1242 Obtain name of XBoard's man file from external command
1244 Rather than hard-coding the path to the man file, it is now obtained
1245 by running "man -w xboard".
1247 2016-03-15 11:08:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1248 Add routine to run daughter process and collect its output
1250 The routine BufferOutputCommand can run an arbitrary command in a
1251 separate process, and collects its output in a buffer of the requested
1252 size. It will kill the process when it doesn't terminate spontaneously,
1253 and return the allocated buffer.
1255 2016-03-22 20:56:08 -0400 Joshua Pettus <jshpettus@gmail.com>:
1256 Update es.po translation
1259 2016-03-19 00:03:20 -0400 Joshua Pettus <jshpettus@gmail.com>:
1260 Mark the gtk browse button for translation
1263 2016-03-18 16:45:16 -0400 Joshua Pettus <jshpettus@gmail.com>:
1264 Update nl.po translation
1267 2016-03-16 20:58:07 -0400 Joshua Pettus <jshpettus@gmail.com>:
1268 Update fr.po translation
1271 2016-03-16 20:56:42 -0400 Joshua Pettus <jshpettus@gmail.com>:
1272 Update de.po translation
1275 2016-03-15 23:00:17 -0400 Joshua Pettus <jshpettus@gmail.com>:
1276 Update zh_CN.po translation
1279 2016-03-15 22:54:36 -0400 Joshua Pettus <jshpettus@gmail.com>:
1280 Update uk.po translation
1283 2016-03-14 19:36:44 -0700 Arun Persaud <arun@nubati.net>:
1284 configure.ac: add pangocairo to list of needed libraries
1287 2016-03-14 15:18:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1288 Display message on the board at startup
1290 Drawing the board in the first second of running will display a short
1291 message on top of it, to alert the user to the help-click possibility.
1293 2016-03-14 15:07:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1294 Fix expansion of ~~ in OSX App
1296 The ~~ expansion was still using the configured DATADIR rather than
1299 2016-03-14 13:59:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1300 Print dynamic Datadir/Mandir on --show-config
1302 Instead of printing the directories from the congigure process,
1303 we print those actually in force, so that the info is valid in the
1304 OSX App (which changes it) too.
1306 2016-03-13 23:25:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1307 Use dataDir/manDir variables always
1309 The DATADIR and MANDIR string constants obtained from the configure
1310 process are now stored in variables, which are then used everywhere
1311 instead of them. The OSX App overwrites these variables, so the
1312 directory location can be made dynamic.
1314 2016-03-13 10:34:08 -0700 Arun Persaud <arun@nubati.net>:
1315 new developer release; updated po/pot
1318 2016-03-13 10:51:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1319 Uncomment line commentized for debugging purposes
1321 The call attaching help clicks to Label Options was still commented out.
1323 2016-03-13 09:21:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1324 Fix popdown of Error/Help dialog through window-close button
1326 Closing an Error popup that was a daughter of another dialog (as Help
1327 dialogs would often be) through the window-close button instead of 'OK'
1328 would permanently block popdown of the parent dialog, because the info
1329 that the Error dialog was still up would not have been reset by the Error
1330 dialog's OK function. GenericPopDown now calls the OK function of such
1331 a dialog (actually FatalDlg) even on a REJECT response.
1333 2016-03-12 23:32:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1334 Make help clicks resistent to NULL-pointer Label names
1336 This should be needed, but just in case...
1338 2016-03-12 23:30:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1339 Silence two warnings
1342 2016-03-12 16:51:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1343 Make help clicks also work for UCI engines
1345 The help clicks were using the engine command to find the manual,
1346 but this would not work for engines with parameters or using adapters.
1347 Now it used the -fcp/scp arguments, and tidies these to stripp off
1348 directory path and arguments. (cps->tidy could not be used, because
1349 it is overwritten by the name reported by the engine itself, which
1350 usually contains version numbers not in the manual name.)
1352 2016-03-12 16:41:38 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1353 Make location of man file dynamic for OSX
1355 MANDIR is redefined in the case of an OSX App to be a variable, in a
1356 similar way as DATADIR, so it can be determined at startup, and the App
1357 can be 'portable'. The way to concatenate it with the rest of the file
1358 name hd to be made variable-proof.
1360 2016-03-12 14:33:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1361 Suppress empty label at top of Edit Tags dialog
1363 There is a Label Option above the text memo of the Edit Tags dialog
1364 that can display a message, but it is only used in cmail mode, and
1365 is passed as a NULL pointer otherwise. (On which GenericPopup then
1366 crashed when it wanted to attach a help click.) Now we simply suppress
1367 display of that widget when there is no message.
1369 2016-03-11 23:43:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1370 Also try to get help for engine options
1372 Help clicks in the Engine Settings dialogs will try to scan the man page
1373 of the corresponding engine for info about the option. This is a bit
1374 tricky, as it must assume the name of the engine is the same as that
1375 of the engine command and the manual for it is in section 6. In addition
1376 it must look in both /usr/share/man and /usr/local/share/man, as it cannot
1377 know whether the engine was installed from source or repo. Finally it
1378 must hope the man page isn't gzipped.
1380 2016-03-11 16:59:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1381 Fix recognition of .SS lines in manual
1383 The logic for recognizing .SS headers was reversed, and .SS lines were
1384 also not tested for to decide whether display should end.
1386 2016-03-11 16:54:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1387 Let configure supply path to manual file
1389 A new macro MANDIR is passed fro the configure process to the compiler
1390 in a -D option to inform XBoard where to find its manual page.
1392 2016-03-11 15:54:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1393 Fix segfault on single-line help text
1395 The help text itself is displayed in the ErrorPopUp as a label,
1396 and allowing help clicks on a label would apparently trigger some
1397 nfinite recursion of event handlers. Making labels in the ErrorDlg
1398 not sensitive to help clicks solved this.
1400 2016-03-11 15:19:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1401 Mention item in title bar of help dialog
1404 2016-03-11 15:02:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1405 Make dialog labels and comboboxes also accept help clicks
1407 Combobaoxes and bare labels had their own code for creating the label,
1408 nd were not yet made sensitive to help clicks. (Which is a bit cumbersome,
1409 as GTK does not allow attaching callbacks to label widgets, so that you
1410 have to wrap them first into something that does.) The bare labels could
1411 furthermore already have a callback specified (used for the clocks);
1412 in this case, and the case of multi-line labels, no help handler is
1415 2016-03-11 14:25:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1416 Do not save ICS password in command history
1418 Blanking out the password while typing it would have little effect if
1419 the arrow keys could recall is. So we don't save any lines in the
1420 history when echo is off.
1422 2016-03-11 13:46:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1423 Fix file-type combobox of Xaw file-selector dialog
1425 The list of combobox labels got out of phase with the list of values
1426 after 'Images', because the value for the latter was missing.
1428 2016-03-10 16:28:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1429 Allow hyphen in name of help item
1431 Some dialog items have names with hyphens in them, such as 'Auto-save',
1432 and these would all be confusedif the true name was taken to end before
1435 2016-03-10 13:03:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1436 Suppress echo of password in ICS Chat window (GTK)
1438 The GTK version uses the set_visibility GTK call to switch echoing
1439 of the ICS input widget. In Xaw this is a dummy. EchoOn/Off had to
1440 be moved to dialogs.c for this.
1442 2016-03-10 10:41:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1443 Fix popdown of menus on help click
1445 Because menus by default also react to button3 clicks, using those
1446 clicks for help popup needs to suppress the default action. But this
1447 action was also reponsible for the popdown of the menu, so that it
1448 stayed up, covering the help dialog. Now we do allow the default action,
1449 but flag to the generic menu handler that it should not execute the
1452 2016-03-09 23:15:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1453 Implement rough help popup
1455 A routine is added that searches a given text header in the man file,
1456 and then displays the following text until the next header (after
1457 skipping additional headers that come before any text) in a message
1458 box. The text uses a simple fill and wrap to line length > 80, and
1459 ignores all control characters, except empty lines. Both .B and .SS
1460 directives are recognized as headers.
1462 2016-03-09 17:47:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1463 Implement help clicks
1465 A button3 click on the text labels of text-edit, spin, checkbox and
1466 button controls, as well as menu items, now pops up an alert box
1467 with the name of the clicked item. This as a first step to making an
1468 interactive help that would use that name to look up information on the
1469 item in the texi file, and display that.
1471 2016-03-09 10:53:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1472 Logout from ICS after fatal error
1474 Exiting of XBoard after a fatal error such as crashing of the engine
1475 could be delayed by popping up an exit message, which then had to be
1476 confirmed first. This would leave XBoard in zippy mode open for new
1477 challenges, which it would even accept, and lose by forfeit. Now
1478 we send a 'logout' command to the ICS before popping up the exit
1481 2016-03-09 09:44:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1482 Deprecate -defaultPathEGTB option
1484 The value of the -defaultPathEGTB option is now automatically cleared
1485 at startup, after appending it as "nalimov:" format to -egtFormats.
1486 We also no longer preconfigure a (dummy) value for -defaultPathEGTB,
1487 but instead one for -egtFormats, (which will show up in the EGT path
1488 field of the Common Engine Settings dialog now -defaultPathEGTB is
1489 empty) to serve as an example for the syntax of -egtFormats.
1491 2016-03-08 23:26:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1492 Make EOF error conditionally non-fatal (XB)
1494 When the ICS Chat window is open, an EOF fromkeyboard is ignored.
1496 2016-03-08 23:26:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1497 Fix braces problem in texi file
1500 2016-03-08 21:55:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1501 Describe ICS Text Menu in texi file
1504 2016-03-08 20:41:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1505 Fix WinBoard compile errors
1508 2016-03-08 20:36:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1509 Fix dressed-letter IDs in VariantMen PGN Tag
1511 Due to sign extension the ID suffxes would never be printed.
1513 2016-03-08 20:11:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1514 Make texi file sub-section free
1516 Because the sub-sections did not work, all subsections (which occurred
1517 mainly in the Options Menu section, to describe the various menu dialogs)
1518 are now upgraded to sections.
1520 2016-03-08 19:20:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1521 Describe choice command in protocol specs
1524 2016-03-08 19:14:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1525 Improve highlight-arrow pointing and fix its erasure
1527 The code to calculate whether the arrow shoud endnear an edge or corner
1528 of the to-square was buggy, leading to orientation-dependent decisions.
1529 In addition the damage trace wasnot exactly following the arrow, so that
1530 sometimes parts of the arrow were not displayed or erased.
1532 2016-03-08 17:20:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1533 Improve triple-leg-move animation
1535 When both locust squares (kill and kill2) are set, animation now takes
1536 place in three stages. As kill2 is not retreived when stepping through
1537 the game history, this works only for moves just entered or played by
1538 the engine. Replayed moves are still animated in 2 stages, though, which
1539 does look pretty good on 2-out-1-in moves.
1541 2016-03-08 11:51:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1542 Implement triple capture
1544 Moves can now have two locust squares (and promote even when they are
1545 locust captures). This applies to move entry (but only through click-
1546 click; buttonless dragging does not yet work), as well as sending or
1547 receiving from engine, and generating and parsing SAN.
1549 2016-03-07 16:16:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1550 Allow use of context menu in text memos GTK
1552 Attaching a user handler for button3 events to text memos would suppress
1553 the normal context menu, so you could copy/paste in those only through
1554 the keyboard. Now a button3 event while there is a non-empty selection,
1555 or through a click behind all text, will pop up the normal context menu.
1557 2016-03-07 13:46:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1558 Show moves in Edit Book window as SAN
1560 The opening moves in the GUI book for the current position shown in the
1561 Edit Book window are converted to SAN before showing them, when they have
1562 the simple form fromSqr toSqr promoChar. (This excludes drop moves and
1565 2016-03-07 12:26:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1566 Cleanup Edit Tags/Book/EngineList a bit
1568 The Tags dialog is also used for two other functions, and this hack
1569 causes some problems. This patch ameliorates these a bit. The Edit
1570 Engine List now displays its own title (instead of "Tags"), and popping
1571 it up pops down which other function was in use first. (Unfortunately
1572 this can result in data loss for uncommitted changes.) The name of the
1573 "save changes" button has been changed to "commit changes", to suggest
1574 less strongly that a change in the Engine List would be immediately
1575 saved to file (which in reality requires Save Settings Now as well).
1577 2016-03-07 11:50:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1578 Make OK and Cancel buttons appear in top-level dialogs GTK
1580 The OK and Cancel buttons are created in GTK as part of the
1581 dialog_with_buttons call, but to get top-level windows another call
1582 had to be used, which does not automatically provide them.
1583 We now explicitly add the buttons as requested by the EndMark Option,
1584 paying attention to the SAME_ROW requests. (The code for that is currently
1585 a bit messy, as one suspects that the cumbersome testing on Option.type
1586 was done exactly to make the SAME_ROW request of EndMarks ignored.)
1587 The GTK "clicked" signal is translated to a "response" in a kludgy way,
1588 through a PopDownProxy routine.
1590 2016-03-06 23:52:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1591 Fix spurious clearing of Engine Output during PV walk
1593 Due to messing with forwardMostMove during PV walking the Engine Output
1594 panes couldbe cleared when a new PV arrived.
1596 2016-03-06 23:45:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1597 Prevent out-of-turn grabbing of piece in analysis mode
1599 In Analyze modeit was possible to grab pieces for dragging of the side
1600 that did not have the move.
1602 2016-03-05 22:59:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1603 Fix parent dialog of Error Popup
1605 If the parent dialog of the Error Popup is wrong, the OK button in it
1606 will not manage to pop it down. Migrating the Tourney Options to their
1607 own DialogClass had changed testing for a parent other than the board
1608 window from TransientDlg to MasterDlg, but Toerney Options was not the
1609 only such dialog throwing up errors. (E.g. New Variant coulddo it too.)
1610 So we now test if MasterDlg or TransientDlg is up, and use those as
1613 2016-03-05 22:42:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1614 Beef up variant detection in New Variant dialog WB
1616 In WinBoard the enabling of radio buttons was still done when the
1617 variant nameon the button was a sub-string of the variants feature,
1618 without requiring a match of the full name (so that 'grande-acedrex'
1619 would enable the 'grand' button of Grand Chess).
1621 2016-03-05 22:33:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1622 Fix crash in New Variant dialog Xaw
1624 The earlier patch to beef up variant recognition couldnot handle it
1625 that some buttons has -1 as variant value.
1627 2016-03-05 09:02:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1628 Remove warning from About box against GTK build
1630 It was still mentioned that the GTK build is unstable.
1632 2016-03-03 11:11:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1633 Suppress underscores in Xaw menus
1635 The underscores that indicate shortcut keys in GTK menu items were
1636 showing up in the Xaw menus. Now we remove them when creating the menu
1639 2016-03-03 10:40:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1640 Fix another Xaw compile error
1642 This is what you get when changing code without testing if it at least
1645 2016-03-02 23:42:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1648 Conversion to use of strncpy had led to the length of a (char*) being
1649 tested, and atypically we got away with that so far because the copied
1650 string was only 2 characters long. Now we use length limit 4, which also
1651 renders the use of strncpy instead of strcpy useless, but at least
1652 does notproduce a warning.
1654 2016-03-02 23:39:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1655 Fix recognition of title in small layout
1657 The title handle was set based on invalidation of Options by making
1658 their type -1, while this nowadays is done by setting them to Skip
1659 (as enum types are unsigned).
1661 2016-03-02 23:27:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1662 Fix compile error in SetComboChoice Xaw
1665 2016-03-02 15:18:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1666 Fix crash on changing piece directory
1668 The loop for deleting the old pieces in ActivateTheme was still assuming
1669 the four promo-Golds were stored behind the normal set, which for the
1670 new piece ordering isn't the case anymore.
1672 2016-03-02 11:14:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1673 Fix black border around saved diagrams (WB)
1675 The 'Save as Diagram' function of WinBoard produced bitmaps with a black
1676 border, because the buffer bitmap used for drawing the board (which was
1677 flushed to file to create the diagram) had a size larger than the board,
1678 including somemargins of the main window. Now we copy it to a board-sized
1679 bitmap first, and flush that.
1681 2016-03-01 21:09:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1682 Preserve flip on pasting game when auto-flipView is off
1684 Normally starting a new game would restore the orientation as given by
1685 the -flipView option on the command line, which might flip the view even
1686 when -autoFlipView is off. A new game started through Paste Game now
1687 always preserves the current orientation when -autoFlipView is off.
1689 2016-03-01 20:39:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1690 Describe engine grouping in texi file
1692 The paragraph on the Edit Engine List menu item now contains a description
1693 of the method for organizing engines in groups by adding "# GROUP" and
1696 2016-03-01 10:35:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1697 Add 'divide by 60' checkbox in Time Control dialog XB
1699 The TC could not be set to fractional minutes (base time) or seconds
1700 (increment) in the GTK version, as the spin controls there do not allow
1701 you to type such numbers. An added checkbox 'Divide entered times by 60'
1702 allows you to enter base time in seconds, and increment in 1/60 sec.
1703 The dialog always pops upwith this checkbox unticked.
1705 2016-03-05 16:30:45 -0800 Arun Persaud <arun@nubati.net>:
1706 updated copyright for 2016
1709 2016-03-05 13:03:04 -0800 Arun Persaud <arun@nubati.net>:
1710 fixed configure script: GTK default was enabled even with --with-Xaw
1713 2015-10-26 23:08:31 -0700 Arun Persaud <arun@nubati.net>:
1714 update Russian translation
1717 2016-02-29 22:54:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1718 Print score with same sign in message and engine output
1720 There are two options that affect the score POV (always or analysis only),
1721 but they were only working on the score in the Engine Output window, and
1722 not in the message field of the board window. Now they work for both.
1724 2016-02-29 22:24:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1725 Fix bugs in previous 3 commits
1727 The commits before this were pushed a bit prematurely, inspired by
1728 the wish tosee if I could push from my new laptop.
1730 2016-02-29 14:24:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1731 Add configure-options section to texi file
1733 The options data, saveDate, addMasterOption, installEngine, installTheme
1734 and autoClose are now described in the manual.
1736 2016-02-29 13:15:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1740 2016-02-29 12:53:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1741 Add -installTheme option
1743 A new option of type ArgInstall is added, which will add its argument
1744 to the -themeNames list (under the usual restriction it is not already
1745 in there, and that it was not seen before). By appending such a (time-
1746 stamped) option to the master settings file with -addMasterOption,
1747 newly installed themes can be made to trickle their way into the user's
1748 private settings file. All the theme package has to is call XBoard with
1749 the applicable -addMasterOption "-installTheme ...." arguments in its
1750 install script, and copy any associated files to XBoard's datadir.
1752 2016-02-28 12:01:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1753 Fix disappearance of premoved piece
1755 When a premove was done by dragging, (which for expected recaptures would
1756 be the only way, as click-click moving selects the intended target),
1757 the moved piece would disappear from view. This because the from-square
1758 would not be redrawn (in normal move execution it would remain empty).
1759 This could have been an XBoard-only problem. In any case We now force a
1760 complete redraw of the board, which is not very elegant, but should always
1763 2016-02-28 11:34:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1764 Fix bug #43792 (no highlights after rejection of premove)
1766 If the sending of a premove fails to add a move to the game, because
1767 XBoard itself judges the move illegal (which could only be determined
1768 after arrival of the opponent move, not when it was entered), XBoard
1769 now re-applies the move highlights for that opponent move.
1770 This does not solve the problem yet with legality testing off,
1771 when it later turns out the ICS rejects the move.
1773 2016-02-27 21:59:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1774 Fix bug #45599 (inclusion of keysym.h in Xaw)
1777 2016-02-27 20:50:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1778 Fix bug #45773 (needless #inclusion of cairo-xlib.h)
1780 As this header no longer exists this was causing a compilation error.
1781 In the GTK version they are of course never needed, and the draw.c
1782 that is also part of an Xaw build also does not call any function to
1783 draw on an Xaw surface directly.
1785 2016-02-27 20:45:01 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1786 Fix bug #45775 (Infinite loop on nonexistent texture file)
1789 2016-02-27 20:37:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1790 Fix bug #45774 (GTK compile bug with ENABLE_NLS)
1792 The declaration of an XFontSet function was not protected by
1794 2016-02-27 17:06:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1795 Move Common Engine dialog to Engine menu (WB)
1797 The item is renamed to "Common Settings", whith shortut 'C'.
1798 The "Edit Engine List" item is also assigned a shortcut ('E').
1800 2016-02-26 23:35:39 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1801 Use mouse wheel for selecting piece in Edit Position mode (XB)
1803 Rather than calling ForwardEvent() and BackwardEvent() directly from the
1804 mouse-wheel handler, we now call a backend routine Wheel(), which gets
1805 the pointer coordinates passed to it (which we must remember during
1806 mouse move events). This then calls the Forward/Backward event, except
1807 in EditPosition mode, where it changes the piece in the square below the
1810 2016-02-17 20:55:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1811 Allow promotion choice in engine-defined variants
1813 When variant shatranj, courier or makruk, which normally do not have
1814 promotion choice, are used as parent for an engine-defined variant,
1815 we now invoke the piece-selection routine. This to make these variants
1816 also suitable as parent for variants that do have choice (e.g. to give
1817 them the baring rule, which is unique for Shatranj).
1819 2016-02-17 12:47:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1820 Fix erasing of arrow highlight (XB)
1822 On large board with long-range oblique moves (like in Grande Acedrex)
1823 the head of the arrow was not always erased (and not always drawn either).
1824 This was partly due to the arrow pointing to a corner of the target square
1825 even if the path was nearly orthogonal, while the damage trail is always
1826 assumed to connect the square centers. Having the arrow point more
1827 precisely and widening the damage trail a bit solved the problem.
1829 2016-02-09 10:59:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1830 Allow promotion on two-leg move
1832 After a second-leg of a SAN move the parser now checks for apromotion
1833 suffix, and if any is found this is used by ParseOneMove / LoadGameOneMove
1834 to set the promoChar. In converting to SAN for the parseList the promoChar
1835 is now appended to the second leg, rather than the first, and the Edit Book
1836 window will also show it. The promochar is written behind the kill square
1837 in the moveList, and when sending the move there to the engine it is
1838 appended to the second move of the multi-move pair.
1840 2016-02-09 10:25:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1841 Fix type-in of hit-and-run captures
1843 Processing of the move in ParseOneMove (which basically duplicates
1844 the code of LoadGameOneMove) was not yet adapted to ignore ';' as a
1845 promotion character when it is internally used to append 'kill squares'
1846 where locust capture should take place..
1848 2016-02-09 09:53:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1849 Allow setting of piece nicknames from pieceToChar string
1851 A piece IDs in the pieceToChar string can now be suffixed by "=L",
1852 with L an arbitrary single letter, to define a nickname for the piece.
1853 Such a nickname would make it possible to specify a complex ID like +I'
1854 as promotion choice, and by indicating this in the pieceToChar string
1855 the engine can configure that through the 'setup' command. This facility
1856 is needed to force promotion after capture of a contageous piece in
1857 variants with Shogi promotion, such as Maka Dai Dai Shogi.
1859 2016-02-09 09:31:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1860 Slight speedup of parsing promotion suffix
1863 2016-02-08 13:21:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1864 Fix printing of 'x' in position diagram
1866 The times where 'x' was used as PieceToChar result for an empty square
1867 are long behind us; 'x' now is a valid piece ID.
1869 2016-02-07 22:48:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1870 Improve variant recognition for enabling buttons (XB)
1872 Buttons for variants were enabled when the name of the variant they
1873 selected was a sub-string of waht the engine could play, so that
1874 Grand Chess (variant grand) would be enabled by Fairy-Max' grande-acedrex.
1875 Now we test if the matched sub-string of the engine's variants feature
1876 is immediately followed by a comma (or at the end).
1878 2016-02-06 18:18:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1879 Fix using VariantMen PGN tag for both colors
1881 Black pieces were not recognized as the same as white pieces.
1883 2016-02-06 16:19:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1884 Always assume FEN in variant-fairy PGN game is initial position
1886 As variant fairy is a catch-all without a defined initial position,
1887 the FEN tag n a PGN game for this variant must be considered an initial
1888 position. So we copy over the FEN position to the initial one in this
1889 case. Otherwise castling would always be thought illegal in fairy games
1892 2016-02-06 15:12:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1893 Process VariantMen PGN tag
1895 On loading a PGN game the VariantMen tag is now parsed, and the
1896 move definitions are assigned to the mentioned pieces.
1897 This only works when the pieceToCharTable is defined in advance!
1899 2016-02-06 13:46:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1900 Let VarianMen PGN tag work with dressed letters
1902 The internal 'character' codes > 127 are now printed as letter + suffix.
1904 2016-02-06 10:25:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1908 2016-02-06 10:21:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1909 Fix spurious promotion partners
1911 When defining a new promotion pairing through ^L the default partners
1912 of L and +L must be made partnerless, or they would still promote to +L
1915 2016-02-05 11:26:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1916 Fix printing of piece ID in illegal SAN moves
1918 Illegal SAN moves did not add ' or ! suffixes to the piece ID,
1919 and printed shogi-promoted pieces as a '+' without ID.
1921 2016-02-05 10:06:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1922 Fix clipping of GTK menu-bar labels for broad boards
1924 The number of characters kept in the menu-bar labels was dependent on
1925 square size, but did not take into account the number of files of the
1926 board. So when there were more than 8 files, the label texts were often
1927 clipped while there was in fact plenty of room to display them fully.
1928 Now the adjustment of square size based on number of board files is done
1929 after the other window parameters have been picked based on the window
1930 width calculated as 8*squareSize. Only the default line gap is then
1931 adapted to the actual square size (consistent with what is done during
1932 user sizing of the board later).
1934 2016-02-04 19:43:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1935 Change the piece order again
1937 The internal piece encoding is now altered such that the uninteresting
1938 ones (promoted Shogi pieces and symmetry partners) are all at the end,
1939 just before King. These now start with the PromoBishop. A slash in the
1940 pieceToChar string skips to this new 'promoted series', so that strings
1941 can be made 'future proof' (for when new pieces are added before it).
1942 The promoted Chu pieces all get new book keys by this, but as it is
1943 unlikely that they occurin opening lines, this was considered acceptable.
1944 The +L, +T in Chu are now represented by Pegasus and Gnu rather than
1945 Knight and Chancellor, but the latter two are defined as fall-backs to
1946 remain compatible with old Chu themes.
1947 The +N, +L, +S replacements in Shogi are now also taken from amongst the
1948 regular pieces, rather than extra images stored beyond King.
1950 2016-02-03 10:24:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1951 Adapt Chu-Shogi pieceToCharTable to new piece order
1954 2016-02-03 09:34:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1955 Fix demoting in Edit Position mode
1957 A click on an already selected demotable piece will now cause demotion,
1958 rather than disappearance of that piece, similar to how clicks on a
1959 selected promotable piece will promote it.
1961 2016-02-03 09:23:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1962 Clear highlights after moving piece in Edit Position
1964 When moving a piece during Edit position the from-square remained
1965 highlighted, but the to square was not highlighted, which would
1966 create the erroneous impression that the (now-empty) from-square
1967 was selected (and ready to obliterate a piece on the next click).
1968 Now this highlight is cleared. This was preferred over also highlighting
1969 the to-square, because this is not really a move in a game.
1971 2016-02-02 19:18:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1972 Fix aborted detour under-promotion XB
1974 When a dragged Pawn was released before the promotion piece was fixed,
1975 this would fake a release on the from-square. But the repair of animation
1976 damage would take place on the to-square derived from the actual mouse
1977 coordinates. When this was different from the from-square, the animation
1978 damage (consisting of removalof the piece) would thus not be repaired
1979 by redrawing that square, as normally (when the to-square is different)
1980 it should remain empty. Now we mark the from-square as damaged when the
1981 detour under-promotion changes the dragged piece.
1983 2016-02-02 17:34:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1984 Fix default piece in Shogi promotions
1986 In Shogi the default should be promotion, but it was using Queen like
1987 the other variants. As the +/= issue was decided based on comparing this
1988 default promotion piece with the moved piece, the Lance (which internally
1989 is represented by Queen) would by default defer. Now the up-click of
1990 a drag-drop move (which would bypass sweep selection) sets the default
1991 choice to the promoted partner if the pieceToCharTable specifies one.
1993 2016-02-02 17:31:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1994 Fix sweep promotions to Tokin
1996 Sweep promotions of multiple pieces to Tokin were not working, because
1997 once the promoted version was shown it would always demote to Pawn.
1998 Now the toggle always demotes to the selected piece.
2000 2016-02-02 13:10:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2001 Fix setting default piece from 'choice' command
2003 PieceToCharwas used instead of CharToPiece. In addition it is important
2004 to deduce the color from currentMoe rather than forwardMostMove, as
2005 one could be entering a move in the middle of a game (e.g. when editing
2006 or starting a variation).
2008 2016-02-02 12:09:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2009 Fix two compiler warnings
2012 2016-02-02 09:27:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2013 Allow pieces with dressed-letter ID as promotion choice
2015 Testing for the occurrence of a piece in the promotion set specified
2016 through the 'choice' command now takes dressing of the piece IDs into
2019 2016-02-01 21:51:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2022 The expansion of the number of piece types to > 64 had broken the
2023 accounting of castling rights, because the code for NoRights is also
2024 a piece code (as it is stored in the board), and had gotten a value
2025 so high that it could no longer be stored as signed char. This is
2026 solved by declaring the initialRights array as unsigned char instead.
2028 2016-02-01 20:45:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2029 Implement engine-requested settings-popup WB
2032 2016-02-01 17:32:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2033 Allow O1 as Betza castling descriptor
2035 The notation On is now also recognized as castling for n=1, but this
2036 uses the same system as non-royal castling ('guarding'), which is
2037 performed as hit-and-run capture of the Rook (or whatever you want to
2038 castle with) while moving to the destination (one square away here).
2039 This to avoid the ambiguity with normal King moves (which for the
2040 guarding always existed).
2042 2016-02-01 00:12:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2043 Allow engine to force popup of its settings dialog
2045 An engine can now force popping up of its settings dialog by sending
2046 'feature done=3' to the GUI. It can clear its option list (e.g. for the
2047 purpose of resending it because of altered settings) by sending
2048 'feature done=0'. Such resending would cause the dialog to be updated
2049 when it was already open, or close it and pop up a new one when the
2050 engine specifies it has to be redesigned by ending the list with
2053 2016-01-31 17:28:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2054 Change pieceToCharTable order of pieces beyond Lion
2056 The positions in the pieceToCharstring no longer correspond to internal
2057 piece type, but are remapped such that more useful symbols reside near
2058 the beginning. The piece types themselves could not be re-ordered,
2059 as this would alter the calculation of the opening-book hash key.
2061 2016-01-31 15:53:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2062 Expand numer of new piece types to 2 x 11
2064 The number of pieces added between basic and promoted series, and between
2065 the latter and King is increased to 11, and they are ordered differently.
2066 The image used for the Chu-Shogi White-Horse piece,which was a duplicat
2067 of the Knight, is now replaced by a winged Knight.
2069 2016-01-30 09:09:03 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2070 Use flexible promotion assignment
2072 The promoted partner now comes from an array, rather than by adding
2073 a constant (11, or 27 in chu) to the base type. The array is initialized
2074 so the first 11 pieces (the old 'base pieces') point to the second 11
2075 (the old 'promoted series'), and the latter point back (so the array
2076 also contains the demotions!). The pieces above 21 (= Lion) point to
2078 Parsing of the pieceToChar string now considers ^, - and * prefixes
2079 rather than independent IDs. Nevertheless it is the - and ^ that get
2080 stored in the pieceToCharTable (the latter as '+') for the corresponding
2081 piece. But the ID that follows them specifies what other piece they are
2082 the demoted or promoted partner of, rather than their own ID, and is
2083 thus used to update the promoPartner array for both of them.
2084 A * prefix does mean the following ID is the ID assigned to the piece,
2085 but that the piece promotes to Tokin (if the latter is assigned a '+').
2086 The default pieceToChar string for varaint chu is adapted to use this
2087 new assignment mechanism of promotion partner. (Chu is so far the only
2088 variant that needed other pairing than the default.)
2090 2016-01-29 23:15:28 -0500 Joshua Pettus <jshpettus@gmail.com>:
2091 Bit more accelerator stuff
2093 Bit of code didn't do what I wanted it to and took away to many 'alt'
2096 2016-01-29 22:01:25 -0500 Joshua Pettus <jshpettus@gmail.com>:
2097 oops, accidentally added a .orig file from a patch
2100 2016-01-29 21:32:58 -0500 Joshua Pettus <jshpettus@gmail.com>:
2101 Change accelerators again to be more mac like
2103 After playing around with the beta quite a bit, it really bothered me
2104 to have half be ‘cmd’ and half be ‘ctrl’, to the point where it almost
2105 made me want to do away with ‘cmd’ altogether (really non-standard on
2106 OSX). This way is a little smarter and only changes the conflicting
2107 accelerators to alt-cmd which while being a little more mac standard,
2108 as well as be acceptable ascetically when combined with other
2109 accelerators that are just cmd.
2111 2016-01-29 17:41:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2112 Let PROMOTED and DEMOTED macros use argument
2114 These macros were expanding to offsets added to what followed them.
2115 Now the thing that followed them is passed to them as an argument.
2116 This will allow them to expand the prmomotion or demotion to a table
2117 lookup, rather than just an addition. Where PROMOTED appeared in a case
2118 label, though, it was just a readability enhancement for the fixed
2119 assignment, and a new macro PROMO equal to the old PROMOTED is introduced
2122 2016-01-29 10:32:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2123 Fix Chu promotion with added pieces
2125 There were still some hard-coded 22s in the code, which no longer described
2126 the difference between Pawn and Tokin and the number of promotable pieces,
2127 now that new pieces have been added.
2129 2016-01-28 17:58:00 -0500 Joshua Pettus <jshpettus@gmail.com>:
2130 Remove added pango modules to coincide with macports package
2132 Macports got rid of the +builtin_modules variant and made that the default port. (I assume macports, maybe it was a gtk change) This is great for installation simplicity, but messes up my build script which was set to use the former base pango install. Hopefully they stick with this.
2134 2016-01-28 17:55:56 -0500 Joshua Pettus <jshpettus@gmail.com>:
2135 H.G.Muller's patch to avoid collisions with built-in OSX text edit accellerators
2137 Unfortunately this means many of the menus items use the standard linux ctrl-letter style accelerators as oppose to the cmd-letter OSX style ones. But at least we can copy, paste, and cut text into xboard dialogs as well as select all.
2139 2016-01-28 17:52:27 -0500 Joshua Pettus <jshpettus@gmail.com>:
2140 H.G.Muller's patch to fix argument related spurious instances
2142 In certain situations adding launch arguments to xboard would cause multiple xboard instances when not desired. H.G.Muller fixed this by waiting 1 second before accepting genuine user input.
2144 2016-01-28 17:50:36 -0500 Joshua Pettus <jshpettus@gmail.com>:
2145 Check for gettext before installing localization files
2147 Probably a good idea to check if gettext is enabled before attempting to install localization files.
2149 2016-01-28 17:48:04 -0500 Joshua Pettus <jshpettus@gmail.com>:
2150 back to the old header names for gtkosxapplication.h
2152 They seemed to have gone back for compatibility’s sake, hopefully they don't change it again
2154 2016-01-28 17:43:04 -0500 Joshua Pettus <jshpettus@gmail.com>:
2155 Fix for launching on case-sensitive systems
2157 Forgot to take case-sensitive journaled systems into account…
2159 2016-01-28 17:55:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2160 Make move to own piece a swap rather than capture
2162 This is useful for Tamerlane Chess, where you can one time during the
2163 game have your King swap places with a friendly piece.
2165 2016-01-28 17:32:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2166 Implement 'choice' engine->GUI command
2168 A new CECP command is implemented: With 'choice XYZ' in reply to a
2169 'lift' or 'put' command an engine can redefine the promotion choice
2170 of the promotion move that emitted these to X, Y or Z. (Always capitals!)
2171 For now only affects sweep & detour promotions, not the promotion
2174 2016-01-28 14:08:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2175 Let target-square highlighting prevail over legality test
2177 For engine-defined variants the highlight command is accepted even
2178 with legality testing on. If an engine explicitly marks a square as a
2179 legal destination for the picked-up piece, XBoard now always accepts
2180 the move, even when according to its own move generation, even when based
2181 on the engine's supplied 'piece' commands, going there would be illegal,
2182 and legality testing is on.
2184 2016-01-28 12:32:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2185 Add support for Multi-PV Margin
2187 An engine option with a name containing multi, PV and margin is now
2188 recognized, and will lead to printing of a multi-PV header (during
2189 analysis in the Engine Output pane) even in absence of a MultiPV option.
2190 Right-clicking the part of that header between 'fewer' and 'more'
2191 allows tuning of the option value through horizontal mouse moving.
2192 During this tuning the value is displayed in the message field of the
2193 main window. When there is no MultiPV option to specify the number of
2194 PVs, the margin value will be displayed in the header instead of the
2197 2016-01-28 09:51:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2198 Fix highlighting in text memos (GTK)
2200 The yellow highlighting as used in Engine Output to indicate the
2201 walked PV, or in Move History to show the current move, was only
2202 working the first time that text would be highlighted. Apparently
2203 to unhighlight it the yellow tag had to be removed, rather than a
2206 2016-01-27 20:14:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2207 Fix pasting of moves after starting from position file
2209 When starting from a position file boards[0] would be set to the position,
2210 but initialPosition was not. In LoadGame() initialPosition would then be
2211 copied to boards[0] before loading the game, and without FEN or variant
2212 PGN tag would not be corrected.
2214 2016-01-27 16:49:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2215 Move Common Engine menu item to Engine menu
2217 The new name of this menu item is 'Common Settings'.
2219 2016-01-27 16:03:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2220 Fix double-clicks for copying in Edit Position mode
2222 The time measurement between clicks on the same square in Edit Position
2223 mode was seeing presses as well as releases, so that a fast click would
2224 be mistaken for a double click on that square. Only presses should be
2225 judged this way. In addition the piece should be grabbed for dragging
2226 again on the second press, as the first release had ended the drag.
2228 2016-01-27 11:22:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2231 The Zobrist key for Kings had been inadvertantly changed in the patch that
2232 assigned new keys to the pieces added for Chu Shogi (the 'chu-promoted
2233 series'), because the King would be considered as a chu-promoted piece.
2235 2016-01-20 21:30:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2236 Fix crash on pasting garbage FEN
2238 The auto-size patch had made XBoard crash-prone on pasting pure garbage
2239 with Paste Position, because this would set the number of files or ranks
2240 to values <= 0. Which would cause a floating pont exception during
2241 drawing of the board in XBoard.
2243 2016-01-20 20:37:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2244 Prevent changing time control during game (XB)
2246 An attempt to pop up the Time Control Options dialog during a game
2247 will now be met with an Error popup to say it cannot be done, like
2248 in WinBoard. Before it would reset the game.
2250 2016-01-20 20:31:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2251 Fix Error popup in Tournament Options
2253 Since Tournament Options has been assigned its own DialogClass (MasterDlg)
2254 instead of being one of the TransientDlg, the Error popup should really
2255 test if MasterDlg is already up, to know if its parent window is th
2258 2016-01-15 22:30:08 -0500 Joshua Pettus <jshpettus@gmail.com>:
2259 Update xboard.conf with renamed xq board textures
2262 2016-01-15 14:12:23 -0500 Joshua Pettus <jshpettus@gmail.com>:
2263 Update makefile.am for renamed xq board images
2266 2016-01-15 13:19:22 -0500 Joshua Pettus <jshpettus@gmail.com>:
2267 Change name of xq board images to fit with handling code
2270 2016-01-14 19:16:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2271 Use ii in Betza notation for 3rd-rank Pawn push
2273 The 'i' modifier specifies the move is only for virgin pieces. We now
2274 use 'ii' to indicate a move that can be made when the piece is standing
2275 on the square in front of that were such a piece starts in the initial
2276 setup. This is intended for Pawns that can still be pushed extra far
2277 after they have made a first single step, such as in Wildebeest Chess,
2278 where pawns on 2nd rank can move 1, 2 or 3 squares ahead, and on 3rd rank
2279 can still move 1 or 2 (fmWifmW3iifmW2).
2281 2016-01-14 16:49:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2282 Fix spurious undo at game start
2284 For ping-supporting engines the logic in handling unexpected moves
2285 is completely changed. Such moves can occur when an engine think is
2286 interrupted by a 'force' command, which in many engines is only
2287 processed after the think completes naturally with a move, and could
2288 cross such a move anyway in engines that would abort the search promptly.
2289 If the 'force' is the result of the user switching to EditGame mode,
2290 such a move should be undone, if it occurs at game end or start,
2291 the moves can be ignored, as the following 'new' will erase all memory
2292 of them. So in EditGameEvent, if the engine was thinking, a flag is set
2293 to indicate its upcoming move should be undone, and ping is sent after
2294 'force'. The 'pong' response would arrive after the move (if any), and
2295 clears the flag. In all other cases of ping imbalance, incoming moves
2297 While waiting for a pong after EditGameEvent the user interface is
2298 frozen, and a message is displayed to keep the user quiet.
2300 2016-01-14 14:36:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2301 Send ping in EditGameEvent
2303 An EditGameEvent can interrupt tinking of an engine, and the engine
2304 might or might not send back a move as a result of that thinking.
2305 To solve this, a "force" command sent to an engine playing white or
2306 black will now be followed by a "ping". (If supported, of course.)
2308 2016-01-13 22:23:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2309 Fix variant recognition in ICS mode
2311 The patch that made recognizing variant names of the 'exotic variants'
2312 (i.e. those beyond Shogi) more strict, by requiring an exact match,
2313 had broken variant recognition on the Variant ICS. In that case it
2314 has to act on strings like "ICS unrated xiangqi game", and this now
2315 defaulted to variant normal. The requirement that the variant name
2316 should be the first word of the string is now dropped in ICS mode.
2318 2016-01-13 20:35:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2319 Let FENs handle Betza initial rights in castlingless variants
2321 When a variant has no castling, or is redefined to have no castling
2322 through a 'piece' command for the King, the FEN castling field of a
2323 written FEN will now contain the file ID of all pieces with initial
2324 ('i') moves in their Betza definition. On reading the virginity of
2325 pieces not thus mentioned in the castling field will get their
2328 2016-01-13 16:07:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2329 Fix setting of initial virginity on PGN read
2331 The back-rank virginity bitmaps were not cleared in ParseFEN.
2333 2016-01-12 14:48:57 -0500 Joshua Pettus <jshpettus@gmail.com>:
2334 Update zh_CN.po translation
2337 2016-01-12 00:01:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2338 Increas number of engine-defined variants to 15 (WB)
2340 The number of engine-defined variants that can be selected in WinBoard's
2341 New Variant dialog is increased from 9 to 15 by adding some radio buttons.
2343 2016-01-11 22:58:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2344 Fix parsing of OO castling when redefined
2346 A 'piece' command can redefine the castling stride of a King,
2347 and OO castling for non-Fischer castling is internally encoded as the
2348 King step, and thus has to know this.
2350 2016-01-11 22:44:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2351 Fix writing FEN castling rights for non-edge 'Rooks'
2353 Non-Fischer castling rights were only recognized on FEN writing when
2354 the castling partner was in the corner. Now it can be anywhere on the
2355 correct side of the King.
2357 2016-01-11 21:05:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2358 Fix reading FEN FRC castling rights when King not on last rank
2360 There was still a hard-coded rank 0 / BOARD_HEIGHT-1 there.
2362 2016-01-11 20:21:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2363 Fix Makefile for Dragon and minor Lion image
2365 These new pieces were not mentioned in the list of SVG data.
2367 2016-01-11 20:13:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2368 Add Wolf, Camel and Zebra bitmaps to WB
2370 Built-in images for some of the new pieces are added for WinBoard.
2371 These are Wolf, Camel and Zebra, but also the duplicat Lion is defined.
2373 2016-01-11 16:03:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2374 Fix white Iron General image
2376 The white background of this image was not entirely filled.
2378 2016-01-11 16:01:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2381 There are now too many Knight-like piece images, that are too similar.
2382 So the Unicorn from now on will look to the right.
2384 2016-01-11 11:39:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2385 Add white Zebra piece image
2387 This image had not made it into git with the other new pieces.
2389 2016-01-11 11:35:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2390 Correct backup pieces for addition of minor Lion
2392 The added piece type was not put in the list of backup pieces, so that
2393 the pieces beyond it got out of phase, and no backup for the Prince
2394 would be found, leading to an error popup about missing default pieces.
2395 The error message on this has now been improved to mention the piece
2398 2016-01-10 23:54:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2399 Never castle when King has other initial moves
2401 The ApplyMove routine assumed that any lateral King step of more than
2402 a single square was a castling, and then swung the nearest piece in
2403 that direction around the King. This failed in Grande Acedrex, where
2404 the King can (amongst others) jump 2 squares sideways as an initial move.
2405 So we now first check if the King has its moves redefined in a way that
2406 does specify no castling but does specify other initial moves, and perform
2407 any move as just a simple King move in that case.
2409 2016-01-07 23:32:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2410 Fix edit command for double-digit ranks
2412 Rank numbers above 9 were printed as their internal 1-character
2415 2016-01-06 20:12:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2416 Add duplicat of Lion (and Flying Dragon)
2418 Two more piece types are added: a duplicat of the Lion in the unpromoted
2419 series, and a Flying Dragon as its promoted counterpart. This Lion does
2420 not suffer from the Lion-trading restriction of Chu Shogi, and can be used
2421 as a general piece. Its pictogram is somewhat smaller than that of the
2424 2016-01-03 14:09:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2425 Fix typos in winboard.c
2428 2016-01-03 12:38:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2429 Let parsing of O-O castlings pay attention to castling rank
2431 The parser assumed O-O and O-O-O castlings would always take place
2432 on the back rank, even when the newly introduced castlingRank array
2433 specified differently.
2435 2016-01-03 12:22:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2436 Fix FEN castling rank for Knightmate
2438 The newly introduced castlingRank array was not correctly set on reading
2439 a FEN for Knightmate, because it was looking for Kings rather than
2442 2016-01-02 19:53:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2443 Replace Flying Dragon piece image by Gnu
2445 How could we not think of this before!
2447 2015-12-29 23:37:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2448 Also define Lance image for Amazon in WB
2451 2015-12-29 23:33:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2452 Use hoplit helmet for Copper General in Chu Shogi
2455 2015-12-29 22:46:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2456 Skip in pieceToChar to Tokin always
2458 The piece after the skip symbol '/' in the pieceToCharTable was
2459 defined as CHUPROMOTED Pawn, which only is a Tokin in variant chu,
2460 but a Cannon in other variants. The intension was to always skip
2463 2015-12-29 22:20:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2464 Assign new images to the new pieces
2466 The 5 new pieces behind Lion, and their chu-promoted versions,
2467 are assigned the 9 new images. The 10th piece gets the Lance image,
2468 to povide a duplicate for this that will not be considered a Pawn
2469 in any variant (so it can be used for Amazon).
2471 2015-12-29 22:13:03 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2472 Add 2x9 new piece images
2474 Wolf, Camel, Zebra, Dragon, Wizard, Viking, Iron, Copper and Tower
2477 2015-12-29 20:43:39 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2478 Fix parsing of pieceToChar strings
2480 The skipping to the chu-promoted series was not working. The character
2481 that triggers the skipping has been changed from : to /, because : is
2482 a narrow character potentially useful as ID suffix.
2484 2015-12-29 18:02:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2485 Fix color of white SVG pieces
2487 The newer SVG pieces were bright white, rather than the ivory default color.
2489 2015-12-19 11:10:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2490 Fix piece command after ID-suffix patch
2492 Piece IDs without suffix or & behind them to make them count for both
2493 colors were no longer recognized in 'piece' commands, because there
2494 was a null character behind the extracted piece-name field. And this
2495 null character was seen as occurring in the suffix string.
2497 2015-12-17 12:44:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2498 Fix bare-king adjudication in Atomic
2500 In Atomic a bare King cannot win, but it can already have won, when
2501 the last piece of that side captured or destroyed the opponent King
2502 when exploding. The win-to-draw correction now recognizes this
2503 situation, so that the win is uphold there.
2505 2015-12-02 12:53:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2506 Erase old logo before drawing new one (XB)
2508 In case of an invalid or absent logo, the previous logo kept being
2509 displayed. Now the area is painted grai first.
2510 Also fixes a bug in the expose area.
2512 2015-11-27 21:01:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2513 Allow debug output to go to child process (WB)
2515 A -debugfile name starting with tree slashes will not be interpreted
2516 as a file to write on, but (after stripping the slashes) as an executable
2517 to run, and send the output to. This could be used by an external
2518 broadcasting agaent.
2520 2015-11-27 17:55:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2521 Fix DarkSquare bug in piece counting
2523 When counting pieces for adjudication purposes, a DarkSquare on the
2524 board caused an out-of-bounds access to the counter array.
2526 2015-11-26 22:12:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2527 Fix piece commands for suffixed piece IDs
2529 Due to signed-/unsigned-char problems piece IDs suffixed with ' or !
2530 would not be recognized. In addition a & behind it would not be correctly
2531 recognized diue to the alignment problem the suffix character caused.
2532 Both issues are fixed now.
2534 2015-11-25 19:26:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2535 Allow skipping over black squares
2537 'Skip pieces', defined with a 'j' prefix on a slider(asopposedto rider),
2538 which skip the first square(s)of their path irrespective of occupation
2539 should also be able to skip over holes in the board.
2541 2015-11-24 20:10:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2542 Display new user logo when username is entered
2544 When the Edit->Enter Username type-in was used, a new user logo was
2545 loaded, but not immediately displayed. While the old user logo could
2546 already be up, during a man-machine game. Now it is also immediately
2549 2015-11-24 20:00:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2550 Try to load bitmaps for all pieces (WB)
2552 WinBoard only contains build-in bitmaps for the first 22 piece types,
2553 and also only associated filenames with those that can be used to
2554 provide external images. Now a new naming convention for piece images
2555 is introduced, like piece22_49s.bmp for a 49x49 bitmap for solid piece 22.
2556 All pieces that were not loaded according to the old convention now
2557 try to find images with this naming convention if a -pieceImageDirectory
2560 2015-10-20 17:30:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2561 Fix sortng of mate scores
2563 With the new convention for mate scores (100000+DTM), lower numbers
2564 represent faster mates and thus better scores, and the sorting of PVs
2565 in the Engine Output window now takes that into account.
2567 2015-10-20 17:22:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2568 Print mate scores as #N in message field
2571 2015-10-20 15:05:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2572 Start implementing EPD test suites
2574 An option -epd is added that can be used in combination with matchMode
2575 to let XBoard do a test suite on a file of EPDs with a "bm" qualifier.
2576 It would record the time to solution. Reporting still has to be implemented;
2577 as yet unsolved problem is that currently black-to-move EPDs would
2578 be presented to the second engine.
2580 2015-10-20 14:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2581 Slip in 10 more piece types
2583 Five new piece type without a defined image are added to increase the
2584 length to the unpromoted series from 11 to 16. They all map behind
2585 the Lion, which remains the 11th piece. Five promoted types are added
2586 as well, just before King. No images are defined for these pieces (yet),
2587 not even image-file names, so they can only be used with the 'Tile'
2588 fallback and a user-defined inscription.
2590 2015-10-19 18:50:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2594 2015-10-16 14:40:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2595 Fix exclusion header fix
2598 2015-10-15 23:41:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2599 Grayout Machine Match menu when aborting match
2601 Clicking the Machine Match menu item when a match or tourney is in
2602 progress will make XBoard drop out of match mode when the game finishes.
2603 The check mark will remain on the item until that moment. But now we
2604 gray out the item to show that the match is scheduled for termination.
2606 2015-10-15 20:57:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2607 Base tinyLayout decision on total board width
2609 The decision whether to include system menu and use one-letter main menus
2610 is now taken based on the total board width, rather than the square size,
2611 to account for boards that do have other than 8 files.
2613 2015-10-15 20:45:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2614 Use intermediate width menu bar in sizes 37 & 40 (WB)
2616 Due to the increased number of main menus the menu bar wrapped to two lines
2617 in sizes slim and small (which did not use the single-letter 'tinyLayout'
2618 menu texts). An intermediate menu-bar format with 3-letter texts is now
2621 2015-10-15 17:25:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2622 Display exclusion header only for engines supporting exclusion
2624 The display of the exclusion header in the Engine Output window is made
2625 dependent on the engine having emitted feature exclude=1 at startup.
2627 2015-09-19 19:35:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2628 Fix periodic updates GTK
2630 Only the first periodic update event would occur, because the clock function
2631 did not retun True to encourage timer events to keep coming.
2633 2015-08-11 09:38:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2634 Make -inscriptions a volatile option
2636 Saving unicodein the settings file does not work, and leads to an
2637 octal escape sequence for non-ascii characters, which is not correctly
2638 read back. For now saving thus is avoided.
2640 2015-08-07 18:45:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2641 Make inscriptions somewhat smaller and non-bold
2644 2015-08-06 23:49:02 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2645 Fall back on Tile SVG in pieceImageDirectory
2647 If a -pieceImageDirectory is given, but a needed piece is not found,
2648 and -inscriptions are specified, we first fall back on a general
2649 image White/BlackTile.svg. This can then serve as a background for the
2650 various inscription glyphs, using the latter to distinguish the pieces.
2651 E.g. the Tile image could be a shogi tile, and the inscriptions an utf8
2652 string of kanji, to create Shogi pieces on the fly.
2654 2015-08-06 19:41:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2655 Take account of glyph size when positioning inscriptions
2657 We calculate the position of the inscription from its pango extents.
2659 2015-08-06 19:14:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2660 Also write inscription on dragged piece
2663 2015-08-06 19:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2664 Use pango to draw inscriptions
2666 The cairo 'toy fort' interface apparently cannot handle kanji. So we
2667 switch to renderingthe the inscriptions via pango.
2669 2015-08-05 22:40:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2670 Let color of inscription depend on piece ID
2672 Only shogi-promoted piece types (with ID defined as +) will get their
2673 inscription rendered in red.
2675 2015-08-05 20:37:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2676 Render inscriptions upside-down for black pieces (XB)
2678 The -inscriptions option is intended to supply the kanji on images of
2679 blank Shogi tiles, and thus have to be flipped for the pieces that play
2680 downward. Depending on the -flipBlack setting and -flipView this can be
2681 either white or black.
2683 2015-08-03 21:59:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2684 Prevent printing in non-existing Chat dialog (XB)
2686 The Xaw build of XBoard crashed in -ics -zp mode when the opponent was
2687 kibitzing. According to a stack trace OutputChatMessage() tried to change
2688 the color of a non-existent button. Although it was not clear how printing
2689 there could be attempted if no chats were defined, the routine now is made
2690 a no-op when the Chat dialog does not exist, by an immediate return.
2692 2015-08-03 21:07:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2693 Ignore Continue Later when match already in progress
2695 We have to prevent the user from changing the tournament file or parameters
2696 for a tourney in progress through pressing 'Continue Later'.
2698 2015-08-03 20:55:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2699 Remember tourney-file changes after Continue Later
2701 After leavingthe Tournament dOptions dialog with Continue Later,
2702 the tournament file would not be set to the entered value, and re-opening
2703 the dialog would keep using the previous value, or a newly generated one.
2705 2015-08-03 20:39:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2706 Correctly remember checkboxes on Continue Later (WB)
2708 The WinBoard tournament dialog could be left in an inconsistent state
2709 on Continue Later, when the user untickedthe checkboxes for auto-stepping
2710 and two games per line, after on an earlier attempt their ticking had
2711 already resulted in settng the line/position index to a negative value.
2712 Negative values left in the numeric entriesare now reset to 0 when the
2713 chackboxes are unticked.
2715 2015-07-24 23:55:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2716 Fix bridge capture of Lions
2718 Clearing the kill square for the check test had broken the test for it
2719 being empty or containing a Pawn. We now also test for Go Between,
2720 which was not done at all.
2722 2015-07-24 23:48:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2723 Fix Shogi promotion popup
2725 With the new promotion defaults Shogi was using the Chess promotion
2726 popup rather than the Shogi (yes/no) one.
2728 2015-07-24 23:47:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2729 Fix disappearance of a1 on double capture
2731 The triple-capture patch did indicate a1 as initial second e.p. victim.
2733 2015-05-16 23:35:46 -0700 Arun Persaud <arun@nubati.net>:
2734 Updated copyright notice to 2015
2737 2015-04-28 11:15:22 -0400 Joshua Pettus <herecomethej@sbcglobal.net>:
2738 make install from macports part 2
2740 Oops, forgot a line..
2742 2015-04-28 10:05:53 -0400 Joshua Pettus <herecomethej@sbcglobal.net>:
2743 Make install from macports more robust
2745 better to search for the macports prefix then assume /opt/local
2747 2015-03-24 16:52:22 -0400 Joshua Pettus <jshpettus@gmail.com>:
2748 Change Copyright year in info.plist.in
2751 2015-03-11 17:42:49 -0400 Joshua Pettus <jshpettus@gmail.com>:
2755 2015-03-11 17:38:12 -0400 Joshua Pettus <jshpettus@gmail.com>:
2759 2015-03-11 17:04:15 -0400 Joshua Pettus <jshpettus@gmail.com>:
2763 2015-03-11 16:40:52 -0400 Joshua Pettus <jshpettus@gmail.com>:
2764 A little reorganizing
2767 2015-03-10 16:02:05 -0400 Joshua Pettus <jshpettus@gmail.com>:
2768 Remove unused directory
2771 2015-03-10 15:33:05 -0400 Joshua Pettus <jshpettus@gmail.com>:
2772 GTK OSX theme reimplemented
2774 This is a new theme that was included with the GIMP OSX app. It is
2775 much simpler with no pixbuffs, so there should be no chance of missing
2776 images. Also had to reimplement the murrine engine.
2778 2015-03-10 15:19:53 -0400 Joshua Pettus <jshpettus@gmail.com>:
2779 gtkmacintegration localization updates
2781 With the update to the gtkmacintegration library, localization strings
2782 have been fixed, so there is no need for us to have separate ones, and
2783 we can pull from the macports install.
2785 2015-03-10 15:16:10 -0400 Joshua Pettus <jshpettus@gmail.com>:
2786 gtkmacintegration name change
2788 with the last update the gtkmacintegration lib was renamed
2789 gtkmacintegration-gtk2 to differentiate from gtk3
2791 2015-03-10 15:14:09 -0400 Joshua Pettus <jshpettus@gmail.com>:
2792 OSX master conf changes
2794 Make OSX app masterconf more in line with the default one, where it was
2795 unnecessary. Also it was a mistake to use the ip address for FICS as
2798 2015-03-10 14:27:20 -0400 Joshua Pettus <jshpettus@gmail.com>:
2799 Include Pango Modules
2801 Before I was using a special macports variant that had the pango
2802 modules built into the library. Now that I know a little bit more,
2803 it’s really not necessary to require a special variant here.
2805 2015-03-10 14:21:36 -0400 Joshua Pettus <jshpettus@gmail.com>:
2806 Man and Info Page Fix
2808 Terminal.app doesn’t accept command line arguments. Rather then use OSX
2809 feature of using .command scripts to launch the man and info pages
2810 (which is problematic with gatekeeper), it is much better to open them
2811 directly with applescript. Had to move infoProc to xboard.c to do
2814 2014-12-20 20:47:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2815 Implement -positionDir option GTK
2817 This volatile option determines where Load Position starts browsing.
2819 2014-11-17 22:51:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2820 Allow promotion choice in variant asean
2822 Apparently the rules of this game are changed since the first draft
2823 from 2011, and now you cannot just promote to Ferz ('Queen'), but pick
2824 any piece. Meaning the Rook has to be the default, being the strongest.
2826 2014-11-11 14:40:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2827 Fix crash on using Browse buttons in Tournament dialog Xaw
2829 The Xaw file browser assumes the text entries it is browsing for are
2830 all in dialogs of the class TransienDlg, but the Tournament Options
2831 dialog has been altered to MasterDlg, to allow it to co-exist with
2832 Time Control and Common-Engine dialog (which can be opened through
2833 buttons in it). Xaw did not like that, and the true DialogClass is
2834 now used when setting the widget text.
2836 2014-11-10 14:29:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2837 Fix -addMasterOption option
2839 The comparison of the date stamps in master and user settings file
2840 was broken, because the date stamps were declared as unsigned, so that
2841 the difference would never be negative.
2843 2014-11-02 15:52:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2844 Fix premature disappearence of Lion victims
2846 The check test did not correctly undo a Lion e.p. capture, which
2847 would make the victim already disappear after entry of the first leg,
2848 which potentially could affect the second leg move generation.
2849 (Not in Lions, though, but in Betza castlings it manifested itself.)
2851 2014-10-30 15:01:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2852 Connect OSX Quit menu to ExitEvent
2854 The Quit menu item provided by OSX was not equivalent to the original
2855 XBoard menu item, as it did not automatically call ExitEvent. (Which
2856 closing the window did.) This meant a hard kill, without saving settings
2857 or the last game, and not properly shutting down the engine(s).
2858 We now catch the OSX 'WillTerminate' event to perform these tasks.
2860 2014-10-28 22:37:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2861 Add USI/UCCI checkbox to Load Engine dialog
2863 Assign a default command to the -uxiAdapter when it was not yet defined,
2864 as this will be used after ticking the checkbox, and the compile-time
2865 default for it was an empty string, and will have found its way in
2866 the user settings files of most users (making configuring through
2867 the master settings file pointless).
2869 2015-04-18 11:09:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2870 Allow promotion to piece with letter ID in Chu
2872 Normally all promoted versions in Chu have ID '+', but it could be
2873 useful to allow piece promotion always, as long as the promoted piece
2876 2015-04-18 11:07:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2877 Implement triple capture (not finished)
2880 2015-03-13 22:58:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2881 Make Claws glyph available in non-Chu variants
2883 The variant-dependent replacement glyphs for promotable pieces in Chu
2884 are now assigned to pieces that reuse the replaced glyphs to represent
2885 promoted pieces, rather than to unused promoted pieces. This means that
2886 in Chu they now must be replaced by swapping, which avoids occurrence
2887 of duplicats both in Chu and other variants. And thus frees piece types
2888 that now can be used for new glyphs. As a result the Nightrider remains
2889 available in Chu, and the Claw glyph in other variants. Other freed
2890 pieces are for now used for the promotion Golds of variant shogi.
2892 2015-03-13 21:42:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2893 Also allow Princess SVG piece to be diversify
2895 The image for the Grasshopper has a copy in the Chu-promoted series.
2896 The unpromoted image (not needed in Chu) is now preferentially taken
2897 from a Crown image rather than Princess, allowing distinction between
2898 the promoted and unpromoted piece in kanji themes for Wa Shogi.
2899 Any piece between Grasshopper and chu-promoted Marhall can now in principle
2902 2015-03-11 13:44:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2903 Allow Lion double-moves in opening book
2905 Double moves can now be encoded in a Polyglot es promoType = 2, and
2906 a code for two King steps in the to-square. The moves are retrieved
2907 in the Alien Edition protocol format (i.e. comma-separated LAN).
2908 HandleMachineMove had to be adapted to handle the two legs coming as one,
2909 but otherwise the book code can just send the retrieved line directly
2911 For Edit Book the format has to be converted to TSA-like for display,
2912 to make the move parser that will read it on saving understand the move
2915 2015-03-10 17:57:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2916 Fix reading of pieceToChar string and piece command
2919 2015-03-09 22:04:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2920 Fix printing of book moves for double-digit ranks
2922 The book-code move_to_string was not adapted to double digits,
2923 and printed ':' in stead of 10.
2925 2015-03-09 20:35:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2926 Fix display update during Edit Book
2928 When moves were deleted from the book, this was only shown after
2929 quitting and restarting XBoard, because the stream that was used for
2930 reading the book was a different one as the stream writing it.
2932 2015-03-09 20:26:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2933 Remove chu theme file from XBoard install
2935 This file should come with the Chu Shogi piece images, not with XBoard.
2936 In addition the file was obsolete, and used an erroneous option name.
2938 2015-03-08 17:46:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2939 Fix probing of GUI book for board with more than 10 ranks
2941 The move-to-text code was not yet adapted to the convention that rank
2942 counting only starts at 0 for boards of exactly 10 ranks.
2944 2015-03-05 15:58:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2945 Implement piece suffixes
2947 The piece ID can now be suffixed with an 'ornament', which then
2948 is considered part of the piece ID. This expands the number of pieces
2949 that can be indicated in FEN or SAN to several times the alphabet.
2950 This does not yet work in a promotion suffix, as it is mainly intended
2951 for the large Shogi variants, which only use + as promotion suffix.
2952 It also does not work on King (which deserves an unadulterated letter).
2953 Currently the ornaments ' (single quote) and ! (exclamation point) are
2954 defined, (through a macro SUFFIXES in moves.h), increasing the number
2955 of piece types that can be represented to 78.
2957 2015-03-04 09:09:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2958 Fix crash XBoard on changing Game List Tags
2960 When the Game List was not up, the attempt to immediately update its
2961 contents after changing the game-header format through the Game List Tags
2962 dialog would result in a segfault.
2964 2015-03-04 09:08:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2965 Fix shift-JIS codes for N, P, +B, +R
2968 2015-03-03 22:44:32 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2969 Change book Zobrist key for Chu promoted pieces
2971 Promoted pieces for Chu (i.e. above Lion, with the exception of King)
2972 now get keys derived from their base type, by XORing in a square-dependent
2973 'promoted' key. This makes it possible to extend the unpromoted series
2974 with new pieces without altering the keys for the promoted pieces.
2975 So that the current book code works upto 48 unpromoted piece types,
2976 rather than 48 piece types total.
2978 2015-03-03 22:17:26 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2979 Fix book encoding of Chu promotion moves
2981 The Shogi promotion suffix had promotion code 8, which was not available
2982 in Chu at all, due to the large board size. So in stead we use code 1 now.
2983 Code 10 (or 2 in Chu) is reserved for encoding Lion moves, which currently
2986 2015-03-02 22:14:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2987 Remove debug printf for kanji
2990 2015-03-02 22:12:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2991 Wrap kif comments in braces
2993 The parser assumes that a text that parsed as comment contained
2994 enclosing braces, but in kif files we have to apply those ourselves,
2995 to prevent a bare comment (starting with '*'!) to appear between the moves.
2997 2015-03-02 19:59:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2998 Improve reading of pieceToCharTable
3000 The piece-to-char string can now contain ' and ! suffixes on pieces,
3001 which are taken together with the preceding piece ID. An encountered : will
3002 cause the assigning to skip to the chu-promoted series of pieces, however
3005 2015-03-02 19:16:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3006 Extend book to 48 piece types and 256 squares
3008 Before the Zobrist key could only handle 24 piece types and 128 squares.
3010 2015-03-02 13:15:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3011 Fix reading of startposition FEN starting with *
3013 When laoding a position file, a FEN starting with * would not be recognized
3014 as FEN, and parsed in an alternative way that did not like the * either,
3015 and caused a segfault.
3017 2015-03-02 12:49:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3018 Implement -rankOffset option
3020 This option is useful on boards with blacked-out ranks, to force rank
3021 number one to be a higher up.
3023 2015-03-02 12:04:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3024 Use PGN result in Game List build to supply tag
3026 If a PGN tag was missing (as in loading of non-PGN game collections)
3027 the game would be marked as unfinished ('*') in the Game List, even
3028 when it contained a result. The kif-format resign messages are now cast
3029 in a form that also recognizes the result-detail message.
3031 2015-02-28 11:05:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3032 Implement kifu move disambiguation
3034 For sliders the Japanese disambiguation clues cannot be translated
3035 to PSN-like disambiguators, so the problem had to be resolved in the
3036 Disambiguate callback, at the time when the second piece of the
3037 requested type is identified, so that the relative position of the pieces
3040 2015-02-27 17:13:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3041 Make move parser understand kif-format Shogi moves
3043 For now only utf-8 kanji are recognized. The recognition of '*' as an
3044 unfinished game end had to be suspended for this, based on encountering of
3045 bare kanji (from the kif header), and is only regained after reading
3048 2015-02-21 20:08:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3049 Do not call illegal moves ambiguos
3051 When legality testing is off, an illegal SAN move would be interpreted
3052 as if the mentioned piece type could move anywhere, which lead to an
3053 'Ambiguous Move' message if there were multiple pieces of that type.
3054 This should not be done if the piece moves are known through engine piece commands.
3056 2015-02-21 20:02:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3057 Fix parsing of illegal drops from PGN
3059 These were parsed as if the first two characters were the from-square.
3061 2015-02-20 20:27:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3062 Fix spurious promo-suffixes on drop moves
3064 The promo-suffix from the previous move would be left on drop moves,
3065 and could even be set to the engine.
3067 2015-02-20 15:46:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3068 Let promotion zone be 3 ranks on 8-rank shogi boards
3070 For the benefit of Euro-Shogi the rule that the depth of the promotion
3071 zone is the board height divided by 3, rounded down (which works so well
3072 for mini-, Judkins, Tori and regular Shogi) is given an exception when
3073 the numer of ranks is 8.
3075 2015-02-20 14:07:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3076 Fix illegal-drop fix
3079 2015-02-18 22:54:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3080 Suppress lift command on deselecting piece
3082 A click on the selected piece deselects it, and thus should not
3083 result in a lift command to prompt highlighting of its moves.
3085 2015-02-18 22:49:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3086 Suppress appearance of promotion popup when sweep-selecting
3088 In highlight-induced promotions the popup would appear even when it
3089 should have been off.
3091 2015-02-18 22:47:30 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3094 Even white was dropping black pieces on those!
3096 2015-02-15 23:17:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3097 Fix click-click sweep-select
3099 If the up-click of the second click of a sweep-select would occur in the
3100 from-square, the whole move would be ignored, and de-select the promoting
3103 2015-02-15 23:12:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3104 Fix promotion sweep of black Pawns in Shogi
3106 The wrap-around when we run past white King should not be done in
3107 toggle mode, where it is guaranteed we won't run out of range.
3109 2015-02-09 10:09:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3110 Fix deselection of piece
3112 The patch to allow entering of friendly capture (intended as a kludge
3113 for entering non-standard castling) had broken the ability to change
3114 the selected piece by clicking another piece, as this was now always
3115 interpreted as a friendly capture (which was then rejected as illegal).
3116 By testing marker[][] in stead of legal[][] this can be avoided; legal[][]
3117 was not a good measure, because in absence of a highlight command it
3118 is completely filled with 1, to make everything legal. No friendly squares
3119 will ever get marked unless a highlight command does it, though.
3121 2015-02-09 10:01:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3122 Fix highlight-induced promotions
3124 A purple square in the highlight color FEN triggered the promotion
3125 procedure, but the chosen promotion piece would not be suffixed to
3128 2015-02-09 10:01:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3132 2015-02-06 13:01:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3133 Take heed of mnemonic indicator when clipping menu texts
3135 An underscore in the menu text should not be counted when deciding where
3136 to clip the text to make the menu bar fit the window width. If clipping
3137 would occur immediately after an underscore, just clip off the first
3138 character to get the mnemonic back in view. (This makes _n from the
3141 2015-02-05 23:01:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3142 Let Betza jO mean castling with non-edge piece
3144 This is useful in Omega Chess, where the Rooks are not on the edge.
3145 The number of j tell how many pieces have to be between edge and castling
3148 2015-02-05 20:09:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3149 Castle with nearest rather than corner piece
3151 An oversized sideway King step is recognized as castling, but instead
3152 of using the piece closest to the board edge on that rank (ignoring dark
3153 squares) we now use the piece that the King is looking at in that direction.
3154 This fixes castling in Omega Chess.
3156 2015-02-05 19:44:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3157 Allow friend-trampling format also for royal castlings
3159 The restriction that the trampling piece should not be King is lifted.
3160 That the piece has an O atom in its Betza string is enough to qualify.
3162 2015-02-05 19:34:32 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3163 Recognize castling double-moves from engine
3165 An engine could already send double-moves of the Alien protocol,
3166 where the same piece moved twice, which were then glued into a single
3167 step, with the intermediate square as trampled piece. Now when the
3168 second leg is whith a different piece, it keeps the first leg as overall
3169 move, and tramples the second mover. This translates castlings sent
3170 as two-piece moves to the kludge format of trampling the own 'Rook'.
3172 2015-02-05 17:35:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3176 2015-02-05 17:33:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3177 Print castlings as double move
3180 2015-02-05 12:24:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3183 For illegal drops the 'from-square' was subjected to an on-board test,
3184 which of course always failed, after which the move was reclassified
3185 as an ImpossibleMove after all. (Leading to rejection even when legality
3186 testing was off, and error messages like "Could not parse move".)
3188 2015-02-03 12:49:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3189 Fix width of dual board GTK
3191 The message field here was too wide, because it was attached to a
3192 non-existing table column.
3194 2015-02-03 10:14:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3195 Fix Tab in ICS command mode
3197 Tab was not working to open a chat after oborting opening a new one,
3198 when only one chat was open.
3200 2015-02-02 16:29:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3201 Fix sending of messages from kibitz or c-shout chat
3203 Kibitz messages and c-shouts could be captured in their own chat window.
3204 like shouts and whispers, but sending messages from such chats did not
3205 get the proper prefixing, but were treated as tells to nonexistent players
3206 'kibitzes' and 'c-shouts'.
3208 2015-01-29 11:20:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3209 Ignore Tab in ICS Interaction if no chats assigned
3211 Thuis used to open a new chat, but Ctl-N exists for that now.
3213 2015-01-29 11:12:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3214 Use Ctl-E in ICS chat to end chat
3217 2015-01-29 10:56:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3218 Use Ctrl-H in ICS Chat to close chat pane
3220 This used to be done by <Esc>, but that now focuses board instead.
3222 2015-01-28 23:17:23 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3223 Let <Esc> transfer focus from Board to ICS Input
3225 <Esc> in the input field of the ICS Interaction window transfers focus
3226 to the board, but there was no way to transfer focus back without actually
3227 typing something in the input field. <Esc> now does that. Unlike typing
3228 printables, it does not close the chat pane, though. In addition, <Esc>
3229 when the chat pane is open now also transfers focus to the board, rather
3230 than closing the chat pane. This makes quick transparent switching between
3231 board and Chat / ICS Interaction possible. It is no longer possible to
3232 simply hide the chat pane, though. But this was usually done for typing
3233 a command, and swicthing to the board with <Esc> and typing the command
3234 there has the same effect.
3236 2015-01-20 12:02:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3237 Define mnemonics for main menu bar
3240 2015-01-20 11:54:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3241 Set position dir to handicap positions in shogi theme
3244 2014-12-21 23:09:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3245 Let file selecor remember last used directory (GTK)
3247 The file selector now starts in the directory that was last used
3248 to load a file of the type we are now browsing for. (Supported types:
3249 pgn, fen, trn, bin, png.)
3251 2014-12-20 20:47:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3252 Implement -positionDir option GTK
3254 This volatile option determines where Load Position starts browsing.
3256 2014-11-17 13:00:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3260 2014-11-13 20:23:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3261 Fix click-click moving with -monoMouse
3263 A to-click should never be interpreted as button 3.
3265 2014-11-13 18:33:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3266 Implement -monoMouse option (XB)
3268 With the monoMouse option button-3 is no longer needed in Edit-Position
3269 mode, but a button-1 click on an empty square will automatically behave
3270 as if it was button 3. It can only be used with -pieceMenu false,
3271 as it does not communicate the coordinates of the clicked square.
3273 2014-11-11 14:40:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3274 Fix crash on using Browse buttons in Tournament dialog Xaw
3276 The Xaw file browser assumes the text entries it is browsing for are
3277 all in dialogs of the class TransienDlg, but the Tournament Options
3278 dialog has been altered to MasterDlg, to allow it to co-exist with
3279 Time Control and Common-Engine dialog (which can be opened through
3280 buttons in it). Xaw did not like that, and the true DialogClass is
3281 now used when setting the widget text.
3283 2014-11-10 14:29:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3284 Fix -addMasterOption option
3286 The comparison of the date stamps in master and user settings file
3287 was broken, because the date stamps were declared as unsigned, so that
3288 the difference would never be negative.
3290 2014-11-03 21:59:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3291 Allow creation of DarkSquares in EditPosition mode
3293 Dragging an EmptySquare off board will make it a DarkSquare. Dragging
3294 anything else off board (incl. DarkSquares) makes it empty, as before.
3296 2014-11-03 21:56:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3297 Let Clear Board respect DarkSquares
3299 Usually we will clear the board to set up a new position. Not to
3300 redesign the board shape.
3302 2014-11-03 21:51:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3303 Fix sweep promotions for Lance on deeper zones
3305 Unlike Pawns, Lances always assumed a zone depth of 1 in deciding on
3306 activating sweep promotion. (Because they did not naturally occur in
3307 any variant that had a deeper zone.)
3309 2014-11-03 21:49:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3310 Fix two-sided non-royal castling
3313 2014-11-02 21:44:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3317 2014-11-02 15:52:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3318 Fix premature disappearence of Lion victims
3320 The check test did not correctly undo a Lion e.p. capture, which
3321 would make the victim already disappear after entry of the first leg,
3322 which potentially could affect the second leg move generation.
3323 (Not in Lions, though, but in Betza castlings it manifested itself.)
3325 2014-11-02 15:31:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3326 Implement non-royal castling
3328 The Betza move generator allows castlings to be specified on non-royal
3329 pieces, and indeed the Omega-Chess 'guarding' castles Q with R. To
3330 prevent ambiguity this is implemented as a two-leg move QxR-s (with 's'
3331 the target square specified in the O atom). This automatically takes care
3332 of removal of the 'Rook', so that in ApplyMove() we only have to put it
3333 back on the proper side of the 'King'.
3335 2014-11-02 12:24:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3336 Also set e.p. rights on move of Lance
3338 The Lance is intended as Pawn alternative (because of its slim shape),
3339 except in Superchess (where it represents Amazon) and Chu. (In regular
3340 Shogi the Lace is represented by Queen disguised as Lance!) So it would
3341 be logical to also make its double-Pushes set e.p. rights. Except in
3342 Spartan Chess, which has no e.p. capture.
3344 2014-11-02 11:29:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3345 Allow e.p. capture on triple-Push
3347 Some variants (like Omega Chess) have an initial triple-Push on Pawns,
3348 wich can then e.p.-captured on both of the squares they skip. To allow
3349 the Betza move generator to supply such e.p. captures, a bit flag is
3350 kludged into the EP_RANK state indicator on triple pushes, while the
3351 main value there is that of the rank directly behind the pushed Pawn.
3352 The Betza generator then also matches the square behind it with the
3353 e.p.-capture to-square when the falg is set.
3354 ApplyMove() also had to be adapted, to remove the Pawn two squares
3355 behind the capturing one, rather than straight behind it, when this
3358 2014-10-31 23:46:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3359 Make the promotion zone always 3 deep in Elven Chess
3361 The promotion zone in Eleven Chess was treated as in Shogi, and set
3362 to the board height divided by 3. It is better to always make it 3.
3363 This only makes a difference when the boardHeight is overruled,
3364 but Elven Chess is a very useful parent variant when a 3-deep promotion
3365 zone is needed. (Makruk would only allow promotion to Ferz, and Grand
3366 Chess would need holdings and allow only promotion to captured pieces.)
3368 2014-10-31 22:59:23 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3369 Locate corner piece in presence of DarkSquares
3371 The 'Rook' move implied by a castling indicated through an obver-sized
3372 King step uses the corner pieces. But the corner isn't necessarily
3373 the edge file if the board is not rectangular, but irregularly shaped
3374 like in Omega Chess. So we have to ignore the DarkSquares, which are
3375 not caounted as belonging to the board.
3377 2014-10-31 14:26:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3378 Allow Betza castling with piece next to DarkSquare
3380 In variants like Omega Chess the board edges are not really the first
3381 and last file, because of the Wizzard squares. So castling has to be
3382 allowed not only with the piece on those files, but also when the square
3383 beyond them is not part of the board anymore.
3385 2014-10-31 13:54:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3386 Let Betza generator respect DarkSquares
3388 DarkSquares are not pieces, and should not be moved. When landing
3389 on them they should be considered as off-board.
3391 2014-10-30 15:01:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3392 Connect OSX Quit menu to ExitEvent
3394 The Quit menu item provided by OSX was not equivalent to the original
3395 XBoard menu item, as it did not automatically call ExitEvent. (Which
3396 closing the window did.) This meant a hard kill, without saving settings
3397 or the last game, and not properly shutting down the engine(s).
3398 We now catch the OSX 'WillTerminate' event to perform these tasks.
3400 2014-10-28 22:37:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3401 Add USI/UCCI checkbox to Load Engine dialog
3403 Assign a default command to the -uxiAdapter when it was not yet defined,
3404 as this will be used after ticking the checkbox, and the compile-time
3405 default for it was an empty string, and will have found its way in
3406 the user settings files of most users (making configuring through
3407 the master settings file pointless).
3409 2015-05-02 20:30:08 -0700 Arun Persaud <arun@nubati.net>:
3410 make GTK the default version
3413 2015-05-02 20:26:48 -0700 Arun Persaud <arun@nubati.net>:
3414 updated Dutch translation
3417 2015-05-02 20:26:38 -0700 Arun Persaud <arun@nubati.net>:
3418 updated German translation
3421 2015-04-26 13:31:29 -0700 Arun Persaud <arun@nubati.net>:
3422 fix typo in configure
3425 2015-04-26 12:49:09 -0700 Arun Persaud <arun@nubati.net>:
3426 updated French translation
3429 2015-04-26 12:49:01 -0700 Arun Persaud <arun@nubati.net>:
3430 updated German translation
3433 2015-04-19 20:26:20 -0700 Arun Persaud <arun@nubati.net>:
3434 added French translation
3437 2015-04-19 20:19:18 -0700 Arun Persaud <arun@nubati.net>:
3438 updated German translation
3441 2014-11-22 09:22:37 -0800 Arun Persaud <arun@nubati.net>:
3442 Added Serbian translation
3445 2014-10-24 22:27:31 -0700 Arun Persaud <arun@nubati.net>:
3446 remove OS X theme folder
3450 2014-10-24 00:04:22 -0700 Joshua Pettus <jshpettus@gmail.com>:
3451 removed gtk theme from OSX app
3453 2014-10-23 23:33:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3454 Add persistent Boolean option -fixedSize
3456 When set, this option suppresses sizing of the board and clocks when
3457 the window is sized by the user. This is achieved by wrapping the entire
3458 dialog in a non-expanding hbox.
3460 2014-10-23 21:23:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3461 Also do dual-royal test in variant shogi
3463 For the benefit of Sho Shogi we also have to be prepared to find a
3464 Crown Prince in variant shogi, so it can be used as a parent variant
3465 for Sho Shogi with legality testing on.
3467 2014-10-23 16:22:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3468 Fix promotion in Betza move generator
3470 The Betza move generator was geenrating allmoves as NormalMove, but in
3471 that case XBoard would not allow the move to have a promotion suffix.
3472 Now Pawns and Lances reaching last rank will be assumed to promote.
3474 2014-10-22 13:06:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3475 Attempt to make GTK sizing work with tiling WM
3477 The Rezise routine now takes the size of the entire dialog table
3478 (for me always equal to the outer-window size), and checks if the
3479 actual outer window is smaller. If it is, it shrinks the board to fit,
3480 under the assumption that a tiling window manager offers only a limited
3481 'viewport' to our dialog, and we want everything to be visible inside that.
3483 2014-10-22 11:04:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3484 Fix -xbuttons window width GTK
3486 Because Label options not followed by a SAME_ROW element were only
3487 packed into the first two columns of the dialog table, the board window
3488 reserved space for a third column behind the message window if there
3491 2014-10-21 20:37:41 -0700 Arun Persaud <arun@nubati.net>:
3492 mac: only use gtk compile flag, if osxapp is enabled
3495 2014-10-21 22:40:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3496 Prevent unknown variant getting button in -ncp mode
3498 Normally we fake the engines play the requested variant, for the benefit
3499 of engines that do not send a variants feature (e.g. v1 engines). But this
3500 should not be done if there is no engine, as it would lead XBoard to
3501 believe an unknown variant name is an engine-defined variant supported
3502 by a currently loaded engine, and create a button for it in the New Variant
3505 2014-10-21 22:07:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3506 Fix variant-name recognition
3508 StringToVariant did recognize whether the name to recognize had suffuxes
3509 compared to the tabulated name, but not if it had prefixes. So 'shoshogi'
3510 would be recognized as 'shogi'.
3512 2014-10-21 21:52:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3513 Suppress duplicat autoInstalls
3515 If the engine line constructed for -autoInstall already occurs in
3516 the engine list, we should not install it again.
3518 2014-10-21 18:41:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3519 Base new square size on board widget allocation GTK
3521 No longer pay attention to the size of the top-level window, but base
3522 everything on the size of the board widget itself.
3524 2014-10-21 13:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3525 Ignore first configure event
3527 The first configure event will be the one that adds the window decorations
3528 to the board window, and must not be used to calculate a new square size,
3529 but to expand the outer window instead.
3531 2014-10-21 11:35:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3532 Let GTK dialogs open with actual-size Graph widgets
3534 The Graph Option size values are now uses as size_request, to give
3535 proper dialog sizing at popup. But the size_request is then reset
3536 so that free sizing by the user becomes possible.
3538 2014-10-19 13:16:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3539 Fix display of Spin Options with negative range
3542 2014-10-17 21:35:25 -0700 Arun Persaud <arun@nubati.net>:
3543 line numbers in PO got updated
3546 2014-10-17 21:23:47 -0700 Arun Persaud <arun@nubati.net>:
3547 updated ChangeLog, DIFFSTAT and SHORTLOG
3550 2014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>:
3554 2014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>:
3555 forget a few __APPLE__ ifdefs; changed to OSXAPP
3558 2014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>:
3561 AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching?
3562 Using just prefix=... seems to work though
3564 2014-10-16 23:34:22 -0700 Arun Persaud <arun@nubati.net>:
3565 USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE
3568 2014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3569 Fix loading of engine-defined PGN games
3571 Somehow there could be disagreement over what the official opening
3572 position of an engine-defined variant was during loading of the game.
3573 It then refused Betza-defined castling, which tests the corner pieces
3574 based on this initial position. We now assume the FEN tag, which such
3575 a PGN game will always contain, holds the official opening position,
3576 so that castling will always be assumed possible (if there is a corner
3579 2014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3580 Preserve parent variant for PGN of engine-defined game
3582 Rather than decoding an unknown variant name, (which will result in
3583 'normal'), we keep the currently set (parent) variant when an
3584 engine-defined variant is currently set that matches the name in
3585 the PGN variant tag of the loaded game.
3587 2014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3588 Fix some uninitialized variable bugs
3590 The writing of Seirawan castling rights in FEN was still dependent on a
3591 now unused variable, and encountering a VariantMen tag in a PGN file
3592 could have created the misconception the memory was full.
3594 2014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3595 Update Game List after tag selection changed
3597 When the Game List Options dialog changes the tags to be displayed in
3598 the Game List lines, we now automatically redo the entire Game List.
3600 2014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3601 Always accept piece commands in variant great
3603 Great Shatranj belongs to the variants XBoard does not know the rules of,
3604 and should thus always accept engine piece commands.
3606 2014-10-15 21:28:36 -0700 Arun Persaud <arun@nubati.net>:
3607 make all tests for strings in configure use the same scheme
3610 2014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>:
3611 updated Changelog, DIFFSTAT, and SHORTLOG
3613 2014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>:
3614 fix osxapp enable option in configure.ac
3617 2014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>:
3618 remove experimental from gtk build option
3621 2014-10-15 21:02:38 -0700 Arun Persaud <arun@nubati.net>:
3622 only enable osxapp build target on apple systems, clean up configure.ac a tiny bit
3625 2014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>:
3629 2014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3630 Don't switch to engine-defined variant on game loading
3632 When loading a game from PGN the variant tag will have been decoded as
3633 'normal' in case of an engine-defined variant, and we certainly would
3634 not want to switch to that. Better stay in the variant the user had
3635 selected before, and hope for the best.
3637 2014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3638 Implement displaying of variant tag in Game List
3640 The variant tag was displayed as an empty string in game-header lines.
3641 Processing it during PGN load was not able to handle engine-defined
3642 variants anyway; they were recognized as 'normal'. A new field in the
3643 GameInfo struct now holds variantName in text form, and this is the
3644 primary place from which it is displayed in the Game List.
3646 2014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3647 Update Game List when setting new Game List Tags
3649 Using the Game List Tags dialog to alter the gae header lines now
3650 automatically causes an update of the Game list according to the new
3653 2014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3654 Reset move entry on Clear Board
3656 The board markers would stay on when the board was cleared, and a
3657 no-longer-present piece would stay selected, leading to deletion of the
3658 first piece that you tried to select.
3660 2014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3661 Split Tournament dialog in side-by-side panes
3663 This seems to cure a sickness in some Xaw versions, which refused
3664 to display text in the text widgets, or make them sensitive for mouse
3665 clicks if the last three buttons were added. It also helps keeping
3666 the 'OK' button on-screen in the GTK version.
3668 2014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3669 Remember position obtained from setup
3671 When the engine sends a setup command, it should be remembered as
3672 initialPosition, in order for the castling 'rook' test of the Betza
3673 move generator to work.
3675 2014-09-13 12:35:12 -0700 Joshua Pettus <jshpettus@gmail.com>:
3676 Add build script to configure for a XBoard.app for OS X
3678 This relies on the the gtk build and adds some special code in
3679 gtk/xboard.c so that XBoard can be installed inside the app directory
3680 independ on where the app file is located.
3682 2014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>:
3683 replaced hardcoded pngdir with built-in ~~
3685 don't need to create xboard.conf from xboard.conf.in anymore
3687 2014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3688 Some improvement on new Shogi SVG pieces
3691 2014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>:
3692 updated spanish, ukranian, and dutch translation
3695 2014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3698 The patch for logo standard left a typo and an excess line in the Xaw
3699 version. This is fixed, and also implements the user-logo cascade for
3702 2014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3703 Try also /home/<user>/.logo.pgn for user logo
3705 The user logo now also has a cascade, first looking in the user's home
3706 folder for a file .logo.png, and then in the -logoDir for <user>.png.
3708 2014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3709 Fix ICS logo display
3712 2014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3713 Show current variant on New Variant buttons GTK in bold
3715 If an engine-defined variant is selected, we compare its name to the
3716 inscription on the button, otherwise we compare the variant numbers.
3717 (Test to trigger this is a bit awkward, to not inadvertantly apply it
3718 to the ICS Text Menu, which also has colored buttoms.)
3720 2014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3721 Increase number of engine-defined-variants Buttons XB
3723 An third column is added to the New Variant dialog when necessary.
3725 2014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3726 Force GTK logo size to quarter board width
3728 This is what GTK will do anyway, because clocks and logos are in a hbox
3729 that equally divides space, so telling XBoard different just misinforms it.
3731 2014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3732 Replace default Shogi pieces
3734 The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus.
3735 This set also contains and Elephant and Crown Prince.
3737 2014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3738 Implement new logo standard
3740 XBoard now looks in the system directories for plugin logos,
3741 /usr/(local/)share/games/plugins/logos, according to the cascade
3742 -logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/...
3744 2014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3745 Relocate OS X' LOCALEDIR
3748 2014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3749 Fix check test with multi-leg moves
3751 The check test after a multi-leg move was still using the same kill
3752 square in the opponent's reply, making it blind to King captures in
3753 a second leg. So far we got away with that because the Shogi multi-leg
3754 pieces also can reach all their potential victims in a single step,
3755 but with engine-defined multi-leg moves there is no guarantee this
3756 will always be the case.
3758 2014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3759 Fix infinite loop in cylinder moves
3762 2014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3763 Let t on final leg in Betza notation forbid checking
3765 To allow approximate definition of pieces that are too difficult to
3766 describe exactly, we can revoke their capture rights on Kings,
3767 to prevent imagined moves that happen to threaten a King forces the
3768 opponent to evade this imagined check, making most of his moves illegal.
3769 Then the piece can be safely replaced by an upward-compatible one,
3770 leaving rejection of the extra moves to the engine.
3772 2014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3773 Implement Betza hr and hr as chiral move sets
3775 To easily separate right- and left-handed moves on oblique atoms
3776 (which needs opposite use of l and r in their multi-leg continuations),
3777 the direction sets hr and hl are added.
3779 2014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3780 Preserve other Betza mode bits on setting default modality
3783 2014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3784 Switch to new Betza orth-diag conversion standard
3786 The interconversion from orthogonal to diagonal atoms is now possible
3787 for any 4-way atom, based on specification of an 'in-between' direction,
3788 irrespective of modality. Also take backward out of default continuation
3791 2014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3792 Implement Betza t modifier for hop-own
3794 The 't' modifier will restrict any form of hopping as specified by
3795 p or g modifiers to friendly pieces. This only works on non-final legs.
3797 2014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3798 Implement directional modifiers on KQ, and let y&g upgrade
3800 The Betza y and g modifiers now not only change range, but also upgrade
3801 the directional capabilities of the atom to full non-degenerate 8-fold.
3802 Directional modifiers can now be used in that symmetry too, to maximally
3803 exploit this, and implement 4-fold pieces that make 45-degree turns.
3804 Let oblique continuation legs also use the non-degenerate system.
3806 2014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3807 Implement Betza y modifier
3809 The non-standard modifier 'y' is the spontaneous counterpart of 'g',
3810 changing the range of the atom, and upgrading its directionality.
3812 2014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3813 Implement Betza g modifier for non-final legs
3815 The g modifier is implemented as a p that turns a rider into the
3816 corresponding leaper when it hops, and vice versa. This is done by
3817 stripping off any existing range indicator, and making the range
3818 infinite by suffixing '0' when the old range was 1 (whether implied
3819 or explicitly written). Except that for sliders/steppers this is done
3820 by atom-name conversion after stripping off the range. Limited range
3821 thus in general turns into leaper (D -> D0, Dn -> D), but with FWK
3822 W3 -> R and R3 -> W, etc.
3824 2014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3825 Implement Betza a modifier
3827 This is pretty complex, and might overload the current primitive two-leg
3828 legality testing when pieces are defined that can reach squares only in
3831 2014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3832 Implement Betza j on W,F as skip first square
3835 2014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3836 Always accept piece commands for Falcon and Cobra
3838 The wild-card pieces Falcon and Cobra do not have any moves assigned to
3839 them, and XBoard would accept any move for them even when legality
3840 checking is on. So for these pieces it is always better to trust the
3841 engine's piece definition.
3843 2014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3844 Fix pieceToCharTable of Falcon Chess
3846 This variant was using the Falcon piece, but defining ID F for the
3847 unused Lance instead.
3849 2014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3850 Don't preserve setup position on board-size change
3852 Normally the setup command sent by an engine is ignored if the user
3853 already has set up a position, to not render it impossible to do the
3854 latter. But if the setup command orders a different board size nothing
3855 the user has set up can possibly remain valid.
3857 2014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3858 Reset move entry on stepping through game
3860 A forward or backward step through the game after selecting a from-square
3861 did not erase the latter, so that it became impossible to select a
3862 from-square for an opponent move, as it would be interpreted as the
3863 to-square for the patially entered move. This was especially annoying
3864 with legality testing off, as the legality test there, based on the
3865 square markings, does not reset the entry state either, but waits
3866 until you do click a legal to-square, so that you had to attempt
3867 moving with pieces of the side not to move to get out of this state.
3868 Now stepping through another position will reset the move-entry state
3869 completely, always considering the first click a from-square selection.
3871 2014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3872 Fix engine-defined variant as startup
3874 Non-standard names were all recognized as 'normal' in InitBackend1().
3875 Now if the -variant argument was not "normal", it is assumed to be an
3876 engine-defined variant if we run with engine.
3878 2014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3879 Fix clipping of board GTK
3881 ResizeBoardWindow now measures the with of the window dressing by
3882 brute force, interrogating GTK both for the width of the top-level
3883 window and the board widget, and subtracting the two.
3885 2014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3886 Fix writing of Seirawan960 virginity in FEN
3888 When variant seirawan was played with Fischer castling, only the
3889 castling rights were written, and not the virginity of other pieces.
3890 Now all virgin files are dumped in Shredder-FEN style.
3892 2014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>:
3896 2014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>:
3897 new version number for release 4.8.0
3900 2014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>:
3901 fixed whitespace error in configure.ac for os x
3904 2014-09-20 10:06:17 -0700 Arun Persaud <arun@nubati.net>:
3905 update gettext configuration to not include any generated files in git
3907 before we had a somewhat mixed setup, which seems to create problems
3908 when a different gettext version was installed on the users machine compared
3909 to the version used to generate the files in git. This should solve
3910 the problem. The user will now have to generate these files using autopoint,
3911 which we call from autogen.sh.
3913 2014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3914 Configure XBoard for -size 49 in master settings
3916 Now the code for auto-sizing works, it turns out this does more harm than
3917 good in the GTK build, as it takes maximum size that fits the screen as
3918 initial size, and the board window then cannot be shrunk below that.
3919 So we configure a hard -size 49 for a cold startup.
3921 2014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3922 Implement ff etc. in Betza parser
3924 Dupliacated directional modifiers can be needed with oblique moves
3925 to unambiguously specify a direction set, e.g. ffrrN.
3927 2014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3928 Rename PGN Pieces tag to VariantMen
3930 Following a suggestion from Steven Edwards, this indeed makes a much
3931 clearer name. Also add code to skip the tag on reading, rather than
3932 allowing it to end up with the 'extra tags', as the latter could lead
3933 to duplication of the tag on subsequent saves.
3935 2014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3936 Suppress use of promo-Gold bitmaps in Tori Shogi (WB)
3938 In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use
3939 of a Gold General pictogram would only be confusing. So we stick to
3940 the regular fairy bitmaps in Tori, which is recognized by the board
3941 having 7 ranks in Shogi.
3943 2014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3944 Prevent board-size oscillations
3946 It could happen that after resize there was room for enlarging the
3947 squares by one pixel, but that this crossed the boundary where the line
3948 gaps also become wider, and there is no room for making both squares
3949 and line gap. This would cause perpetual oscillations of the window size.
3950 Resizing is now suppressed when a 1-pixel square-size increase would also
3951 result in a line-gap increase.
3953 2014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3954 Allow use of second-row pieces for non-promoted in drop games
3956 Second-row pieces were automatically demoted on capture, but this
3957 should really happen only when the piece-to-char table says it is a
3958 shogi-promoted piece (assigned a '+' there). Pieces assigned a letter
3959 should really stay themselves.
3960 PieceToNumber had to be adapted to skip '+' pieces in order to count
3961 correctly for second-row pieces, as did the code in UserMoveEvent() that
3962 mapped the from-square onto the piece type. (Why do we do that anyway?
3963 The piece type was displayed on the from-square!)
3965 2014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3966 Fix reset of 50-move counter on FRC castling
3968 The FxR internal representation was taken a bit too seriously!
3970 2014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3971 Fix abort of machine game on variant mismatch
3973 When the second engine did not support the current variant, and we clicked
3974 Two Machines, there was an error popup, but the Two Machines menu item
3975 stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame
3978 2014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3979 Make unsupported variant on loading 1st engine non-fatal
3981 Like in the startup code, when the loaded engine does not play the
3982 currently selected variant, we now figure out what the engine does play,
3983 and switch to that. The error message still pops up, but not non-fatal.
3985 2014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3986 Print PGN Piece tag listing engine-defined pieces
3988 A newly defined PGN tag is printed, which summarizes all non-standard
3989 pieces. Black copies of identically named white pieces are suppressed.
3990 In the future also non-standard naming should be reported here.
3992 2014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3993 Always accept piece commands in partly supported variants
3995 Normally piece commands are ignored when legality checking is on, as
3996 XBoard's idea of legality should obviously overrule the engine's.
3997 In variants that are not or only partly supported, however, XBoard has
3998 no own idea of what is legal, so it is better to take the engine's
3999 advice than enforcing wrong rules.
4001 2014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4002 Size seek graph to also cover board rim WinBoard
4004 The seek graph always used the plain board size, but in WB it is
4005 possible to diplay a rim around the board, and the seekgraph would
4006 then be positioned in the upper-left corner of the rim, leaving the
4007 lower and right board edge and rim uncovered. Its size is now increased
4008 to fill the entire window (as leaving a rim around it seems not useful).
4010 2014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4011 Reparse ambiguous move under built-in rules
4013 When a move parses as ambiguous under engine-defined piece locomotion,
4014 we re-parse it with XBoard's native idea of the pieces, just in case
4015 it is a move from a game that was saved without the engine having
4016 redefined the pieces. This keeps games created before the introduction
4017 of the 'piece' command loadable.
4019 2014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4020 Prevent multi-path moves from parsing as ambiguous
4022 In Cylinder Chess the MovesFromString() generator might generate duplicate
4023 moves, one wrapping, the other direct. When they were both counted as
4024 matching the SAN input move, Disambiguate() would think it an ambiguous
4025 move. So a move that came from the same square as the one we already
4026 have must not be counted.
4028 2014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4029 Fix cross-edge e.p. capture in Cylinder Chess
4031 ApplyMove() did not remove the e.p. victim when an edge-crossing e.p.
4032 capture was made, because e.p. rights are only set to neighboring files
4033 (after checking there is a Pawn there to capture). The e.p. heuristic
4034 has now been changed to also assume e.p. on file-changing Pawn moves
4035 that span a large number of files, assuming that these will be wrapping
4036 moves. Eventually we should change to better e.p. logic that can be
4037 integrated with engine-configured move generation, as the current system
4038 would fail for any Pawn that captures more than just neighbor ranks.
4040 2014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4041 Implement Betza o modifier for cylinder boards
4044 2014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4045 Improve virginity test for engine-defined pieces
4047 Two squares in the board are now reserved for flags that indicate
4048 whether back-rank pieces have been touched. This allows MovesFromString()
4049 to accurately test virginity of these pieces, rather than having to assume
4050 it when the piece matches that in the opening position. For other ranks
4051 the latter test is still used, as these are normally (irreversible) Pawns,
4052 which cannot return there (and in drop games, when they would, would again
4053 be considered virgin enough for the purpose of double-pushing!).
4055 2014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4056 Implement Betza p and g modifiers in piece command
4059 2014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4060 Repair piece defs with showTargetSquares off
4062 The proxy legality checking based on marking of target square was
4063 rejecting all moves when target squares were not highlighted.
4065 2014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4066 Allow definition of castling in piece command
4068 Castling is defined by the O atom, with a suffix indicating the number
4069 of steps the King must step in the direction of the corner. Kings keep
4070 their normal castling unless overruled by this. Can currently only be
4071 used on the variant's royal piece, as XBoard's ApplyMove() is not smart
4072 enough to understand displacing the corner piece is implied when it is
4073 used on other pieces.
4075 2014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4076 Update description of piece command in protocol specs
4079 2014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4080 Improve SAN of Pawn moves and allow Betza e.p. definition
4082 The move descriptions in 'piece' commands can now use 'i' and 'n'
4083 modifiers to define a blockable double push. ('n' only work for moves
4084 of stride 2!) The test for initial moves now is based on comparison with
4085 the opening position, rather than on a way-to-generous heuristic. (This
4086 still does not prove in generak the piece did not move, though, but it
4087 does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement
4088 this the rank and file of the e.p. square are now stored in the board.
4089 (EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess
4090 is not the file of the e.p. square!)
4091 The generation of SAN moves for Pawns can now reliably distinguish between
4092 captures and non-captures even in Berolina, when the move generator informs
4093 it whether the move was e.p. capture.
4095 2014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4096 Retune -stickyWindows GTK
4098 This still does not work well, and in particular windows refuse to stick
4099 to the top of the board window.
4101 2014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4102 Fix detection of screen size GTK
4104 A gdk call that can get the screen without there first being a window
4105 mapped to it is used now. This fixes initial sizing of the board window
4108 2014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4109 Configure a size for the Eval Graph
4111 If no size for the Eval Graph window is configured in the master
4112 settings file, the window will pop up as 2x4 pixels.
4114 2014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4115 Prevent crash on specifying non-existent texture XB
4117 By setting the texture width to 0 when the texture could not be loaded,
4118 XBoard will never attempt to draw it.
4120 2014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4121 Configure some themes in XBoard master settings
4123 The -themeNames option is set to contain some themes that could be
4124 defined with the default pieces and textures that come with XBoard.
4126 2014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4130 2014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4131 Control Eval Graph with mouse
4133 Let mousewheel control evalZoom, and right-click toggle between
4134 normal view and differential view ('blunder graph').
4136 2014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4137 Add extra font field to Option struct
4139 Storing the font in the textValue field was too kludgy, as this field
4140 is already heavily used in the various Option types, for storing handles,
4141 or defining colors and callbacks. A 'font' field is now added at the end,
4142 so that it can be optionally initialized in the rare case it is needed.
4144 2014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4145 Repair damage done by merging with v4.7.x
4148 2014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4149 Sort fail lows and fail highs below others
4151 Every more recent line should always float up aove lines that were
4152 indicated to be fail lows or fail highs through ? or ! PV suffixes.
4154 2014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4155 Describe the new texture conventions in manual
4157 The exact rules for how textures are scaled in response to their
4158 filename is described in the manual.
4160 2014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4161 Force exactly overlayed texture scaling through filename
4163 A filename suffix -NxM.png on a texture image will cause XBoard to scale
4164 the image as if it were the image of a complete board of N files and M
4165 ranks, to make the square size equal to that of the current board,
4166 and adjust the cutting parameters such that contiguous squares are cut
4167 out of it. (If the current board format is larger than NxM, the remaining
4168 space will be padded with white!)
4169 If N=M=0, N and M are assumed to correspond to the current board size,
4170 and the bitmap will be scaled to fit the height of the board.
4171 If no suffix is present, the old cut-and-tile algorithm is used. It will
4172 be assumed the texture bitmap is intended for a single square, unless the
4173 pathname contains a file that starts with "xq", in which case it is assumed
4174 that the file contains a Xiangqi board.
4176 2014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4177 Allow two Pawns per file in Tori Shogi
4179 When the board has 7 ranks it is assumed to be Tori Shogi, and the
4180 requirement for maximally one Pawn per file is relaxed to two.
4182 2014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4183 Test legality even when off if engine defined pieces
4185 After reception of a piece command XBoard will mark target squares
4186 even when legality testing is off, and now also will require the lifted
4187 piece to land on a marked square (like when the engine highlighted them
4188 through a highlight command).
4189 A problem is that this does not work for drops, as drops do not mark
4190 target squares. So drops are always accepted. Which of course is bad
4191 for Pawn drops. But there really is no way yet for an engine to specify
4192 how pieces can be dropped, similar to the 'piece' command.
4194 2014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4198 2014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4199 Implement engine-defined pieces
4201 When legality testing is off, XBoard now listens to 'piece' commands
4202 to redefine its move generator. After such a piece command is received,
4203 target-square marking also can be used when legality testing is off.
4204 The engine keeps in charge of legality testing, though.
4205 Only a very basic version of Betza notation is currently understood for
4206 the move description: mode modifiers have to appear in the order mcd,
4207 and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not
4208 implemented at all. A leading i modifier limits the moves to the first
4209 two ranks, which is no good at all. (But XBoard does not keep track of
4210 which pieces have moved, and this at least would work for Pawns in a
4211 FIDE-like setup, in particular Berolina.)
4213 2014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4214 Scale texture bitmaps that are not large enough
4216 Texture bitmaps are now sized up by an integer factor to be at least
4217 as large as the board (if they seem intended for a full XQ board, which is
4218 assumed when they are larger than 256x256) or the square. This necessitated
4219 the textures to be re-initialized in InitDrawingSizes whenever the window
4222 2014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4223 Ignore color arguments not starting with #
4225 Old settings files from xpm-using version might still contain color
4226 designations like 'white' or 'red'. Since Cairo would interpret these
4227 as black, it is better to ignore them, so the default color is used.
4229 2014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4230 Implement -autoInstall option
4232 When -autoInstall is a non-empty string, XBoard will scan the system's
4233 plugin specs directories for UCI and WB protocol, to see if new engines
4234 were added since the last settings save. If so, they are added to the
4235 list of installed engines.
4236 The variants listed in the plugin-spec files are currently ignored,
4237 but the option is already configured to install engines for all variants.
4239 2014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4243 2014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4244 Make inlined functions static
4246 Clang apparently chokes on non-static inline functions,
4247 and they were not used from other files anyway.
4249 2014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>:
4250 updated spanish translation, added new polish translation
4253 2014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4254 Look for logo in engine dir first (GTK)
4256 When setting engine logos, we look for a file logo.png in the engine
4257 directory, before trying <enginename>.png in the -logoDir. This is useful
4258 on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir,
4259 when using the latter (also in Xaw).
4261 2014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4262 Fix checkmarking of OS X menu items
4264 The routine MarkMenuItem() was moved to xboard.c, where it can see
4265 the OSX-specific #defines, and calls to sync_menu_bar were added
4266 to it, and to EnableNamendMenuItem().
4268 2014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4269 Fix crash of tournament dialog GTK
4271 The font/color disambiguation of the Option.textField in Label and
4272 ulti-line TextBox options cannot stand it if unused elements are
4273 initialized as "" rather than NULL.
4275 2014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4276 Let OS X display dock icon
4279 2014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4280 Fix Xaw button color error
4282 The textValue field, now also used to indicate font, was used in two
4283 places when popping up buttons, and the font patch only addressed one.
4285 2014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4286 Make SVGDIR a variable
4288 Replace all occurrences of SVGDIR in the source by svgDir, a char array
4289 that is initialized to SVGDIR, so that it can be altered at run time.
4290 This is needed to make portable apps. Where SVGDIR was used in string
4291 concatenation, the code had to be re-written to use snprintf to do the
4292 concatenation at run time, through a new function LoadIconFile.
4293 The extension of image files used there is now made dependent on the
4294 __APPLE__ switch, so that it can use .png in OS X (which does not seem
4295 to understand SVG icons).
4297 2014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4298 Fix warning in dead code Show
4301 2014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4302 Reorder variants, to comply with Polyglot book specs
4304 XBoard's variant number is used as a key to access Polyglot opening
4305 books, and thus cannot be changed without consequences. (As it was when
4306 we introduced ASEAN and Chu Shogi.)
4307 We also renamed Chu Chess to Elven Chess (under which name it is now
4308 described on chessvariants.org).
4310 2014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4311 Reserve piece command in protocol specs
4314 2014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4315 suppress Alien Edition standard variants
4317 Variants that are standard in the Alien Edition should not be
4318 recognized as engine-defined variants: the engines that announce
4319 them will not respond with the required setup command, so allowing
4320 the user to select them just leads to trouble.
4322 2014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4323 Fix SetWidgetFont GTK
4325 This was testing for an empty font spec in the wrong way, with as a side
4326 effect that some pointers to font strings would be interpreted as colors.
4328 2014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4329 Update protocol specs
4332 2014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4333 Let message field and button bar use GTK -messageFont
4335 The -messageFont spec (using the default coordFont pixel size, like the
4336 others) is now used to modify the fonts of message field and buttons
4337 in the button bar. They pass a pointer to the appData font variable in
4338 their Option's textField. This conflicts with the use of this field in
4339 buttons for specifying a color, as done in the New Variant buttons.
4340 This is resolved by checking if the first byte of the pointed-to value
4341 is a #. The Xaw version must ignore the textField if it does not
4344 2014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4348 2014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4349 Use coordFont default pixel size for other fonts
4351 The message-font is way too large for the dialogs. A better solution
4352 would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as
4353 this file is front-end-specific anyway.
4355 2014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4356 Use -gameListFont in Game List
4358 Not implemented in a very generic way, but hacked into the code that
4359 added the handler. There aren't many other listboxes that would need
4362 2014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4363 Fix Chat window for Xaw build
4365 The ICS output field and Hide button are removed from the ICS Interaction
4366 window, to make it similar to the old Chat window. This required adding
4367 some tests in the handlers of this window, to prevent segfaults due to
4370 2014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4371 Fix infinite-regression problem on OS X
4373 Apparently the OpenFile handler can already be called during
4374 gtkosx_application_ready (or gtk_signal_connect), so we have to make
4375 sure 'suppress' is set before we call those.
4377 2014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4378 Correct for .Xresources form->paneA renaming in manual
4380 In the Xaw build the name of the form widget of dialog.layout.form...
4381 hierarchy was changed to paneA, paneB, ... when allowing multi-pane
4382 dialogs through the Break Option (such as the Engine Output window).
4384 2014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4385 Use GTK fonts in Engine Output and Move History
4388 2014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4389 Include some conditional OS X fixes
4391 DATADIR must be corrected to ~~ in the OS X app, and the info command
4392 must be started in a different way.
4394 2014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4395 Fix WB DoEvents error
4398 2014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4399 Limit auto-extending to click on first move of PV
4401 Even when auto-exted on clicks on the tail of a PV will no longer cause
4402 any moves to be added to the game. Only clicks on or before the first
4403 move can do that now.
4405 2014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4406 Animate multi-leg in auto-play and forward event
4408 Replaying multi-leg moves is now also done by animating both legs.
4409 In addition, the highlights are set on final and intermediate square,
4410 rather than from-square.
4411 (There seems to be a great deal of code duplication here. Why doesn't
4412 AutoPlayOneMove simply call ForwardInner?)
4414 2014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4415 Fix key bindings for non-menu functions
4417 The accelerator keystrokes for next game, previous game and debug mode,
4418 which don't have menu items, and are grouped in the menu table 'noMenu',
4419 were not treated in the building of the translation table, as 'noMenu'
4420 does not occur on the menu bar. An extra iteration is done now to
4421 treat this menu group.
4423 2014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4424 Fix Xaw key bindings
4426 The routine to automatically construct the translation table for
4427 accelerator keys did not respect the rule that more specific keystrokes
4428 (like :Meta<Key>Home:) have to be defined before more general ones
4429 (like :<Key>Home:). As a result Alt+Home would activate the Revert
4430 item, intended for plain Home.
4432 2014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4433 Define default font names
4436 2014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4439 Book.c did not include config.h, and thus missed the redefinition of
4440 snprintf (which is not known in MSVC). The use of 'inline' in parser.c
4441 also needed an MSVC redefinition, now added to winboard/config.h.
4443 2014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4447 2014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4448 Replace strcasecmp by StrCaseCmp
4450 The MicroSoft compiler does not know strcasecmp, so we better use
4451 our own function for this everywhere.
4453 2014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4454 Let GTK build pay attention to font arguments
4456 Multi-line text edits now use the initial value of the Option.textValue
4457 field as a pointer to a (char*) holding a font name, to be used for
4458 the text displayed in it. (After which they overwrite the field with
4459 the textView handle.) The font options -tagsFont, -commentFont, icsFont,
4460 -moveHistoryFont and -gameListFont are now activated in the GTK build,
4461 to control the corresponding memos.
4463 2014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4464 Fix auto-display comment option in General Options
4466 This options had the same ID as auto-Queen, making it ignored.
4468 2014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4469 Call DoEvents during time-consuming operations
4471 Processing of a game file for reading it, searching positions, saving
4472 selected games or creating a book from them can take minutes. To keep
4473 the application responsive during that time, the main loops of those
4474 tasks calls DoEvents(). A possible risk is that the user can now do
4475 too much, and will initiate actions that interfere with the tast in
4478 2014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4479 Fix GameListHighlight WB
4481 The routine to highlight a game line in the Game List listbox of WinBoard
4482 used an extremely inefficient linear search to find the game amongst the
4483 selected games. This has now been replaced by bisection, after finding
4484 an upper limit to the number of entries in the listbox by doubling
4487 2014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4488 Provide DoEvents function in front-ends
4490 A routine to process all pending events in a non-blocking way is now
4491 provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming
4492 tasks (such as PGN loading or opening-book creation) can call it to keep
4493 the user control over the application alive.
4495 2014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4496 Fix syntax error in bitbase code
4499 2014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4500 Describe Save Selected Games menu in manual
4503 2014-09-06 22:29:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4504 Let Save Games as Book only use selected games
4506 The book-creation code now only takes games into account that are
4507 selected for display in the Game List.
4509 2014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4510 Rewrite key-binding section of manual
4512 This section still wrongly described the key-binding procedure from
4513 before the rewrite of the XBoard front-end.
4515 2014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4516 Connect scroll event to Graph Option in GTK
4518 The mouse wheel is now detected in graphics widgets, and passed to
4519 the user handler as button 4/5 mouse events.
4521 2014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4522 Make sure node count is positive
4524 Engines that print the node count as an int overflow into negative values
4525 when the count exceeds 2G. This is really an engine bug, but as it
4526 interferes extremely annoyingly with the alignment of the Thinking Output
4527 XBoard now repairs it by adding 4G to undo the overflow.
4529 2014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4530 Connect mousewheel to Forward/BackwardEvent (XB)
4532 The mouse buttons 4 and 5 are now processed in the handler for the
4535 2014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4536 Fix size of time in Engine Output window
4538 When the thinking time exceeds an hour, the format hr:min:sec is now used,
4539 in stead of min:sec.cents. This prevents the field from extending beyond
4540 the tab stop when thr hours kick in, and should work upto 100 hrs.
4541 (Going beyond that at the moment does not seem useful.)
4543 2014-09-04 22:57:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4544 Verify if font-spec looks like one in Xaw
4546 To make XBoard resistant to mixed use of Xaw and GTK builds, which
4547 would not understand each others font specs stored in the settings
4548 file (they have in common), we now determine if the value looks like
4549 an X-font. If it doesn't, the Xaw version ignores it. The GTK build already
4550 ignored it if it did lool like an X-font spec.
4552 2014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4553 Fix alignment in Engine Output window
4555 Numbers above 1000M would become too wide for their field. This is
4556 solved by introducing the abbreviation 'G'. Values below 10M or 10G
4557 now get an extra digit in their fraction, so that the precision is
4560 2014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4561 Add Save Selected Games menu item
4563 A menu item to save all selected games in the Game List on a single
4566 2014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4567 Add final piece count to search criteria
4569 The Load Options dialog now has a text field in which a range can be
4570 entered (like 8-10). Position search will then only select games that
4571 had their final number of pieces in this range.
4573 2014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4574 Fix castling rights on using -lgf
4576 The dummy InitPosition to force loading pieces was taking place after
4577 InitBackend2(), while the latter could have already loaded a game
4578 from an -lgf argument (which would then be spoiled by the InitPosition).
4579 It has been moved to before InitBackend2() now.
4581 2014-07-29 15:03:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4582 Fix crash on double-click in Game List Tags
4584 A double-click in the Game List Tags listbox has no function, but it
4585 crashed XBoard, because the textValue field of teh ListBox Option definition,
4586 supposed to contain a pointer to the user-supplied handler, contained a
4587 pointer to an empty string.
4589 2014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4590 Fix typing of null moves
4592 Entering a null move through the move type-in could fail because the
4593 to-square coordinates (not used in its encoding) could have invalid values,
4594 which would reject the move in an early stage of UserMoveEvent().
4595 Null moves are now exempted from this vaidity test, while variants where
4596 null moves are legal now accept them in any gameMode.
4598 2014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4599 Fix adjusting clocks in Xaw version
4601 The handler attached to Label options failed to flip the sign of the
4602 option number when a button other than Button1 was pressed, so that time
4603 would always be subtracted on Shift + ClockClick and never added.
4604 Shift now also suppresses interpretation as null move when playing.
4605 (In Analyze / EditGame mode it is still null move starting a variation.)
4607 2014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4608 Fix null-move entry during play
4610 Null moving by clicking the clock was only accepted in Edit Game and Analyze
4611 mode, while in Chu Shogi and spin-offs it is also allowed during play.
4612 An F_NULL_MOVE flag was introduced to make it easy to test for such variants,
4613 and Machine White/Black mode now also interpret clock clicks as a null move
4614 if the opponent's flag has not yet fallen.
4616 2014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4617 Let EditPosition double-click on piece promote it
4619 For pieces with Shogi-like promotion (i.e. if the promoted piece has
4620 pieceToChar defined as '+'), let a second click on it in Edit Position
4621 mode promote or demote it (as the case requires) when the piece menu is off,
4622 rather than remove it (as was the old behavior.
4624 2014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4625 Make EditPosition pallette work in Asian variants
4627 Construction of the pallette position was not working in variants that
4628 did not have Pawns start on 2nd rank, or that had multiple ranks of pieces.
4629 Now the algorithm is applied to all ranks.
4631 2014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4632 Fix crash on opening Tags window Xaw
4634 Suppressing the optional book button made the Xaw generic popup crash,
4635 because the following button had the SAME_ROW modality, and was thus
4636 positioned w.r.t. a non-existent widget.
4638 2014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4639 Fix writing of Chu-Shogi FENs
4641 Promoted pieces were getting the wrong ID letter, of the piece demoted
4642 by 11, rather than 22.
4644 2014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4645 Allow pseudo-engines to adjust the clocks
4647 Implement new options -first/secondPseudo, which declare the corresponding
4648 engine to be a pseudo-engine, which will then be granted super-powers
4649 through some new engine->GUI commands. For instance, to adjust the time
4650 remaining on the GUI clocks through wtime and btime commands (using msec).
4652 2014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4653 Fix piece inscriptions
4656 2014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4657 Fix reading Chu Shogi FENs
4659 The X (for Phoenix) was interpreted a 10 empty squares.
4661 2014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4662 Fix loading positions in engine-defined variant
4664 Paste Position did not work when an engine-defined variant had redefined
4665 the pieceToCharTable, as the position would be interpreted and sent to the
4666 engine before receiving the setup command. Copying the pieceToCharTable
4667 received from an earlier game to appData cures this, because it will then
4668 be used by InitPosition, which would reset the table to default otherwise.
4669 Another problem was that setupSpoiledMachineBlack would not be reset
4670 after a game with no moves, leading to a spurious 'go' command to the engine.
4672 2014-03-17 23:05:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4673 Render inscriptions on Chu-promoted pieces in red
4676 2014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4677 Allow writing text on pieces
4679 A new persistent string option -inscriptions allows the user to define
4680 characters to be written on the various piece types. The string is
4681 interpreted as UTF-8. This option is useful for on-the-fly synthesis
4682 of Shogi pieces, where the string can contain the various kanji in
4683 the canonical pieceToCharTable order. Except that only a single color
4686 2014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4687 Fix initial sizing of board
4689 Previous patches had destroyed the ability to obey the -size option.
4691 2014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4692 Fix width of menu bar
4694 The truncated name might not have been terminated with '\0'.
4695 TinyLayout now specifies the number of characters kept in the menu names.
4696 In the OS X version truncating is never needed, as the menu bar is
4697 at the top of the screen, independent of board size.
4699 2014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4700 Fix warnings fonts patch
4703 2014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4704 Implement (clock-)font handling in GTK
4706 The options -clockFont, -coordFont and -messageFont are activated,
4707 and supposed to have string values like "Sans Bold 12". The default
4708 values have the point size as 'wild-card' %d, however "Sans Bold %d",
4709 and are expanded by a printf with the point size taken from the defaults
4710 table. The expanded versions are saved back into the settings file,
4711 prefixed with a size tag, as usual.
4712 So far -clockFont is the only font that is actually applied while
4714 The 'clock kludge' was interfering with the initial sizing, as for some
4715 sizes the initial clock-widget height happened to be equal to the final
4716 height. It was therefore abandoned, and we seem to be able to live without
4718 Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar.
4719 Therefore tinyLayout now uses single-letter menu labels.
4721 2014-03-02 20:45:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4722 Also search indirection files in user's .xboard tree
4725 2014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4726 Fix error Engine Output text highlighting
4728 In wengineoutput.c higeTextStart and End where decalred both static and
4729 extern, which somecompilers justifiably don't like.
4731 2014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4732 Fix Board-dialog bug WB
4734 The drawing code for the sample square did ot restore the correct brush.
4736 2014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4737 Fix various warnings
4739 Mostly written but never read errors. Also removed a debug printf that was
4740 causing a format warning.
4742 2014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4743 Kludge repair of expose after startup resize
4745 Redraw of the main board after resize is delegated to DragProc, which is
4746 scheduled after a delay, to make sure the user is done sizing (mainly to
4747 reposition docked windows). But at startup the program-requested resize when
4748 an engine does not support variant normal and needs a different board format
4749 takes so long that the finale size expose occurs after the DragProc timeout.
4750 As a result, the board was never drawn on the resized canvas.
4751 This is quite hard to fix in a satisfactory way. For now the suppression
4752 of board redrawing during resize is disabled during the first 10 seconds
4753 after startup, as any resize during that time is likely to be the result
4754 of a program request.
4756 2014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4757 Use first engine as default for second
4759 Rather than having the same fixed default for both engines, we noww only
4760 have a fixed default for the first, and use the actual first as default
4761 for the second. One advantage is that this guarantees the second engine
4762 plays the same variants as the first by default.
4764 2014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4765 Allow adding played move to book
4767 A button is added in the Edit Book dialog to prime XBoard for adding the
4768 next move entered through the user interface to the book window, without
4769 actually playing it.
4771 2014-02-23 22:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4772 Play move right-clicked in Edit Book dialog
4774 A handler for button-3 down-clicks is added to the Edit Tags dialog,
4775 which fakes the clicked word was typed in the move type-in box.
4777 2014-02-23 19:23:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4778 Fix pop-down of ChatDlg and TextMenuDlg from menu
4780 Unlike other windows these two would not react to clicking the menu item
4781 once they were up. Now they pop down in that case.
4783 2014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4784 Preserve window width on board-format change
4786 When a variant switch would cause recalculation of the board window,
4787 we now first recalculate square size to keep the window width fixed.
4788 Also adapt initial width on high boards.
4790 2014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4791 Equip Board Options dialog with themes listbox
4793 The option -themeNames is made persistent for XBoard, and its value is
4794 displayed in a listbox added to the View -> Board dialog. The user
4795 can select themes from this, and manipulate the contents similar to
4796 the engine list in Load Engine. A textedit allows the user to define a
4797 theme name for the current settings, and doing so adds the theme to the
4800 2014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4801 Implement copy function in ICS Text Menu
4803 A command consisting of the word $copy will place the clicked word on
4804 the clipboard. When there was already text selected during the click,
4805 that selected text will be used for $copy and $name, rather than the
4808 2014-02-07 09:48:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4809 When ICS Console open EOF from keyboard is no error
4811 In case the user started without a terminal, we just close the input source,
4812 and suppress future writing to the xterm.
4814 2014-02-06 18:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4815 Leave xterm at start of new line after quitting XBoard
4818 2014-02-06 18:36:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4819 Also display channel tell in ICS Console during private chat
4821 Channel tells of players for which a chat wa opened were displayed in that
4822 chat, as well as in the channel chatbox, if the latter was open. But when
4823 there was no channel chatbox it would not appear as colorized channel tell
4824 in the console. This is now fixed, and in the private chat box such a
4825 message is indicated as 'broadcast'.
4827 2014-02-05 23:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4828 Write broadcasts also to private chatbox of talker
4830 The shouts or channel chatboxes capture messages first, but if a private
4831 chat with the talker is opened, it now goes there too. Prefixed with
4832 the type of broadcast.
4834 2014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4835 Fix Xaw Chat Console
4838 2014-02-05 22:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4839 Let Ctrl-O key open chat for last talker
4842 2014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4845 This button clears the current chat, so that it becomes free for
4846 assignement to another partner.
4848 2014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4849 Ctrl-N in chat opens empty chat
4851 This key isequivalent to pressing the left-most New Chat button.
4852 If no unused chat present, it the command will be ignored.
4854 2014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4855 Preserve unfinished input lines during chat switch
4857 This is problematic, as apparently we cannot write in widgets that are
4858 active with key hits, so attempting to write it back in response to Tab
4859 did not work. This is now done with a delay, for lack of a better method.
4861 2014-02-04 13:57:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4862 Recognize Esc and Tab in ICS Console input
4864 Esc is used to close the chat, or transfer focus to the board window.
4865 Tab is used to navigate between chats (or open the first). Priority
4866 is given to dirty chats.
4868 2014-02-03 20:35:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4869 Let ICS Console pop up GTK in stead of ICS Input Box
4872 2014-02-03 19:45:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4873 Add context menu to ICS console XB-GTK
4875 A right-click handler is added to the output memos of the ICS Interaction
4876 window. It pops up the ICS text menu. It is remembered whether the menu
4877 was already up; if not, it will be popped down after a command is selected
4878 from it. Like the WinBoard context menu, the commands will be able to use
4880 The -icsMenu 'command' $chat is now recognized as a special case, not to
4881 be sent to the ICS, but executed by XBoard. It will assign one of the
4882 five chats to the clicked name. If no empty chat is available, the last
4883 chat will be used (but not cleared).
4884 The -icsMenu in the master config file is now configured to contain
4885 this command, but unfortunately this will not become effective for users
4886 that already have a settings file.
4887 The Text Menu now puts $input commands in ICS Console Input field when the
4888 ICS Input Box is not up.
4889 The text placed in the input field for completion (as per $input directive)
4890 turned out to be selected in GTK, so that when you stated typing, it was
4892 By making the Text menu dialog subject to WindowPlacement control,
4893 and interrogating the poition of the ICS Console window, the Text Menu
4894 can be popped up such that the mouse pointer is on the bottom-left button.
4896 2014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4897 Integrate ICS output into Chat Window
4899 An extra pane has been added to the Chat Window to display the ICS output.
4900 In GTK this output is colorized just as in the xterm. For Xaw this is not
4901 possible. This pane is always visible, and the chat output can be hidden,
4902 to double its size. Entered input will go to the selected chat (when not
4903 hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner
4904 field is hidden together with the chat pane and the Hide button. Each of
4905 the five chats now has a dedicated button; for unused chats (empty Chat-
4906 Partner field) these now gets the text 'New Chat' inscribed on it.
4907 Focussing is made more intelligent (to the Partner field when shown and
4908 empty, otherwise to the input field).
4909 The Up and Down arrows now work in the input field to recall old input.
4910 ScrollToCursor() was broken in GTK, because a mark was made for only
4911 a single buffer. Now each buffer has its own end mark.
4912 Another problem was that using ScrollToCursow immediately after a memo
4913 was shrunk (because a neighboring one expanded) it would still use the
4914 old memo size, so that the bottom part remained out of view. Delaying it
4915 50 ms solved that problem.
4916 A new option -icsUp was added to store the visibility in the settings.
4917 It is updated only in ICS mode. The ICS Console pops up automatically
4918 when the stored parameters say so. It is also made sticky.
4919 Unlike the xterm the textView does not extend background color to unwritten
4920 positions behind the line. A separate GTK call is now added to set the
4921 unwritten part to the same color as the background in normal text.
4922 A control was added in the ICS Options dialog for setting the colors
4923 of normal text (-colorNormal).
4925 2014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4926 Add logo-size control XBoard
4928 This is mainly for the benefit of OS X useres who cannot find their
4929 settings file. It requires a restart to become effective, which is
4930 really sub-standard.
4932 2014-02-02 17:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4933 Add Edit Engine List menu item to XBoard
4935 In OS X the settings file is hard to find...
4937 2014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4940 Some unread variables are commented out, rather than removed, because they
4941 can be useful for future development.
4943 2014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4944 Fix moves of Spartan Captain
4946 The rewrite of the move generator did no longer pay attention to rookRange,
4947 so that the Spartan Captain moved like a Rook.
4949 2014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4950 Add Option type 'Skip'
4952 The value -1 used to suppress rendering of option controls was drawing
4953 error messages, because enums are unsigned. So a new member Skip was added
4956 2014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4957 Detect Fischer castling in FENs
4959 Castling rights with unorthodox piece placement imply Fischer castling.
4960 Make sure shuffling is done after detecting this, because it means K & R
4961 can also be shuffled (as long as K remains between both R).
4963 2014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4964 Allow shuffling indicators in FEN
4966 If the back ranks are enclosed by < > in a FEN, the route to shuffle
4967 initial positions is invoked on it.
4969 2014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4970 Allow wild-cards in FEN
4972 A question mark in a FEN will now be interpreted as a piece randomly
4973 chosen from the holdings. (From which it will be removed.) Intended
4974 for use in symmetric black/white pairs; when used on asymetric locations
4975 or with non-identical holdings the results will be undefined.
4977 2014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4978 Fix Seirawan reverse-castling animation
4980 In Chess960 animation of castlings is suppressed, because the move is encoded
4981 as KxR, so that the to-square in general is not the final destination of the
4982 King. So it is just confusing to the eye to see the King slide to the Rook,
4983 and then jump to an entirely different square. In S-Chess castlings can
4984 similarly be encoded as RxK (to indicate gating at the Rook square), and
4985 animation of those moves should be suppressed for the same reason. But it
4986 wasn't, and in Fischer castlings denoted as RxK this even caused the Rook
4987 to disappear when it didn't need to moved.
4988 Perhaps one day a smart method of animating Fischer castlings can be
4989 designed. (E.g. remove Rook, animate King move to true to-square, place Rook?
4990 But what if the King doesn't move at all? Animate Rook then? Normal castlings
4991 now animate the King, and then just displace the Rook.)
4993 2014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4994 Make Fischer castling generally available
4996 A new volatile option -fischerCastlings allows every variant to be played
4997 with Fischer castling, which so far was only allowed in variants FRC/CRC.
4998 This only makes sense in shuffle variants, where King and Rooks might not
4999 be in their orthodox locations. But even when they are, it has consequences
5000 for the user interface, which will require dragging King on Rook as the only
5001 way to enter castling. Like -shuffleOpenings the setting will be cleared
5002 as soon as you switch variant (unless you switch to FRC/CRC, where they
5003 Fischer castling is on by default). It can be set from the New Shuffle dialog.
5005 2014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>:
5006 updated po/pot files
5009 2014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>:
5010 new version number for developer release
5013 2014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>:
5014 updated Dutch translation
5017 2014-01-19 20:44:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5018 Put ponder checkbox in Common Engine dialog WB
5020 This is yet another duplicate of the one in General Options and Adjudiactions.
5022 2014-01-19 20:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5023 Expand %s in -openCommand to DATADIR and fix OSX settings-file name
5025 This can be used in OS X to biggy-back a cd to a directory in the App
5026 on the open command.
5028 2014-01-18 23:42:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5029 Add some checkboxes in General Options dialog WB
5031 Checkboxes are added for -variations, -memoHeaders and -autoExtend.
5033 2014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5034 Fix warning in CheckTest
5037 2014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5038 Fix printing of engine-output headers
5040 They were not printed on analyis of the first position after opening
5041 the Engine Output window.
5043 2014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5044 Fix sticky windows on Win8
5047 2014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5048 Drag touching edges together (WB)
5050 When an auxiliary window is dragged by an edge, the snap code now checks
5051 if that edge was touching another window. If so, that other window is sized
5052 to keep touching the dragged edge. Unless it was also touching the main
5055 2014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5056 Implement new mate-score standard
5058 Matescores are now indicated in the protocol as +/- 100000+DTM,
5059 and in the Engine Output window as #DTM or #-DTM.
5061 2014-01-15 21:28:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5062 Put fail-high/fail-low indicators in protocol specs
5065 2014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5066 switch to new tbhits protocol
5068 The extended info is now expected as 3 bare integers, the last one
5069 separated from the PV by at least one tab character.
5070 The protocol extension is described in the CECP specs document.
5072 2014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5073 Fix sorting of Engine Output
5075 The moveKey of the top line was never stored, so that more recent
5076 lower scores could not pass it even if they had the same move.
5078 2014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5079 Handle fali-low & fail high
5081 A ? or ! at the end of the PV are now also written behind the score.
5083 2014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5084 Implement extended thinking output
5086 The PV field can now start with three quantities, selective depth,
5087 engine speed and tablebase hits, disguised as PGN comment. XBoard will
5088 strip that off, and allow them to be displayed in separate columns of
5089 the engine-output window.
5091 2014-01-14 14:46:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5092 Allow hide/show of columns in Engine Output
5094 A new persistent Boolean option -memoHeaders enables a new feature:
5095 text headers are shown above the depth, score, nodes, time columns in the
5096 engine output. Right-clicking them will subsequently hide the corresponding
5097 data, and move the column header to above the PV in a 'not shown' list,
5098 where it can be clicked again to re-open the column.
5099 Configure maseter settings to switch -memoHeaders on by default.
5101 2014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5102 Fix ManProc for OS X
5105 2014-01-14 10:02:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5106 Fix access to ~~/themes/conf for OS X
5108 In OS X DATADIR is a variable.
5110 2014-01-13 19:23:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5111 Add 'Continue later' button to Tournament dialog XB
5113 To do GenericReadout without triggering a call to the OK function,
5114 we introduced a new value for the option-number parameter, -2.
5116 2014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5117 Fix Tournament Options dialog
5119 Deleting a Label option had renumbered the remaining Options, breaking
5120 the dialog and causing a crash when an engine was selected. A considyency
5121 check is now added to catch this condition, and throw an error popup
5122 when we mess up again.
5124 2014-01-13 17:09:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5125 Allow popup of TC and Common Engine from Tournament dialog
5127 A new dialog class MasterDlg was added, similar to TransientDlg,
5128 but to allow two dialogs to be up simultaneously. The Tournament Options
5129 dialog was migrated to this class, so it can now get buttons to pop up
5130 the Time Control and Common Engine dialog, like WinBoard. It even has
5131 a button for the General options dialog.
5132 Special care had to be taken to prevent popdown of the MasterDlg when
5133 a Transient child is still up (similar to browser or error childs).
5135 2014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5136 Add --show-config special option
5138 This prints a list of configure parameters, and then exits. If a second
5139 argument is given, it only prints the value of that config parameter,
5140 so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu
5141 can be used in install scripts of packages with piece images.
5143 2014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5146 Engines were not always forcefully killed in XBoard, which could make
5147 the tournament manager hang when an engine became unresponsive to "quit".
5148 The various levels of killing are now revised, and the -delayAfterQuit
5149 is absorbed in DestroyChildProcess(). There is a hard killing mode 9,
5150 which immediately sends SIGKILL, intended for engines that have already
5151 proven to malfunction or could not start at all. In other cases SIGTERM
5152 is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1
5153 sec later just in case the SIGTERM would be ignored.
5155 2014-01-13 13:38:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5156 Fix name of master settings file in OS X
5158 The name needs to be relative to the bundle path, but ~~ expansion
5159 did not work for compiled-in defaults, as the expansion takes place
5160 when parsing an option. The dataDir is now also kept in an array rather
5161 than as a pointer, to allow it to appear in statically initialized tables.
5163 2014-01-08 16:25:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5164 Fix Chu promotion of L, HM and GB
5166 The promotion popup would not be shown for HM and GB with legality testing
5167 on because the piece types used for them were wild-card pieces. The Lance
5168 was treated as a Pawn in HasPrmotionChoice().
5170 2014-01-08 16:09:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5171 Remove redefine of DATADIR that leaked in from v4.7.x
5173 2014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>:
5174 updated po/pot files
5177 2014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>:
5178 new version number for release 4.7.3
5181 2014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>:
5182 updated copyright to 2014 in menu.c
5185 2014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>:
5186 removed .DS_Store file from git
5189 2014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>:
5190 Updated copyright notice to 2014
5193 2014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>:
5194 cleanup some trailing whitespaces
5197 2013-12-29 13:46:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5198 Fix crash on use of dialog Browse buttons GTK
5200 The code to set a filter did not expect multiple extensions, and would
5201 cause a buffer overrun when there were.
5203 2013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5204 Make building of Windows .hlp file optional
5206 By using && and || operators in the build recipe, the building of WinBoard
5207 with Cygwin is now not aborted whe the Help Compiler is not installed.
5209 2014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5210 Use __APPLE__ compile switch for OS X
5212 It seems that on Apple machines the compiler will always define the
5213 symbol __APPLE__, so this is now used instead of OSX, which had to
5214 be defined with a -DOSX compiler flag. The gtkmacintegration header
5215 is now using <> in stead of "" in its #include. (Strange enough both
5218 2014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5219 Expand ~~/ to bundle path (OSX)
5221 DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op
5222 there. Same for Linux compiles. For OS X it is #defined as a variable,
5223 obtained from GTK-OSX at startup.
5225 2013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5226 Activate ManProc in GTK
5229 2013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5230 Remove use of strndup
5232 The use of strndup was actually unsafe, as the length was passed using
5233 an ordinary strlen. strndup was not availableon OS X 10.6, and is now
5234 replaced by an ordinary strdup, which should be save enough.
5236 2013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5237 Put some OSX code into gtk version
5239 Under control of #ifdef OSX code is added to integrate the GTK front-end
5240 into OS X. This involves moving the menu bar to outside the window, and
5241 catching the signal that OS X sends to running applications when opening
5242 another instance was requested. Som files are renamed to conform to the
5243 file tree of the OS X App package.
5245 2013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5246 Cure weirdness when dragging outside of board
5248 Dragging outside the board (when people maximized the window) did not
5249 properly restore background, (leaving a trail of dragged piece). Filling
5250 the canvas with white when it is creatd cured this. The problem most likely
5251 was that unitialized cairo surfaces had transparancy, and writing back
5252 transparancy doesn't helpmuch to erase things.
5254 2013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5255 Fix sorting of lines in Engine Output
5257 Lines tat were fail-lows or fail-ighs should get the scores on the basis
5258 of wich they are sorted corrected to that of te line (for the same move)
5259 superceding them, so that other moves can rise to above them, when they
5260 score higher than the corrected score.
5262 2013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5263 Make filler variant button inactive
5266 2013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5267 Fix packing of FRC castlings
5269 The routine for packing moves to the internal database format was not
5270 working for FRC castlings, totally messing up position search for FRC
5273 2013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5274 Fix Xaw file-browser New Directory
5276 Prevent people from using the error messages that will be printed here
5277 as directory name by pressing New Directory a second time after first
5278 pressing it with an empty or existing name.
5280 2013-12-05 16:14:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5281 Widen Xaw text entries for larger square sizes
5283 Presumably people will use larger fonts if they use larger board squares.
5284 (And in any case te default fonts would be larger.) This means they need
5285 more space to see what is the current value of text options.
5287 2013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5288 Remove width limiting of shuffle checkbox
5291 2013-11-28 13:30:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5292 Allow castling and e.p. to be edited in opening book
5295 2013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5296 Repair FRC A-side castling legality testing
5298 XBoard allowed A-side castling when a rook started on the a-file,
5299 and the b-file was blocked.
5301 2013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5302 Repair XBoard from node-count patch
5304 u64 was #defined in backend.h, which unfortunately was almost alwats
5305 (Not sure why WinBoard did not suffer from this!) This, and related
5306 definitions have now been moved to common.h (which is always #included
5309 2013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5310 WinBoard multi-monitor support
5312 A patch provided by Tim Kosse
5314 2013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5315 Fix node count range
5317 The node count was still clipped to 32 bit because one of the structs
5318 it passes through (FrontEndProgramStats) had the nodes field declared
5319 as an unsigned long.
5321 2013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5322 Fix adjudication of Giveaway stalemates
5324 The case where the side-to-move would win by stalemate was not treated
5325 in the Adjudicate switch.
5327 2013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5328 Fix buffer overflow in parser
5330 When a line ended with a comment, the parser had to read a line ahead
5331 to check if there was a PGNresult following, without being able to
5332 throw away the previous line yet. This could lead to buffer overflow
5333 in a long game where every line ended in a comment. The buffer now is
5334 cleansed of already parsed data when starting on a new syntactical unit.
5336 2013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5337 Fix -zippyVariants option
5339 Due to the change of cps->variants from (char []) to (char *), copying
5340 zippyVariants to it on behalf of v1 engines would no longer work. This
5341 is fixed by using ASSIGN() in stead of safeStrCpy().
5343 2013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5344 Fix initial board sizing WB
5346 The initial board size was based on the assumption the board would be 8x8.
5347 This could push auxiliary windows off screen if the board was smaller,
5348 after which EnsureOnScreen would undock them and park them in the upper-
5349 right corner before the board assumed its true size. InitPos() is now called
5350 before the initial sizing to et the board format correctly, InitDrawingSizes()
5351 had to be made resitant to calling before a board size was picked for this
5352 (because InitPos() might call that too).
5353 ActivateTheme() now uses the new board size, not the previous one (as was
5354 indicated by size -2), so that -boardSize specifications inside a theme
5356 Board size petite should not be forbidden for Shogi; all pieces exist there.
5358 2013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5359 Fix grabbing of selected piece
5361 A second static click on a selected piece should deselect it, but an attempt
5362 to drag an already selected piece should not 'bounce off'. It was already
5363 possible to move a selected piece to another square, but the dragging was
5364 not animated. This is now fixed, by only skipping the code to start dragging
5365 when the second click is part of the only-move double-click for only capture.
5366 (Before it was skipped on any second click.)
5368 2013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5369 Allow entry of negative numbers in spin control (WB)
5371 Windows numeric controls do not accept negative numbers, so in case the
5372 range of a spin option can go negative, the style ES_NUMBER should not be
5375 2013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5376 Allow drops / promotions/ deferrals to be edited into book
5378 For no real reason only NormalMove would be accepted when parsing the list
5381 2013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5382 Fix GUI book after setup position
5384 The routine to send move to the engine would automatically append a 'go'
5385 is a preious setboard had put the engine in force mode, but this should
5386 not happen on a book hit, where the engine should even be put in force mode
5387 if it was not yet there.
5389 2013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5392 Due to duplicate use of the same file pointer variable the game file would be
5393 closed before any games were read from it.
5395 2013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5396 Make PGN parser immune to unprotected time stamps
5398 The parser choked on time stamps of the form dd:dd or dd:dd:dd if one
5399 of the fields happened to be 00, because it wouldmistake that for a
5400 non-compliant king-side castling. By excluding this interpretation when
5401 the 00 is immediately preceded or followed by ':' this is now prevented.
5403 2013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>:
5404 updated po files for new release (make distcheck)
5407 2013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>:
5408 new version number for release 4.7.1
5411 2013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>:
5412 updated Changelog, NEWS, etc.
5415 2013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5418 It is explained how to generate multi-line commands for -zipyGameEnd.
5420 2013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5421 Fix Xaw file browser
5423 The 'next page' entry of the Xaw file browser contained a \177 character
5424 to keep at sorted at the bottom. This caused trouble for gettext.
5425 Now the sorting range is adapted so the 'next page' is never part of it.
5426 More seriously, the listbox fill code had a wrong cast when testing for
5427 an empty listbox on the first element, so that it only tested the low byte
5428 of the pointer, in stead of the entire pointer for NULLness. As a result
5429 the contents of the listboxes could suddenly disappear when even when it
5430 was non-empty, because the first filename was allocated at an unlucky address.
5432 2013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5433 Make Chat Box window obey -topLevel option
5435 It was always popping up as a dialog of the main board, covering it.
5436 One could argue it should always be to-level.
5438 2013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5439 Fix scrolling of Chat Box
5441 Seems the problem is that scroll_to_iter does not work until after some time,
5442 needed to calculate line heights. Use scroll_to_mark instead, after clumsily
5445 2013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5446 Fix GTK SetInsertPos
5448 SetInsertPos() was not yet ported to GTK, with as a result that the cursor
5449 was positioned at the start of a line recalled in the ICS Input Box,
5450 rather than at the end. The code also called SetInsertPos to force scrolling
5451 to that point in the text (which in Xaw is an automatic side effect). So for
5452 multi-line text edits this function calls ScrollToCursor(). For some reason
5453 this does not work when replacing texts in the Chat Box memo, when switching
5454 chat, although it does work in the same memo when a line is added to the
5457 2013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5458 Print score of final position in Analyze Game
5460 The score/depth of the final position of the analyed game is added
5461 (as an explicit comment) behind the PV of the forelast position.
5462 To make this work, a new 'addBraces' mode (3) had to be added to
5463 AppendComment, which suppresses stripping of the score/depth from
5466 2013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5467 Fix horrible bug in reading scores from PGN
5469 Reading scores like -0.94 flipped the sign, because the integer part
5470 -0 would read as 0, and thus was no reason for sign flipping.
5472 2013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5473 Fix disappearence of pieces that were moved illegally
5475 Dragging damages the from-square, but it is not marked as such, because
5476 selective board redraws to update highlights and such would draw the piece
5477 that is really still there, making it flash on the from-square before
5478 the position after the move is drawn. This, however, backfires when the
5479 move was illegal, as then there is no draw of a new position, and the
5480 from-square stays empty. For now this is solved by making DisplayMoveError()
5481 order a total redraw. (As this is rare, only done in case of an error,
5482 and might even throw up a pop-up, the performance cost of this is acceptable.)
5484 2013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5485 Fix quoting of book name in tourney file
5487 The argument of -polyglotBook was written to the tourney file unquoted,
5488 which effectively made it disappear if it was an empty or blank string.
5490 2013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5491 Provide compatibility with Alien Edition setup command
5493 The setup command of the Alien Edition has a board-size specifier
5494 (possibly as prefix on a parent-variant name) between pieceToCharTable
5495 and FEN. The regular version would choke on that, precluding engines
5496 designed for the Alien protocol extension to have their setup processed
5497 when running under regular XBoard. This patch makes it skip the extra info.
5499 2013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5500 Fix saving of analyzed game
5502 Anotated games after batch-mode Analyze Game were not auto-saved,
5503 because the GameEnds() call supposed to do that was called with a NULL
5504 argument for resultDetails. Now it is called with the resultDetails as
5505 pre-existing in the gameInfo, or an empty string if none exist. This bug
5506 was masked by the fact that in standard game ends (mate, etc.) the
5507 analyzing engine would declare game end and supply a message.
5508 Also makes a distinction between Analyze Game and regular Analyze mode
5509 when resuming analysis after loading a game; only the former now would
5510 trigger a batch analysis.
5512 2013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5513 Fix spurious popup after batch-mode Analyze Game
5515 A batch analysis of games was not properly terminated, because the game
5516 mode was tested after it had already been changed. No oldGameMode is
5519 2013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5520 Let XBoard -autoBox option also affect move type-in
5523 2013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5526 Key values > 255 are used for PgUp, PgDown etc., so to pop up only on
5527 printables needs a two-sided test.
5529 2013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5530 Fix fatal error on unsupported board size
5532 When a board size unsupported by the engine was requested through the
5533 New Variant dialog, this was discovered while the dialog was still up,
5534 causing the error message to pop up as a child of the New Variant dialog,
5535 so that it would immediately be taken down as the latter closed.
5536 As a result it could not be confirmed, so that XBoard would not exit, and
5537 was left in a pathologic state (ignoring window-close). This is fixed
5538 by performing Reset (which detects the error) after PopDown of New Variant.
5540 2013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5541 Accept setup command for non-standard board size
5543 The code to test if board-size is standard for the current variant
5544 has been moved to a subroutine, to allow its calling when receiving
5545 a "setup" command from the engine.
5547 2013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5548 Fix buffer overflow in feature parsing
5550 String features (variants, egt, myname and option) relied on a buf[MSG_SIZ]
5551 for processing their value. The Nebiyu engine had combobox options that
5552 required more than that. All string features are now stored in allocated
5553 memory rather than in static arrays, and StringFeature allocates a buffer
5554 of sufficient size for them. Only limitation now is the low-level input
5555 buffer in the InputSource threads, whih is a static buffer of 4096
5556 (=INPUT_SOURCE_BUF_SIZE) characters.
5558 2013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5559 Fix vertical sizing of GTK board
5561 The clipping of the boad at the bottom was due to resizing of the clock
5562 height when we first write it with a big font. This patch delays calculation
5563 of the final size until after the clock height changes.
5565 2013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>:
5566 Updated German translation
5569 2013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>:
5570 Updated Ukrainian translations
5573 2013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5574 Fix of argument error
5576 Oops. Pevious patch for skipping unknown multi-line arguments
5579 2013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5580 Let popping up of WinBoard chatbox for channel open it
5582 WinBoard now issues a +ch command for a channel when you pop up a chatbox
5583 for that channel. A work-around is added for the fact that the public
5584 FICS seems to ignore the first such command.
5586 2013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5587 Make skipping of unknown option smarter
5589 To make XBoard better resistant to the presence of disbanded or future
5590 options in its settings file, encountering those is no longer a fatal error.
5591 But the error recovery only consisted of skipping the rest of the line.
5592 This fails badly on string options with a multi-line value, which is
5593 enclosed by {braces}. We now detect that case, to skip to } instead.
5595 2013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5596 Add -backupSettingsFile option
5598 For better configurability of WinBoard, an option is added to optionally
5599 read a settings file, namely if no other settings file (other than the
5600 master file) was read so far. This can be used to import settings from
5601 a previous version, without destroying its settings file.
5603 2013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5604 Repair WinBoard compile error
5606 __GITVERSION was not defined in WinBoard, as it was only defined with a
5607 compiler flag by ./configure, which WinBoard does not use.
5609 2013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5610 Work-around for Xt selection bug
5612 In some Xt implementations calling extend-end with 0 params causes a crash,
5613 although the mmanual specifies this should default to a call with 'PRIMARY'.
5614 The default selection is now explicitly mentioned in all extend-end calls.
5616 2013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>:
5617 fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change)
5619 xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like
5620 ./xboard.texi:1026: @itemx must follow @item
5621 makeinfo seems right, @itemx is not used as described in the texinfo manual.
5622 Attached patch puts each item of the "Options" menu in it's own @subsection and formats the description of each item as a @table as neccessary. This way, xboard builds again and the manual doesn't look too bad.
5624 2013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>:
5625 updated po/pot files
5628 2013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>:
5629 new version number for developer release
5632 2013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5633 Try to make life more bearable in Xaw menus
5635 The alignment still sucks, but not as much as before.
5637 2013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5638 Fix -topLevel option
5640 This option was copletely ignored, after the refactorig.
5642 2013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5643 Fix testing for valid window placement Xaw
5646 2013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5647 Suppress printing of status line in dual-board mode
5650 2013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5651 Fix sizing of slave board GTK
5653 For lack of a known method to specify a default size for Graph widgets,
5654 we have to use the same system as for the main board: create with 0x0 size,
5655 and measure the size of the outer window to determine margins.
5656 After every popup we then resize to the required board size plus these
5659 2013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5660 Better handling of undefined window parameters
5662 Repositioning and resizing a newly created dialog was based on the width
5663 parameter of the stored sizing info being valid. Now it is separately
5664 tested if the position is valid, so that sizing and moving can be done
5665 independently. This allows us to store position info, but not size info
5666 for the slave board, so that it automatically will use the size of the
5667 main board when first opened.
5669 2013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5670 Limit debug print to debug mode
5673 2013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5674 Fix repositioning of GTK windows
5676 After 'hide' and 'show' GTK would not position the window in the same place,
5677 but center it on the parent. Now we reposition the window after 'show' based
5678 on the WindowPlacement data (if available).
5680 2013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5681 Remember window params of slave board
5683 The slave board now has been assigned a WindowPlacement, which is also
5684 saved in the settings file, through new options -slaveX/Y/W/H.
5686 2013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5687 Fix repairing of arrow damage
5689 The '2' bit in damage[][] to indicate the arrow was erroneously cleared,
5692 2013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>:
5693 fix OK-response in gtk dialogs, see c7f8df124
5695 the fix in c7f8df124 needs to be applied to both of those if cases
5697 2013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>:
5698 removed two more translations from debug output
5701 2013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>:
5702 fixed segfault of g_markup_printf_escaped which needs utf-8 strings
5704 defined text-domain as utf-8 solved this
5706 2013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>:
5710 2013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>:
5711 removed some translation calls for messages in the debug log
5714 2013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>:
5715 add keyboard shortcuts back into Xaw version
5718 2013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>:
5719 in debug mode also print the git-version if available during build
5722 2013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5723 Print game-list timing messages only in debug mode
5726 2013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5727 Fix title of top-level windows
5730 2013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5731 Cure GTK warning in top-level windows
5733 There is no OK button in top-level windows, so the 'response' signal is
5734 not defined, and should not be connected.
5736 2013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5737 Fix graying of Revert menu item
5739 The new code was checkmarking it in stead of enabling it!
5741 2013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5742 Add -onlyOwnGames option
5744 This suppresses auto-saving of ICS observed games.
5746 2013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5747 Allow display of 50-move counter in zippy mode
5749 No chance it could be considered cheating there.
5751 2013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5752 Add new vertical pixel fudge
5754 With the new GTK window type the board is 13 pixels too small.
5756 2013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5757 Don't add PV moves on board clicking in AnalyzeMode
5759 Playing PV moves by right-clicking the PV was only intended for clicks
5760 in the engine Output window, selecting from multi-PV analysis output,
5761 where by default it plays only the first move. PV walkig by right-clicking
5762 the board, however, would start the walk at the end even in AnalyzeMode,
5763 and thus add the entire PV. Which is probably not useful. So adding moves
5764 in that case has now completely been suppressed, so it can be used for
5765 harmless viewing of the latest PV.
5766 The behavior has also been made subject to a persistent Boolean option
5767 -appendPV, configured to true, with a checkbox in General Options.
5768 A checkbox has also been added there for controlling the -variations option,
5769 which is now also configured to true.
5771 2013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5772 Remove checkbox for 'Move Sound'
5774 This function is better controlled from the Sounds dialog.
5776 2013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5777 Make switching between board windows absolute
5779 Selecting the window in which to draw the board when the slave board for
5780 -dualBoard was up was done by a toggle. For unknown reason this could cause
5781 a situation where the drawing took place in the other window than the
5782 intended one. The code is made more robust by explicitly specifying which
5783 window to draw in, based on the partnerUp flag.
5785 2013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5786 Warn about experimental nature of dual board
5788 The message field, which for now is unused, now contains a warning message.
5790 2013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>:
5791 add close buttons to gtk windows
5793 use windows instead of dialogs for toplevel elements
5795 2013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>:
5796 keyboard accelerators for both front ends.
5798 moved them out of the string definition, so that gtk can add them automatically.
5799 Also wrote a function that loads them for X11.
5801 TODO: add them again when creating X11 menu names
5803 2013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>:
5804 added rotated shogi pieces for -flipback option and moved them to the themes directory
5807 2013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>:
5808 add test for pkg-config
5810 exit configure in case we can't find it.
5812 2013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5813 Only perform e.p. capture if there are rights
5815 The heuristic for e.p. capture was such that any non-forward move with
5816 a Pawn to an empty square would delete the piece behind its new location
5817 (Xiangqi exempted). This is now limited to cases where EP_STATUS indicates
5818 that the deleted piece was a Pawn that performed a double-push on the
5819 previous move. (Or if there is unknown EP_STATUS.)
5820 This makes XBoard more generally suitable for use with variants that have
5821 non-conventional Pawn moves (with legality testing off). To guarantee this
5822 will not have any unexpected effects in normal Chess, this patch will only
5823 be active if legality testing is off.
5825 2013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5826 Unreserve tourney game on exit during engine load
5828 While waiting for the feature timeout we are not yet in TwoMachines mode,
5829 so quitting XBoard at that stage would not unreserve the upcoming game.
5830 A global flag 'startingEngine' similar to 'waitingForGame' now signals
5833 2013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5834 Better fix of feature timeout
5836 The previous fix of the 2nd engine's done=1 aborting the 1st engine's
5837 feature timeout by starting the game caused problems with v1 engines,
5838 or other engines that would never send done=1. It is now fixed by
5839 explicitly testing for a pending feature timeout after resurrecting
5840 the 1st engine, rather than having TwoMachinesEventIfReady wait for
5841 initDone to be set by reception of done=1.
5842 Also refrain from freezing the UI between match games, as in TwoMachines
5843 mode the UI is mostly disabled anyway.
5845 2013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5846 Connect Ctrl key in WinBoard
5848 The Control key is now checked during move entry, for excluding moves
5849 during analysis, or for copying pieces when editing a positions. But the
5850 WB front-end did not read it out yet!
5852 2013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5853 Fix Makefile for install of Xiangqi pieces
5856 2013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5857 Add Xiangqi piece images to project
5859 Let the images install in themes/xiangqi.
5861 2013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5862 Revive -flipBlack option
5864 The -flipBlack option in the cairo version is now implemented the same
5865 way as it was in XBoard, swapping white and black pieces in filpView mode.
5866 This requires a set black piece images that are the upside-down versions
5869 2013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5870 Remove empty-square SVG images from project
5873 2013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5874 Add desktop stuff for .xop MIME type.
5876 Icons and desktop file were missing, as was the automake code to package them.
5878 2013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5882 2013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5883 Add boolean -autoBox option
5885 This option controls the automatic popup of the ICS Input Box on typing
5886 a printable character, which was annoing to some. The option can be
5887 set from the ICS Options dialog.
5889 2013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5890 Draw both coords in a1
5892 The lower-left board square needed two inscriptions, but DrawOneSquare()
5893 only allowed one, so that the file ID would not be written. Now two strings
5894 can be passed, and when align > 1 to indicate the alignment of the top
5895 string, it is still checked if a bottom string is present as well, which
5896 then is drawn with alignment 1 (= bottom right).
5897 The rank coord or piece count can now also be double digit.
5899 2013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>:
5900 updated po files for new release (make distcheck)
5902 2013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>:
5903 updated Changelog, NEWS, etc.
5905 2013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>:
5906 new version number for release of 4.7.0
5908 2013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5909 Let initial setting of Twice checkbox reflect current state
5911 The Twice checkbox in the Tournament dialog of WinBoard was by default
5912 starting unticked. It is more convenient to have it preserve the current
5913 state, however, based on the -lpi or -lgi value. Like the auto-incremet
5914 checkbox already did.
5916 2013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5917 Put GTK warning in about-box
5920 2013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5921 Fix warnings of build server
5924 2013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5925 Fix GTK error auto-raising board
5927 The variable mainwindow is not set in the gtk2 version. Unfortunately
5928 it is still used to determine default board size...
5930 2013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5931 Update Dutch WB translation
5934 2013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5935 Add some new strings to WB translation template
5938 2013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5939 Assign shortcut char to WB menu item
5941 The new Save games as Book item did not have a shortcut yet.
5943 2013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5944 Let WinBoard start in its installation folder
5946 The current directory in WinBoard was not automatically the same as the
5947 installDir returned by SearchPath. Especially not if used without shortcut
5948 by file association.
5950 2013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5951 Fix warning in WinBoard
5954 2013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5955 Fix expose of to-square with grid off
5957 The code relied on drawHighlight to request an expose evet for the entire
5958 square, but when lineGap = 0, drawHighlight is a no-op.
5960 2013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5963 On OS X dialog windows could not get focus if -lXaw appeared after
5964 -lX11 -lXt in the linker command. This was cured by moving
5965 @FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter
5966 of the automake file.
5968 2013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5969 Preserve PGN tags when loading engine
5971 Switching to EditGame mode would normally erase the tags, but when analyzing
5972 a loaded game this would be undesirable. When the engine is playing, keeping
5973 the tags is dubious, but it is not obvious what to put in a new name tag,
5974 so we leave that for now.
5976 2013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5977 Preserve mode on engine loading (sometimes)
5979 That the mode always switched to EditGame after engine loading was
5980 particularly annoying at the start of a game (where leaving BeginningOfGame
5981 mode would disablethe Time Control dialog, and the engine would not
5982 automatically reply if you start playing) and AnalyzeMode. These two
5983 modes are now preserved, BeginningOfGame by refraining from calling
5984 EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode
5985 be calling AnalyzeModeEvent() after the engine is loaded and repositioned.
5987 2013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5988 Catch unknown engine in tourney games
5990 When an XBoard instance is playing on a tourney it can happen that it is
5991 using a settings file with an engine list not yet containing a certain
5992 participant, because that participant was just installed in the instance
5993 that created the tourney file, but it did not save those modifications yet.
5994 This error is now caught, and leads to an error popup and stopping of the
5995 tourney play. This error was made non-fatal to allow the user to decide
5996 if he wants to quit with or without saving the settings (which, after all,
5997 does not seem up-to-date).
5999 2013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6000 Adjudicate pawn-drop mate as loss in Shogi
6002 Mating with a Pawn drop is illegal in Shogi, but rather than burdoning
6003 the legality-testing by this complex rule, we simply invert the result
6004 for such a mate. After all, Shogi customs are such that everything illegal
6005 leads to an immediate loss.
6007 2013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6008 Adjudicate perpetual checks as loss also in Shogi
6010 The Xiangqi code for recognizing perpetual checks is now also activated for
6011 Shogi, but in this case we bail out before checking for perpetual chases.
6012 The mini-Shogi case is then recognized as a win for gote.
6014 2013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6015 Stalemate is a win in Shogi
6017 In regular Shogi this never occurs, but in the mini variants it happens
6020 2013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6021 Fix engine timeout problem in match mode
6023 Reload of a reuse=0 engine would cause a done=1 event which would be
6024 abort the feature timeout of the other engine in the first game.
6026 2013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6027 Enforce -popupMoveErrors
6029 One move error was using DisplayError(), in stead of DisplayMoveError(),
6030 and thus did not obey the -popupMoveErrors option.
6032 2013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6036 2013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6040 2013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>:
6041 Updated German translation
6044 2013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6045 Do delayed board draw also with -stickyWindows false
6047 Only CoDrag needs to be suppressed on a configure event with
6048 -stickyWindows false, not the board redraw.
6050 2013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6051 Let tellothers command add comment to PGN in local mode
6054 2012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6055 Allow use of ~ in pieceToChar for shadow pieces in any variant
6057 The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and
6058 Bughouse. But this is not necessary, and in fact undesirable, as it made
6059 it impossible to implement Crazyhouse960, which combines shadow promotions
6060 with Fischer castling (only available in variant fischerandom)s, and thus
6061 has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable.
6063 2012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6064 Resend engine-defined options after reuse=0 reload
6066 When the engine process is re-spawned for a new game under -xreuse setting,
6067 any alteration of engine settings brought about through the Engine Settings
6068 dialogs would be lost, and revert to the engine's default. This is now fixed
6069 by re-sending all options (known from the previous load of the same engine)
6070 with the current settings immediately after "protover 2", and ignoring the
6071 engine's option features. Rather than clearing the option list, and
6072 redefining it from the option features.
6074 2012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6075 Implement aborting of games on engine request.
6077 A new game-end command is added. For bakward compatibility it is disguised
6078 as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails
6079 are recognized as special, and rather than ending the game in a draw (which
6080 GUIs not implementing this), the game will be completely 'expunged' from
6081 the match or tourney it is part of, leaving no trace in the saveGameFile.
6083 2012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6084 Store some more tourney params in tourney file
6086 The hash and threads settings, as well as ponder and book options are now
6087 also saved in the tourney file, so that tournaments can be played in
6088 parallel where these parameters differ, and no mess up can occur on
6089 restarting a touney after doing something else.
6091 2012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6092 Do not automatically save aborted games in tourney PGN
6094 When the game result is 'unfinished', we prompt for a filename rather
6095 then using the specified saveGameFile if a tourney is in progress.
6097 2013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>:
6098 fix configure bug that showed up on OS X (couldn't find X11/Dialog.h)
6100 X_CFLAGS (set by AC_PATH_XTRA) was not used in Makefile.am. It was used in tests for X11/Dialog.h, etc. so configure worked, but make didn't.
6102 2013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>:
6103 Updated Ukrainian translations
6106 2013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>:
6107 removed trailing whitespace
6110 2013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>:
6111 Updated copyright notice to 2013
6114 2012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6115 Do not move to forwadMostMove when unpausing AnalyzeMode
6118 2012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6119 Use Ctrl key in AnalyzeMode to exclude entered move
6122 2012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6123 Implement insufficient mating material for Knightmate
6125 KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
6127 2012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6128 Fix rep-draw detection in drop games
6130 In games like Crazyhouse every move is reversible, as captured pieces
6131 can eventually change sides again, and be dropped back on the board.
6132 So we have to search back a full 100 ply for repetitions, passing captures
6135 2012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>:
6136 updated po/pot files
6139 2012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>:
6140 new version number for developer release
6143 2012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6144 Prefer pause mode on pondering engine over 'easy'
6146 If the thinking engine is stopped after its move because it does not
6147 support pause, is is still better to use pause on the pondering engine
6148 than to switch of its pondering with 'easy', as the latter might not
6149 be instantaneous. Also switch off pondering in the thinking engine before
6150 it gives the move, just in case it does not respond immediately to
6153 2012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6154 Update WinBoard translation template
6157 2012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6158 Fix min-Shogi promotion zone
6160 In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
6161 that the white promotion zone was 2 ranks deep on 5x5 boards. This only
6162 happened in LegalityTest, but because this would classify all moves to
6163 4th rank an non-promotions, they would be printed with a faulty
6164 deferral (=) sign as promochar in SAN.
6166 2012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6167 Do not clear PGN tags on Analyze File
6170 2012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6171 Fix -fSAN in AnalyzeFile mode
6173 The exception that a PV relates to currentMove rather than forwardMostMove
6174 applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
6175 PvToSan did not properly restore the pushed game tail in this case.
6177 2012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6178 Improve scaling of border bitmap (WB)
6180 The StretchBlt mode is set from dither to delete.
6182 2012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6183 Implement use of pause / resume protocol commands
6185 Engines that implement feature pause=1 will be paused during their move
6186 on a pause event; pondering engines will be controlled either through
6187 'pause' or (if they don't support that) 'easy', which both should work
6188 instantaneously. If the thinking engine does not support 'pause', the pausing
6189 will be deferred to when it produces its move, and is implemented by not
6190 relaying the move, and switch off pondering for both.
6192 2012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6193 Fix Loop-Chess promotions
6195 Loop Chess is not a supported variant, but hould be playable as Crazyhouse
6196 with an altered pieceToCharTable, not defining the shadow promotion pieces.
6197 But with legality testing on promotion to shadow piece would take place
6198 even if the shadow piece was not defined.
6200 2012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6201 Fix move highlighting with animation off
6203 In WB the moving of SetHighlights to after the animation had broken the
6204 highlighting of engine moves, because it was also moved after DrawPosition.
6205 While it is DrawPosition that actually draws the highlights. Now it has been
6206 moved to just before DrawPosition.
6208 2012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6209 Start browsing in currently-selected folder (WB)
6211 The folder-browse dialog always started at My Computer, while file browsing
6212 started in the globally last-used folder (which might not be related at all
6213 to the file entry we are now browsing for).
6215 2012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6216 Implement book-creation functions
6218 A new menu item triggers conversion of the currently loaded PGN file
6219 to a Polyglot book, saved with the GUI-book filename. A (volatile) option
6220 -mcBookMode alters the probing algorithm to build a book from scratch by
6221 playing games (and using a form of learning).
6223 2012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6224 Use colors in Board-Options dialog also for font pieces (WB)
6226 The piece color settings now control the pieceColor or fontPieceColor
6227 settings, depending on the setting of -usePieceFont.
6229 2012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6230 Implement auto-creation of ICS logon file
6232 Under control of the new option -autoCreateLogon (which can be set from
6233 the ICS Options dialog) the first two lines in response to the ICS "login:"
6234 pompt will be saved on a newly created logon file (if logon from such
6235 an existing file failed).
6237 2012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6238 Add Themes dialog (WB)
6240 This dialog, done by the generic popup, contains controls for many settings
6241 that so far could only be controlled by options. It also introduces the
6242 concept of 'themes', sets of options stored in the multi-line option
6244 Add some dummy routines to suppress compile errors in functions that
6245 cannot be called yet in XBoard.
6247 2012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6248 Allow external piece bitmaps and board border (WB)
6250 The -pieceImageDirectory is now also used for WinBoard, to indicate
6251 a directory of .bmp files, used to replace the built-ins. The outline
6252 and solid bitmaps can be full-color. This allows winBoard to use the
6253 WinBoard-zeta graphics. A new option -border can indicate a bitmap file
6254 used to draw a half-square-wide border around the board.
6255 A white background has to be drawn underneath the black pieces, to avoid
6256 color-interference with the board, just like happens for the white pieces.
6257 These backgrounds now always use bright white, rather than -withePieceColor.
6259 We still have to work on the scaling of the zeta (600x600) bitmaps to
6260 the actual board size, as for some bitmaps the stratchblt is ugly.
6262 2012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6263 Add 'Continue Later' button in Tournament dialog (WB)
6265 This button makes it possible to accept the values specified in the
6266 dialog without immediately starting the tournament (as OK does),
6267 so you can re-open the dialog later, and OK it then.
6269 2012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6270 Load opponent logo based on handle in ICS play (WB)
6272 The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
6273 etc. If no logo for the handle is found there, the logo of the ICS is
6276 2012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>:
6277 Fix configure script for --enable-zippy (tiny change)
6279 reported and patch by Daniel.
6281 edited by Arun Persaud:
6282 - also fixed #ifndef ZIPPY -> #if !ZIPPY
6283 - didn't change #if -> #ifdef
6285 2012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>:
6286 don't define X_LIBS when using gtk-frontend
6289 2012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>:
6290 updated po/pot files; added new frontend files
6293 2012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>:
6294 fix configure script for --with-Xaw and --with-gtk
6296 made Xaw the default and included xaw or gtk sources as extras
6297 in case the other frontend is selected for make distcheck
6299 2012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>:
6300 new version number for developer release
6303 2012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6304 Draw frames around memos and listboxes
6307 2012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6308 Adapt lineGap during sizing
6311 2012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6312 Fix clock highlighting
6315 2012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6318 The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
6319 handler for special keys in one-liner text edits.
6321 2012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6322 Pay attention to NO_CANCEL dialog flag
6325 2012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6326 Fix clock clicking with GtkEventBox
6328 Like in WinBoard the button-3 case is now handled in the primary
6329 event handler (and communicated to it in a kludgy way). It would be
6330 better if this was absorbed in ClockClick().
6332 2012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6335 Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
6336 FIXED_H (which only the logos did) is now packed into a (borderless) aspect
6339 2012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6340 Add window positioning
6342 Sticky windows now sort of works, but needs unexplained fudge factors.
6343 Reopening a persistent dialog centers it on the board, and disobeys
6344 the positioning command. The WindowPlacement of the BoardWindow was
6345 again added (it was commented out during development).
6347 2012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6348 Make board sizing work through subtracting fixed height
6350 There is now no attempt to give a size to the board drawing area, so it
6351 can later be sized as small as we want. The frame width is determined
6352 by subtracting the nominal board size from the actual window size,
6353 (because the clocks will have that width, and the board will startas 1x1),
6354 while the vertical margin is determined as the difference between the
6355 bactual window height, the drawing-area height minus a fudge of 25 pixels
6356 to compesate for the erroneously allocated blank space below the board.
6358 2012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6361 The highTextStart/End are now declared in engineoutput.h, shared between
6362 nengineoutput.c and xengineoutput.c. Unused variables were removed.
6363 Also fix warnings in xboard.c and xoptions.c.
6365 2012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6366 Delete emptied front-end files, and move rest to gtk directory
6368 Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
6369 and xhistory have been completely cleared off content, and were removed.
6371 2012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6374 The code from gtk-xt could be used with almost no modification.
6376 2012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6377 Some experimenting with sizing
6379 Does not work as intended yet.
6381 2012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6384 Funny enough it was necessary to swap the two svg icons to make this work!
6386 2012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6387 Make some tall dialogs multi-column
6389 A dummy button was added to the last row of New Variant to make the
6390 number even. A legality-test warning as put in the New Variant dialog
6391 Fix width of tourney-file in Match dialog
6393 2012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>:
6394 updated some icons to SVG
6397 2012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6398 Add displaying of icons
6400 A new Option type, 'Icon', was added for this as in GTK Icons and Labels
6401 need different types of widget. The icons are now svg, so we could
6402 remove the icon pixmaps.
6404 2012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6408 2012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6409 Add BarBegin, BarEnd options
6411 This makes the button bar display correctly. Also fix v-sizing of menu bar.
6413 2012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6414 Add listbox double-click callback
6416 This function was formerly performed by WheelProc.
6418 2012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6419 Add hiding / showing second Engine Output pane
6421 The handle of the GTK table for the second engine is stored in the
6422 EndMark handle by GenericPopUp, so it can be used later to hise/show
6425 2012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6426 Use different tables for different dialog columns
6428 Making the same table wider (in steps of 3) to get multiple columns
6429 does not work, because it forces options to align vertically. This
6430 wrecks dialogs like Load Engine, where one column contains a very
6431 high option (listbox). Now differnt tables are created for each column,
6432 packed in a new itermediate hbox. In case of the Engine Output window,
6433 a vbox is used instead to cause vertical stacking.
6434 Only multi-line text-edits and listboxes are now allowed to take up
6435 vertical space changes, while only the middle colum of the table
6436 can take up horizontal size changes. Within packing boxes space is
6437 equally distributed.
6438 The labels above the particiant-selection widgets had not the same width
6439 as the textview / listbox, leading to misplacement of the second label.
6440 For Engine Settings the spontaneous breaking into columns did not
6441 involve a SAME_ROW flag, so the 'columns' were stacked vertically.
6442 In addition the columns were too tall for GTK. They are now 20 options max.
6444 2012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6445 Deselect first char in Move Type-in and ICS Input Box
6447 After popup the Move Type-In had the typed character in it, but it was
6448 selected, so that typing a second character would erase it again.
6449 Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.
6451 2012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6452 Close Move Type-in on Enter
6454 The code is squeezed into the ICSKeyEvent callback.
6456 2012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6457 Add access routines to checkboxes and FocusOnWidget
6459 The <Enter> handler of the filter field needs it to return focus to
6462 2012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6463 Add game-list callbacks
6465 The callbacks for listbox and filter text are treated by the same callback,
6466 which does both key presses and button double-clicks.
6467 Giving focus back to the listbox after filtering does not yet work!
6469 2012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6470 Add optional callback to Label Options
6472 For some reason this does not work. The callback isn't called!
6474 2012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6475 Add type-in event to board for popping up box
6478 2012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6481 The state of Shift and Ctrl was only probed on button clicks, so it
6482 is now read out of the button-event struct in the relevant button handlers.
6483 For backwad compatibility, they store it in a global, so the routine
6484 ShiftKeys can take them from there.
6486 2012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6487 Remove some unneeded low-level X11 code
6489 Things like tabbing between controls, mouse-wheel scolling etc. are all
6490 automatic in GTK, and thuse don't need to be ported.
6492 2012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6495 The gtk-xt code for browsing in response to menu items rather than dialog
6496 browse buttons) was grafted. It seems desirable to merge the two browsing
6497 functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
6498 The code was altered to use DelayedLoad.
6500 2012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6501 Fix ListBox, and add some support routines
6503 The srolled-window for the listbox used a uninitialized variable for its
6504 width, causing a crash. Now it pays attention to the Option.max and .value
6505 size hints. The access routines were copied from gtk-xt. HighlightWithScroll
6506 could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.
6508 2012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6509 Connect CommentClick handler
6511 This can make use of generic memo callback, so it could be entirely
6512 backend. Therefore it was moved to dialogs.h. As it shared a global with
6513 some other back-end popup routines to remember the current move, these
6514 could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
6515 so it has now been put in a header. :-( )
6517 2012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6520 Because FrameDelay does block the event loop, even though it releaes the
6521 CPU, expose events start to lag behind the actual drawing. By combining
6522 expose events for overlapping squares, rather than decompose them into
6523 3 rectangles, this problem seems to go away. But only if there is an
6524 extra exposure on the squares to be drawn also non-overlapping frames
6525 will be properly drawn (?!).
6527 2012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6528 Implement highlighting in engine output by through generic method
6530 HighlightMove was made generally available for all text. It is now just a
6531 wrapper for the generic HighlightText, and could be moved to the back-end.
6532 (This requires the initialization to be widget specific, and the flag
6533 indicating it has been done is now stored in the Option.min field.)
6535 2012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6536 Let engine-output memos use new generic callback
6539 2012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6540 Add scrolling of Move History
6542 To have access to the textview, its handle is now stored in the
6543 Option.textValue field.
6545 2012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6546 Add highlighting in move list
6548 For now it is assumed the normal background will be white (for clearing
6551 2012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6552 Make generic memo-event handler, and connect history callback
6554 Large text widgets can now define a user handler in their Option.choice
6555 field. If they do, agneric callback is added tothem, which catches mouse
6556 events. Button release and pointer motion pass their coordinate and type
6557 to the specified user routine. Button presses in addition retrieve
6558 the text from the widget, set the cursor in it to the clicked point,
6559 and convert it to a character position, also passed to the user.
6560 The user is responsible for ignoring events he is not interested in.
6562 2012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6563 Add key-handler for ICS Input Box
6565 In contrast to the X11 code, all intercepted keys are now treated by
6566 the same callback. The ICS Input Box callback triggers on Up, Down and
6567 Return key, and refers to these symbolically.
6569 2012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6570 Highlight Pause button
6573 2012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6574 Better cleansing of xboard.c from X11 types
6576 The #includes for X11 files were still in there.
6578 2012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6579 Add text insertion in engine-output memos
6582 2012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6583 Append recent engines to engine menu
6585 This is now entirely moved to the back-end, by doing it in the table
6586 from which the menus are later generated. The special callback for engine
6587 items is abandoned, and the euProc for such items is left NULL to flag
6588 that RecentEngineEvent should be invoked with the applicable engine number.
6589 To calculate the latter a global variable firstEngineItem is dynamically
6590 set to the length of the regular engine menu.
6592 2012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6593 Transfer more gtk-xt code, and add some new
6595 Add input-source handling
6596 Graft color picker (<Enter> callbeack in the text field is still missing!)
6597 Handle contents of label widgets (store handles in Option for access)
6598 Add printing of clocks
6599 Add printing of window title
6600 Pay attention to BORDER attribute of Label Options (pack in frame)
6601 Delete ReadBitmap code (also remove #including of bitmap files for icons)
6602 Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll)
6603 Support vertical stacking in Break Option (no table widening when !SAME_ROW)
6604 Make default horizontal scroll policy automatic (for engine-output window)
6605 Fix disabling of unused spinners in TC dialog
6607 2012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6608 Connect dialog Browse buttons to GTK browser
6611 2012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6612 Implement menu checkmarking and enabling
6614 odes in the (later over-written) handle field specify which items
6615 are to be checkmarked, and by what style button.
6617 2012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6618 Attach expose handler and connect to mouse events
6620 The GraphExposeProc is conected to the Graph widgets. A gdk draw routine
6621 is used to copy the buffer bitmap to the display. It is also connected
6622 to button and motion-notify events.
6623 In this version the board can be fully operated with the mouse.
6625 2012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6626 Transfer most available gtk-xt code to xoptions.c
6628 GenericPopUp and PopDown are grafted from gtk-xt into gtk2.
6629 The version compiles, but segfaults before doing anything, with error
6630 messages about unexpected cases in GenericPopup for Graph and PopUp Options
6631 of the main board. The spin options need special treatment in GetWidgtText.
6633 2012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6634 Give LoadListBox two extra parameters
6636 It often occurs that we just want to swap two elements, and reloading
6637 the entire listbox would be a very inefficient way to do this in widget
6638 sets that allow access to a single element.
6640 2012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6641 Remove all X11 code by #ifdeffing it out
6643 With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling
6644 X11-free version. The disabled sections can then be replaced by code
6645 for another widget set, the X11 version still showing what it was supposed
6648 2012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6649 Move timer functions to new file xtimer.c
6651 The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
6652 go into a separate file.
6654 2012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6655 Make xevalgraph.c backend
6657 The only front-end stuff left in xevalgraph.c was an unnecessary reading
6658 of the window size (which could be obtained from the WindowPlaceent struct),
6659 and drawing (all cairo now). The drawing was moved to draw.c, and the
6660 remaining part renamed nevalgraph.c.
6662 An attempt to list them in a less chaotic way.
6664 2012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6665 Cleanse back-end code of all references to X11 types
6667 When compiling for X11, common.h #included X11/Intrinsics.h so that
6668 X11-specific data types could still be used throughout the back-end part
6669 not shared with WinBoard. By temporarily disabling this, error messages
6670 could be generated on all such occurrences, and were then solved. This
6671 included the following:
6672 The InputSource struct is not uses in usystem.c at all, and its definition
6673 could be moved to xboard.c. InputSourceRef, which logically should heve been
6674 defined as (InputSource *), is in reality (void *), so the back-end can
6676 Some non-platform-dependent stuff of general interest had prototypes
6677 (or external vars) in xboard.h. This is now moved to a new header xboard2.h,
6678 to allow it to be shared without bringing in X11 dependence.
6679 The EngineOutputProc was defined inconsistently, but the header was not
6680 sufficiently shared to flag this error. This has been repaired now, by moving
6681 the template to menus.h.
6683 2012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6684 Remove xedittags.c, .h from project
6686 The tiny bit of code that was left was absorbed in dialogs.c, the one
6687 prototype to menus.h.
6689 2012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6690 Remove inclusion of frontend.h from backendz.h
6692 This did not seem to serve any purpose at all.
6694 2012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6695 Split xhistory.c in front-end and middle-end part
6698 2012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6699 Move MarkMenuItem to xoptions.c
6701 This to make xoptions.c completely independent from the inclusion of
6702 frontend.h. The prototype is moved to menus.h.
6703 Loose end: DrawPosition in board.c does not see the prototype.
6704 Very suspect that it wants to see it. Why would it have to correct the
6705 flipView setting??? Better se to it that it is correct to start with!
6707 2012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6708 move testing for no options to back-end
6710 The test if an engine has options and display a note instead of
6711 the Engine Settings dialog when this is not the case is moved
6712 to outside of GenericPopUp, to make the later independent of calling
6715 2012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6716 Remove some unnecessary header includes
6719 2012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6720 Move ICS-engine analyze and AnalyzeGame code to shared back-end
6722 This code was still duplicated between WB and XB in the front-ends.
6723 Because of its incorporation in AnalyzeModeEvent the 'middle-end'
6724 function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made
6725 to return an int to flag its success, and keep the JAWS code based
6726 on it out of XBoard.
6727 The AnalyzeGame code is now incorporated in AnalyzeFileEvent().
6729 2012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6730 Add configure switches for Xaw vs GTK.
6732 This patch is an adapted version of the one Arun made at the end of the
6733 gtk2 branch. It uses the exact same version of his configure.ac, but the
6734 Makefile.am is adapted to the situation in master at the beginning of it,
6735 after duplication of the X11 front-end files in the xaw directory for
6736 preserving them, while the versions that will be modified to GTK front-end
6737 are still in the xboard directory.
6739 2012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6740 Prepare xoptions.c for middle-end changes
6742 Some changes that can be pre-empted, such as the splitting of Label
6743 into Label and Icon Option type, and some dummy wrappers are already
6744 implemented, so they can be used when needed by GTK.
6746 2012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6747 Preserve copies of the X11 front-end in xboard directory
6749 The X11 front-end has been moved to the xaw directory, but copies
6750 are retained for modifying them to gtk versions.
6752 2012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6753 Move X11 front-end to directory xaw
6756 2012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6757 Fix initial enables in TC dialog
6760 2012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6761 Fix image extension used for browsing to .pgn
6764 2012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6765 Fix WinBoard compile error on enum PEN
6768 2012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6769 Fix crash in promotion popup
6771 There were not enough entries for Capablanca Chess with legality-testing off,
6772 where King is also presented as a choice.
6774 2012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6775 Fix message in New Variant dialog
6777 Even in -ncp mode the message was referring to the 'current engine'.
6779 2012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6780 Fix crash on animation after resizing
6782 The animate buffers were still holding pointers to a discarded cairo surface.
6784 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6785 Fix variant-dependent pieces
6787 The code to select the actually used piece images from the available ones
6788 (from InitDrawingSizes) is now made into a subroutine, and also called
6789 after resizing the pieces.
6791 2012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6792 Replace marble texture pixmaps by png
6795 2012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6796 Replace xiangqi board pixmaps by png images
6799 2012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6800 Remove the texture pixmaps from project
6802 These were already replaced by png textures.
6804 2012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6805 Fix re-rendering of svg on resize
6807 The previously prepared bitmaps were retained if we resized, rather then
6808 rendering the svg atthe new size.
6810 2012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>:
6814 2012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>:
6815 new version number for developer release
6818 2012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>:
6819 we still need a few bitmaps, so the directory needs to be included in Makefile.am
6821 make distcheck complained about this
6823 2012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6824 Rename svg shogi pieces, so they become usable
6826 Only white pieces are present. For black they would have to be flipped.
6828 2012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6829 Fix bug in resizing on variant switch
6831 The fix of the garbage pixels had unfortunately broken this.
6833 2012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6834 Fix bug in fallback mechanism
6836 After failure to load a piece from a specified -pieceImageDirectory
6837 the default theme was not tried, because the cairo function to load
6838 from a pgn file returns a valid handle even if the file does not exist.
6840 2012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6841 Get svg error message
6844 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6845 Fix variant-dependent pieces
6847 The code to select the actually used piece images from the available ones
6848 (from InitDrawingSizes) is now made into a subroutine, and also called
6849 after resizing the pieces.
6851 2012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6852 Remove caveat on available pieces fromNew Variant dialog
6854 In the cairo version all pieces are available at all board sizes.
6856 2012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6857 Remove some unused images from png directory
6859 Currently only the three board texture files are used. But the piece
6860 images are still left, because they might be useful if we ever want
6861 to mae XBoard configurable for not using librsvg.
6863 2012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6866 The nominal size of the window was not set in the correct Option struct.
6868 2012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6869 Prevent odd-width line shift in length direction
6872 2012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6873 Print missing-pieces error message to console
6875 The GUI might not yet be up at this point.In addition, suppress
6876 the rest of the code, because it could give segfaults.
6878 2012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6879 Fix garbage pixels on the right of the board
6881 The extra pixel that is requested in sizing the board window back to
6882 an available size because we ofte get one less pixel than we ask for
6883 can lead to a line of garbage pixels next to the board. This is combatted
6884 by limiting expose events to the true board area, remembering that in the
6885 Graph Option rather than the actual window size, and suppressing resizing
6886 when the latter only exceeds the stored width by more than 1 pixel.
6888 2012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6889 Trim board-window size
6891 The board window will sometimes be a pixel larger than requested.
6892 The ReSize routine will now reset the size values in the Graph Option
6893 to what they were supposed to be, to prevent expose events will
6894 draw nonsense in the extra space.
6896 2012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6897 Adapt docs for svg/png in stead of bitmap/pixmap
6900 2012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6901 Spontaeous changes in gettext stuff
6904 2012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6905 Move Shogi svg pieces to own directory
6908 2012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6909 Remove unnecessary Xt colors and call to MakeColors
6912 2012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6913 Code cleanup: move expose redraw to draw.c
6916 2012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6917 Suppress warning for InitDrawingHandle
6920 2012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6921 Make fallbackPieceImageDirectory hardcoded
6924 2012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6925 Increase drag delay too 200 msec
6927 On my slow laptop it can take more than 100 msec to reallocate bitmaps
6928 in the generic expose, with as a consequence that the DelayedDrag event
6929 is not processed before the timeout expires. The timeout event then triggers
6930 a redraw, which again takes so long that the timeout expires before the
6931 event to reset the timer could be processed, and this just perpetuates
6932 itself, leading to a large series of queued redraws, and a long waiting time
6933 for an image to appear after the sizing stops.
6935 2012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6936 Fix segfault on faulty command-line option
6939 2012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6940 Suppress anti-aliasing in -monoMode
6942 In the color-substitution code, always use bi-level alpha and color.
6944 2012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6945 Remove piece pixmaps from project
6948 2012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6949 Implement proper fallback cascade
6951 Try in order cached svg, cached bitmap, user png, user svg, default svg.
6953 2012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6957 2012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6958 Install svg pieces in themes/default
6960 The svg pieces are installed with the XBoard data in the directory
6961 .../xboard/themes/default . A new option -fallbackPieceImageDirectory
6962 is added, and is configured in the master settings file to point to
6963 these pieces. This options, which replaces -svgDirectory, is volatile,
6964 and the menu control to set it is removed. The -pngDirectory option
6965 is renamed to -pieceImageDirectory (-pid).
6967 2012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6968 Remove bitmaps from project
6971 2012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6972 Install the wood textures as png
6974 The xboard.conf has to be edited to set these as default textures,
6975 in stead of the .xpm files.
6977 2012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6978 Add hatched board texture
6980 A png file with hatching is added, so it can be used for dark squares
6981 in a monochrome theme. It is installed in a new data directory
6982 .../xboard/themes/textures.
6984 2012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>:
6985 added a black and white theme to replace the mono option
6988 2012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>:
6989 added SVGs to dist files in automake
6992 2012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6993 Fix exposure of atomic captures
6995 The grid lines had to be repaired too, so damage marker 2 had to be used.
6997 2012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6998 Fix animation with textures off
7000 The blank square was not shifted to (0,0) when drawing the animation buffer.
7002 2012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7003 Fix 1-pixel offset of grid lines on some cairo implementations
7006 2012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7007 Solve odd lineGap problem
7009 Not all cairo versions seem to round the same when an odd-width line
7010 is to be drawn at integer coordinates. So now we explicitly ask it
7011 to be drawn centered on half-odd-integer coordinates.
7013 2012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7014 Add -trueColors option
7017 2012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7018 Always render svg pieces anew on size change
7020 The svg pieces are now unconditionally rendered to supply the pngPieceImage
7021 master source otherwise read from png file. This is then fed into the
7022 original png code (so that if for some reason it fails, we fall back on png
7023 pieces, and finally on built-in pixmaps).
7025 2012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7026 Fix rsvg version in configure.ac
7029 2012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>:
7030 initial svg rendering
7033 2012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>:
7034 added cairo and librsvg to configure process
7037 2012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>:
7040 converted from inkscape SVG to plain SVG before adding
7042 2012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7043 Adapt Eval Graph code to new drawing system
7045 The eval graph now triggers an expose after drawing, and gets its size
7046 from the Option fields.
7048 2012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7049 Fix expose requests seek graph
7052 2012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7053 Make draw handle for board globally available
7056 2012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7057 Let expose requests pay proper attenton to widget
7059 So far, expose requests were always assumed to be for the board widget,
7060 preventing display of the labels.
7062 2012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7063 Fix initial display of logos
7065 The logos were selected and printed during the initialization,
7066 before the main event loop was started. So the expose events during
7067 widget creation, which created the drawing surfaces, were only processed
7068 after the initial drawing of logos, so that there was nothing to draw on!
7070 2012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7071 Fix alignment of highlight expose
7074 2012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7078 2012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7079 Make expose handler generic
7081 The Graph Option now returns two handles in hitherto unused fields of its
7082 Option struct: Option.choice is a cairo handle of a memory buffer the user
7083 must draw to, while Option.textValue is the handle to the widget.
7084 Expose events copy the memory buffer to the display for the exposed area.
7085 A routine DrawExpose() is supplied to let the user generate expose events.
7087 2012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7088 Reload piece images when pngDirectory is changed
7090 The OK function of the board options dialog now tests for a change
7091 in pngDirectory and passes a parameter to InitDrawingParams to tell
7092 it to destroy the old images. This cause a reload on scaling the pieces.
7094 2012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7095 Suppress redraw during sizing
7098 2012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7099 Fix bug in resize trigger
7101 Even if the square size does not change, the window has to be shrunk
7102 back to fit the board.
7104 2012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7105 Make Piececolor options work on png pieces
7107 The scaled, antialiased bitmaps are now colored according to the option
7108 settings. This is done by decomposing every pixel in a white, black and
7109 transparency component, which is possible because the opacity is
7110 directly give in the alpha channel, and black originally was a hard zero.
7111 So what you se in the red channel must be white (as the original white
7112 was #FFFFCC), and the rest of the opacity must be due to black.
7113 The color to be replaced (white for the white pieces, black for the black
7114 pieces) is then replaced by the original weight of this color times the
7115 color from the option.
7117 2012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7118 Plug resource leak on rezising with pixmaps
7121 2012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7122 Fall back on built-in pixmaps if png pieces unreadable
7125 2012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7126 Do coordinate text alignment with cairo
7129 2012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7133 2012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7134 Clean up drawing code
7136 Now all routines only draw through cairo, the destination surface can
7137 be passed to them, making it possible to do the duplicate drawing
7138 to the memory board image in a cleaner way.
7140 2012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7141 Check in draw.c, draw.h
7144 2012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7145 Remove all bitmap & pixmap drawing
7147 All Xt code for drawing the board is now removed, as are the
7148 -pixmapDirectory and -bitmapdirectory option. This version is now
7149 completely dependent on cairo for handling of all graphics anywhere.
7150 (The build-in pixmaps are still left, though, for later use as an
7151 alterative cairo source when no png files are found.)
7153 2012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7154 Separate off drawing routines from xboard.c
7156 A new source file draw.c is created to hold all code associated with
7157 board drawing. The routines for loading bitmaps and creating colors
7158 were left in xboard.c, though, as they are also used for handling
7159 icons and colors of widgets.
7161 2012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7162 Fix erasing dots in seek graph
7164 The cairo dots were just a little bit bigger than the old ones, so they
7165 were not properly erased, but left a remnant.
7167 2012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7168 Cleanup CairoOverlayPiece
7171 2012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7172 Draw arrow also on backup image
7175 2012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7176 Fix highlight clearing
7179 2012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7180 Remove acceleration trick
7183 2012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7184 Implement variant-dependent png piece symbols
7187 2012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7188 Fix clearing of markers dots with promo popup
7191 2012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7192 Also render coordinates to backup board
7195 2012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7199 2012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7200 Let cairo also do evenly colored squares.
7203 2012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7204 Make dragged piece for excluding moves transparent
7207 2012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7211 2012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7212 Redo coordinate / piece-count printing ith cairo
7215 2012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7216 Also use cairo on slave board
7218 With dual-board observing the drawing should be redirected to the
7219 slave board, so SwitchWindow should also switch the xlib-surface to
7220 one for the slave window.
7222 2012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7223 Cure flashing of piece on from-square
7225 In a drag-drop move the piece was flashed on the from square after the
7226 user dropped it on the to-square, because highlights were set before the
7227 move had updated the board. And highlighting with arrow can cause a redraw
7228 of the last board. Same with setting or clearing marker dots.
7230 2012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7231 Specify proper condition for using cairo animation
7234 2012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7235 Allow resizing of board window
7237 In full png mode the size of the board window is no longer locked.
7238 After resizing, the square size is calculated as the largest one that
7239 would fit the window, and the window is then shrunk around it. To prevent
7240 excessive redrawing during sizing, the redraw is delayed by putting it
7243 2012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7244 Switch to using 64x64 png images
7246 The bitmap scaling works better when the needed factors are not too large,
7247 as the svg rendering's anti-aliasing did not blur more than 1 pixel.
7248 So after shrinking too much the images are not effectively anti-aliased
7251 2012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7252 Maintain in-memory copy of the board image
7254 As reading back from the xlib-surface proves incredibly slow (cairo probably
7255 converts the entire image from Xt format to cairo format when we set it
7256 as a source, even though we only want to read a few dozen pixels), we now
7257 keep an exact copy of the board image as a cairo bitmap in memory. This
7258 restores the speed of the animation, but unfortunately leads to awful code.
7260 2012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7261 Do animation with cairo
7263 Unfortunately this is incredibly slow.
7265 2012-10-04 18:36:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7266 Allow back-texture files to be PNG, (drawn with cairo)
7269 2012-10-04 15:10:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7272 A new directory with 256x256 png piece images is added to the source tree.
7274 2012-10-04 15:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7275 Add mode to draw PNG piece images through cairo
7277 The PNG images have to be supplied as files in a -pngDirectory (a new
7278 option) with a 256x256 bitmap. They are then scaled by cairo to the
7279 desired square size. This does not work very well for the smaller sizes.
7281 2012-10-03 14:45:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7282 Redo marker dots with cairo
7285 2012-10-03 14:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7286 Redo highlights with cairo
7289 2012-10-03 14:07:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7290 Make convenience routine SetPen globally available
7292 The routine to set a pen as specified by a color string that was used
7293 in xevalgraph is moved to xboard.c, where there also is lots of demand
7294 for it. The arrow drawing now uses it for setting the highlightSquareColor.
7296 2012-10-03 12:28:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7297 Redo grid with cairo
7300 2012-10-03 12:00:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7301 Redo arrow highlighting with cairo
7304 2012-10-03 11:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7305 Redo seek graph with cairo
7307 New front-end services DrawSeekOpen() and DrawSeekClose() have been
7308 added, and are called from the back-end to enclose any drawing activity.
7309 In WinBoard these had to be defined as dummies.
7311 2012-10-02 15:31:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7312 Redo logos with cairo
7314 The logos must now be .png files, and are internally handled as their
7315 filenames. (So no preparation of a drawable from it at startup.)
7316 Cairo allows them to be scaled to the requested logoSize.
7318 2012-10-02 14:02:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7319 Fix Eval Graph resolution problems
7321 Anti-aliasing had to be switched off to get a crisp graph. A second problem
7322 was that the dashed lines were drawn in both directions, with interfering
7325 2012-10-02 10:54:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7326 Redo Eval Graph drawing with cairo
7329 2012-10-21 10:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7330 Fix button-border-width bug in monoMode
7332 The kludge of signalling we are dealing wih a button rather than a label
7333 was wrongly implemented in case of momoMode.
7335 2012-10-21 10:14:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7336 Reserve more space for button bar
7338 In some board sizes the button bar was wider than the code guessed,
7339 so the window width would be determined by the message + buttons row rather
7342 2012-10-21 11:24:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7343 Fix WinBoard compile errors
7346 2012-10-13 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7347 Fix non-NLS compile error for XFontStruct
7350 2012-10-12 12:04:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7351 Fix browsing for path
7353 A pathname was still prefixed with the cuurent directory.
7355 2012-10-07 21:00:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7356 Use Pause state in AnalyzeMode to imply move exclusion
7358 The pause state was not used in AnalyzeMode so far. Now it is used to
7359 imply all entered moves are for exclusion/inclusion.
7361 2012-09-30 18:55:13 -0700 Arun Persaud <arun@nubati.net>:
7362 new version number for developer release
7365 2012-09-30 22:16:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7366 Fix broken -ics and -cp options
7368 The patch to specify engines and ICS by nickame broke the use of the
7369 regular options to do this, because they could also reset them. Now
7370 this is fixed by only setting them (through |= in stead of =).
7372 2012-09-30 22:01:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7375 The description of exclude-moves, multi-game ananalysis and duo-analysis
7378 2012-09-30 10:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7379 Resolve conflict between -mps and -inc options
7381 The age-old problem that a persistent valid -inc value will cause -mps
7382 to be ignored is solved by the kludge of storing these two as a single
7383 option (-mps) in the settings file, and declaring the other (-inc) volatile.
7384 The range of negative numbers (invalid as -mps value) was available for
7385 that, and now is used to store the negated value of -inc in msec.
7386 For backward compatibility, specification of -inc causes interpretation
7387 of -mps in the old way. The forcing of -inc to -1 in the master settings file
7388 could be safely removed because of this change, so that the time increment
7389 now is a persistent option.
7391 2012-09-29 23:13:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7392 Allow entry of fractional increment in WB time-control dialog
7394 The numeric edit is changed to a general text edit, and code is added
7395 to convert the text it contains to and from float, with proper error check.
7397 2012-09-29 23:05:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7398 Preconfigure -icsNames in xboard.conf
7400 Although XBoard has no startup dialog with an ICS combobox, the -icsNames
7401 option is now used to select lines from with the -is option, and in
7402 interpretation of positional arguments. The most common ICS are configured
7403 together with a short nickname, so that commands like "xboard fics" will work.
7405 2012-09-29 22:58:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7406 Allow ICS nickname as positional argument
7408 If an argument is encountered that is not preceded by an option name,
7409 it is now first checked if it corresponds to the nickname of an ICS
7410 in -icsNames. If so, it is assumed to be the value of an -is option,
7411 selecting -ics mode with that ICS and all the options installed with it.
7413 2012-09-28 20:28:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7414 Cure some sick behavior in XBoard Engine Output right-clicks
7416 When a PV-walk is in progress, the PV is highlighted by selecting it,
7417 and this focuses the attention of the scroll bar on it, so it remains in
7418 view. But after release, that line was kept in view, rather than scrolling
7419 back to the top of the window (where the header line bust be available
7422 2012-09-28 13:28:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7423 Allow Analyze Game to auto-step through entire game file
7425 If the game index is set to auto-increment (-lgi -1), the Analyze Game
7426 function will automatically load the next game of the current game file
7427 (starting to auto-play/annotate that) when the end of the current game is
7428 reached. This flushes the annotated game if auto-saving was set,
7429 so that eventually all games in the file will be annotatd and saved.
7430 The game index is automatically set to auto-increment when we load
7431 a file while in Analyze Game mode, but switching this mode on while a game
7432 is already loaded will stop at the end of that game, as usual (if -lgi was
7433 not explicitly set).
7435 2012-09-28 13:24:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7436 Let second engine move in lockstep during dual analysis
7438 When the second engine is also analysing (as indicated by its stat variable
7439 second.analyzing), we send all moves / undos / positions / in&excludes that
7440 go to the first engine also to second.
7442 2012-09-27 19:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7443 Allow second engine to analyze too
7445 Clicking the Analysis menu when analysis is already in progress will
7446 now toggle the secon engine to analyze the same position. For now,
7447 this lasts only until the position changes (or you leave analyze mode),
7448 after which the second engine is always switched off, and the Engine
7449 Output window returns to single pane. Each pane now has its own header
7450 line; the exclude header is suppressed in the second pane.
7452 2012-09-27 18:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7453 Add options -fe, -se, -is to load installed engines/ics from list
7455 The volatile string options -fe, -se ('first/second engine') load the first
7456 and second engine of the given nickname in the -firstChessProgramNames list,
7457 including all options that were installed with it (similar to when in
7458 WinBoard the that engine line had been selected through the Startup Dialog's
7459 combobox). The option -is is similarly used to retrieve the line for an
7460 ICS in the -icsNames list.
7462 2012-09-27 18:02:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7463 Add check on validity of tourney participants
7465 Before allowing OK of the Tournament Options dialog, it is now checked
7466 whether all participants (which are given as nicknames) can be found
7467 in the list of installed engines, so that no problems will occurr with
7468 non-existing engines during the tourney (if typos crept in after hand-
7471 2012-09-25 16:21:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7472 Implement --help option
7474 The list of options is printed before exiting. Some attempt is made
7475 to do it in a nice way.
7477 2012-09-23 20:10:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7478 Implement variant seirawan in -serverMoves option
7480 Write the gating moves such that the ChessLive! viewer will understand them.
7482 2012-09-23 20:05:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7483 Workaround for FICS bug
7485 FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move.
7486 This broke 'Upload to examine', because that uploaded in SAN. In case the
7487 SAN starts with Bx or bx, it now uses long algebraic (with = before the
7490 2012-09-20 18:17:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7491 Define XOP mime type for XBoard
7493 Supply a white-knight icon for this mime type, called application/x-xboard-opt,
7494 and a sesktop file to associate it with running XBoard with this settings file.
7496 2012-09-20 17:24:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7497 Pay attention to extension of 'positional' arguments
7499 An argument without preceding option name was assumed to be an -lgf argument.
7500 This patch still does that by default, but if the argument ends in .fen, .epd,
7501 .trn, .ini or .xop it is considered an -lpf, -tf or -opt argument.
7502 In addition, an implied -lpf or -lgf argument also imply the option -viewer,
7503 which inserts the -viewerOptions string into the command line, and proesses it
7504 as options. A new option -tourneyOptions is similarly inserted for an implied
7505 -tf argument. These strings should contain all options needed to start XBoard
7506 fully configured as game viewer or tourney playing agent on the mentioned file.
7508 2012-09-20 15:29:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7509 Let windows stick to right display edge (WB)
7511 Auxiliary windows docked to the board window from below or to the right, which are
7512 pushed out of view when the board window resizes, will be trimmed to just touch the
7513 diplay edge (if sufficient width or height remains). When the board window shrinks,
7514 auxiliary windows touching the edge will be resized so they remain touching it.
7516 2012-09-20 15:20:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7517 Round board size to one where piece images available (WB)
7519 When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not
7520 available, the size is temporarily rounded to one of the sizes where they are.
7522 2012-07-03 17:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7523 Fix bug in Edit Position
7525 Due to = in stead of == the variant was always set to S-Chess in
7528 2012-08-28 21:24:51 -0700 Daniel Macks <dmacks@netspace.org>:
7529 bug #37210: Mishandling of X11 -I flags (tiny change)
7531 AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"'
7533 2012-06-02 14:31:18 -0700 Arun Persaud <arun@nubati.net>:
7534 bug #36229: changed ICS_* from define to enum
7537 2012-05-28 13:58:00 -0700 Arun Persaud <arun@nubati.net>:
7538 bug #36229: changed STATE_* from define to enum
7540 enabling better compiler checks
7542 2012-05-28 13:50:50 -0700 Arun Persaud <arun@nubati.net>:
7543 bug #36229: changed PEN_* from define to enum
7545 This should allow better checks by the compiler
7547 2012-05-28 13:01:15 -0700 Arun Persaud <arun@nubati.net>:
7548 fix bug #36228: reserved identifier violation
7550 variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards.
7551 See link in bug report.
7553 2012-05-28 12:36:37 -0700 Arun Persaud <arun@nubati.net>:
7554 Updated German translation
7557 2012-04-30 20:06:00 -0700 Arun Persaud <arun@nubati.net>:
7558 new version number for developer release
7561 2012-04-24 11:23:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7562 Decapitalize promoChar in move parser
7565 2012-04-23 14:12:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7566 Keep track of virginity of back-rank pieces in variant seirawan
7568 The forelast rank of the Board array is now used in VariantSChess to
7569 contain flags that indicate virginity of the back-rank pieces, one bit
7570 for white, the other for black. Legality checking of gatings now makes
7571 use of this info. FENs mention all virgin pieces not implied by castling
7572 rights in the castling field, by printing the corresponding file IDs,
7573 as long as holdings are non-empty. The FEN reader now also understands
7574 this format. EditPositionDone fakes virginity for all pieces that are
7575 on their starting square.
7577 2012-04-17 19:49:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7578 Suppress clear-board message after pasting FEN
7580 The message field is now always cleared when you leave EditPosition mode.
7582 2012-04-17 19:45:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7583 Fix faking of castling rights after editing position with holdings
7585 The queen-side rook was always imagined at X=0, which is in the holdings
7586 when these exist, so that Q-side castling in such games was never allowed
7589 2012-04-20 10:29:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7590 Fix WB Engine Settings window
7592 The listbox patch has broken this window, by making it only list the
7593 first option of the engine, by switching to the next column based on a >=
7594 test rather than == test. Fixed by using 1000 as invalid value for the
7595 break point, rather than -1.
7597 2012-04-20 00:01:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7598 Fix key binding of DebugProc
7600 The name used for binding was DebugProc, while the ite was named Debug.
7602 2012-04-16 20:51:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7603 Fix ICS Text Menu popup
7605 The space for the option names needed to be allocated.
7607 2012-04-16 20:37:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7608 Fix disabling of Load Engine menu
7611 2012-04-15 22:53:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7612 Port chat boxes to XBoard
7614 A new menu item Open Chat Window is added to the View menu. It opens a
7615 window that can handle 5 chats. A row of buttons on top selects which is
7616 the foreground chat partner, to which we type, and whose incoming messages
7617 will be displayed in the memo. The leftmost 'button' is not really a button,
7618 but a text edit, and the active partner is displayed there (so it can be
7619 altered). Selecting another chat partner through a button, moves that partner
7620 to the text-edit, and reshuffles the buttons. Incoming messages in a chat
7621 that is not foreground make the corresponding button color orange.
7623 2012-04-16 20:27:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7624 Allow chaining of single-line text-edits to top
7626 For the benefit of the chat window, a text-edit plus leading description
7627 can now also be chained to the top edge of a dialog. The chaining of the
7628 (degenerate) multi-line ICS Input Box and Move Type-In was entirely to the
7629 bottom, which has now been corrected.
7631 2012-04-12 09:30:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7632 Add logo widgets in main board window
7634 New options -logoSize and -logoDir are added. The former enables logo display,
7635 when non-zero and not too big. The latter is used by -autoLogo. The options
7636 -firstLogo and -secondLogo also work. Problem is that the clock height
7637 is larger than the logo height, and for now a nasty trick in GenericPopUp
7638 is used to position the next element (message field) w.r.t. the clocks,
7639 rather than the last element of the row above (the logo): in case of a
7640 SAME_ROW Graph element, 'last' is kept at the previous element.
7642 2012-04-19 10:48:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7643 Fix crash on time forfeit with -st option
7645 When fixed time per move was set from the command line, the time-control
7646 strings were not set. This let to a crash when an engine forfeited.
7647 The GetTimeQuota function is now made resistant to a NULL pointer here.
7649 2012-04-19 10:39:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7650 Solve WinBoard name clashes, fix zippy-analyze menu graying
7652 Some of the function names used in the refactored X11 front-end collided
7653 with Windows system names from winboard.h, or with names of internal routines
7654 in WinBoard front-end files (so they could not be declared in frontend.h).
7655 These were renamed. Some prototypes in engineoutput.h contained X11 types,
7656 and they were moved to xboard.h.
7657 In addition, two menu-item names were corrected to two-part names.
7659 2012-04-18 12:00:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7660 Offer primitive paging in file browser
7662 If there are more than 1000 files that would have to be displayed,
7663 the number will be limited to 999, and a 'next page' entry will appear
7664 at the bottom. Clicking that will give you the next group.
7665 This is an emergency measure only, as it interferes with sorting
7666 (grouping is based on order inside the directory, i.e. kind of arbitrary,
7667 and sorting is only done within a group.) There is no such thing for the
7668 folder list yet. There is no way to go back to a previous page, other
7669 than closing and re-opening the browser, or selecting another file type.
7671 2012-04-18 11:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7672 Add pixmap as file type known to browser
7674 Users can browse for a pixmap to set the board texture.
7676 2012-04-17 15:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7677 Fix warning about signedness
7679 Note: the promoChar in ExcludeMoves was explicitly defined to make
7680 sure the kludge promoChar = -1 for indicating best move works. But it
7681 should be equivalent to casting the promoChar to (signed char) just
7682 before the comparison.
7684 2012-04-17 15:44:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7685 Fix warnings about character index
7688 2012-04-17 15:37:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7689 Move ManProc to xboard.c
7691 It calls ManInner, which requires X11 data types, even if the values are NULL.
7693 2012-04-17 15:27:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7694 Move FileNamePopUp to dialogs.c
7697 2012-04-17 15:15:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7698 Fix readout of numeric combobox
7700 As currently no numeric comboboxes are used, this bug was silent.
7702 2012-04-17 15:10:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7703 Shuffle prototypes to correct header, or add them there
7706 2012-04-17 14:15:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7709 This function could crash when called with ann argument that did not
7710 contain a period, while the idea was that it should handle this as if the
7711 item is in noMenu (for user-specified key binding to non-menu funtions).
7713 2012-04-16 19:43:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7714 Fix click-click under-promotion animation save
7717 2012-04-17 11:02:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7718 Define TOPLEVEL in winboard.c
7721 2012-04-17 10:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7722 Add two new strings to WinBoard language file
7725 2012-04-17 10:51:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7726 Fix second-engine variant test
7728 The test whether the second engine supports the selected variant took place
7729 before the second engine was loaded, thus always coming to the conclusion
7730 that the variant was not supported, and aborting the TwoMachines command.
7731 The test is now moved to after second-engine loading (but before its
7732 initialization, where non-supporting would become a fatal error).
7734 2012-04-16 12:11:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7735 Fix clearing of ICS input box after send
7738 2012-04-16 19:08:10 -0700 Arun Persaud <arun@nubati.net>:
7739 enable -Wall -Wno-parentheses for all compilers that understand them
7742 2012-04-16 13:18:37 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7743 Remove 5 unused variables from zippy code
7746 2012-04-16 13:14:06 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7747 Remove unused static function ShowTC
7750 2012-04-16 13:10:58 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7751 Remove unused static function MenuBarSelect
7754 2012-04-16 13:07:01 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7755 Remove unused variable first_entry from function find_key
7758 2012-04-16 13:01:09 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7759 Remove unused variable tm from function SaveGamePGN
7762 2012-04-16 12:56:46 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7763 Remove unused variable delayedKing from function QuickScan
7766 2012-04-16 12:52:57 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7767 Remove unused variable pdown from function UserMoveEvent
7770 2012-04-15 04:25:59 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7771 Change some double literals to floats.
7773 To avoid unnecessary implicit promotions of float variables to double.
7775 2012-04-15 11:12:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7779 2012-04-14 22:43:03 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7780 Translate "NPS" also in engine output window
7783 2012-04-14 16:19:34 -0700 Arun Persaud <arun@nubati.net>:
7784 removed unused variables (-Wunused-variable)
7787 2012-04-14 15:37:05 -0700 Arun Persaud <arun@nubati.net>:
7788 added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh
7791 2012-04-14 23:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7792 Fix Eval Graph scale in drop games
7795 2012-04-14 23:16:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7796 Fix ArrowDamage out-of-bounds access on drop moves
7799 2012-04-14 21:33:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7800 Implement automatic partner observe
7802 Starting a game, or starting to observe one, now automatically issues a
7803 'pobserve' command if dual-board is switched on, so that the partner game
7804 will pop up in the secondary board (assuming it is bughouse).
7805 The secondary board now displays the players in the title. (This (lightly)
7806 breaks WinBoard again.) When the primary game ends, the secondary board
7807 closes automatically. Initial sizing of the board is repaired, and now uses
7808 the actual current board size, rather than the initial size of the main board.
7810 2012-04-14 15:43:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7811 Fix crash due to empty PV
7813 Reception of a stat01 command before the first PV could cause a crash,
7814 as apparently the parser cannot handle this.
7816 2012-04-14 13:27:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7817 Suppress testing for availability in bughouse drops
7819 Give up on testing legality of bughouse drop moves; this only causes problems,
7820 because the move list sent by the ICS is not accompanied by holdings updates.
7821 So XBoard parses it thinking the holdings are empty, making every drop move
7822 an ImpossibleMove. Bughouse can only be played on ICS, and we might as well
7823 trust the ICS that it will only pass us legal moves. A user should not be
7824 able to enter illegal drops; unavailable pieces cannot be grabbed from the
7825 holdings, and typing is diverted to the ICS directly (which would reject the
7826 illegal drop without XBoard even knowing about it).
7827 Also improve switching to bh/zh, based on drop move in initial board.
7829 2012-04-14 09:11:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7830 Fix some compile errors / warnings
7833 2012-04-13 19:06:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7834 Fix promotionPopDown on new move entry
7836 The promotion popup is non-modal, and old XBoard versions popped it down
7837 as soon as the user clicked the board, so he could just enter a new move
7838 to abort the promotion. This was broken in the new version, because the code
7839 to do the PopDown and abort in HandleUserMove had not been ported.
7841 2012-04-13 18:38:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7842 Use in-place sweep-selection for click-click under-promotion
7844 With detour under-promotion a piece cycles through all possible choices
7845 during backwards dragging. But in a click-click move there is no dragging.
7846 This used to be solved by letting the second click start a drag event of
7847 the default promotion choice, which you could accept by immediately
7848 releasing the mouse button, or drag around to change it first.
7849 The dragging in this case seemed a little unnatural, because the to-square
7850 was already indicated by the down-click. So it has been changed now to the
7851 promo choice appearing on the down-clicked to-square, followed by
7852 EditPosition-like sweep-selection on that square when one wants to under-
7853 promote. The move is always accepted no matter where the up-click takes
7854 place, except when it takes place on the from-square (which offers a last-
7855 resort abort possibiliy).
7856 Note that click-click promotion is essential in variants where it is not
7857 obvious from the from-square alone that a promotion is imminent, but where
7858 it depends on the to-square. (Such as Shogi.) There drag-drop detour under-
7859 promotion is not possible.
7861 2012-04-13 16:05:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7862 Improve arrow drawing
7864 The arrow is now erased together with the border highlights, by marking
7865 the damage it did, and then doing a selected redraw of the board to let
7866 the damaged square be re-drawn. Highlights of a previous move are now
7867 cleared on the down-click that selects a new piece, so there never is an
7868 arrow to infavorably interact with animation of dragging.
7870 2012-04-13 14:57:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7871 Also do selective redraw with showTargetSquares on
7873 The XBoard DrawPosition now also keeps track of the previous marker state,
7874 and redraws squares for which thi shas changed. As a result, the routine
7875 MarkTargetSquares does no longer have to force to complete redraw.
7878 2012-04-13 00:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7879 Fix click-click sweep promotions to empty square
7881 These did not work, because DragPieceBegin would fail on an EmptySquare.
7883 2012-04-12 23:58:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7884 Move clearing of target squares to after drag end
7886 A dragged piece that would partly overshoot its destination into a square
7887 with a marker would effectively protect that marker from erasing, when the
7888 erasing was done before the piece was released, because redrawal after the
7889 move only would draw the target square. (Unlike erasing, which forces a full
7892 2012-04-12 23:49:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7893 Fix double promotion popup
7895 Only the up-click of a click-click move gives a promotion popup now.
7897 2012-04-12 23:32:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7900 The new GenericPopUp did not like it if the first button had 'SAME_ROW' set.
7902 2012-04-12 17:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7903 Allow clearing of marker dots in any mode
7905 There might already be dots when you change to a mode where there should
7906 be none, and you don't want them to stay on forever in that case...
7908 2012-04-12 17:00:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7909 Fix redraw of secondary board on flipping view
7912 2012-04-12 10:30:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7913 Let clocks of secondary board count down
7915 The back-end now remembers what is the active clock, and the time left on it.
7916 This is then decremented and updated together with the clocks of your own
7917 game, using the partnerUp flag to divert the clock display to the secondary.
7919 2012-04-12 09:47:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7920 Fix 3 forgotten symbolic widget references
7923 2012-04-11 19:24:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7924 Add sound files to browser menu
7927 2012-04-11 13:04:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7928 Add New Directory button to file browser
7931 2012-04-11 09:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7932 Detect engine exit during startup
7934 The case where engine startup failure does not result in a fatal protocol
7935 message, like "No such file", but where it simply exits, is now also covered.
7937 2012-04-10 22:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7938 Suppress popup for fatal error after tellusererror
7940 For cooperating better with Polyglot, and allowing more to-the-point
7941 error messaging, the (awful) default message will be suppressed if the
7942 dying engine already provided an explanation for its demise to the user.
7944 2012-04-10 20:28:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7945 Fix Engine Output icon heights in international versions
7947 The text in a label option could not be an empty string, or it would be
7948 'translated' to something of enormous size. So it is set to a space now.
7950 2012-04-10 20:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7951 Fix internationalization
7953 The internationalization was broken by moving the XtSetLanguageProc
7954 to behind 'bindtextdomain'.
7956 2012-04-10 20:03:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7957 Make reference to board widgets symbolic
7960 2012-04-10 18:39:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7961 Don't strip path from engine name if directory given
7964 2012-04-10 17:54:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7965 Fix vertical chaining of Buttons and browser ListBoxes
7968 2012-04-10 15:53:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7971 The 'narrow search' modification had broken auto-play, because all selected
7972 games were marked as matching position 0, so that they would all start in
7973 thr opening position.
7975 2012-04-10 13:30:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7976 updated po/pot files
7979 2012-04-10 11:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7980 new version number for developer release
7983 2012-04-10 13:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7987 2012-04-10 13:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7988 Fix Makefile EXTRA_DIST
7991 2012-04-02 17:53:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7992 Use Ctrl key in EditPosition mode to copy pieces
7995 2012-03-28 23:51:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7996 Fix bug in FRC castling for position search
7998 In FRC it is essential that both pieces are taken off the board before
7999 any of them is put back, lest they obliterate each other.
8001 2012-03-28 12:25:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8002 Fix bug on loading engine
8004 A newly loaded engine was put at the end of the game, rather than at the
8005 current position, (which is required in EditGame mode).
8007 2012-04-06 17:02:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8008 Add 'Narrow' function to position search
8011 2012-04-06 10:52:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8012 Reorganize main() a bit
8014 The font stuff goes into a separate routine, and the X11 stuff is
8015 moved backwards as far as possible.
8017 2012-04-04 21:55:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8018 Give the dual-board option a separate board window
8020 The second board window pops up whenever an alien board is received
8021 during your game. Moves in it are highlighted by an arrow, irrespective
8022 of the 'Highlight with Arrow' setting. The clocks are displayed, but do
8025 2012-04-05 11:23:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8026 Port engine grouping to Match Options dialog
8029 2012-04-05 15:18:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8030 Change default directory in Load Engine to "."
8033 2012-04-05 10:49:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8034 Port grouping to XBoard Load Engine Add highlight to Load Engine grouping
8037 2012-04-06 17:19:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8038 Fix default file types for browse buttons
8041 2012-04-03 09:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8044 Redo file browser with GenericPopUp
8046 This had to solve quite some problems, because it wanted to use a ComboBox
8047 option while a transient dialog could be up, was a non-engine dialog
8048 while an engine dialog is up, and XRaiseWindow does not work properly.
8049 Sorting is done alphabetically, or for digit groups by numeric value.
8051 2012-04-02 14:43:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8052 Use ListBox in stead of ComboBox in Match-Options dialog
8055 2012-04-02 14:09:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8056 Use ListBox in stead of ComboBox in Load Engine dialog
8058 Make Load Engine listbox sensitive to double-clicking
8060 2012-03-26 17:06:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8061 Add message about enabling in New Variant dialog
8064 2012-03-31 20:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8065 Move LoadGamePopUp to menus.c
8068 2012-03-31 20:25:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8069 Move DisplayMessage to dialogs.c
8071 Use the wrapper SetWidgetLabel to make it back-end.
8073 2012-03-31 15:23:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8074 Fix switching debug option during session.
8076 Switching on debug mode during the session did not create the requested
8079 2012-03-31 15:22:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8080 Correct texi file for use of .Xresources
8083 2012-04-02 19:19:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8084 Fix recent-engines menu
8086 A new primitive to create an item in a given menu was added to do this.
8088 2012-03-31 10:54:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8089 Switch back two two-part menu names
8091 The menu code is again completely changed; a handle field is added
8092 to the MenuItem tables to store the widget for the item, and this info
8093 is used to alter sensitivity or marking. MenuToNr is replaced by
8094 MenuNameToItem, which looks up the two-level name directly in the
8095 menu tables. Put all currently unused MenuProcs in noMenu table,
8096 so they are available for key binding through the new method.
8098 2012-03-24 18:36:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8099 Redo main board window with generic popup
8101 Some of the improvements in GenericPopUp (committed earlier) were added
8102 especiall for this (menu and box Option types), and the commits that used
8103 them to make a fully functional board, listed below, were collapsed into
8106 This uses the new box and menu features of the Generic popup.
8107 Make option table shadow board consistent with refactor
8108 Do main menus in shadow board
8109 The board made by GenericPopUp now also has (functional) menus. The Expose
8110 callback now also uses the new format (passing coordinates).
8111 Use BoxEnd callback to decide about smallLayout
8112 The shadow board now dynamically decides whether it should use smallLayout
8113 positioning of the title-in-window widget, using a callback in the BoxEnd
8114 option for the menu bar: If no reasonable amount of space is left behind
8115 the menu bar, the title is forced under the clocks (smallLayout).
8116 Do some mouse handling on shadow board
8117 Only button 1 events for now. We have to keep track if the button is down!
8118 Connect button 3 to shadow board
8119 For now only for piece and PV manipulation: no context menus yet
8120 Symbolic reference in option formatting
8121 choice <-> textValue xboard.c
8122 Improve expose callback shadow board
8123 Implement context menus of shadow board
8124 This uses the new generic PopUp option
8126 Make mock-up board available through menu item
8127 Make clocks of shadow board sensitive to clicking
8128 Make button bar of shadow board operational
8129 The back-end Event functions are specified as user callbacks directly;
8130 this is not very clean, as they are parameterless, but called with an int
8131 argument. This should have no bad consequences, though.
8132 Switch to using shadow board as main board
8133 The menu marking and enabling had to b switched off for this, as it
8134 only worked on the old menus. Remove HandleUserMove.
8135 Deleting of unused shell variables, clocks to dialogs.c
8136 Move BoardPopUp to dialogs.c
8137 This required passing on fome front-end vars as parameters, and returning
8138 apointer to the option list, to make the handles available in xboard.c.
8139 Simplify InitDrawingSizes
8140 Now that all widgets of the main window are properly chained, there is
8141 no need to resize them when the board format changes: setting a new width
8142 for the shell suffices.
8143 Cleanup some unused Xt Args
8145 2012-03-31 10:53:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8146 Remove unnecessary menu unmarking for Edit Tags
8149 2012-03-29 19:09:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8150 Split sync-after options in Match dialog into checkbox + label
8152 Now the checkbox texts are highlighted on hovering, we don't want the
8153 explanatory text behind it to be highlighted with it.
8155 2012-03-26 17:12:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8156 Make variant-unsupported-by-second error non-fatal
8159 2012-03-23 20:06:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8160 Redo Eval Graph with generic popup
8162 The Graph option of the GenericPopUp is used to implement the Eval Graph.
8163 Compared to the previous implementation, which was drawing directly in the
8164 form widget, the new one has one extra widget layer, but that did not
8165 affect the code anywhere. Adapt eval title to width of eval graph.
8167 2012-03-23 15:17:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8168 Redo Engine Output window with generic popup
8170 A new file nengineoutput.c holds the X-independent code. This makes use
8171 of new capablities of GenerciPopup, for having Label widgets on same row,
8172 stacking panes after a Break, and chaining Label and Text widgets.
8174 2012-03-21 23:00:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8175 Redo Game List with generic popup
8177 Check in ngamelist.c
8178 Redo Game List with generic popup
8179 The X-independent code (i.e. almost all) is moved to a new file
8181 Make button in Game List to pop up Game List Options
8182 Fix scrolling game list
8183 Fix popup of existing Game List after loading file
8184 Wheel-scroll game list
8185 Symbolic reference game list
8187 Put format flags with listbox options
8189 2012-03-21 17:58:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8190 Redo Game List Options with generic popup
8193 2012-04-05 21:56:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8194 Add -dialogColor and -buttonColor options
8196 These only override system defaults if they are non-empty strings.
8198 2012-03-28 15:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8199 Add -topLevel option
8201 This persistent Boolean option determines if the auxiliary windows
8202 (Game List, Move List, Engine Output, Eval Graph, Tags and Comment)
8203 use top-level shells (with their own icon on the task bar, and
8204 independently closable). Other dialogs will always use transient shells.
8205 (Also he modal Error and Promotion dialogs, for which the modality
8206 presumably only serves to pop them down without special attention.)
8207 A control for this was added in the General Options dialog.
8209 2012-03-20 15:30:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8210 Redo ErrorPopUp with generic dialog
8212 <Enter> keeps popping down error popup.Multiple Error popups remeain tricky;
8213 add comment to describe problem with multiple ErrorPopUps.
8215 2012-03-20 10:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8216 Redo PromotionPopUp with generic dialog
8218 The dialog is no longer modal.
8220 2012-03-19 21:56:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8221 Redo AskQuestion dialog with generic popup
8224 2012-03-19 21:55:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8225 Major refactoring of GenericPopUp
8227 Allow more transient dialogs in GenericPopUp
8228 Remove grab from promotion popup
8229 Fix other generic popup over transient popup
8230 To use the generic dialog generator for 'asynchronous' popups (Ask Qustion
8231 or Error popup caused by engine), the currentOptions setting has to be
8232 restored for the combo and checkbox callbacks of the transient to still
8233 work after the asynchronous dialog returns. Note that only transient dialogs
8234 can have check and combo controls.
8235 Make generic calcel button suppressible
8236 Also #define some more symbols for Option.min flags,
8237 and move them to dialogs.h.
8238 Change TypeInProc to general OK handler
8239 The move type-in now has its own option list, to distinguish it from
8240 the ICS input box, and give it its own OK handler. Rather than having
8241 the translation for <Enter> on the text widget call TypeInEvent directly,
8242 we let it call GenericCallback, which calls GenericReadout, which calls
8243 the OK proc, which does the job.
8244 To be able to call GenericCallback from the TypeInProc, the recognition
8245 of OK and cancel buttons had to be changed. This because it was too difficult
8246 to arrange the calling widget had label OK or cancell. So these buttons are
8247 no longer recognized by name, but by the option number passed as client data.
8248 (This solves the problem that a user could not make buttons named 'cancel'
8250 Make Cancel button optional
8251 Fix closing multiple popups of same kind
8252 The GenericCallback figures out its own shell, so all buttons of
8253 multiple dialogs keep working. External calls to PopDown only work
8254 on the lastcreated instance of that kind, though (including those from
8255 the Delete Window button, which can do 'cross-closing'). shellUp is now
8256 a counter, and PopDowns are only prevented when it reaches 0 or the
8257 current shell does not exist. (To know this, PopDown now resets shells[n]
8258 to NULL when is shell is destroyed.
8259 Beware of double PopDowns (through OK procs); they wreck the system.
8260 Fix Delete Window button of multipe ErrorPopUps
8261 The action routine for handling the Delete Window now pays attention
8262 to the shell widget that the system passes to it, and temporarily
8263 replaces shells[n] by it to let PopDown act on the proper instance.
8264 Add ListBox dialog type to GenericPopUp
8265 Fix vert sizing of ListBox
8266 Put listbox widgets in viewport
8267 Put listbox in viewport
8268 Improved xoptions.c support for focussing and listboxes
8269 Fix OK-row button positioning
8270 Let GenericPopUp take parent and modality as arguments
8271 This makes the code a bit more explicit and less kludgy. It also becomes
8272 possible to call the same dialog (e.g. Load Options) from the main menu
8273 and from another dialog (e.g. the Game List).
8274 Support scroll function for generic popup listboxes
8276 Move HighlightWithScroll to xoptions.c
8277 Change scroll algorithm
8278 Add mouse-wheel scroll to generic list boxes
8279 Implement tabbing between text edits
8280 Implement same-row text labels in generic dialog
8281 Allow labels to specify their chaining in generic popup
8282 The opt.min variable is used to specify the chaining: 0xF0 are the bits
8283 for (left, right) chaining of the left side (0xC0) and right side (0x30).
8284 The 0xC bits determine top or bottom chaining of the entire label.
8285 Without anything spcified (0), the chaining is XtRubber.
8286 TextBox options can also specify top-chaining of their top. All this was
8287 needed to allow decent implementation of the Engine Output window with
8288 the generic popup. (Although tags and comment popup ca benefit from the
8290 Let GenericPopUp support a Graph option
8291 The Graph option results in an area where one can draw something. It is
8292 positioned / chained similar to Label options. A handler for expose events
8293 can be specified in the textValue field of the option.
8294 Implement box widgets and menu buttons in GenericPopup
8295 To enhance the capabilities of GenericPopUp such that it could create the
8296 main window, it needs to be able tha packaging of controls into a box widget
8297 (for mennu and button bar). Menu buttons are also required elements
8298 (although they do look a lot like comboboxes?) Option types BoxBegin and
8299 BoxEnd can now be used to bracket a group of controls that will be put
8300 in a box widget. (Cannot be used recursively!) The positioning of the box
8301 is similar to that of a Label, and is specified in the BogBegin option.
8302 The code to shrink the menu buttons to fit is also incorporated, to act
8303 on any box widget: if the BoxBegin option specifies a width, the elements
8304 in it are shrunk to meet the requirement. Otherwise the box just gets the
8305 size of the sum of its children (plus spacings).
8306 Label options can now specify a font, casted into their textValue field.
8307 (This is needed to get the proper size for the clock widgets.)
8308 Implement callback in BoxEnd options
8309 BoxEnd is a pseudo-option, to trigger packing the preceeding ones in
8310 an earlier-opened box widget. In the process it calculates the size of
8311 the box widget (and trims it if a size was specified for it in the
8312 corresponding BoxBegin). The Option.target field of BoxEnd is now
8313 interpreted as a callback, which can be use to take decisions based
8314 on the determined size for the remaining options in the list, before
8315 these are processed b GenericPopUp.
8317 Make a subroutine to set args shared by almost all widgets. Swap meaning
8318 of '1'-bit in option.min flag of Break option, to be consistent with
8319 SAME_ROW interpretation in other option types.
8320 Make option tables consistent with refactored GenericPopUp
8321 The flag for stacking in the Break option needed to be inverted, and
8322 the BoardPopUp needed to pass the font in another field. Better use was
8323 made of the improved chaining options too.
8324 Improve Graph-option event handling
8325 The user-supplied callback now gets 3 arguments passed: the event type
8326 (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose),
8327 and two coordinates. For ouse events these are the pointer (x,y), while
8328 for expose events they are the window size (w,h). The callback is now
8329 specified in the option.target field of the Graph option.
8330 Store engine options in malloc'ed memory
8331 The Option.name field has been re-declared as (char*), from (char[MSG_SIZ]).
8332 There are still MSG_SIZ chars allocated irrespective of actual size, because
8333 the field is also supposed to store the textValue, which can be changed by
8334 the user. But at least it means that unused options of the generous list
8335 now don't waste much space. (And the prparated Option tables in dialogs.c
8336 will shrink by a large factor as well.)
8337 Improve GenericPopUp ComboBox handling.
8338 The dialog type is now passed to the combobox callback as well, and this is
8339 used to really figure out what option it is called for.
8340 Allow numeric comboboxes
8341 When no list of strings is given in Option.choice, the target is assumed
8342 to be (int), and the number of the slected entry is stored there. Also
8343 adapts the Label options that act as fillers to the new method for making
8344 dummies (namely NULL in the Option.name field).
8345 Put comboCallback in Option struct
8346 Rather than having a general comboCallback variable for the entire current
8347 dialog, each ComboBox option can now specify its own callback in the
8348 target field of the option: the COMBO_CALLBACK bit of Option.min indicates
8349 whether the target is a variable to be set or a callback. The callback can
8350 still fetch the choice from the values array.
8351 Allow generic CreateComboPopup also to do main menus
8352 An extra parameter to CreateComboPopup determines if the menu texts
8353 should be taken from a list of strings (the old method with engine-
8354 supplied choices), or from a menu table of MenuItems. It can now also
8355 recognize "----" as a menu break, and keeps margins (for the marking).
8356 Make subroutine for determining curren combo selection
8357 Various fixes to GenericPopUp
8358 Delete one border-width setting
8359 Fix max nr of args in GenerocPopUp
8360 Fix button release events of Graph options
8361 Fix generic Graph callback pointer motion coordinates
8362 Make all format referencing in Option tables symbolic
8363 Let Option.choice define menu texts, rather than Option.textValue
8364 This is more logical than ussing textValue for it, because choice already
8365 has the correct (char**) type, while textValue was (char*), and needed
8366 casting everywhere. Note that for engine options, the fields were the
8367 same anyway, so no back-end change was required. The textValue now
8368 contains the (casted) list of actual string values, where these are
8369 needed. (But for numeric and function menus they aren't.)
8370 Add PopUp Option type
8371 An new pseudo-Option is defined, to add a popup menu to a previous Graph
8372 option. The actual popping up is done by the expose handler.
8373 The function XUngrabPointer is the key to success here. A PopUp option
8374 specifies a callback for handling the selection from the menu, which will
8375 be called with the option number, exacty as with ComboBox options.
8376 Update option explanation in dialogs.h
8377 Make Spin and CheckBox callbacks pass dialog number
8378 No longer rely on 'currentOptions' for getting the option belonging to
8379 the callback, but get it out of the dialogOptions array indexed by dialog
8380 type. This way things cannot be messed up by an asynchrounous error popup.
8381 It also means that it is now save for non-modal dialogs to use these options.
8382 Use button widget for text behind checkbox
8383 Let listboxes use general formatting hints
8384 Let GenericPopUp option always finish last pane after Break
8385 Allow LisBox to specify select callback in Option.textValue
8386 Use double-click to trigger ListBox callback
8387 Make ListBox callback re-entrant
8388 Fix multi-line Label options
8389 Separate CreateMenuItem out from CreateComboPopup
8390 Chain checkbox texts entirely left
8391 Allow a user-specified callback to Label options
8392 This is needed to implement the clocks. Let the CheckBox callback handle
8393 it. For now ther is no distinction between different mouse buttons.
8395 2012-03-21 11:15:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8396 Prevent double PopDowns
8398 Some DialogOK functions ordered an early PopDown themselves. This,
8399 however, resulted in PopDown being called twice when they returned TRUE.
8400 This interfered with the new system for allowing multiple instances of
8401 the same dialog. So these functions are now fixed to suppress the
8402 standard PopDown by always returning FALSE.
8404 2012-03-20 19:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8405 Split usounds.c and usystem.c from xboard.c
8407 X-independent code was moved to separate files. The nef file usound.c
8408 contains the sound handling, which in XBoard is trivial, because it uses
8409 an external player, but could be replaced by a complex one on platforms
8410 that have to handle the sound themselves.
8411 The usystem.c file contains all non-X Unix-like stuff, such as fork,
8412 pipe, system, getenv. I also contains some color parsing for the xterm
8413 colors. This stuff could be useful on platforms that support Unix-like
8416 2012-03-26 19:03:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8417 Make routine to probe shift keys
8419 The code to probe Alt keys was taken out of MoveTypeInProc, and extended
8420 to probing Ctrl and Shift keys too. These are now returned in the 6 LSB
8421 of an int by ShiftKeys().
8423 2012-03-19 13:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8424 Remove one level of indirection on ICSInputBoxPopUp
8427 2012-04-10 10:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8430 Remove AskQuestionProc
8431 A bit of cleanup on xboard.c prototypes
8432 Remove dead file-browser code
8433 Delete vestigial jail code
8434 All the stuff about jailColor was deleted. Only one fishy thing remains:
8435 xpmJailSquare seems under some conditions used in BlankSquare to draw a
8436 'neutral' square. it is set to a copy of a light square image. But in the
8437 current design 'neutral' means blacked out between board and holdings,
8438 and even with image use, it should not resemble a light square...
8439 Remove registering of CommentPopDown and TagsPopDown
8440 Merge CopyGameSelection into CopyPositionSelection
8442 2012-03-19 11:38:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8443 Move some back-endish routines from xboard.c to dialogs.c
8445 Move ICS input-history handling to dialogs.c
8446 Move ICS Input Box text handling to dialogs.c
8447 Move DisplayXxxx routines to dialogs.c
8448 Move DisplayTitle to dialogs.c
8449 A wrapper SetWindowTitle remains in xboard.c.
8451 2012-03-18 20:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8452 Split back-endish part off xoptions.c, and move to dialogs.c
8454 Some MenuProcs for dialogs were also moved to dialogs.c from menus.c.
8455 MoveTypeInProc which is an event handler for the board widget,
8456 was moved to xboard.c, where it can be static.
8458 Identify dialogs by enum type
8459 A new header dialogs.h is created, which defines an enum type DialogClass
8460 that is now used to identify the various dialogs done by GenericPopUp.
8461 The prototypes for GenericPopUp/PopDown, and other globals shared by the
8462 dialogs code and other modules can go in here as well.
8463 Remove ClearTextWidget
8464 This did the same as SetWidgetText with an empty string.
8465 Split X-code from PutText
8466 Split back-end part from MoveTypeInProc
8467 Take set-title out of comment popup
8468 Sort MenuProcs in dialogs.c with their support functions
8469 Declare globals in dialogs.c with functions where they belong
8470 Add prototypes to dialogs.h
8471 Move prototypes and globals from xoptions.c to dialogs.h
8472 Make accessor DialogExists for dialog shells
8473 Add dialogs.c to makefile: compiles and runs!
8474 Combine 3 calls into front-end to InitDrawingParams
8475 Move EditCommentProc and ICSInputBoxProc to dialogs.c
8476 Pass option list as argument to GenericUpdate and GenericReadOut
8477 Shorten argument name from currentOption to opts
8478 This to prevent confusing it with the global variable of that name.
8480 2012-03-18 15:33:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8481 Declare some shared global variables in backend.h
8483 The vlobals twoBoards and partnerUp were only shared through an extern
8484 declaration in xboard.c
8486 2012-03-18 12:34:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8487 Split back-endish part off drawing code and move to board.c
8489 Split DrawSquare in front-end and back-end part
8490 Back-endize DrawHighlights and DrawPosition
8491 The already existing wrapper FlashDelay is used as a kludge to do an XSync.
8492 We now pass a code for the line color GC to the highight routine. New
8493 wrappers are DrawGrid() and DrawBorder().
8494 Back-endize atomic explosions
8495 Back-endize DrawArrow and DrawDragPiece
8496 DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead
8497 of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes
8498 DrawArrowBetweenPoints.
8499 Move board-drawing logic to new file board.c
8500 All X-independent drawing logic (board, squares, arrows, highlights,
8501 some animation stuff) has been extracted from xboard.c, and moved to
8502 a new file board.c, which is back-end (but unshared with WinBoard).
8503 A new header board.h defines the cross-references (which of course
8504 required some functions to be no longer declared as static).
8505 A bit of code was moved from DragPieceBegin to BeginAnimation, which
8506 now has an extra argument to indicate which piece should appear from
8507 under a dragged piece. This makes DragPieceBegin free of XCopyArea calls,
8508 so it could be moved too.
8509 Make board.c truly back-end
8510 Get rid of all X data types. For this the AnimState struct had to be
8511 redefined: the GC and Pixmap was taken out and put in front-end arrays
8512 indexed by anim agent (game and player). For this indexing a new enum
8513 was defined. The XPoint type was also replaced by our own type of an
8514 int pair (which is nasty, because the int size could be different).
8515 Move more animation code to board.c
8517 2012-03-18 10:08:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8518 Contract some awful code replication
8520 The code for making an X-color was replicated 6 times, and is now made
8521 into a subroutine. The code for creating GCs was quite repetitive as well.
8523 2012-03-18 08:34:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8524 Move more back-endish menu-related stuff from xboard.c to menus.c
8526 Move menu enabling to menus.c
8527 Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper
8528 EnableButtonBar was necessary, because Training mode wants to enable/disable
8530 Move all back-endish MenuProcs to menus.c
8531 Many if the MenuProcs that could not be eliminated by listing the
8532 corresponding back-end MenuEvent function as handler directly, are
8533 still completely plactform indpendent. (E.g. when the MenuEvent needs
8534 a parameter.) These are all moved to menus.c now.
8535 Convert all dead MenuProcs to using MarkMenuItem
8536 The MenuProcs for the option items that no longer exist were also
8537 converted for check-marking their item in the new way, because we
8538 might revive them for key binding.
8539 Move the dead MenuProcs also to menus.c
8540 Revive dead menu procs
8541 Move GreyRevert to menus.c
8542 Move ModeToWidgetName to menus.c
8543 Move initial menu marking to menus.c
8545 A new function InitMenuMarkers was split off from main() to do this.
8547 2012-03-18 08:17:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8548 Switch to use of short menu references
8550 The prefixes menuXxxx. for the item names are abolished. This made it
8551 necessary to also add a MarkMenuItem function that can handle short names
8552 for putting the xMarkPixmap on the items, as the names returned by
8553 ModeToWidgetName are used for both enabling and check-marking.
8554 Let MarkMenu use MarkMenuItem wrapper
8556 2012-03-17 10:47:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8557 Refactor menu code, and move it to menu.c
8559 Supply new method for key binding
8560 It is annoying that every menu item needs its X-specific handler routine,
8561 because this handler has to be registered to X for becoming eligible as
8562 a key binding. Another disadvantage of this method is that the user wanting
8563 to make the binding has to know the name under which the menu function
8564 is registered (e.g. FlipViewProc).
8565 A new method is now made available, which uses only a single (X-specific)
8566 routine, registered with X as "MenuItem", as generic key-binding handler.
8567 The bindings can then be made by the user specifying "MenuItem(FlipView)".
8568 This requires a new list of potential bindings, which should be filled
8569 by the menu-creation routines. (Currently only contains only a predeficed
8571 No longer register all MenuProcs with X
8572 The list with available menu procs is moved to the user-maintained
8573 menuItemList. Only QuitProc had to stay registered with X, because it is
8574 used in CatchDeleteWindow. (So it is in both lists now.) In the future,
8575 most of the list can be built automatically from the menu tables.
8576 Alter type of MenuProcs to void(void)
8577 By getting rid of the argument list with X-types, most menu procs can
8578 become back-end. In the cases of ManProc and QuitProc the original
8579 version had to be kept as well, because in ManProc the argument was
8580 actually used (with key binding), while QuitProc is used for delete window.
8581 Remove now unnecessary menu wrappers
8582 Now the MenuProc have an empty argument list, those that also call a
8583 single 'MenuEvent' without arguments have become completely redundant,
8584 and have been taken out of the loop by calling the corresponding MenuEvent
8586 Build menuItemList from menu tables
8587 Rather than having an initialized table of name-proc associations (which
8588 used to be the X registrations) for the menu items, we now build the list
8589 during menu cration from the menu tables. The menu "ref" is now used as
8590 proc name. This means the old MenuProc names used in the predefined
8591 key bindings had to be changed to conform to this. Note that the bindings
8592 would slice up names containing spaces in several parameters, so in the
8593 translations the spaces were squeezed out of the item names. This requires
8594 a hand-written comparison routine Equal() to identify the binding.
8595 Remove prototypes of deleted MenuProcs
8596 Move prototypes of platform-independent MenuProcs to menus.h
8597 Create a new header file for the menu stuff, so that we can move
8598 the corresponding handler routines out of xboard.c to a back-end file.
8599 Extract back-end code from menu creation
8600 The menu tables and code to interpret them is moved to a new file menu.c.
8601 Only basic fuctions for creating a pop-down list and for adding an item
8602 to it remain in xboard.c.
8604 2012-04-07 15:59:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8605 Remove some unused (exclude-moves) variables
8608 2012-04-07 15:57:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8609 Install engine within current group
8612 2012-04-07 15:53:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8613 Switch to using listboxes for engine-selection in WinBoard
8616 2012-04-07 15:36:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8617 Implement Narrow button in WB Game List
8620 2012-04-05 15:15:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8621 Silence unjust warning
8624 2012-04-04 12:18:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8625 Fix memory corruption through InitString and second-engine loading
8627 The InitString and ComputerString options were not swapped when replacing
8628 the second engine, so that the ChessProgramStates of the first engine
8629 could point to an invalid (already freed) init string. Also make sure
8630 that appData.directory contains its value in allocated memory, even
8631 when hand-loading engines.
8632 Some of the rare options were not swapped either, and would thus
8633 always be loaded for the first engine when -singleEngineList was true.
8634 They are now also all reset to their default, before engine load,
8635 to prevent options of one engine to linger on for a next that does
8636 not specify them. The intentional exception is -firstHost.
8638 2012-04-01 20:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8639 Fix PV sorting during fail low
8641 When an engine reports a fail low as thinking output, and then re-searches
8642 the same move with larger window, it now gets a lower score. This line
8643 would then be sorted below the earlier fail low, because it was mistaken
8644 for a multi-PV line for an inferior move. This patch suppresses PVs
8645 overtaking each other if they start with the same move.
8647 2012-03-30 20:09:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8648 Extend smallLayout regime up to size Medium
8650 Because of the increase number of menus, there is not enough space for a
8651 title next to the menu bar at smaller sizes. In fact it is questionable if
8652 the title should ever go on the same line as the menu bar.
8654 2012-03-30 10:38:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8655 Fix parsing crazyhouse promotions with legality testing off
8657 With legality testing off, any promotion suffixes in a move are taken
8658 'on faith'. But in crazyhouse the piece ID for normal pieces is used as
8659 promotion suffix for promoted pieces, so this would Loop Chess rather than
8660 Crazyhouse. Now attention is payed to presence of ID-less promotion pieces
8661 (indicated by ~ in the pieceToCharTable), and if there are, these prevail
8662 ovr the specified type.
8664 2012-03-30 10:07:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8665 Fix browsing for save file in WB
8667 The generic popup browse buttons used the wrong flavor of browser,
8668 which would only accept existing files. This was inconvenient when browsing
8669 for a save file. The other flavor of browser is now used by default (so that
8670 engine options also use it), and a new flag is added in the option.max field
8671 (which was already indicating file type) to request readonly browsing for a
8674 2012-04-02 10:18:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8675 Let clicking on header line exclude moves
8677 The exclude header in the Engine-Output window can now be clicked, to
8678 toggle the exlusion of the listed move. Clicking on 'none' resets all
8679 exclusions, clicking on 'best' excludes the first move of the latest PV.
8680 The pseudo-move 'tail' represents all non-listed moves.
8682 2012-04-01 22:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8683 Keep list of excluded moves in Engine Output header
8685 As long as there is still space, excluded or included moves are added
8686 to a new header line in the Engine Output window (prefixed with + or -
8687 depending on whether they are currently excluded or included). Future
8688 in/exclusions of that same move then alter the prefix.
8690 2012-03-21 23:12:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8691 Fix focus of Game List
8693 After focus was transferred to the filter text-edit, it was impossible
8694 to get it back on the game list (to make the arrow keys working again).
8695 A translation to left down-click is now used to assign focus, just as
8696 it would for text edits. For unknown reason this only worked if the
8697 translations were instated by Overriding, rather than Augmenting,
8698 which again required the normal translation of downclick, Set(), which
8699 selects the clicked item, to be explicitly mentioned as well.
8701 2012-03-16 22:41:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8702 Fix taking effect of some option changes
8704 This fixes a bug reported at Ubuntu: when switching off move highlighting
8705 in Two Machines mode, the last move before the switch stayed highlighted.
8706 The GeneralOptionsOK() now clears any remaining highlights when highlighing
8707 is off. Similar problems with blind-fold mode and coordinates, which require
8708 a total board redraw to take effect, are now solved by also forcing such a
8709 redraw in GeneralOptionsOK() when they change.
8711 2012-03-16 21:58:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8712 Add exclude and setscore to protocol specs
8715 2012-03-16 14:47:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8716 Fix clock stop after dragging
8718 DelayedDrag always cancelled the previous drag timeout event, even when
8719 this was no longer pending because it had already taken place, and the
8720 event ID was resused by some other timeout (usually a clock tick).
8722 2012-03-14 21:06:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8723 Implement exclude moves
8725 Dragging a piece by double-clicking it on the from-square in analysis mode
8726 will not perform the entered move, but send an exclude or include command
8727 to the engine for that move (provided the engine enabled this with
8728 feature exclude=1), depending on if the move was already excluded or not.
8729 To this end a map of excluded moves is kept, and cleared when we move to
8730 another position through moving, undo, setboard or new. The user can see
8731 whether he included or excluded the move, as exclude uses premove highlights.
8732 Commands "exclude|include all" are sent when we throw a double-clicked
8733 piece off board (vertically or horizontally, respectively), but after
8734 exclude all the most recent PV move is included again.
8735 Remaining problem is that promotions can only be excluded.
8737 2012-03-14 15:13:18 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8738 Mark new text "Click clock to clear board" for translation
8741 2012-03-13 21:46:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8742 More thorough switch to -ncp on engine failure
8744 The ProcRef and InputSource are now also cleared, and just to be sure there
8745 are no surviving adapters, the child is killed when engine startup fails.
8747 2012-03-13 21:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8748 Install engines as ./exefile in XBoard
8750 When a path name is split into directory and filename, the latter in Linux
8751 must be preceded by ./ in order to make it executable in the directory
8752 XBoard starts it in.
8754 2012-03-13 14:11:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8755 Inform user in EditPosition mode how to clear board
8757 With -pieceMenu false the board is cleared by clicking the clock, but
8758 since this is impossible to guess, it is now printed in the message field.
8760 2012-03-13 14:06:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8761 Fix fall-back on -ncp mode
8763 When the requested engine could not be started, the user still had to
8764 wait for the feature timeout to expire before the UI was re-enabled,
8765 and the now-useless loading action would continue. In stead we now
8766 cancel any scheduled continuation, thaw the UI immediately, and switch
8767 the menus and gameMode to ncp straight away.
8769 2012-03-10 18:55:24 -0800 Arun Persaud <arun@nubati.net>:
8770 updated po/pot files
8773 2012-03-10 18:54:32 -0800 Arun Persaud <arun@nubati.net>:
8774 new version number for developer release
8777 2012-03-06 16:37:02 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8778 Fix typo (seach) in string. It is already fixed in branch v4.6.x
8781 2012-03-04 14:52:34 -0800 Arun Persaud <arun@nubati.net>:
8782 added some documentation about what's need to be done for a release and a bash-release script
8785 2012-02-28 21:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8786 Fix suspected bug in Makefile
8791 2012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>:
8792 add information about our webpage and were to report bugs into the help menu
8795 2012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>:
8796 fixed "make install-pdf": missing target for recursive make in po directory
8799 2012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8800 Suppress recent-engines menu items in ICS mode
8803 2012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8804 Fix 50-move counter in ICS mode
8806 Marking irreversible moves in the EP_STATUS did not work in ICS mode,
8807 as ApplyMove,which did that is never executed there. Only the boards
8808 sent by ICS are displayed,especially in observing mode. Now the status is
8809 derived from the ICS mov strings (x in the SAN move, or P in the long move.
8811 2012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8812 Fix two 64-bit warnings
8814 Passing the engine number in a pointer variable to the callback needed
8817 2012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8818 Fix piece symbols on switch back to variant normal
8820 Variant switches were not properly detected, meaning the variable pieces
8821 could keep a form belonging to a previous variant. (E.g. Queen remained
8822 a Lance image after switching from shogi to normal.)
8824 2012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8825 Keep XBoard windows attached on resize
8827 Windows attached to bottom or right are displaced with the size increase.
8828 Their perpendicular dimension is also scaled, to keep their edges at the same
8829 fraction of the main window, unless they stick out. In the latter case the
8830 fraction is clipped to 1, so that edge moves with the full size increase.
8832 2012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8833 Implement -stickyWindows in XBoard
8835 This makes the auxiliary windows move with the main window when they were
8836 touching, as in WinBoard. A control is added in the General Options dialog.
8838 2012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8839 Use more reliable X-call for getting window position
8841 XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems
8842 to give more reliable results, and automatically accounts for the width
8843 of window dressing. The -frameX/Y options are no longer needed bcause
8844 of this, and were removed.
8846 2012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8847 Make frame width configurable in XB
8849 New persistent options -frameX, -frameY now can be used to specify
8850 the amount by which Xt lies about the window coordinates.
8852 2012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8853 Use combobox line for recent engines when available
8855 The entry made in the -recentEngineList for the startup engine was
8856 derived from the -fcp value, but this would ignore a possible nickname.
8857 In WinBoard we now use the full combobox line to derive the entry.
8859 2012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8860 Fix translation of EngineOutputTitle WB
8863 2012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8864 Updated Danish translation
8867 2012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8868 One missed translation of cps->which
8871 2012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8872 Undo translation of cps->which = first/second
8874 The string in cps->which should not be translated, because it goes into
8875 the debug file to label engine I/O, and many tools for processing
8876 debug files (broadcasters, PGN extractors) rely on this being "first" or
8877 "second". In all contexts where "first" and "second" need to be translated,
8878 cps->which itself is already enclosed in _().
8880 2012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8881 Implement -serverFile option
8883 This writs an extra debug file with only engine communiation on it,
8884 for the benifit of programs like TLCS.
8886 2012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8887 Implement -autoCopyPV
8889 This option causes automatic copying of the last position of a PV walk
8892 2012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8893 Delete some load-game debug printing
8895 The debug printing in Disambiguate was no longer needed. The printing
8896 of the started process in XBoard that went to stderr is now diverted
8897 to debugFP, so it ends up in the debug file.
8899 2012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8900 Move change of debug file to before game load
8902 Loading a game from -lgf is done before TwoMachinesEvent is called,
8903 but logically belongs to the game. So the code to switch to the new
8904 debug file for the game is moved to NextMatchGame now.
8906 2012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8907 Fix button grab for sweep selection
8909 The piece-menu initialization limited the grab of button events to those
8910 occurring inside the board window (presumably intended to limit them to
8911 the piece menu, but that does not pop up in sweep-selection mode).
8912 This is now suppressed when -pieceMenu is off, so that selection continues
8913 outside the the board. (Which is very convenient for pieces pu close to the
8916 2012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8917 Don't leave piece selected after piece menu
8919 PieceMenuEvent left the just introduced piece selected, which is almost
8920 never what one wants, as it makes it jump to the next square when selects.
8921 Which is especially annoying if it captures the piece you wanted to grab...
8923 2012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8924 Fix use of middle button for position setup
8926 With sweep selection the actual drop is made on releasing the button,
8927 and this event was not caught for button 2. Button-2 motion events were
8928 also not caught by the sweep-selection handler.
8930 2012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8931 Fix one more typo in the translator comments explaning "first" and "second"
8934 2012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8935 Fix typo in translator comments explaning "first" and "second"
8938 2012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8939 Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string
8941 Having msg as a format string will ease translations because then
8942 badArg doesn't have to come last.
8944 2012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8945 Mark the strings "first" and "sencond" for translation.
8947 ... and assign the translated strings to cps->which in function InitEngine()
8949 2012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8950 Use ngettext() instead of gettext() for a string to allow better translation.
8953 2012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>:
8954 translation: updated uk.po
8957 2012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>:
8958 modified configure and makefile for handling mimedb update
8960 the default configure will install them using the xdg commands (if they exist on the system)
8962 2012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>:
8963 add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms
8965 in case the target system doesn't have the xdg-programs available, we test for them.
8966 Distributions often have their own macros to install these, so we add an enable option to configure
8968 2012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8969 Remove a debug printf
8971 The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN,
8974 2012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>:
8975 new developer release
8978 2012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>:
8979 updated po/pot files
8982 2012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>:
8983 updated Changelog, NEWS, etc.
8986 2012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>:
8987 translation: updated uk.po
8990 2012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8991 Leave height of row that only contains buttons free
8993 All elements of the GenericPopUp are still scaled to the text height,
8994 including buttons appended behind them (browse or color buttons).
8995 But we now make an exception for a row that only contains buttons,
8996 as there is no harm in it being a little higher (and the buttons look
8999 2012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9000 Fix OK button of error popup
9002 The error dialog popped up as a child of the board window, even when
9003 DisplayError was called from a dialog. Now it checks if a transient
9004 dialog is up, and if so, it pops up as a child of that, grabs focus,
9005 and suppresses the system popdown of the transient dialog through a flag
9006 dialogError until it is popped down itself.
9008 2012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9012 2012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>:
9013 added some comments for translators
9016 2012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>:
9017 fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file
9020 2012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9021 Also configure sweep selection
9023 To make sure this feature is tested, we set -pieceMenu false in the
9024 master settings file.
9026 2012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9027 Fix date in copyright notice about-box
9030 2012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9031 Fix switching animation masks on variant switch
9033 The masks for variant-dependent piees (E,H in Seirawan, promoted Golds
9034 in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes
9035 because of the patch to reduce X-server calls.
9037 2012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9038 Configure wider game list
9040 The game list was by default too small, so that there was no room for the
9041 filter field. Now a width of 500 is specified, whcih works at -size 49
9044 2012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9045 Fix button chaining and combo/textbox label height
9047 Previous patches forgot to specify the height for the text labels on
9048 -combo and -text options, so they were still too high. Buttons that go
9049 on the same line as the previous element should be chained right, not rubber.
9051 2012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9052 Make -pgnNumberTag option setable from menu
9054 The Save Options dialog now containes a checkbox for this.
9056 2012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9057 Configure some new features switched on
9059 The master settings file switches -showTargetSquares, -sweepPromotions
9060 and -seekGraph on, so that they will get more testing.
9062 2012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9063 Fix heigth of multi-line labels
9065 The previous height patch overlooked that some labels are multi-line,
9066 and need more height.
9068 2012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9069 Fix popdown seekgraph on forward-event XB
9071 Only the grid was drawn when the > or >> button were operated, because
9072 a full redraw was not forced by ForwardInner. The recent patch to take
9073 the seek graph down on such events did not account for that. (BackwardInner
9074 always seems to do full redraw, however?)
9076 2012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9077 Put front-end support for -recentEngines in XBoard
9079 The engines are added to the menu. Problem is still that in XBoard
9080 startup engines are given by command, rather than selected by combobox,
9081 so the command rather than the nickname ends up in the menu. If this is
9082 then selected, it cannot be found in the list. To limit the damage,
9083 Fairy-Max is now pre-installed without nickname. -recentEngines is now
9086 2012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9087 Better solution to button-height problem
9089 In stead of adapting the height of text widgets to that of buttons,
9090 (as represented by the message widget), we now do the opposite, and
9091 adapt the button & label heights. This is made safe by obtaining textHeight
9092 from the fontSet's max_logical_extent, though an XExtendsFontSet() call.
9093 Turns out the default height of text widgets is not exactly that, but
9094 4 pixels larger for borders and margin.
9095 The parameter XtNvertDistance is now used to align the checkboxes with
9096 the following text widget, and their size is derived from textHeight as
9098 The XtNvertDistance is set to -1 for the lower spin button, so that it
9099 its border coincides with that of the upper spin button. Their height is
9100 set to textHeight/2. This makes their combined height just 1 pixel more
9101 than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for
9102 other buttons we use that too (i.e. textHeight = font_extent + 5).
9104 2012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9107 Deleting debug printing had made a variable unused.
9109 2012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9112 The text-edit-height patch introduced a bug that did not have any consquences
9113 (yet), as the extra arg erroneously included leftover from a previous
9114 SetValues call happened to be the same as one of the intended args.
9116 2012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9117 Fix unloading of first engine on tourney start
9119 Because NextTourneyGame was loading a new engine before ReserveGame was
9120 called to unload it with dummy game nr = -1), the first engine proc kept
9123 2012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9124 Remove some of the most verbose debug output
9127 2012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9128 Delete some unused WinBoard bitmaps
9130 There waere up-side-down knight icons that apparently hid by mistake
9131 in the bitmaps directory: they were not part of WinBoard
9133 2012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9134 Cosmetic: change 4.5 to 4.6 in xboard.conf comment
9137 2012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9138 Fix crash on empty combobox menu XB
9140 XBoard crashed when a combobox without items was opened, as could easily
9141 happen in the Load Engine dialogs when -firstChessProgramNames contained
9142 no items, as it would without configuring. Now the creation of the popup
9143 menu is suppressed in that case.
9145 2012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9146 Fix position of checkbox XB
9148 With the large height the widget get in internationalization, the
9149 checkboxes are position way too high above the text. To shift them down
9150 a dummy borderless label widget is drawn above them (when needed).
9152 2012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9153 Fix heights in Engine Output window XB
9155 The icons did not fit in the space above the memos anymore, so the height
9156 of this area is now left free.
9158 2012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9159 Derive height of text-edits in dialogs from message widget
9161 With internationalization the default height of buttons has inexpliquably
9162 inreased compared to that of text-edits, messing up the layout of the
9163 GenericPopUp. The message widget is now used as a emasure of how high
9164 the widgets should be.
9166 2012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9167 Configure XBoard engines and textures
9169 The new -useBoardTexture option is needed in xboard.conf, as we want to
9170 distribute with the texture on, while the compiled-in default is off.
9171 A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess),
9172 as the Load Engine and Match Options checkboxes crash XBoard when the list
9173 is empty. The -recentEngines option is set to 0 to make sure the code
9174 associated with it is never executed: the code is still experimental,
9175 and the required front-end support is only present in WinBoard anyway.
9177 2012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9178 Update Dutch WinBoard translation
9181 2012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9182 Create room in some WB dialogs for translations
9185 2012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9186 Add 5 missing strings to WinBoard translation template
9189 2012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>:
9190 new developer release
9193 2012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>:
9197 2012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>:
9198 updated Changelog, NEWS, etc.
9200 2012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9201 Fix non-bug in WinBoard
9203 The IDM_RecentEngines was not used in symbolic form everywhere.
9205 2012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9206 Fix MAXENGINES in WinBoard
9208 The front-end arrays for expanding the engine list measured 1000 entries,
9209 in stead of MAXENGINES, leading them to overflow.
9211 2012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9212 Implement kludge to set options through Move Type-in
9214 A leading "!!! " will cause the rest of the line to be parsed as
9215 command line. Very dangerous, as an unknown option (e.g. because of a typo)
9216 will cause a fatal error, which makes XBoard exit.
9218 2012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9219 Put move number in Eval Graph title
9222 2012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9223 Implement -pgnNumberTag option
9225 A new (persistent) boolean option controls if the sequence number is to
9226 be written in saved tourney games as a Number tag, to make it easier
9227 to correlate games with debug files.
9229 2012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9230 Create separate debug fil for each tourney game
9232 Users can now apecify a -debugfile with %d in its name, and this will
9233 be replaced by the sequence number of the game. TwoMachinesEvent then
9234 starts by opening a new file when the name has changed, so that each
9235 game will go to a different file, with recognizable name.
9237 2012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9238 Fix bug in WB combobox readout
9240 The previous patch exposed a latent bug in the readout of the generic popup.
9242 2012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9243 Allow grouping of engines in engine list
9245 Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames.
9247 2012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9250 A trailing .exe was not removed if the engine name was quoted.
9252 2012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9253 Put recently used engines in WB menu
9255 A new option -recentEngines specifies how many engines should be listed.
9256 The list of nicknames is stored in the ettings file as -recentEngineList.
9257 The engines are appended to the Engine menu.
9259 2012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9260 Fix registering of EditTagsProg
9262 This was registered with X as EditCommentProc!
9264 2012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9265 Increase max nr of engines to 2000
9267 Move the #define for MAXENGINES also to common.h, so that both the
9268 Load and Tourney dialog use the same maximum.
9270 2012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9271 Fix fix of switch to mono-mode
9273 The previous fix had == in stead of != for testing if mono-mode had changed.
9275 2012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9276 Make New Variant dialog visible in mono-mode
9278 All colored buttons did get a black background, and also black text...
9279 Use timer background color in stead, which is white.
9281 2012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9282 Incease size of WB array of translated items
9284 For the BoardOptions dialog 42 items are now needed
9286 2012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9287 Implement Clone Tourney button XBoard
9289 This makes use of the new GenericUpdate().
9291 2012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9292 Implement GenericUpdate function
9294 This does the opposite from GenericReadout: it copies the current
9295 parameter values into the dialog.
9297 2012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9298 Fix arrow damage with highlightDragging XB
9300 With highlight dragging the highlights of the previous moves are cleared
9301 when lifting the piece. Logically, this should also clear the arrow, but
9302 to do that requires a board redraw, which is not done at this stage. (And
9303 even then this would only be effective after marking the arrow damage,
9304 which is not done yet either). As a temporary fix, we repair the arrow
9306 This patch has moved marking of the arrow damage from DrawArrowHighlight
9307 to a separate routine, so a future better fix can also call that when the
9308 arrow should be erased.
9310 2012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9311 Prevent unnecessary loading of engines
9313 For engines that can be reused, the unloading at the end of a pairing
9314 is in some cases wasteful, as the same engine will be used in the next
9315 pairing as well. In simple gauntlets the gauntlet engine will always
9316 stay first engine, while in multi-gauntlets the oppent engine will stay
9317 the same for an entire round. In these cases unloading is now suppressed.
9319 2012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9320 Reset protocol version before loading new engine
9322 The protocol version was not reset, so if the previous engine was v1,
9323 the newly loaded engine would not be sent a protover command, so
9324 that its features would remain unknown!
9326 2012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9327 Give focus to board window after ICS login
9329 toprevent that the focus remains on any popped up chat boxes, it is
9330 explicitlly set otherwise. The board window is preferred over the
9331 ICS interaction window, because you can type from there to the ICS anyway,
9332 and it makes all accelerator keys available.
9334 2012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9335 Fix seek-graph popup and popdown
9337 Clicking outside the board area in WB (e.g.on the clocks) would also
9338 trigger seek-graph 'popup'. This is now suppressed by testing for
9339 y-coord > 0. In addition, the seek graph is automaticaly taken down
9340 when we step to another position in the current game (using buttons,
9341 arrow keys or whatever).
9343 2012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9344 Suppress empty lines when observing on VICS
9346 Capture of the engine kibitzes when observing an engine game with
9347 -autoKibitz on was still leaking a linefeed on the Variant ICS
9348 (but not FICS or ICC!?).
9350 2012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9351 Fix printing non-numeric kibitz with -autoKibitz
9353 Messages that were not considered kibitzed engine PV info for lack of
9354 numeric content, were kibitzed as coming from "your opponent", which
9355 is nonsense if you were iobserving, and masked the source. Fortunately
9356 star_match[0] is still holding the original name, at that point.
9358 2012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9362 2012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9363 Use same translation of "vs." everywhere
9366 2012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9367 Add new translations to WB language file
9370 2012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9371 Fix re-allocation of PGN-cache memory
9373 It allocated 8 times too much!
9375 2012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9376 Fix height board dialog
9379 2012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9380 Enable WB time-control dialog even when no clock mode
9382 The dialog could be called from the tournament dialog to set a TCfor
9383 the tourney even when currently in game-viewer mode, so it'd better work.
9385 2012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9386 Exempt variant seirawan from -disguisePromoted inheritance
9388 This is not a variant where promoted Pawns have to be distingushed
9389 from primordial pieces, as captured pieces do not go into the holdings.
9391 2012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9392 Add control for overrideLineGap in WB Board dialog
9394 Make it a checkbox to choose between 0 and -1.
9396 2012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9397 Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard
9399 The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7.
9401 2012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9402 Fix seek graph for VICS
9404 The sought command on the open-source ICS code is ICC-like (no terminating
9405 line), although the server is FICS like. So also accept prompt as seek-graph
9408 2012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9409 Open WB startup chat boxes only after logged on
9411 The init code for opening the chat boxes ismoved to DisplayIcsTitle().
9413 2012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9414 Install mime types directly
9417 2012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9418 Install desktop files directly
9421 2012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9422 Install icons directly
9424 Rather than letting make-install copy the pixmaps to the XBoard data
9425 directory they are installed directly from the source files. The name
9426 of the TRN icon was also corrected and changed.
9428 2012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9429 Update texi file and remove duplicate control
9431 Some missing option descriptions were added. The highlight-dragging
9432 control was removed from the General Options dialog, as it did the same
9433 as Show Target Squares. -highlightDragging wa changed to a volatile option
9434 with default value true, making it effectively disappear as an XBoard
9435 option. (In WinBoard it is still persistent.)
9437 2012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9438 Remove the direct commands to the engines
9441 2012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>:
9442 forgot to list new desktop files in EXTRA_DIST section in Makefile.am
9445 2012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>:
9446 added some autogenerated po files to .gitignore
9449 2012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>:
9450 added desktop and mime-type association to autoconf install process
9452 This should install and uninstall the mime assocciation and also the icons.
9453 Also renamed the desktop files to avoid possible name collisions.
9455 2012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>:
9456 code cleanup: make function definition confirm to GNU coding style
9458 change everything in the main directory to
9461 funcname (int a, int b)
9465 2012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>:
9466 Updated copyright notice to 2012
9469 2012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9470 Implement -viewerOptions
9472 A mechanism is added to allow the user to configure persistently if the
9473 game viewer that starts on clicking PGN files will use -ncp mode, or
9474 load an egine for analysis (or, in fact, do anything). This by introducing
9475 a persistent string option -viewerOptions, which will be parsed as a
9476 command line after the real command line when the option -viewer was present.
9478 2012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9479 Fix crash in auto-comment
9481 Trailing linefeeds in AppendComment were not properly stripped off,
9482 leading to a mismatch between the allocted and used memory, and thus
9483 possible buffer overruns.
9485 2012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9486 Fix crash at match end
9488 The -afterTourney option had broken old-style matches, because the ranking
9489 string that was tested for "busy" is not set there at all, and remains a
9490 NULL pointer, which strcmp doesn't like.
9492 2012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9493 Add desktop files for PGN viewer and tournament player
9495 The desktop files define startup commands for handling PGN, FEN and
9496 tourney files, calling xboard with the proper command-line options.
9498 2012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9499 Add xml file for defining mime types
9501 The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen
9502 and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files,
9503 so these files can be associated with XBoard in various modes.
9505 2012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9506 Add icons for PGN and tourney files
9508 Icons are provided in two sizes: 32x32 and 48x48.
9510 2011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9511 Clear square markers on new game
9513 Now that the markers can stay on after a first click, they need to be
9514 explicitly cleared when moving to another board, including a new game.
9516 2011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9517 Abandon single-letter menus in tinyLayout
9519 Now that the items on the main menu bar are clipped, it iso longer
9520 necessary to abbreviate them.
9522 2011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9523 Implement peeking previous position in WinBoard
9525 The backspace key is used to temporarily display the previous position.
9527 2011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9528 Fix parsing of faulty PGN tags
9530 A closing bracket could be missed in a malformed tag
9532 2011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9533 Fix parser for variant seirawan
9535 The new parser didnot understand gating suffixes with /, and did not
9536 allow any suffix at all on SAN castling moves.
9538 2011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9539 Try to not confuse ICS rating adustments as shouts
9541 An explicit pattern match for the rating adjustment is added before
9542 matching the shouts.
9544 2011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9545 Describe -overrideLineGap option in texi file
9548 2011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9549 Use <Enter> in stead of Ctrl+. for peeking last move
9551 I commented out the explicit detection of the Ctrl key, as this
9552 is not needed when there are no 'unnatural' Ctrl keystrokes used
9555 2011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9556 Next try for menu-bar sizing
9558 This time request the width needed to just fit everything, and then start
9559 shaving off pixels from the currently largest until the entire thing fits.
9561 2011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9562 Clip texts on menu bar
9564 The width of the items on the main menu bar is restricted so the bar
9565 will never exceed board width.
9567 2011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9568 Fix format in temporary timing printf
9571 2011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9572 Don't test drops as mate evasions in variant seirawan
9575 2011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9576 Fix ICS castling rights
9578 Copying the castling rights together with CopyBoard seems to have
9579 broken handling of ICS rights, where ParseBoard12 prepares a board
9580 in a local variable, an copies it before parsing the rights.
9582 2011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9583 Fix initial holdings ICS seirawan games
9586 2011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9587 Fix sending of S-Chess gating moves to ICS
9589 Normal moves did not get the gating suffix sent.
9591 2011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9592 Fix menu grayout after illegal move
9594 TheThinkingEnables were not reset to user state after the engine rejected
9595 the entered move as illegal.
9597 2011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9598 Allow setting of holdings with edit command
9600 For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command
9601 no also sends holdings contents (if the engine sent feature xedit=1), encoded
9602 as pieceType + '@' + holdingsCount (if the count is non-zero).
9604 2011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9605 Fix out-of-bounds access in check test
9607 Thepath to make the check test work with drops had broken the test
9608 after null move (both have rf<0), which led to corruption of the high
9609 word of the black clock.
9611 2011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9612 Fix legality of Spartan promotion to king
9614 In the check test promotion to King is only allowed if there are not
9617 2011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9618 Fix switching back from mono-mode XB
9620 Suppressing unnecesary X-server calls in InitDrawingSizes had broken
9621 switching back from monoMode, because the animVars have to be recreated
9622 for that, and this was only done when the variant changed.
9624 2011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9625 Fix showTargetSquares in mono-mode XB
9627 Make the marker dots black (captures) and white, and draw a circle
9628 in the opposite color around them in monoMode.
9630 2011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9631 Fix arrow highlighting in mono-mode XB
9633 Draw a line around it in darkSquare color in monoMode.
9635 2011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9636 Fix alignment of generic browse button XBoard
9638 The width ofthe browse button is now read back after creating it,
9639 and subtracted from the preceding text edit.
9641 2011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9642 Add -afterTourney option
9644 Only the instance pinting the tourney result will execute this.
9646 2011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9647 Fix buffer possible overflow when writings tags
9649 PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it.
9650 It starts by calculation the required buffer size and then allocate the buffer.
9651 PrintPGNTags() now prints directly to the file without having a buffer.
9653 2011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9654 One more string marked for translation
9656 And it is moved inside the if statement that uses it.
9658 2011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9659 Fix checking of return value from snprintf()
9661 snprintf() returns the needed space excluding the trailing 0 byte, so
9662 it has truncated if the returned valued is greater than or EQUAL TO the buffersize
9664 2011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9665 Fix unportable memory initialisation
9667 Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL
9669 2011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9670 Add 2 strings for translation
9673 2011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9674 Remove the last 2 compile warnings in gamelist.h
9677 2011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9678 Add #include "moves.h" to gamelist.c for def. of CopyBoard()
9681 2011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9682 Definition of TimeMark moved from 3 c files to backend.h
9685 2011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9686 Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980
9689 2011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9690 Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails.
9693 2011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9694 Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined.
9697 2011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9698 Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined.
9701 2011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9702 Fix possible crash on 64-bit systems when copying game or position
9704 The two convertproc's for X selections caused reads out of bounds on 64-bit systems.
9705 I hope that this is the right solution. I am not experienced with X stuff, but it
9706 follows that I have seen in other programs, testing shows that copying still works,
9707 and the reading out of bounds have disappearinged with this patch.
9709 2011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9710 Fix a possible crash in the file browser
9712 If the OK button was selected in the file browser when no file was selected
9713 there was a read out of bounds which could crash xboard
9715 2011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9716 Fix a memory leak in Sound Options
9719 2011-12-16 02:57:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9720 Fix crash when selecting user soundfile due to free() of not malloc()'ed memory
9723 2011-12-16 02:32:37 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9724 Make GenericPopUp() more readable by using more named flags instead of numerals
9726 Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks.
9727 There should no functional change.
9728 Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both
9729 branches do the same (that is nothing) when the value is uninitialised.
9731 2011-12-15 02:51:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9732 Add NO_GETTEXT flag for combobox. Fix bug #34991
9734 Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK
9735 flag to call comboCallback() when an item is selected in a combobox (no new code for this,
9736 just a symbolic value instead of a number). The flags are used for the min field of struct Option.
9737 NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows.
9739 2011-12-13 19:48:37 -0800 Arun Persaud <arun@nubati.net>:
9740 only translate entries in CreateComboPopup if strlen>0; fixes #34991
9743 2011-12-12 19:06:26 -0800 Byrial Jensen <byrial@vip.cybercity.dk>:
9744 fix for repeating key issue, with this allissues this bug should be closed; fixes #35000
9747 2011-12-12 18:45:05 -0800 Arun Persaud <arun@nubati.net>:
9748 also don't translate selection in ComboSelect; fixes #34991
9751 2011-12-12 18:40:23 -0800 Arun Persaud <arun@nubati.net>:
9752 make entries in CreateComboPopup not translateable; fixes #34991
9755 2011-12-10 16:06:47 -0800 Arun Persaud <arun@nubati.net>:
9756 fix translation for engine list; fixes #34991
9758 * click on browse button should be recognized in translated versions
9759 * width of button should auto-scale
9761 2011-12-10 11:04:17 -0800 Arun Persaud <arun@nubati.net>:
9762 change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000
9764 two keybindings were using keys without modifiers, adjusted these to use the ctrl key.
9765 Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs.
9767 Also added documentation for these keybindings.
9769 2011-12-10 10:51:18 -0800 Arun Persaud <arun@nubati.net>:
9770 replaced unicode character for "'" in xboard.texi
9773 2011-12-10 10:08:48 -0800 Arun Persaud <arun@nubati.net>:
9774 removed Iconify function. Should be handled by the window manager.
9777 2011-12-08 20:53:13 -0800 Arun Persaud <arun@nubati.net>:
9778 marked an error messages for translation
9781 2011-12-08 20:33:29 -0800 Arun Persaud <arun@nubati.net>:
9782 translation: updated uk.po
9785 2011-12-03 17:52:23 -0800 Arun Persaud <arun@nubati.net>:
9786 fixed size of XBoard icon to 48x48
9788 the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation.
9790 2011-12-03 08:07:32 -0800 Arun Persaud <arun@nubati.net>:
9793 marked a lot of new strings for translation
9795 2011-12-03 08:06:42 -0800 Arun Persaud <arun@nubati.net>:
9796 added new files to po/POTFILES.in
9799 2011-12-02 22:13:36 -0800 Arun Persaud <arun@nubati.net>:
9800 marked more strings for translation
9803 2011-12-02 20:08:01 -0800 Arun Persaud <arun@nubati.net>:
9804 translation: added danish translation
9807 2011-12-01 18:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9808 Change encoding of seirawan ICS gating-castlings
9810 In stead of using upper/lower-case promoChar, the ICS now uses
9811 RxK notation, like WinBoard writes in SAN, for better consistency.
9813 2011-11-30 15:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9814 Put promo-suffix on ICS move in variant seirawan castlings
9816 The distinction upper-case / lowercase determines gating at R / K
9818 2011-11-28 11:56:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9819 Refrain from making unnecessary resize X request
9821 The window resizing code in InitDrawingSizes is suppressed when no
9822 change is needed. Similarly, changing piece bitmaps is suppressed when
9823 we stay in the same variant (and InitDrawingSizes is called e.g. because
9824 of chaging lineGap through the Board dialog).
9826 2011-11-27 22:27:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9827 Fix parsing of O-O castling in variant janus
9829 The new parser did not realize it meant e1i1 rather than wild e1h1.
9831 2011-11-26 22:28:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9832 Show 50-move counter also when observing ICS games
9834 To not cheat 50-move display was suppressed in ICS mode,
9835 but for observing a game this made no sense.
9837 2011-11-26 22:22:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9838 Ignore ICS game starts when already in game
9840 The advance switching of the variant on game-start messages was
9841 disruptive for users with gin=1, which also sends such messages
9842 for other games than your own. For now fixed by only reacting on
9843 them when idle (detected by invalid game number).
9845 2011-11-11 18:16:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9846 Fix WinBoard clock-click bug
9848 Clicking on the clock in WinBoard also called the LeftClick routine
9849 for handling clicks on the board. This led to the from-square being set
9850 to some inalid value, so that the next genuine board click was interpreted
9851 as a to-click, with undesired effects, especially with legality testing off
9852 or in EditPosition mode, where weird things are accepted.
9854 2011-11-06 17:20:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9855 Add feature-override options
9857 A few (dangerous) options are added to allow a user to override
9858 engine features, or change their defaults, by supplying a string
9859 with feature commands (e.g. "sigint=0") which tricks XBoard into
9860 thinking the engine sent that. There is a -featureDefaults which is
9861 processed before the engine features, and -first/secondFeatures
9862 which is parsed just before engine initialization.
9863 This goes horribly wrong when the user wouldtry silly things like
9864 including 'option' or 'done' features!
9866 2011-11-05 12:32:39 -0700 Arun Persaud <arun@nubati.net>:
9867 translation: updated uk.po
9870 2011-11-04 21:58:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9871 Fix handling of -secondOptions option
9873 The -firstOptions and -secondOptions settigs were not swapped when
9874 -singleEngieList was true, so the second engine's options would never
9875 be set in that case, but used for the first engine.
9877 2011-11-04 21:55:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9878 Accept setup command in variant fairy even with legality testing on
9880 Variant fairy does not really have a defined opening position, but lots
9881 of pieces defined, so we might want to play with legality checking on,
9882 but still rely on the engine for the opening position
9884 2011-11-04 21:52:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9885 Set pieceToCharTable by setup command even when ignoring FEN
9887 When the user starts from a set-up position, the egines default
9888 openingposition has to be ignored, but the pieceToCharTable would
9891 2011-11-04 21:48:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9892 Change default sweep-promotion choicein queenless variants
9894 The initial scanning of the sweep piece until a defined piece is found
9895 is now in the increasing direction (still starting at Queen), so that
9896 the fairy pieces are suggested before R, B and N.
9898 2011-11-03 16:38:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9899 Clear board markers when moving to other position
9901 Now the markers from -showTargetSquares would stay on after a first click
9902 for the benefit of a click-click move, they would also stay on when not
9903 finishing the move, but operating the < > buttons in stead to call up
9904 other positions. ForwardInner and BackwardInner now clear the markers,
9905 like they also cleared highlights.
9907 2011-11-01 18:30:22 -0700 Arun Persaud <arun@nubati.net>:
9908 updated Changelog, NEWS, etc.
9910 2011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9913 2011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9914 Don't adjust clock on right-click in EditGame mode WB
9916 This was a change that was already done for the left-clicks, but somehow
9917 never made it togit for the right-clicks
9919 2011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9920 Change chase message in .lng files
9922 2011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9923 Let perpetual-chase message mention square
9925 In stead of a boolean, PerpetualChase now returns the square the chased
9926 piece ends on (encoded as an int), and on adjudication it will be printed.
9928 2011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9929 Add mechanism to translate variable messages in WinBoard
9931 A message prefixed with % in the lng file will be considered a match
9932 if it matches the start of the text to be printed, and the remaining
9933 part of the latter will remain untranslated. This was needed to allow
9934 translation of the perpetual change message, now it indicates the square
9935 of the chased piece.
9937 2011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9938 Use other interpretation of Asia rules for chase detection
9940 The detection of perpetual chases now ignores pre-existing checks.
9942 2011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9943 Fix crash on loading garbage game file
9945 The code to cache games was not resistant to moves before a valid
9946 game start, or a game filewithout any games at all.
9948 2011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9949 Incorporate variant type in book hash key
9951 This prevents booksforone variant being used for another, and allows
9952 multi-variant books.
9954 2011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9955 Update language.txt file
9958 2011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9959 Update Dutch lng file
9962 2011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9963 Fix Load Options dialog WB
9965 Defined fastkeys; reordered elements so that fastkeys focus edit they
9966 are intended for. Changed some of the more obscure texts. Corrected
9967 list of transatble dialog items, adding a few missing ones.
9969 2011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9972 Prototypes were added, ormoved from backend.c to backend.h.
9974 2011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9975 Put 'Load Next' button back in WB Game List
9977 The '>' button for loading the next (filtered) game is re-instated in the
9978 WinBoard GameList. The main window has now accelerator keys Ctrl+Up and
9979 Ctrl+Down for loading the previous and next filtered game.
9981 2011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9982 Speed up position search and consider side to move
9984 The position search is made to pay attention to the side to move,
9985 which produces a speedup, because we only have to compare half the
9986 game positions when looking for an exact position match. An addition
9987 we now keep track of the total number of pieces, and abandon a game when
9988 it drops below the number of pieces in the position we seek.
9990 2011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9991 Dynamically allocate move cache
9993 A small statically declared cache good for 250k moves (~3200 games)
9994 will be expanded in steps of a factor 8 when it overflows.
9996 2011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9997 Translate search strings
10000 2011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10001 Implement flipped search
10004 2011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10005 Debug position search cache
10008 2011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10012 2011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10013 Translate search-mode strings
10016 2011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10020 2011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10021 Fix duplicate loading of second engine in tourneys
10023 To decide if new engines should be loaded, it was tested if first.pr
10024 equalled NoProc, assuming that ReserveGame would have left the engine
10025 loaded if the next game would need the same engines. But a reuse=0 engine
10026 could have caused termination of the first engine process anyway, while
10027 the second would still be alive. So unconditionally starting of the second
10028 engine would cause redundant engine processes to abound.
10029 Now we only start new engine processes if both engine processes are dead.
10031 2011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10032 Fix PV walking with -fSAN
10034 The SAN options had broken the PV walking, because the shelving of the
10035 walked PV to create space for the conversion to SAN of an incoming PV
10036 would not be properly undone, but would add the walked PV to the game.
10038 2011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10039 Refine clock adjusting
10041 Adjusting the clocks by shift-clicking them is now only allowed with
10042 autoCallFlag off, and an error-popup results when you do it otherwise.
10043 Also, swtching to Edit Game mode won't reset the clocks to the stored
10044 value anymore when you have just adjusted it.
10046 2011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10047 Fix crash on adding items near book end
10049 When Edit Book would add so many entries near the end of an opening
10050 book that the end of the added info would surpass the old end of the
10051 file, the copying of the tail got stuck in an infinite loop, extending
10052 the file without limit with repeating info.
10054 2011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10055 Print message on wrong use of Clone Tourney
10057 The user is urged to first provide the name of an existing tourney file
10058 when he presses the button without one. The button is also renamed.
10060 2011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10061 Fix invalid combobox entry WB
10063 A combobox label that was not in the list (because the user typed
10064 it, rather than selecting one) would cause a crash.
10066 2011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10067 Fix crash on loading garbage game file
10069 XBoard crashed when a game file contained a PGN game result before
10070 any valid game start, because data would be written in a game-list
10071 node that did not exist yet. This would occur frequently when garage
10072 was read; basically any asterisk in the data would do it.
10074 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10075 Add control to set -discourageOwnBooks WB
10078 2011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>:
10079 only require 0.17 of gettext
10081 This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones.
10083 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10084 Add option -discourageOwnBooks
10086 This boolean option determines the default setting of the hasOwnBook
10087 option before a tourney game starts. By setting it, the hasOwnBook
10088 option is cleared, which would enable use of the GUI book, like the
10089 engine was installedwith the /firstXBook option. An explicit option
10090 on the engine install line can still overrule this, though.
10091 A control to set this option has been added in the XBoard Match dialog,
10092 and it is saved in the tourney file to force consistency.
10094 2011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10095 Reset initString and computerString on engine load
10097 These options are typically engine specific, and must thus be
10098 reset to their default value before loading a new engine.
10100 2011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10101 Add Romanian lng file
10104 2011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10105 Reactivate Falcon Chess
10107 Now the patent for this has expired, Fairy-Max plays it again.
10108 So the XBoard support for it is now switched on, and an item for it is
10109 added to the XBoard New Variant menu dialog. (WinBoard still had that.)
10110 In the array the Lance was changed for the Falcon as a wild-card piece.
10112 2011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10113 Update texi file for new features
10116 2011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10117 Update texi file for position search
10119 The new items in the Load Game Options dialog are described, as well
10120 as the command-line options used to store them in the settings file.
10122 2011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10123 Remove paragraph about .Xresources from texi file
10125 Command-line options can no longer be set through .Xresources already
10126 since version 4.5.0.
10128 2011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10129 Add Dutch WinBoard translation
10132 2011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10133 Prevent Edit Book window from stealing focus (WB)
10135 In WinBoard updating the book window would give it focus. Now the
10136 focus is given back to the main window, except when the Edit Book
10137 window is first created.
10139 2011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10140 Make book-window update part of HistorySet
10143 2011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10144 Fix position loading in tourneys
10146 In a tourney a position must be loaded when the engine is not yet
10147 started, and the old version of LoadPosition could not handle that:
10148 It would start up the engine, and send it commands unconditionally.
10150 2011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10151 Fix resetting -fSAN on engine change
10153 There were two places for loading another engine, Load (from menu) and
10154 SetPlayer (in tourneys), and the previous patch for this missed the
10157 2011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10158 Make too-long game non-fatal
10160 GameEnds is now called when the maximum number of moves is exceeded,
10161 rather than DisplayFatalError. Not sure if this properly terminates the
10162 game in all situations, but DisplayFatalError (after calling GameEnds)
10163 would also wait for the user to confirm the error popup before really
10164 exiting, so that in an unattended automatically running tourney there
10165 was not much fatal, and the entire tourney would in fact be finished.
10167 2011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10168 Keep book file open
10170 Rather than opening and closing the book file on every probe, it is
10171 now only closed and opened when the name of it changed.
10173 2011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10174 Suppress playing of book moves with weight 0
10176 Bookmoves with weight 0 could be played when the sum of the weights
10177 of all moves from the position was 0. So it was not possible to suppress
10178 the only move by giving it weight 0. This is now corrected.
10180 2011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>:
10181 added NEWS for release of 4.5.3
10184 2011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>:
10185 better contrast for XBoard icon on a dark background
10188 2011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>:
10189 translationproject.org: updated Ukrainian translation
10192 2011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>:
10193 updated pot file and send to translation project
10196 2011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>:
10197 (tiny change) Clarify "-name" option is Xt-only
10199 There's a set of standard options with will get used by Xt, before Xboard
10200 itself will use them. "-name" is an Xt-only option which will set the name
10201 and resource of the window to the value requested. It has nothing to do
10202 with setting opponent/player names.
10204 Signed-off-by: Thomas Adam <thomas@fvwm.org>
10206 modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL)
10208 2011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10209 Fix LoadGameOrPosition starting up engine
10211 When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that
10212 is called in LoadPosition() when you are running from a position file
10213 would prematurely start up the engine (without waiting for features).
10214 The kludge to suppress this behavior for the explicit call to Reset()
10215 is now extended to encompass LoadGameOrPosition.
10217 2011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10218 Clear fSAN option before new engine load
10220 This to prevent the new engine will inherit it from the previous one.
10221 As the command-line options an only set it, this has to be done by
10222 explicit assignment.
10224 2011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10225 Fix some warnings (prototypes)
10228 2011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10229 Fix write failures in concurrency
10231 In WinBoard a flood of writes by differentprocesses to the same PGN can
10232 cause a "permission denied" error in fopen. This patch causes retries after
10233 a random (5-15 msec) wait, in such cases.
10235 2011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10236 Move HistorySet to back-end
10238 This existed in exact duplicates in both front-ends.
10240 2011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10241 Make DoSleep front-end wrapper for msec sleep
10243 DoSleep was #defined as a macro for Sleep/ sleep, with an argument
10244 indicating msec in WinBoard, but seconds in XBoard. Nuw it universally
10245 uses msec, by defining it as a wrapperin the respective front-ends.
10246 (For XBoard itwraps FrameDelay.)
10248 2011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10249 Fix playing sounds when -soundProgram is empty
10251 It made no sense to just send the names of the sound files to the shell.
10252 So the soundProgram isnow tested for being an empty string, and if so,
10253 PlaySound() is aborted.
10255 2011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10256 Add -afterGame option
10258 This option specifies a command line to be executed after each game of
10259 a tournament. To execute the line, the function RunCommand() was added
10260 in the front-end. For XBoard this was a simple call to system(); for
10261 WinBoard part of the StartChildProcess code was cloned (without the pipe
10264 2011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10265 Upgrade -serverMoves option
10267 The (undocumented) -serverMoves option was upgraded to conform to the
10268 ChessLive! protocol extension for sending SAN tags. A bug that allowed
10269 upper-case promoChar to leak through was also fixed, and code was added
10270 to write engine PVs to file. Flushing of the game result to the -serverMoves
10271 file was also fixed.
10273 2011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10276 The joining of two comments was not performed correctly if the second
10277 one had the braces yet to be added: the closing brace was not added in
10280 2011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10281 Auto-popup ICS Input Box
10283 Typing to the board made the move type-in pop up, but in ICS mode
10284 this is of course undesirable. Like in WinBoard, the ICS Input Box
10285 should pop up in stead, and accept the typed character. This is now
10286 realized. If the box already exists and has text in it, the typed
10287 character is appended to that text, and the box is given focus.
10288 Spaces now also are considered as printable.
10290 2011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10291 Slightly decrease sensitivity of sweep actions
10293 The sweep-selection of promotion and drop pieces, or step through the PV
10294 was so sensitive that it was difficult to reliably make the intended choice.
10295 It has now been reduced by a factor 1.5-2, and the sweep selection and
10296 PV walk now also use a different value.
10298 2011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10299 Extra buttons in WB Tournament dialog
10301 A button to copy contents of the tournament fileto the dialog is added.
10302 Buttons to invoke the Common Engine and Time Control dialogs are also added.
10304 2011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10305 Fix crash on typing non-existent enginein Load Engine dialog
10308 2011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10309 Fix display state after failed analysis attempt
10311 When an engine responded to the "analyze" command with an "unknown command"
10312 message, a Reset was done without altering the display, causing a
10313 discrepancy between display and internal state, which caused confusion
10314 when it finally corrected itself. I replaced the Reset call by an
10315 EditGameEvent call, to preserve the loaded game. The Reset was presumably
10316 used to allow for the case where the engine would be so upset by the
10317 analyze command that it needed to be reset by a "new" command, but this
10318 seems overly paranoic for an engine that just recognized the command
10321 2011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10322 Fix treatment of PGN score/depth info with linefeeds in them
10324 This is needed to make the PGN more Arena-proof.
10326 2011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10327 Fix quoting in Load Engine dialog
10329 A (space-contaning) engine name only needs quoting when there are parameters,
10330 because the over-all engine command will be quoted anyway. For UCI engines
10331 duplicate quoting is fatal, because when passed as the -ec argument of
10332 Polyglot, it will be quoted yet another time, also with double quotes.
10334 2011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10335 Replace Analyze File by Analyz Game function
10338 2011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>:
10339 new developer release
10342 2011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>:
10346 2011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>:
10347 updated Changelog, NEWS, etc.
10350 2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
10351 malloc.h is not needed
10354 2011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10355 Fix ICS move-list header mistaken for null moves
10358 2011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10359 Allow two-games-per-opening to work with book
10361 A new option -seedBase is added, and written to the tourney file.
10362 It allows all XBoard instances working on a tourney to generate the same
10363 'random' openings in a deterministic way, based on this one-time seed
10364 and the game number. When -loadGameIndex equals -2, it uses the same seed
10365 for an odd and the following even game.
10367 2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10370 In some places rand() was called explicitly, rather than through the
10371 (configured) place-holder random().
10373 2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10374 Translate search texts
10377 2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10378 Add -useBoardTexture and -usePieceFont options
10380 These options suppress the use of the given texture files or piece fonts
10381 without relying on the kludge to disable them by prefixing an asterisk
10382 to the file or font name. Checkboxes have been added to the Board dialog
10383 to control them. The user can now set piece font in WB font dialog.
10384 The sample text can be used to specify the -fontPieceToCharTable,
10385 the font name itself the -renderPiecesWithFont value.
10387 2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10388 Fix crash on start without settings file
10390 A primordial -1 in currCurrent caused a crash when WinBoard was started
10391 without ini filein game-viewer mode.
10393 2011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10394 Fix generic-popup failure after empty engine-settings dialog
10396 The error exit ofthe Engine #N Settings dialog in case of an engine without
10397 options forgot to clear currentCps, with as a result that the generic popup
10398 thought every subsequent popup was an empty one, and kept repeating the
10399 'engine has no options' error message for every dialog.
10401 2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10402 Allow substitution of engines during tournament
10404 Two buttons are added in the tournament options dialog, for upgrading
10405 and for replacing a tourney participant. Lots of tests on the validity
10406 of the request are done, and if all are passed, the tourney file is
10407 written with the new participants (and in case of replace) with the
10408 results of the replaced engines erased from the -results string.
10410 2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10411 Fix up/down arrows in game list
10414 2011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10415 Add key bindings for loading next/previous game of list
10417 These bindings are set both for the game list and the board window.
10418 To make them useful, focus has to be transferred to the board widget
10419 after loading (it tends to transfer to the tags window), which now
10420 seems to work, but not always. From the game list the shellWidget
10421 seems to get focus rather than the board, which is bad as it is not
10422 sensitive to the key bindings.
10424 2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10425 Allow deletion of last book move
10427 The book-edit function refused to delete the entiremove list,
10428 for no good reason. This limitation now has been lifted.
10429 Also the error message that the key for the current book entries
10430 is different from that of the currentposition has been suppressed
10431 if there were no entries found for the current position (so that the
10432 book is positioned at the next key), so that it is possible to add
10433 moves from scratch.
10435 2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10438 Line numbers > 1, which are common, can exit already during move parsing,
10439 to save lots of matching on resultsand castlings.
10441 2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10442 Fix missing files in file browser
10444 The file browser was throwing away the first two files, assuming
10445 they were "." and "..". Alas, this is no longer true on every Linux.
10446 Now we actuallyc compare for these names, before skipping them.
10448 2011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10449 Delay file loading to allow expose event first
10452 2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10456 2011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10457 Better fix of crash on empty game list
10459 An empty list is now replaced by a list containig a simple message.
10461 2011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10462 Add plain arrows as key binding for stepping forward/backward
10465 2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10466 Debug position selection
10469 2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10470 Print progress during load / selection of game
10472 The title bar of themain window is used to display a running count
10473 of the number of games loaded / searched.
10475 2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10476 Parse PGN tags without allocating memory
10478 In WinBoard malloc/free did not seem to work when preparing the game list,
10479 leading to a huge memory list when ParsePGNTag was used. The added code
10480 parses the required tags in an alternative way as a work-around.
10482 2011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10483 Implement searching games in Game List for a position
10485 For this it was needed to reconstruct all positions of the games
10486 without loading them, so they could be compared to the currently
10487 displayed position. A new routine GameContainsPosition is made for that.
10488 In Disambiguate, when the global quickFlag is set, we now do the
10489 disambiguation ignoring check,and only if this leads to an ambiguous
10490 move, we repeat it taking check into account to see if that resolves
10491 the ambiguity. This causes us to miss if unambiguous moves are illegal
10492 because they put their King in check, but who cares?
10493 We now do not make game-list line when not needed. If we do not filter
10494 by text, but by position, there is no need for preparing the game-list
10495 line for games that are not selected. All for efficiency.
10497 2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10498 Allow entry of variations in PlayFromGameFile mode
10500 Adding variations is more like editing a comment,and not really editing
10501 the game. Therefore we allow it on loaded games. As soon as we are in a
10502 variation, we temporarily switch to a (hidden) EditGame mode, restoring
10503 the original mode when we revert to the main line.
10504 We now also stay in PlayFromGameFile mode after loading a game,
10505 And opening variation (fromtheComment window) in PlayFromGameFile mode
10508 2011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10509 Force Move History refresh after loading/reverting variation
10511 The Move History window was not refreshed after switching to or from
10512 a variation if that variation happened to have the same length as
10513 the main line. Now a change in storedGames since the previous refresh will
10514 force a full refresh to avoid this. For this to work, storedGames
10515 did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
10516 calls HistorySet before the history is restored, so we don't want
10517 it to snatch away the full refresh. A call to HistorySet had to be
10518 added after PopInner is done restoring the move history.
10520 2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10521 Popdown Comment window on new game
10523 What is in this window cannot possibly remain valid, and can even be harmful.
10525 2011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10526 Allow null move in analysis and edit-game mode
10528 In some games it is allowed to pass your turn. The internal
10529 representation picked for such a null move is the drop of an empty
10530 square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
10531 SAN form is "--", (for compatibility with ChessBase / SCID), and the
10532 non-compliant forms "null", "pass"and "Z0" are recognized in
10533 the parser as well. ApplyMove() has to test for this special case
10534 (to not actually clear a1), and a way to enter the pass for the user had
10535 to be found (clicking the opponent clock, like in EditPosition mode).
10536 The null move is made move irreversible to prevent repetition draws
10537 spanning null moves being adjudicated.
10538 Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
10539 Because Chess engines will not accept null moves, SendMoveToProgram had
10540 to be adapted to send not the move, but the position after it in
10541 case of a null move. This erases the move history in the engine,
10542 so it will not react to 'undo' for that null move, so BackwardInner
10543 had to be adapted to test for intervening null moves, and if one is
10544 found, approach the target from the other side after loading the
10545 earliest position before it not crossing another null move, and
10546 then loading the moves upto the target.
10547 XBoard clock clicks had to be fixed, to pay attention to the shift key.
10549 2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10550 Give WinBoard Game List its own font
10552 The font fort he Game List used to be shared with the Engine Output and
10553 Move History windows, but this made it impossible to use a figurine font
10554 in the latter two (which displays piece symbols for capitals) without
10555 messing up the Game List. An option -gameListFont has been added to specify
10556 the font for the Game List(and save it in the settings file), while a
10557 control for it is added in the fonts dialog.
10559 2011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10560 Fix crash on OK after Save Changes in Tags and Comment popup.
10562 The global variables tagsText and commentText were used to pass
10563 a string obtained from a widget (and thus not malloc'ed), which
10564 caused a crash when the GenericReadout tried to use those variables
10565 for the new value. Fixed by using GenericReadout (which does malloc)
10566 to read out the text,in stead of GetWidgetText.
10568 2011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>:
10569 Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
10571 This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
10573 2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10574 Suppress some XBoard warnings
10577 2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
10578 fixed segfault in xengineoutput
10581 2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10582 Disable -showTargetSquares in ICS mode
10584 Help like this is considered cheating on FICS, so it is disabled for
10585 all 'classical' ICS variants. (For variants eyont Shogi we don't care.)
10587 2011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10588 Put grab on sweep-selecting in Edit Position
10590 A right down-click starting a sweep-selection event did not grab the
10591 mouse events, so that an up-click outside the window would go
10592 unnoticed, and the pointer motion stayed coupled to selecting the
10593 piece until the next click. By returning 2 from the RightClick back-end
10594 routine we request the grab.
10596 2011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10597 Write more labels on score axis of eval graph
10599 The labels for +/-1 and +/-3 are now also written, provided there is
10602 2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10603 Improve Eval Graph with -evalZoom and -evalThreshold
10605 The score range between -1 and +1 can now be blown up by a factor
10606 specified through -evalZoom. The threshold below which histogram bars
10607 are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
10608 be set through the -evalThreshold option.
10610 2011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10611 Print reversible plies done in stead of plies to go
10613 Printing the number of plies left to the draw-adjudication point was
10614 confusing when the N-move rule was set to a non-standard value.
10615 In stead we now print the number of plies since the last irreversible
10616 move, so the user can compare it to both the engine claim point (100)
10617 and the adjudication point he set (which might be beyond 100).
10619 2011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10620 Let WB eval graph react ot single left-click
10622 Unlike in XBoard, the WinBoard eval graph awatys had required double-
10623 clicking to go the the corresponding move, while there really is no
10624 reason for this, as it is no text edit, and single-clicks have no function
10627 2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10628 Add -scoreWhite option
10630 This is similar to -absoluteAnalysisScores, except that it works in
10631 all modes, and flips the score given by the engines in the engine-output
10632 window when black is to move.
10634 2011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10635 Print 50-move counter in Engine-Output title
10638 2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10639 Display score/depth in Eval Graph title
10641 No longer print it in the comment window.
10643 2011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10644 Let -sweepPromotions also work for click-click moves
10646 A click-click promotion no longer causes auto-queening, but the down-click
10647 on the to-square causes a Queen to stick to the mouse pointer, and then
10648 allows the user to change it through dragging backwards before releasing it
10650 In WinBoard this required a slight change in DragPieceBegin, because
10651 the dragged piece there only was made visible when the mouse pointer
10652 actually started moving (and dragInfo.pos was set), presumably under the
10653 assumption that before mouse move the piece was already on the clicked
10654 square. Which in the case of a to-square was of course not true. (Because
10655 a piece jumps to the mouse pointer when the click is not centered on a
10656 square, this gives less jittery static clicks.) So DragPieceBegin has
10657 been given an extra argument now, to indicate whether it should attach
10658 the piece to the mouse pointer immediately.
10659 To make the click-click sweepPromotions work in Shogi (for which the
10660 drag-drop sweepPromotions could never work, because it is not clear the
10661 piece has a posibility to promote when you pick it up), translation of
10662 the sweep-selected piece to a Shogi promoChar had to e added.
10664 2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10665 Improve -showTargetSquares on click-click moves
10667 The markers on move targets are now kept when a first click merely
10668 selects a piece, rather than dragging it elsewhere. The second click
10669 (by definition on the to-square) then clears the markers.
10671 2011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10672 Let PGN parser accept lower-case piece in drop moves
10674 The @ sign prevents amiguity with other notations anyway.
10676 2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10677 Fix parser.c line endings
10680 2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10681 Fix writing searchTime in tourneyFile
10683 This had to be derived from the variable searchTime, which gives it
10684 in seconds, as appData.searchTime (a string in minutes) is not reliable,
10685 as it contains the command-line value, which might have been altered
10686 through the time-control dialog.
10688 2011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10689 Fix resetting searchTime if other TC mode is chosen (XB)
10691 This fixes a bug in the new time-control dialog.
10693 2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10694 Fix coords display on large boards
10696 The file indicators can now run upto 'w'. Only the lowest digit
10697 of the rank number is printed, from a table that is valid to 22.
10699 2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10700 Fix crash on making too-long FEN
10702 The buffer for in PositionToFEN was only 128 bytes, which was not enough
10703 for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
10704 There also is some approximate overflow checking added (but it is not
10705 fool proof in case there are holdings...)
10707 2011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10708 Fix drop moves on boards with more than 10 ranks
10710 The internal encoding for rank 16 is '@', and thus ambiguous with drop
10711 moves. They were always printed as 16, breaking drop games on large
10712 boards. The ambiguity is now solved (for boards with more than 16 ranks)
10713 by checking if the preceeding letter is upper case, in which case it
10714 cannot be a fileindicator, but must be a piece, and thus a drop.
10716 2011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10717 Don't one-click move when legality testing is off
10720 2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10721 Reorder controls in Engine Setings dialog WB
10723 To get tabbing through the controls in left-to-right order, they are
10724 now added to the template structure in that order. Also add a tabstop
10725 to Label options, so that JAWS will read those.
10727 2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10728 Add tab stops in WB generic popup
10730 The WinBoard generic popup did not put tab stops on push buttons,
10731 including the OK and cancel button, with as a consequence that these were
10732 skipped when tabbing through the dialog controls. In addition the tabbing
10733 could not begin before the user selected one of the controls with the mouse.
10734 Now all buttons have tab stops, and the cancel button is given focus
10735 when the dialog pops up.
10737 2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10738 Implement Grand Chess
10740 Grand Chess requires a lot of exceptional handling similar to Superchess
10741 and Great Shatran, because it also allows only promotion to a captured
10742 piece. In addition it shares the enlarged promotion zone with Makruk and
10743 Shogi, as well as the fact that promotion can be deferred. The 10-rank
10744 board furthermore required a better generalization of double-pushes and
10745 e.p. captures. On such a board double puhes are now allowed from 2nd and
10746 3rd rank, e.p. capture from 5th and 4th.
10748 2011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10749 Allow promotion to Pawn with legality testing off
10751 In stead of ImpossibleMove promotionto Pawn now merely is an
10752 IllegalMove, so it can be played with legality testing off.
10754 2011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10755 Create some space in WB New Variant dialog
10758 2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10759 Allow double-digit rank numbers
10761 The parser already understood double-digit numbers on input, and
10762 CoordsToAlgebraic produced them on otput. This patch also fixes sending
10763 of the moves to the computer, for which the moveList was used. The latter
10764 stored 10 as ':', etc,to always get a 4-char move, the characters of which
10765 were frequently being converted to fromY or toY by adding/subtracting ONE.
10766 To not break that the one-character encoding of rank number is kept in
10767 moveList, but in SendMoveToProgram, characters > '9' are converted to
10770 2011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10771 Add Absolute Analysis Scores in Genral Options dialog XB
10774 2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10775 Fix texi file, and update it further
10778 2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10782 2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10786 2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10787 Restore echo after ^C in ICS password
10790 2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10794 2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10795 Increase efficiency of SAN generation / disambiguation
10797 **************** Risky patch! **********************
10798 The algorithm used for disambiguating and generating SAN was extremely
10799 inefficient, because it generated all pseudo-legal moves from the relevant
10800 position, and then for each of those did a check test (involving generation
10801 of all moves of the opponent), before determining if the move matched the
10802 (proposed or given) SAN move. While it is pointless to generate moves
10803 with a piece that does not match (let alone checking them for legality).
10804 And for a piece that matches, it is pointless to test legality of moves
10805 that do not match the to-square.
10806 To speed up the process GenLegal and GenPseudoLegal have been equiped
10807 with an argument that can indicate the piece type of the required move,
10808 so they can skip generating moves with other pieces. TestLegality,
10809 Disambiguate and CoordsToAlgebraic make use of this facility, and set also
10810 (through global variables rFilter and fFilter) a to-square filter to be
10811 applied in the GenLegalCallback before it tests the move for legality.
10812 This patch is especially tricky for Crazyhouse, where the piece indicated
10813 in the move might not be the piece actually on the board, because the latter
10814 is a promoted Pawn, and has to be demoted toits base type before the
10817 2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10818 Fix compile errors WinBoard
10820 The patch to make non-existing options non-fatal broke WinBoard. All calls
10821 to ExitArgError from it now supply a third argument TRUE to fix it.
10823 2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10824 Add -fSAN / -sSAN options
10826 These options force the PV of the applicable engine to be converted to SAN.
10827 They make use of the existing ParsePV routine, after shelfing a possible
10828 PV (from user PV walking) to free the space after the last move.
10829 Could be costly in terms of CPU usage.
10831 2011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10832 Cure flicker in Move History window, fix highlighting
10834 The highlighting of the current move in the Move List window by selecting
10835 it did not always work, because some other windows were clearing their text
10836 widgets by selecting the contents and killing it, thus snatching the
10837 selection away. This has been changed to setting XtNstring to an empty
10838 string as a method for clearing without side effects on the selection.
10839 As a bonus the Engine Output window now also no longer has the black flicker
10841 In addition, triggering a scroll by setting the insertion point to the
10842 end of the text caused excessive flicker in the Move List window, apparently
10843 clearing it and redrawing from scratch, (even if there was no scroll motion),
10844 to the point where on my slow laptop the move history stayed entirely blank
10845 during a rapid succession of moves. This has been combatted by using the
10846 end-of-line action procedure (which does not seem to suffer from this) to put
10847 the insertion point at the end, when we need to scroll to close to the end.
10849 2011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10850 Fix crash on clearing new Move List window
10852 When a new game started and a previous game had filled the Move List
10853 window, a crash occurred because an attempt was made to undo the
10854 highlighting of a no-longer-existing move, and then scrolling to it.
10856 2011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10857 Use sound for ICS tells also with engine telluser popups
10859 The telluser and tellusererror commands now can be assigned a sound.
10861 2011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10862 Add Score in Move List option to general options dialog XB
10864 Now that we have a WinBoard-style Move History window, this option is
10865 no longer a no-op in XBoard.
10867 2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
10868 new developer release
10871 2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
10872 updated Changelog, NEWS, etc.
10875 2011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10876 Update window itle after last game of match
10878 The result printed behind player names during a match would still be the one
10879 without the game, differing from what the popup would show, which looked
10880 sloppy enough for people to complain about it.
10883 2011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10884 Make WB generic popup translatable
10886 When used for internal settings (as in the Load Engine and Tournament
10887 Options dialogs), the option names are now subectto translation.
10889 2011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10890 Redo Move History with generic popup in WinBoard style
10892 The use of color and boldness to make the move list more readable
10893 unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move.
10895 2011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10898 Due to an erroneous else, the window parameters of Move History were
10899 not retreived (and thus incorrectly saved) when the Engine Output was up.
10901 2011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10902 Make non-existing opton in settings file non-fatal
10904 It is rather difficult to recover from a situaton where the settings
10905 file contains an unknown option (e.g. because you downgraded to a
10906 previous version that had fewer options), especially in WinBoard, where
10907 the user settings file is in a hidden folder, and people might not be
10908 able to find it, let alone edit it. By just skipping the line with the
10909 offending option, rather than generating a fatal error, when reading
10910 from a settings file, such options will be automatically purged from the
10911 file as soon as you save settings.
10912 Small problem is that the user cannot be warned, as the initialization
10913 has not progressed far enough at this point to generate error popups. In
10914 XBoard we can at least print to the console, but in WinBoard there is no
10915 warning at all. But the worst thing that can happen is that new options
10916 in a settings file of a more advanced version will revert to their
10919 2011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10920 Change long form of -tf option to -tourneyFile
10922 This is a more logical name, and in the WinBoard docs it was already
10923 described as such. Also remove the -processes option, which in the
10924 current design of the tourney manager is no longer used.
10926 2011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10927 Fix default of -remoteUser
10929 This has to be an empty string, rather than NULL, to prevent XBoard from
10930 segfaulting when the -gateway option is used.
10932 2011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10933 Add -at and -opt options as alternative for @
10935 Windows XP and Vista shortcuts do not display command lines with @ in
10936 them correctly, and these optionsprovide a work-around for that.
10938 2011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10939 Fix empty-string option values in XBoard
10942 2011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10943 Fix crash on switching sound in Vista
10945 When choosing a new sound the wave form of the old one was free'ed, but
10946 because built-in sounds are not really malloc'ed, this led to a crash.
10948 2011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10949 Update WB docs for tourney manager
10952 2011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10953 Add icon to WB for tournament files
10956 2011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10957 Redo Time Control dialog with generic popup
10959 As poor-man's disabling of the unneeded input fields, we print the word
10962 2011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10963 Some refactoring in xoptions.c to separate out front-end
10966 2011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10967 Redo New Shuffle Game dialog with generic popup
10969 The buttons are slightly renamed, and in stead of having an 'off'
10970 button to clear it, shuffleOpenings now has its own checkbox, which is
10971 ticked when a fixed or dynamic random is chosen with the buttons.
10973 2011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10974 Fix type of shuffleOpenings
10976 This was a Boolean option, and thus accessed by the args.h code as such,
10977 while it was declared as an int (and used in backend.c as such). This
10978 could have led to problems with different endianness.
10980 2011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>:
10981 Internationalize the file browser.
10983 The file browser was missed in the previous round of
10984 internationalization and had gotten broken by setting international =
10985 True in its widgets. I got nothing but segfaults trying to set
10986 international to False in the file browser widget subtree when it was
10987 True in the main window, so I gave up and did the
10988 internationalization. It turned out to be pretty easy.
10990 As a tiny bonus fix, I removed some ../'s from includes, and you can
10991 now configure and build xboard in a subdirectory again. This was
10992 useful for building both --enable-nls and --disable-nls from the same
10993 sources to compare functionality and make sure both still work.
10995 2011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10996 Fix crash at end of Swiss tourney
10999 2011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11000 Fix display of logos
11002 The logo files are now sought relative to the WinBoard install
11003 directory. Non-existing logos cause clearing of the logo, rather than
11004 letting the logo of the prevous engine hang. Logo change is requested
11005 explicitly from the back-end (when an engine is initialized for a new
11006 game), rather than using the kludge in StartChileProcess. This required
11007 a dummy UpdateLogos routine in the XBoard front-end.
11009 2011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11010 Fix parameter handling in adapter command
11012 A backslash was not considered the end of an option name, which was
11013 fatal for UCCI2WB, which needs %fd\\%fcp in its command line.
11015 2011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11016 Clear Engine-Output pane when initializing engine
11018 This to prevent output from the previous game hanging there during the
11019 next game, when the engine that is really playing is in book and
11020 doesn't produce thinking output there.
11022 2011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11023 Fix display of last move of last match game
11025 When a game was adjudicated (e.g. because XBoard detected mate) GameEnds
11026 would trigger an exit if it was the last game of the match, and thus
11027 never returned, while the ShowMove was called only after return from
11028 Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to
11029 cause ShowMove to be called before exiting. (Ugly kludge...)
11031 2011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11032 Fix concurrency in Swiss tourneys
11034 The pairing engine was consulted for the next round before all games of
11035 the previous round were finished, if other XBoard instances were still
11036 playing games. This caused the instances finishing early to stall
11037 indefinitely. This is fixed by moving the Swiss pairing code to after
11038 the syncInterval code. The normal pairing code (the call to Pairing)
11039 must stay before it, because it determines the syncInterval. So ther is
11040 a bit of tourneyType dependence cluttering up the code here. :-(
11042 2011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11043 Give error popup when pairing engine fails
11045 An invalid pairing now produces an error popup to inform the user, so he
11046 knows why the tourney stagnates.
11048 2011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11049 Fix clock mode in tourney starting from -ncp mode
11051 When a tourney started from -ncp mode, which was allowed in MatchEvent,
11052 because the tourney loads its own engines anyway, the menu enablings and
11053 clockmode where not restored to their 'GNUMode' state.
11055 2011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11056 Fix round-robin schedule
11058 The first round was played twice, and the formulas used to derive the
11059 pairing were not even-odd resistant anyway. Both even and odd number of
11060 participants should work now.
11062 2011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11063 Fix interrupting tournament
11065 Stopping a tourney by using the Machine Match menu item did not wor
11068 2011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11069 Improve quoting of engine name on install
11071 Rather than always using double quotes for the engine command, the
11072 engine filename is now double-quoted if it contains spaces (and no
11073 double-quotes), and the comand is single-quoted if it contains
11074 double-quotes (and double-quoted otherwise).
11076 2011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11077 Print sensible window title during tourneys
11079 Rather than the "(W-L-D)" in the title we now print game number and
11080 total games, plus indication of the tourney type (rr, gt or sw).
11082 2011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11083 Let XBoard propose name of tourney file
11085 Add an option -defaultTourneyName to configure the name that will be
11086 proposed in the Tournament Options dialog's tournament-file field. The
11087 option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour,
11088 mintes, seconds of the curret time in %02d format, or %Y for the year in
11089 %04d format. Any tournament -file name is ignored when no participants
11090 are given. Participants without a tourney file remains an error.
11092 2011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11093 Improve Tournament dialog layout WB
11096 2011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11097 Fix -matchGames option
11099 The new MatchEvent code had broken the -mg option, and used always
11100 -defaultMatchGames in stead.
11102 2011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>:
11103 Fixed small bugs in several .po files, enabling these translations to be used. They all probably need more work from the translation team. I don't speak any of these languages, but I did some spot checks either from my own knowledge or using Google Translate, and they generally look sane.
11105 - Several files were in utf8 but needed to be marked as such (that is,
11106 "CHARSET" changed to "UTF-8"). Affected es.po, it.po, ru.po, vi.po,
11107 zh_CN.po, zh_TW.po.
11109 - it.po was missing a \n at the end of one translation.
11111 - ru.po had unescaped double-quote marks in one translation.
11113 - vi.po needed to be normalized to Unicode normalization form C. With
11114 this fix, more characters display correctly, though at least one is
11115 still missing in the X core fonts that xboard is able to use.
11116 See http://vietunicode.sourceforge.net/ for more about Vietnamese.
11118 - zh_HK.po was written in big5 and then utf8-encoded on top of that,
11119 making it unusable. I stripped off the spurious utf8 encoding and
11120 then used recode to convert the file to Unicode properly encoded as
11123 Unfortunately, I wasn't able to test any of the Chinese translations,
11124 as I haven't been able to get XCreateFontSet to work in Chinese
11125 locales with any of the fonts I have installed, even after adding the
11126 Ubuntu language support packages for both simplified and traditional
11127 Chinese. I did spot check a bunch of the translations using Google
11130 I've checked in a couple of tiny Perl scripts that I used to do part
11131 of the fixups on vi.po and zh_HK.po in case we need them again.
11133 2011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>:
11134 The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "".
11137 2011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>:
11138 Add a final wildcard default for fonts. This gives XCreateFontSet more freedom and lets it find fonts for some obscure charsets where fixed-bold or fixed-medium etc. may not have one.
11141 2011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>:
11142 Added "misc-fixed" as a fallback font to handle locales where adobe-helvetica does not have all the required characters. The fixed font is ugly but does have a rather complete set of characters, while the helvetica font is missing Cyrillic characters (at least on my distro). I haven't found a way to get a nicer font that includes Cyrillic to work with XCreateFontSet, but I don't fully understand why. I'll try to improve things further in the future if I figure out what's all going wrong.
11144 In the process I had to rewrite the code to insert the pixel size into
11145 a font name (replacing a "*" in that field). The new code is much
11148 2011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>:
11149 translation: activated Ukrainian translation
11152 2011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>:
11153 translation: added new Ukrainian PO file from the TP
11156 2011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>:
11157 Fix display of international characters outside the ASCII range.
11159 1) Set Xaw resources required for internationalization --
11160 *international and *fontSet.
11162 2) Untangle the new XFontSet-aware code from the old FindFont code.
11163 It doesn't make any sense to apply the old (and obsolete) size
11164 searching code from FindFont to a font set, which contains fonts
11165 that are all the requested size.
11167 3) With these changes, the -font option doesn't work at all when given
11168 on the command line. The -font option actually is parsed by the Xt
11169 library, used to set the *font resource, and removed from argv
11170 before xboard can see it, so the option didn't really work properly
11171 with the new WinBoard-style option framework anyway. Now that
11172 -font is even more broken, I changed the documented name of the
11173 option to -messageFont and changed args.h so the option is saved in
11174 ~/.xboard as -messageFont.
11176 2011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>:
11177 Move "hide thinking" option into alphabetical order.
11180 2011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>:
11181 Fix a size mismatch in scanf. Untested, but the code could not have worked properly without this fix -- scanf would have written 32-bit values to 16-bit fields, thus smashing adjacent memory.
11184 2011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11185 Fix layout tournament Load Engine dialog WB
11188 2011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11189 Fix ArgTwo warnings
11192 2011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11193 Add Swiss tourneys through pairing engine
11195 An external program can be designated pairing engine through the new
11196 persistent option -pairingEngine. Defining the option will allow
11197 tourneytype -1 to be chosen for Swiss. In this case the pairing engine
11198 will be queried for a pairing before every new match game, by sending it
11199 the -results string, plus the command 'pairing' + game number.
11201 2011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11202 Allow generic dialog to ignore OK
11204 The EndMark callback can now suppress popdown of the dialog on OK, when
11205 it somehow does not like the values entered by the user. In XBoard this
11206 required all the callbacks to return a value.
11207 Caveat: A refused OK would still have set all new values given in the
11210 2011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11211 Fix CR in multi-line WinBoard text-edits
11213 The generic popup did not add CR when strings containing '\n' were
11214 printed in a multi-line text-edit, thus joining the lines. It was also
11215 not possible to type a CR in a multi-line text-edit.
11217 2011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11218 Let mentioning completed tourney file add one cycle
11220 Secifying a tourney file of a fully completed tourney will now resume
11221 that tourney with another cycle added. When there are still uncomleted
11222 games in the tourney, the usual error message will appear. There are
11223 also error popups added for when the user fails to specify a tourney
11224 file, or gives too few participants.
11226 2011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11227 Make engine startup failure non-fatal in WinBoard
11229 Unlike XBoard, which forks first, the parent process WinBoard has direct
11230 knowledge of a failure to execute the engine command, and used it to
11231 trigger a fatal error. The code doing this has now been disabled. Only
11232 in case of a first engine we switch back to -ncp mode in stead, but no
11233 action is taken to 'bury' the deceased engine process. Like in XBoard,
11234 errors in writing or reading the pipes will trigger this.
11236 2011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11237 Add secondry adapter command for UCCI or USI
11239 The option -uxiAdapter can define a second adapterCommand, which will be
11240 invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
11242 2011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11243 Obey san feature when sending book moves
11245 Book moves were always sent in long algebraic, even when the engine had
11246 said it wanted to receive SAN.
11248 2011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11249 Fix initialization of engine state
11251 Some of the initialization relied on variables being zero at startup,
11252 which meant value from the previouly loaded engine hng on after loading
11255 2011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11256 Take account of holdings in book key
11258 The board is numbered by rank, for comptibility with Polyglot format,
11259 starting at a1. We then continue counting in the holdings 'files', in
11260 up-rank direction, each holding spanning the full board height (even if
11261 it is not fully used). Firstthe left (black) holdings, then the right,
11262 Even in Shogi this limits the square number to < 99, which is below the
11263 absolute limit of 128 (where we would run out of hash keys).
11265 2011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11266 Alow promotions and drops in book-editing
11269 2011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11270 Include learn info in book edit
11273 2011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11274 Adapt default directory of lng2po
11276 The path is prefixed with "../" to make it runable from the po directory.
11278 2011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11279 Recode some po files
11281 po files were generated with the aid of lng2po for Russian,
11282 Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251,
11283 CP1258, GB2312 and BIG5, respectively.
11285 2011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11286 Implement Edit Book in XBoard
11289 2011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11290 Improve WB Load Engine dialog texts
11293 2011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11294 Make 'add to list' default in Load Engine dialog
11297 2011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11298 Add -userFileDirectory option
11300 This volatile option is initialized from 'installDir'. It is
11301 primarily intended for configuration of WinBoard through its master
11302 settings file, and specifies an alternative place to create saveGameFile
11303 or look for other user files, in stead of looking in the installDir.
11305 2011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11306 Add option -absoluteAnalysisScores
11308 This persistent option flips scores in the when black is thinking in
11309 analysis mode, just before they are printed in the engine-output window.
11311 2011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11312 Automatically play moves of clicked PV in analyze mode
11314 The Shift key now no longer needs to be pressed to play moves from the
11315 PV in analyze mode (so it could be given back its original meaning of
11316 starting a variation with the entered moves). In analyze mode the PV
11317 walk begins after the first move, so a static right-click plays the
11318 first PV move. To just peek the PV you have to walk to the start of it
11319 before releasing the mouse button. In other modes the PV walk
11320 stillstarts at the very end.
11322 2011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11323 Let ParsePV always generate SAN move
11326 2011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11327 Fix vscrolling in XBoard Engine-Output window
11329 After clicking the memos they scrolled to the bottom, because SetFocus
11330 put the insertion point at the very end of the text. This behavior is
11331 now reserved for text-edits containing less than 100 characters.
11333 2011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11334 Fix button sizing in generic popup
11337 2011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11338 Allow changing MultiPV setting from Engine-Output window
11340 In analyze mode a header line is printed in the first engine-output
11341 pane, which can be right-clicked to increase or decrease the number of
11342 PVs. (Only with engines that support the MultiPV option.)
11344 2011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11345 No clearing of Engine-Output memos on stat01
11348 2011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>:
11349 updated xboard.pot with released version
11352 2011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>:
11353 new developer release
11356 2011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>:
11357 updated ChangeLog, NEWS, etc.
11360 2011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>:
11361 deactivated new languages for the moment...
11363 po files need some cleanup, probably better to wait until the translation-project looked at them
11365 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
11366 added translations generated via lng2po from all winboard languages
11369 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
11370 lng2po.sh: added command line options, GPL header
11372 also use a temporary file generated with mktemp instead of a hard coded one
11374 2011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>:
11375 fixed access rights to winboard language files (644 instead of 655)
11378 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11379 Import WinBoard language files into git
11382 2011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11383 Let Shift+RightClick on PV actually play the PV moves
11386 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11387 Make book-edit function WB
11389 The tags dialog is used to display the GUI book moves from the current
11390 position, and will be updated when you step or move to another one.
11391 The edited move list (with weights) can be written back to the book.
11393 2011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11394 Fix resetting engine options
11396 Not all options were reset, and -needsNonCompliantFEN was 'reset'
11397 to a completely wrong value, so that bad FENs would be sent.
11399 2011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11400 Add -first/secondPgnName option
11402 This option replaces the tidy name of the engine in the PGN player tags
11403 of engine-engine games. In WinBoard engines can be installed with this
11404 option through a checkbox in the Load Engine dialog.
11406 2011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11407 Let XB generic popup define default file extensions
11410 2011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11411 Save time-control settings in tourney file
11413 Because parsing the options and storing them in appData is not enough,
11414 the time-control code setting the internally used parameters from the
11415 appData info in InitBackend was made into a subroutine, and also caled
11416 after parsing the tourney file.
11418 2011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11419 Put saveGameFile in tournament dialog
11422 2011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11423 Plug memory leak, filenames relative to installDir
11425 String options are consistently freed now, before assigning a new value
11426 to them through strdup. The init code now even does use strdup when
11427 setting defaults. This is important for optionslike -lgf, which are not
11428 saved in the settings file, and thus are usually left with their
11429 default. When a dialog to set them then uses free, this causes a crash.
11430 When setting the defaults uses strdup, ParseArgs can already free them.
11431 This plugs an important memory leak, as ParseArgs in now called to parse
11432 the tourney file before every tourney game (twice!), and the lists of
11433 participants and results in it can be quite long. Macros are defined in
11434 common.h to make the code look simpler.
11435 Filenames entered through the generic popup are now interpreted
11436 relative to the WinBoard installation folder, just as the saveGameFile
11437 already was. The code handling the atter was made into a subroutine for
11440 2011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11441 Add WB new popup prototypes
11444 2011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11445 Add partcipants at bottom in tourney dialog (WB)
11448 2011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11449 Fix range of tourneyType spin WB
11452 2011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11453 Fix exit popup in tourney mode
11455 Only the instance finishing the last tourney game will cause a popup
11456 with final standings. As long as there are still busy games, it exits or
11457 switches back to idle mode silently.
11459 2011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11460 Fix stopping of match in tourney mode
11463 2011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11464 Add default extension in file browser
11467 2011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11468 Improve sizing of comment and tags dialogs
11470 There seems to be a bug in Xaw for the sizing of buttons; they get
11471 unpredicatble and weird sizes when the size is not explicitly set,
11472 possibly stretching the initial width of a dialog to rediculous values.
11473 Sizing back to a remembered value from the settings file then makes
11474 buttons overlapand text edits shrink to almost nothing. To prevent that
11475 we now define exlicit sizes for the buttons in tags and comment popups.
11477 2011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11478 Fix generic combobox bug
11480 The patch placing gettext markers was done wrong, setting the
11481 translated menu text outside the loop, so all entries became the same.
11483 2011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11484 Fix PV walking in analysis mode
11486 ParsePV assumed that the PV would always have been produced by an engin
11487 thinking about the final position of the game (or the one before it). In
11488 analysismode, however, the engine can be analysing positions internal to
11489 the game, and the PV would be considered invalid. This is fixed by
11490 cutting of the tail off the game (shelving it in variation fashion)
11491 before starting the PV walk, and reverting afterwards.
11492 For this the PushTail and PopTail routines had to be split into an
11493 'inner' part, doing the pushing and popping, and an outer part, handling
11494 menu graying and popdowns (which is undesirable in in this application).
11496 2011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11497 Lift length-limit on text-edits in WB generic popup
11500 2011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11501 Lift limitation of text length in generic dialog XB
11503 All string options should now point to allocated memory, as strdup /
11504 free is consistently used on them. This is OK for values received from
11505 ParseArgs, but for non-arg intermediate variables that must receive strg
11506 values, such as in the comment and tags popups, strdup has to be used to
11509 2011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11510 Implement Tournament Options dialog WinBoard
11512 The file browser now can select on extension WB generic dialogs,
11513 with a default based on the option.max value of the option for which it
11514 browses. A textBox can be forced to be multiline by putting the number
11515 of extra lines in option.min.
11517 2011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11518 Make option to draw second engine from first list
11521 2011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11522 Fix error message on engine load
11525 2011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11526 Implement Load Engine dialog in WinBoard
11528 The Load Engine dialog is implemented for WinBoard, and is invoked by
11529 the menu item Engine->Load, which formerly was Install 2nd. Install 1st
11530 is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
11531 fields for the engine executale and its parameters.
11532 The dialog is implemented by converting the Engine Settings popup into
11533 a generic dialog generator.
11535 2011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11536 Load new logo on engine change WinBoard
11538 Picking the logo for the first engine is made into a subroutine. The
11539 code for picking the logo of the first engine was made into a subrroutne
11540 for this. We use the kludge to recognize the engine by its command line
11541 when starting a new engine process.
11543 2011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11544 Allow switching off match mode through menu
11546 The Machine Match menu item is now checkmarked, and no longer grayed
11547 during a match, and clicking it while a match is running will terminate
11548 the match after the current game. To not be left with hanging
11549 checkmarks, the checkmark is already removed duringthe last match game
11550 (which is logically equivalent to ordinary Two Machines mode anyway).
11552 2011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11553 Calculate and display tourney result
11556 2011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11557 Implement Tournament Manager
11559 New command-line options are added to specify the tourney: -tourneyType
11560 (-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
11561 -syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
11562 otherwise volatile. When a tourneyFile is specified during a match,
11563 a new routine NextTourneyGame is called from NextMatchGame before every
11564 game, to decide the pairing, and unload and redefine the engines, when
11565 needed. The XBoard Match Options dialog can be used to set the options
11566 and create the tournament file.
11567 Actual loading of new engines is done by TwoMachinesEvent, which is
11568 now modified to also wait for the feature timeout of the first engine.
11569 Waiting for the matchPause is now also implemented there, after waiting
11570 for the engines (so they can be started during the pause).
11571 Pairings and color assignment is now all done in an absolute
11572 (non-incremental) way, based on a new global game-number variable
11573 nextGame, which takes over the function of matchGame in a tourney. The
11574 latter is now used to count games between the same players, so it can be
11575 still used to derive the load-file indexes (again in absolute fashion).
11576 The next game to play is already picked in GameEnd, so it can be
11577 decided if there is a game to be scheduled, or if we can terminate.
11579 2011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11580 Display note in stead of empty engine-settings dialog XB
11583 2011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11584 Fix crash on empty Engine Settings dialog
11586 The generic popup was not foolproof against this.
11588 2011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11589 Refactor code for loading games and positions in match
11591 The code in NextMatchGame and MatchEvent was nearly the same,
11592 (MatchEvent did a little more error checking, but that is never
11593 harmful), and could be combined. In stead of determining the load index
11594 incrementally, it is now calculated in an absolute way from the game
11595 number, so it can be used more easily in tournament mode.
11597 2011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11598 Add callback possibility to combobox selection
11601 2011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11602 Lock game an position file during writing
11604 The use of flock() on the file desctiptor of the opened stream should
11605 guarantee multiple XBoard instances, saving on the same file, will not
11606 interleave their PGN games or FEN positions.
11608 2011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11609 Remove building rule for parser.c from WB makefiles
11612 2011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11613 Fix Engine Settings buttons in WinBoard
11615 This was broken by a leftover statement from debugging the -file/-path
11618 2011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11619 Implement flock in WinBoard
11621 This system function seems unknown in a MinGW compile, so it is
11622 implemented with the aid of file byte-range locking, using a lock on the
11623 first 1024 bytes of the file as a semaphore.
11625 2011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11626 Fix grayout XB Match Options in ICS mode
11629 2011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11630 Delay loading of second engine until it is used
11633 2011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11634 Fix zippy bughouse partner bug
11636 The patchs to subject Zippy messages to coloriation was faulty, because
11637 there were messages recognized by zippy that were not colorized, and
11638 such messages would then not be 'read away' after zippy recognition
11639 (except for the first character). As a result the messages were
11640 processed over and over again.
11642 2011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11643 Silence more rpm warnings
11646 2011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11647 Fix warnings XBoard file browser
11649 All the prototypes have been moved to selfile.h, to force uniformity.
11650 The order of the #include files xstat.h and selfile.h had to be
11651 swapped, to make sure 'struct stat' is a nown type atthe time of
11652 prototype declaration. The event handler SFmotionList is considered
11653 wrong type because of its third argument (XMotionEvent in stead of
11654 XEvent), and had to be casted to (XtEventHandler) when passed to
11657 2011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11658 Fix some warnings and header-file improvement
11660 Ther were lot of 'extern' declarations in the x-files, so called
11661 'imports from xboard.c', (sometimes backend.c) which logically belonged
11662 in xboard.h (backend.h) to ensure their uniform definition. These have
11663 now been moved there. Some prototypes have been added in xboard.h as
11664 well, for functions that needed calling from xoptions.c.
11666 2011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11667 Create conversion tools for language files
11669 A shell script "lng2po.sh" is provided, to apply the translation given
11670 in a WinBoard .lng file to "xboard.pot", in order to generate a
11671 "language.po" file containing translations for all strings for which
11672 the .lng file had a translation. It makes use of a file "metascript",
11673 which is the ed script used to turn the .lng file in an ed script to
11674 turn the .pot into .po. For example, the command "./lng2po.sh
11675 espa?ol.lng" will create a file "language.po", which can be renamed to
11677 ****************************** WARNING ********************************
11678 Note that the lng2po script does a "recode" that assumes the given
11679 .lng file is encoded in latin-1. This means it canot be used without
11680 modification for the Vietnamese and Chinese translation; you would have
11681 to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
11684 2011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11685 Put gettext markers in generic dialog creator
11687 This is done by adding extra XtNstring argumentsto the widget gcreaton,
11688 so the displayed name can be different fromthe widget name.
11690 2011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>:
11691 Use getaddrinfo instead of gethostbyname. Hopefully this makes us compatible with IPv6 and with hosts that have more than one IP address. However, I don't know of any chess servers that have either of those properties, so I couldn't test that. I did test that xboard still works with freechess.org and chessclub.com and that it gives an error message for invalid host names.
11694 2011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>:
11695 updated German translation
11698 2011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>:
11699 replaced hardcoded email address with generic PACKAGE_BUGREPORT
11702 2011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>:
11703 updated po-files; updated german translation
11706 2011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>:
11707 updated list of files that include translation strings; updated pot-file
11710 2011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>:
11711 marked more strings for gettext that were only marked with N_()
11713 they need to be marked again with _() when they are used to get the translated string
11715 2011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>:
11716 updated translation files
11719 2011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>:
11720 added/fixed i18n support via gettext to xboard
11722 this was already added a long time ago, but now it's added again to
11723 autoconf. Also fixed some compile errors that showed up.
11725 2011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11726 Make engine startup error non-fatal
11728 When engine startup fails, do not generate a fatal error, but swicth
11729 back to -ncp mode. Write on broken pipe errors had to be suppressed for
11732 2011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11733 Make engine loadable during session
11735 A "Load Engine ..." menu item is added to the Engine menu, which pops
11736 up a dialog where one can replace the first or second engine by a new
11737 one, without destroying the game state. Switching from -ncp to engine
11738 mode needed activation of some menu items in SetGNUMode, and
11739 re-enabling clockMode. It was also important that noChessProgram is
11740 cleared before re-initializing the ChessProgramState.
11741 The Load-Engine dialog can select from the list of installed
11742 engines, and also add a newly specified engine to this list. In this
11743 case it saves the directory, hasBook, and isUCI info with the engine,
11744 and optionally the current variant. When loading an engine with a
11745 specified variant, it resets the game and switches to the new variant.
11747 2011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11748 Generalize WaitForSecond to WaitForEngine
11751 2011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11752 Add UnloadEngine routine
11755 2011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11756 Put engine initialization code in per-engine function
11758 Initializing of the ChessProgramStates first and second from the
11759 option settings in appData is now done by separate calls to the same
11760 routine. Clearing of options is added to the initialization. This is
11761 needed when reloading an engine. This is done in a separate routine,
11762 which could also be called on -reset options.
11764 2011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11765 Bring structure in appData engine options
11767 All options in appData that came in pairs for both engines are replaced
11768 by arrays of ENGINES (=2, for now) elements. The use of the named
11769 appData field that are replaced in the source is replaced by use of the
11770 corresponding array element, by #define directives in common.h, awaiting
11773 2011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11774 Fix gettext macros in option dialogs
11776 The strings in the tables were using _() in stead of N_().
11778 2011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11779 Fix crash on using Engine #1 Settings in ICS non-zippy mode
11781 If XBoard is compiled with zippy the Engine #1 Settings menu was not
11782 grayed out even when you don't run in zippy mode, and using it would
11785 2011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11788 Some pixmaps forptomoted pieces had wrong background color, others had a
11789 wrong name (so the one with the correct name was missing).
11791 2011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11792 Change texture-install directory to pixmaps/textures
11795 2011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11796 Limit install of sound files to those in menu
11798 The sounds directory is set to .../xboard/sounds, and only ten
11799 sounds are kept (all non-spoken).
11801 2011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11802 Remove some bitmaps from install
11804 Some files in the bitmaps source directory need not be installed,
11805 because they are there only to be linked to the binary in a build
11806 without LIBXPM, are README files or conversion programs. I left only the
11807 stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.
11809 2011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11810 Configure some default sounds
11812 The move sound is set to Wood Thunk; the sounds for tell and challenge
11813 events to Phone and Gong, respectively.
11815 2011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11816 Change default sounds in Xboard menu
11818 All spoken sounds are removed now. Thud, Click and Ching are replaced by
11819 Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.
11821 2011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11822 Make user wav file available for try-out in sound dialog
11824 The GenericReadout was adapted to be able to read a single selected
11825 value, so that the callback to the 'play' button in the sounds dialog
11826 could get the name of the 'user WAV file' without accepting all settings
11827 for the other sounds (which should only happen on 'OK', and might still
11828 be cancelled in stead).
11830 2011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>:
11831 configure: enable silent rules by default
11834 2011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>:
11835 configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/
11838 2011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>:
11839 configure: added install of sounds in .../games/xboard/sounds/default
11842 2011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>:
11843 configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir
11845 pixmaps will now be installed under .../games/xboard/pixmaps/default/
11847 2011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11848 Fix gamelist highlight
11850 Reopening the gamelist should highlight the current game.
11852 2011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11853 Fix size limit on 'save as diagram'
11855 In stead of a fixed-size buffer the diagram-save code now uses an
11856 allocated buffer with size calculated from the bitmap parameters to
11857 retreive the bitmap data, so it should work for all sizes.
11859 2011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11860 Fix chaining of bottom-row dialog buttons
11862 The OK & cancel buttons are chained to the bottom. This patch makes sure
11863 that other buttons appearing in the same row (as in the tags and
11864 comment dialogs) will be chained that way too, so that they will behave
11865 the same on vertical sizing. The bottom of a full-width text-edit above
11866 it will be chained to bottom too. To make this work in the tags dialog,
11867 the (optional) cmail-message field had to be put above the tags memo.
11869 2011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11870 Fix switching between pixmap and bitmap pieces
11872 There were still several flags that had to be reset when redoing the
11873 graphics initialization. The Debian patch to use a default bitmap
11874 directory when none is given but monoMode is selected or forced, is
11875 moved to a more sensible place, so that it does not disturb matters when
11876 compiled without LIBXPM (when we do have built-in bitmaps).
11878 2011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11879 Remove outline-pieces option from board-options dialog
11881 This option does not exist in XBoard (yet).
11883 2011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11884 Fix running of clock during hash allocation engine
11886 In TwoMachinesEvent we now wait for the second engine to acknowledge the
11887 'ping' after 'new', to make sure it is done allocating hash in reaction
11888 to the preceding 'memory' command, before the clock for the game is
11891 2011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11892 Describe move type-in in texi file
11895 2011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11896 Describe Copy Game List menu item in texi file
11899 2011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11900 Describe -sweepPromotions in texi file
11902 The new method for selection promotion piece, and the -sweepPromotions
11903 option are described in the texi file.
11905 2011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11906 Describe -pieceMenu option in texi file
11908 The sweep method for selecting a piece in Edit-Position mode is
11909 explained, as well as the -pieceMenu option.
11911 2011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11914 Descriptions of the new XBoard menu dialogs are included in the docs.
11916 2011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11917 Reorganize texi description
11920 2011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11921 Fix sweep-promotions patch
11923 Setting of the from square was moved to before OKtoStartUserMove in the
11924 LeftClick handler, to make sure we could test the promotion possiblity
11925 when OnlyMove() would have altered (x,y) to be no longer the from
11926 square. But this setting of fromX, fromY hung on also if the move was
11927 not OK, so you could effectively select opponent pieces and empty
11928 squares. The from-square is now set back to undefined when it is not OK
11929 to move the piece you clicked.
11931 2011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11932 Alter treatment of moves with empty squares
11934 In Edit Position mode one can move empty squares, and use them to
11935 'capture' pieces as a means to clear their square. But this often leads
11936 to unintended disappearence of pieces one wants to grab for dragging, if
11937 a previous click had inadvertantly left an empty square selected: the
11938 click on the piece is then seen as the to-click of a click-click move.
11939 This patch treats to-clicks of moves with an empty-square differently
11940 from other to-clicks: Rather than performing the move (in this case
11941 clearing of the to-square) on the down-click, it defers that to the
11942 up-click, and only does it if that up-click is in the same square. This
11943 allows the user to grab the piece on the down-click, and drag it to
11944 another square, if that is what he wanted to do, without being disturbed
11945 by sudden implosion of the piece he tried to grab.
11946 If the to-square is in the holdings, grabbing the piece is the only
11947 action, as moves of empty squares into the holdings are forbidden anyway.
11949 2011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11950 Block selection of a directory when file is needed
11952 When we are not browsing merely to obtain a name to put in a text edit,
11953 but really must return an open file pointer, selection of a directory
11954 (ending in '/') can no longer be OK'ed in the file browser. (XBoard
11955 tends to segfault when offered garbage for game or position file...)
11957 2011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11958 Let double-click select file in file browser
11960 A second click on the already selected entry now has the same effect as
11961 pressing the OK button.
11963 2011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11964 Couple mouse wheel to v-scrolls in file browser
11966 A newly added mouse-wheel event handler was made to call the v-scroll
11967 callback routines with parameters to step one entry. The button-press
11968 handler for the lists themselves was also made to intercept the wheel
11969 events (buttons 4 and 5), to prevent they would select an entry, and
11970 make them scroll in stead as well.
11972 2011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11973 Fix crash copying game list when there is none
11976 2011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11977 Fix changing of float setting by generic popup
11979 Changing a float setting (so far the only one is in the Load Options
11980 dalog) did not always work, because the old value was clipped to (int),
11981 so that changing it back to an integer value might erroneously conclude
11982 there was no change.
11984 2011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11985 Fix crash on closing dialogs in wrong order
11987 When a menu dialog was closed when it still had an open file-browse
11988 daughter, which could be done through the system menu X on the title
11989 bar, later closing of the file browser caused a crash. This is solved by
11990 keeping track of the fact that there is such a daughter through a global
11991 flag, and ignoring the pop-down command if there is one.
11993 2011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11994 Fix startup focus of board window
11996 When there were open auxiliary windows, these would have focus on
11997 starting up XBoard. The XtSetKeyboardFocus call added in XBoard main()
11998 was ineffective in curing that. It has now been replaced by a call to
11999 XSetInputFocus, which does do the job. By giving input focus to the form
12000 widget, rather than the board widget, XBoard will be immediately
12001 sensitive to all key bindings.
12003 2011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12004 Fix game-list highight error when filtered (WB)
12006 When the gamelist was filtered, the game that was highlingted was the
12007 n-th game in the list rather than the n-th game in the file, when the
12008 latter was loaded (and n did not exceed the number of filtered games).
12009 This is fixed now by searching for the line in the listbox that starts
12010 with the game number n, rather than taking the n-th line.
12012 2011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12013 Refactor move type-in code
12015 Common code between XBoard and WinBoard was moved to the back-end
12016 creating TypeInEvent() and TypeInDoneEvent() routines.
12018 2011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12019 Fix saving of XBoard fonts with spaces in name
12021 SaveFontArg now prints quotes around the saved font string, so that the
12022 general option-argument parser doesnot stop at the first space it sees.
12024 2011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12025 Implement move type-in for XBoard
12027 By adding an event handler to the main window for key presses, users can
12028 now type moves when the board has focus, like in WinBoard. The typed
12029 character appears as first character in the type-in box that willpop up.
12030 Enter and Escape close the box; finishing the typing of the move enters
12031 it. Like in WinBoard it is also possible to type a move number (to go
12032 there) or (in Edit Position mode) a FEN.
12034 2011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>:
12035 new developer release
12037 tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG.
12038 The Changelog is just the one from master.
12040 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
12041 updated Changelog, NEWS, etc.
12044 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12045 Fix use of game/position file in first match game
12047 When a match was started from the menu, it was not paying attention to
12048 game and position files. (Later games were.) The code that handled this
12049 in the initialization when a match is started through the command line
12050 was made into a routine MatchEvent, which can be called from the menu
12053 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12054 Fix crash on opening ICS Text Menu
12056 The patch for the color defaults had broken the ICS Text Menu.
12058 2011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12059 Implement Copy Game List menu item for XBoard
12061 Some WinBoard code was cloned for this.
12063 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12064 Third method of sweep selection
12066 This method sweeps through the possible promotion choices for the piece
12067 that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
12068 draggin such a Pawn forwards, it immediately shows it as the piece you
12069 are going to promote to.
12071 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12072 Alternative sweep promotions
12074 The sweep takes place on the from-square here.
12076 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12077 Make sweep-select promotions work in WinBoard
12079 The mouse-move handler had to be connected to the PromoScroll back-end
12082 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12083 Fix path browsing in WinBoard
12085 The routine BrowseForFolder was still declared as static in woptions.c,
12086 while it was used from wsettings.c.
12088 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12089 Fixes to sweep selection
12092 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12093 Implement sweep selection of promotion piece
12095 When the option -sweepPromotions is true, a click-click promotion move
12096 will first display the default choice (usually Queen) on the promotion
12097 square. While you have the mouse button still down, you can change the
12098 piece by moving the mouse vertically.
12100 2011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12101 Implement sweep selection as alternative for the piece menu
12103 When the option -pieceMenu is off, the piece menu will no longer appear
12104 on right-clicks in Edit Position mode. In stead a Pawn of the chosen
12105 color will appear immediately in the clicked square, and vertical
12106 movement of the mouse with the right button down will cycle through
12107 all other pieces defined in the pieceToCharTable of the current variant.
12108 Setting the side to move is acheived by clicking the correspondig
12109 clock. Clear board can be effected by clicking the clock of the side
12110 that already has the move.
12112 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12113 Remember Tags and Comment dialog coordinates
12115 The save-settings code now uses the shell and shellUp arrays from the
12116 GenericPopUp to read out the window coordinates for Tags and Comment
12117 window. Pointers used by GenericPopUp are set topoint to the
12118 corresponding WindowPlacement structs.
12120 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12123 The generic popup is used for generating the Tags / EditTags popups.
12124 The tags popup use a 'label' field to display the cmail message
12126 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12127 Implement Edit-Comment window through generic popup
12129 The Edit Comment and Comment popups are combined into one, that can
12130 always be edited (similar to WinBoard). It uses shell number 1.
12131 (Number 0 is for all transient dialogs.) A save-changes button is added.
12132 The positioning is not implemented yet.
12134 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12135 Refinements to generic popup and color picker
12137 *) The text part of a checkbox can now be clicked to toggle the option.
12138 *) Typing <Enter> in single-line text edits is ignored
12139 *) Using a spin button now sets focus to the affected text edit, with
12140 the insert position at the end.
12141 *) Using the sample field or an RGB button sets focus to the
12142 corresponding text edit, with the insert position at the end.
12143 *) The adjust buttons now work in reverse, with a D button for "darker".
12144 *) Editing a color field causes the sample field to update to the new
12145 color when you type <Enter>.
12146 *) The color pickers now define a default color, which can be instated
12147 by clicking on the sample field.
12148 *) Fix some 64-bit pointer warnings
12150 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12151 Let file browser filter on extension
12153 A new text field is added in the file-browse dialog, to hold (space-
12154 separated) extensions, on which the filenames are then filtered. This
12155 field is initialized by the caller, depending on what we need the file
12156 for, but can be changed by the user. (Directories are always displayed!)
12157 Changes in the extension field become effective after typing a return
12158 in it. Escape typed in the extension field gives focus to the filename
12159 field, and restores the contents. Escape in the filename field cancels
12160 the dialog, return ther OKs it. The extension filter of the browser is
12161 initialized to the extension (if any) of the file currently in the text
12162 edit you are browsing for.
12163 When re-opening the file browser from the XBoard File menu, and there
12164 is no suggested filename, it will now start with the last succesfully
12165 opened name as suggestion. Calling the browser with a NULL argument
12166 for the suggested filename requests that (unlike calling with an empty
12167 string, which will start it in the current directory). To make this
12168 work smoothly, the filebrowser saves the last used name on entry, so it
12169 can be restored on cancel, so that a cancelled browse session really
12170 erases all memory of it.
12172 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12173 Fix animation masks on changing piece pixmaps
12175 The animation masks were not remade when new pieces were loaded
12176 interactively through the board-options dialog.
12178 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12179 Fix linegap option in board dialog
12181 The lineGC was not recalculated, so the grid lines stayed the same
12182 thickness. In addition, setting the line-gap override to -1 now
12183 retrieves the original line gap that belongs to the current board size.
12185 2011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12186 Make a kind of ICS text menu in XBoard as a dialog
12188 The dialog with buttons can be opened from the View menu. It is
12189 configured by the option -icsMenu; a default setting for this is
12190 included in the master settings file.
12191 The commands specified by the -icsMenu can now contain $name and $input
12192 keywords, which will be replaced by the current primary selection, or
12193 text the user types, respectively. Commands that contain $name will not
12194 be sent when the current selection is empty. Commands that do not
12195 contain $input will be sent to the ICS immediately; otherwise they will
12196 be placed in the ICS Input Box, with the cursor at the point of the
12197 $input, and input focus given to the Input Box, so the user can start
12198 typing. When a command is prefixed by "$add " it will be appended to the
12199 existing ICS Input Box contents, rather than replace it.
12200 The items now have to be separated by ";\n", and button text from
12201 command by ';' (with optional linefeed). This allows configuring of
12202 multi-line commands, as a single linefeed no longer has special
12205 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12206 Redo ICS input box with generic popup
12208 This box is just a single text edit, but the complexity is in the added
12209 callbacks. These callbacks remain in xboard.c, and were altered to
12210 access the edit through the option.handle field.
12212 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12213 Activate -path and -file options
12215 In XBoard the generic popup was prepared for this. In WinBoard, for
12216 -path options the BrowseFolder routine is used, and had to be made
12217 global (prototype in winboard.h).
12219 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12220 Let generic popup generate Engine Settings dialog
12223 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12224 Merge SettingsPopUp into GenericPopUp
12226 Based on currentCps the values read from the dialog are sent to the
12227 engine, or stored into the option.target in the callback, and fetched
12228 from the option.target in the PopUp. The currentCps is cleared in the
12229 generic popdown of a transient dialog.
12231 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12232 Make generic dialog popup reentrant
12234 To allow persistent dialogs to be implemented through the generic popup,
12235 it must be possible to have several dialogs open at the same time, and
12236 thus make sure the popdowns under the cacel or close-window button know
12237 which one to pop down. To this end an array shells[] is created that
12238 takes over the function of settingsShell, and GenericPopUp gets an extra
12239 parameter telling it which element to use for storing the dialog shell.
12240 This number is then also passed to the callbacks that trigger popdown.
12241 This was a bit nasty for the CatchDeleteWindow stuff, which passes user
12242 data to the callback as text strings.
12243 Keep a separate up/down indicator, so that shell widgets can be kept
12244 for persistent dialogs. Also keep a currentOption per dialog type.
12245 The coordinates and size of the window is read out and stored in a
12246 WindowPlacement structure, (if one is specified for that dialog), when
12247 the dialog is popped down. When initialized the structure is also used
12248 to set the window parameters when the dialog is created. (The idea being
12249 that the structure was saved in the settings file.)
12250 The routine MarkMenu checkmarks a given menu item, and logs it for the
12251 given dialog type, so that a later popdown automatically unchecks is.
12253 2011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12254 Implement Machine Match menu item and options dialog
12256 An item to start a match from the menu is added, similar to what
12257 WinBoard has. (The code is duplicated, so I guess it should be moved to
12258 the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in
12259 the Options menu was added with the aid of the generic popup, and allows
12260 the user to set the load Game / Position File and Index.
12262 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12263 Create General-Options dialog
12265 The generic popup is used to implement a General-Options dialog, which
12266 contains all Boolaen options that used to be set directly from the main
12267 Options menu, plus a spin option for the flash count and flash rate.
12268 The corresponing options are removed from the main Options menu, but the
12269 whole thing is made conditional on a compiler switch OPTIONSDIALOG.
12270 The dialog needs an OK callback for sending an altered ponder-state to
12271 the engine. (Why isn't this option disabled in -ncp mode, btw?)
12272 A spin control is added to adjust -animateSpeed between 5 and 100.
12273 Add dropMenu and showTargetSquares item as well.
12275 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12276 Redo new-variant dialog with generic popup
12278 Some special code was added in GenericPopUp() to force buttons of the
12279 type needed in the New Variant dialog (wide, colored, greyed-out on
12280 variant type). The dialog was implemented with these, and callbacks for
12281 the buttons directly exit the dialog, without the need for OK. New spin
12282 controls are added to the dialog for adjusting the board format.
12284 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12285 Redo common-engine dialog with generic popup
12287 The ponder option was removed, as it is already in the main Options
12288 menu, and would require nastiness in the OK callback. Added book options
12289 in common-engine dialog.
12291 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12292 Redo adjudications dialog through generic popup
12294 We dropped the periodic-updates option, as it is already in the main
12297 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12298 Make sounds dialog for XBoard
12300 This uses the combo boxes. A 'play' button isimplemented for a test
12301 sound. A sound directory is introduced, and can be set through the
12302 dialog. A default setting for -soundDirectory is added to xboard.conf.
12304 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12305 Add ICS options dialog
12308 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12309 Add board dialog XBoard
12311 The GenericPopUp() is used to implement a dialog for board options. The
12312 board dialog needs to trigger redraw and redefinition of the
12313 colors, through an OK callback. Color-pickers are used for the 6 basic
12315 To allow changing board settings during the session (i.e. from a menu
12316 dialog), the routines to allocate resources have to free the resources
12317 for the previous settings first. This patch take care of XtCreateGCs(),
12318 preventing re-creation of resources that are unchangeable (such as the
12319 grid color), and calling XtReleastGC() on GCs that can be changed.
12320 To prevent resource leaks the old pixmaps are deleted before making new
12321 ones on second or later calls of CreateXPMPieces().
12323 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12324 Add browse button to generic popup
12326 Options of type FileName and PathName cause a browse button to be added
12327 behind the text field. The SpinCallback is used to handle the
12328 button presses, and invokes the file browser dialog to obtain a
12329 filename, which is then copied to the text field.
12331 2011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12332 Make generic XBoard popup, and implement 2 dialogs
12334 The Engine-Settings dialog of XBoard was cloned to work on predefined
12335 lists of (XBoard) options, rather than engine options. An extra field
12336 was added to the Option struct, to hold a pointer to the XBoard variable
12337 that should hold the option setting, so on OK'ing the dialog the altered
12338 values can be copied there. Not usable for options which should trigger
12339 an action (like redraw, or sending something to the engine).
12340 A Load Game, Save Game and ICS Options dialog were then defined by
12341 tables fed to GenericPopUp(). Options set from these dialogs were removed
12342 from the main Option menu, which removes a lot of code from xboard.c
12343 (for checkmarking, disabling the menu items).
12344 A button defined in the GenericPopUp can attain the color indicated
12345 by a previous text field, and add a callback to change the color in a
12346 spin-like manner (but using R G B W in stead of + - butons).
12347 The EndMark option can specify a callback, to be used on OK.
12348 A non-zero max field in the Option descriptor will be used to set the
12349 width of ComboBox, TextBox and Button optons.
12350 The elements are chained such that extra space goes fully into the input
12351 fields. A label type is added for clarifying texts that would not fit in
12352 the option names. A break-type (pseudo-)option is added. Make OK and
12353 cancel button suppressable in generic popup (by 2 bit of the option.min
12356 2011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12357 Add file-browser option to just return name
12359 By passing mode "f" the file browser dialog will not open the selected
12360 file at all, so it can be used to retreive the name for the benefit of a
12361 file-browser button to a -file option. A mode "p" will limit the
12362 selection to directories only, to browse for a path.
12364 2011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12365 Put insertion point at end of text on SetFocus
12368 2011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>:
12369 fixed 64 bit warnings by casting integers to intptr_t before casting to int
12372 2011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>:
12373 removed check and #includes for malloc.h, since it's not needed
12375 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
12377 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
12378 check if malloc.h is present before including it
12380 OS X 10.6 doesn't have malloc.h, so it complained.
12382 2011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>:
12383 Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file
12385 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
12387 2011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12388 Fix display of promotion piece in ICS superchess
12390 In Great Shatranj and Superchess promoted Pawns were displayed as shadow
12391 piece because these variants had holdings, while captured pieces should
12392 go back into the holdings unchanged, rather than reverted to Pawns.
12394 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12395 Fix o-o castling in new parser
12397 The non-compliant notation of castling with lower-case 'o' should be
12398 preferred over the non-compliant interpretation of moving a Pawn along
12399 the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for
12400 castling! So an exception is now made for the o-file in the 'fxg'
12403 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12404 Implement yynewstr entry point in new parser
12406 This entry point, used for parsing an ICS move list, was forgotten, and
12407 was still an empty routine. This made XBoard crash when observing an ICS
12410 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
12411 fixed wrong default for polyglotDir mentioned in docs.
12413 Thanks to Hans Aberg for reporting it.
12415 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
12416 Fix "make install" on Os X10.6.6 (removed a "/")
12418 seems like an extra "/" made "make install" unhappy
12420 2011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>:
12421 removed parser.l from build process, also removed flex dependency from configure
12424 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12425 New parser, written in C
12427 A new parser was written to replace the flex-generated one. Immediate
12428 improvements are that it understand double-digit rank numbers, and Shogi
12429 coordinates. No changes were made in the Makefile yet to reflect the
12430 new, flexless building procedure.
12432 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12433 Fix bugs in FRC castling rights
12435 When parsing a castling move in FRC when no rights existed, the parser
12436 returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of
12437 the absence of rights was not adapted to the new encoding NoRights in
12440 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12441 Fix parsing bug of FRC castling
12443 The code that was supposed to intercept castling when no rights existed
12444 in FRC was not adapted to the new encoding for this by NoRights, rather
12445 than -1, and furthermore returned 0 (= EndOfFile) rather than
12446 ImpossibleMove. Not sure if the former would manifest itself in any
12447 way, but the latter seems bad.
12449 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12450 Fix two bugs in reading position diagram
12452 When reading a game without FEN tag, a position diagram is used to set
12453 the initial position. This calls CharToPiece() with a '.' as argument,
12454 because that is the position-diagram way to indicate empty squares.
12455 altered CharToPiece() over time this would be recognized as the first
12456 undefined piece or, more recently, the first piece without nickName,
12457 which is a white Pawn. Now it returns EmptySquare again in that case.
12458 A second problem was that for position diagrams in braces the brace was
12459 not in the list of ignored characters, and would cause the reading to
12460 get out of phase, so that the side to move was not recognized.
12462 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12463 Fix flipBlack option XBoard with board texture
12465 In XBoard -flipBlack is implemented by swapping white and black pieces,
12466 because the Shogi bitmaps from XShogi are made that way. But the mask
12467 used to cut out the whole in the board texture to fit the piece was not
12468 swapped, both when drawing static pieces, as well as during animation.
12470 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12471 Improve repairing damage of arrow highlight XBoard
12473 With line gap the highlight arrow necessitated redrawing of the entire
12474 board, to repair damage on the grid. This interfered with flashing of
12475 pieces, which was only done on selective redraws. In stead of forcing a
12476 total repaint we now just redraw the grid lines.
12478 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12479 Fix unintended translation in debug file
12481 The words "first" and "second" (cps->which) were sometimes used in
12482 context that should definitely not be translated. (e.g. the indicator
12483 for which engine printed/got the line in the debug file.) So translation
12484 is now deferred to all uses in popups.
12486 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12489 The nps settingwas tested for being > 0 in stead of >=0, so that the
12490 case of CPU time was not properly handled.
12492 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
12493 Added missing fclose()
12496 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
12498 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
12499 release of version 4.5.1
12501 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
12502 updated Changelog, NEWS, etc.
12504 2011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12505 Fix two typos in option names in texi file
12507 Polyglot was capitalyzed
12509 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12510 Fix some resource leaks
12512 Some files were opened not closed in XBoard, when loading XIM images
12513 (which I doubt anyone ever does) but also when copying the clipboard
12514 (which has the potential of being done very often). There was also some
12515 code that would not work if conditional code which is permanently
12516 disabled would be enabled.
12518 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
12519 new developer release
12521 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
12522 updated Changelog, NEWS, etc.
12524 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12525 Fix MSVC snprintf problem
12527 In MSVC snprintf has to be redefined as _snprintf, and this happens
12528 conditionally in config.c. But the latter was not #included in help.c.
12530 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
12531 updated configure.ac to check for Xaw header files
12533 check for Xaw header files when --without-Xaw3d was given. Before the test was
12534 only done when Xaw3d was specified, but could not be found.
12536 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
12538 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12541 Channel 0 messages were not displayed in the console, because the test
12542 for channel number considered every non-numeric or non-existent handle
12543 in a chatbox to be zero. So the messages were diverted to a non-exsting
12544 chatbox. Now it test first for the handle to start with a digit.
12546 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12547 Make language choice from menu persistent
12549 Set appData.language to the chosen language file, or empty if English is
12550 chosen, so that the choice is saved with the settings. Increase the
12551 number of possible language choices from 5 to 20. (After all, we already
12554 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12555 Fix showing of user move after adjudication
12557 The correction of the fishy patch (removing ShowMove() from Adjudicate())
12558 had broken the adjudication of user moves (that actually did work before
12559 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
12560 the correct values for the move to be shown). An entered move that led
12561 to adjudication (like a checkmate) now was not displayed at all. Adding
12562 an extra ShowMove() after (successful) return of Adudicate() solves it.
12564 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12565 Fix Xiangqi King facing
12567 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
12568 was cleared after the King-facing test, rather than before it.
12570 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12571 Fix variant janus size prefix
12573 The default board size of Janus Chess was not consistently taken to be
12574 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
12576 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12579 The test for Alfil (suppressing single steps on the Elephant) contained
12580 a wrong logical operator, so that it could never be active. It also
12581 failed to include Xiangqi as variant with traditional Alfil. This led to
12582 one-step moves of the Elephant in these variants, and false check or
12583 unreliable mate detections.
12585 Fix move of Xiangqi Elephant
12587 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
12588 fixed configure script to correctly detect Xaw3d library
12591 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12592 Fix unmarked translation
12594 The file-browser wndowtitle in WB was not marked for translation.
12596 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12597 Put warning in HTML help
12599 A warning is added that the help file is not yet updated for the new
12602 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12603 Fix 64-bit Windows compilability
12605 The API interface for Set/GetWindowLong has been changed for 64-bit
12606 Windows, both in the name of the call as in the arguments.
12608 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12609 Fix MSVC compilability
12611 Both the makefile and the project file had to be adapted for the new
12612 source file history.c, and the new location of parser.c.
12614 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
12615 added missing #includes and missing prototypes to filebrowser
12617 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
12619 Also cleaned up missing prototypes and some casts.
12621 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
12622 added missing header file for sprintf
12625 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
12626 added history.c to the tar-ball. Needed for Winboard
12629 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12630 Fix deselection of greyed-out variant button (WB)
12632 In Windows a disabled radiobutton refuses to deselect when you select
12633 another (enabled) button from the group. There are then 2 buttons
12634 checked, and the code to readout the buttons took the first one. Now it
12635 is changed to take the first enabled one.
12637 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
12638 Revert "Implement -reset option feature in WinBoard"
12640 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
12642 picked the wrong commit from HGM's git tree.
12644 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
12645 add DIFFSTAT and SHORTLOG to tar-ball
12647 was only in the v4.4.x branch and not in master
12649 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
12650 release of version 4.5.0
12652 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
12653 changed size of borders around squares from 0 to 1 as a default
12655 this way highlights show up again.
12657 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12658 Implement -reset option feature in WinBoard
12660 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
12661 updated Changelog, NEWS, etc.
12663 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
12664 updated parser.c form parser.l
12666 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12667 Clean up fishy patch
12669 None of the ShowMove() calls in Adjudicate() was working, because when
12670 this code was taken out of HandleMachineMove() it was taken outside the
12671 scope of the local fromX, fromY etc. there, so that it started using the
12672 global variables from the mouse driver. As these usually contain -1,
12673 this suppressed move animation and highlighting. All these calls have
12674 now been removed, and ShowMove() is called after a positive return (from
12675 HandleMachineMove(), so within the correct scope).
12676 This improves the previous fix, which led to some flicker, because the
12677 erroneous ShowMove() calls did draw the new board (instantly), wich in
12678 the fishy patch was then immediately overwritten by the old position, to
12679 start animation. This drawing of the old position is now no longer
12682 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12685 The RTF file is adapted to the new menu organization.
12687 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12690 The highlight-with-arrow and one-click-move menu items are described.
12691 The highlightMoveWithArrow and variations option are described.
12692 Load Next /Previous Position descriptions are moved to File menu.
12693 The description for entering variations is updated (using Shift key).
12694 The remark that editing holdings is impossible is removed.
12695 Spartan Chess is added to the list of supported variants.
12697 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
12698 Updated copyright notice to 2011
12701 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12702 Greyout unavailable variants in New Variant dialog
12704 The WB radio-button code is refactored to be driven from a list (which
12705 must be kept in phase with the variant definitions in common.h!). It now
12706 also checks if the first engine supports the variant, and greys out the
12707 item if it isn't. XB now also makes this check. Slight re-ordering of
12708 10x8 variants there, to have the more common on top.
12709 If no radio button is selected, keep old variant even on OK.
12711 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12712 Move clock-click code to back-end
12714 Some duplicated (or should-be-duplicated) code for handling clicks on
12715 the clocks from the XBoard and WinBoard front-ends was merged and
12716 relocated to the back-end, so it can be shared. Noticeable was that
12717 XBoard allowed turn change in ICS examine mode by clock clicking,
12718 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
12720 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12721 Fix legality testing of drop moves
12723 Drops of noexistent pieces (i.e. with a piece indicator letter that is
12724 not corresponding to any defined piece) are now parsed as
12725 ImpossibleMove, rather than IllegalMove, so they are also rejected with
12726 legality testing off.
12728 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12729 Fix WB Sound Options greyout and remove some grossness
12731 The sound and ICS Options menu items in WB were accessed 'by position',
12732 with fixed defined positions (always messing up any reorganization of
12733 the menus when you forgot to redefine the position constants in
12734 winboard.h). And not only that, but for completely mysterious reasons,
12735 the greying of the sound item greyed out the game-list options (above
12736 it) in stead when it was defined as 9, and the ICS options (below it)
12737 when it was 10 !!!. Now they are addressed 'by command' (and the
12738 position definitions are removed), which fixes things.
12740 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12741 Re-instate load next/prev position menu items
12743 As positions do not use something similar to the game list, these are
12744 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
12745 so I settled for Shift+PgUp/Dn.
12747 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12748 Remove superfluous copying of machine move
12750 There was explicit code in HandleMachineMove() and FinishMove() to put
12751 the move in the moveList, while MakeMove() already does this later in a
12752 more reliable way by calling CoordsToComputerAlgebraic(). This
12753 superfluous code is removed now.
12755 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12756 Fix spurious mate test in Edit Game mode
12758 When entering a game, it was terminated by the mate test even when
12759 legality checking was switched off (so that mates might not be reliably
12760 recognized). The mate test is now made dependent on legality testing.
12762 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12763 Fix type-in of drop moves
12765 Drop moves entered through the move type-in already come in the (piece,
12766 DROP_RANK, x, y) format, rather than having a holdings from square. This
12767 caused UserMoveEvent to consider them illegal when testing if the
12768 piecewas of the side to move, and when this was fixed, to recognize
12769 Knight drops as coming from between board and holdings (and thus
12772 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12773 Fix move type-in truncating game
12775 Starting a new variation by keeping Shift pressed did not work when
12776 OK'ing the move type-in, because there was some code ther that truncated
12777 the game. While this could be safely left to UserMoveEvent, which it
12778 calls, as the situation is not different from entering moves through the
12781 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12782 Fix legality testing for promotions
12784 Turns out WB has never tested for the legality of the chosen promotion
12785 piece, and would allow promotion to King innorml chess even with
12786 legality testing on (when entered through the keyboard)! Now strict
12787 testing is done, outlawing Pawns and Kings (or Unicorns in
12788 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
12789 spartan a black King if you do not have two yet.(And promotion
12790 toLnce,representing Hoplite Pawn,is forbidden there.)
12792 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12793 Reset 50-move counter on all pawn-like Lance moves
12795 Now the Lance represents a Pawn-like piece not only in variant fairy,
12796 but anywhere outside Shogi / Superchess, its moves should also reset the
12797 50-move counter in those cases. Especially important for Spartan Chess,
12798 where the Lance actually participates.
12800 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12801 Fix logo repainting
12803 The logos were not repainted when the main window was moved out of the
12804 display area, and then back into view. The reason for this is
12805 unknown, as the PaintProc calls HDCDrawPosition, which was calling
12806 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
12807 sometimes half drawn!) despite the fact that the rest of the board was.
12808 The drawing of logos now has been decoupled from drawing the board,
12809 and has been moved to a separate routine DisplayLogos() (in analogy to
12810 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
12811 not change when the board does. So apart from in PaintProc, it has only
12812 to be called when the mode changes (ModeHighlight()) or on swap clocks.
12813 This seems to fix the problem.
12815 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12816 Fix time in PGN info
12818 Saving of the thinking time in the PGN was broken by the patch that
12819 removed the race condition in the clock switching, because that moved
12820 the incrementing of forwardMostMove to behind the code that used fmm to
12821 index pvInfoList. As a result the time was stored in the slot for the
12822 opponent's previous move. The value is corrected now.
12824 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12827 The move that delivers checkmate in two-machines mode is not animated
12828 when adjudication is on. There then also is no highlighting of this move
12829 Redrawing the board and calling ShowMove fixes it. Which is rather
12830 strange, because ShowMove was already called in Adjudicate (when it
12831 adjudicates), before GameEnds. For reasons that are not understood this
12832 call to ShowMove() (which calls AnimateMove()) is not effective.
12834 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12835 Reset machine colors after match
12837 The colors each engine playse are set to the originals after the last
12838 match game, so that a new match or two-machines game will not have
12841 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12842 Reset win/loss counters before match
12844 The win/loss counters were not reset, because the code counted on them
12845 being initialized to zero. But with matches startable from the menu,
12846 this is no longer true after the first match.
12848 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12849 Show move that causes false illegal-move claim
12851 Without claim testing XBoard takes back moves that an engine objects to.
12852 But when the engine is forfeited for a false claim, the move should of
12853 course stay. So the claim test is moved to before the take-back.
12855 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12856 Fix Spartan promotion to King
12858 Promotions toKing were refused when in check, because XBoard thought
12859 they would not resolve the check. Now the promotion is actually
12860 performed before doing the check test.
12862 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12863 Fix WB font-based piece rendering on variant switch
12865 The piece bitmaps were only created from the font characters when the
12866 number of ranks or files changed, because it was done in
12867 InitDrawingSizes(). This caused missing pieces when changing to a
12868 variant on the same board that used other pieces. Now InitDrawingSizes()
12869 is called for any variant switch.
12871 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12872 Fix right-alignment pproblem in WB ICS window
12874 Use of Ctrl-R to summon the context menu still trickled through to the
12875 default text-edit window routine, and caused right-alignment. This was
12876 because the text-edit reacts on keyDown rather than the character event.
12877 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
12879 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12880 Fix chat window title
12882 The title was using the engine name, rather than the ICS handle, which
12883 did not work outside zippy mode. Now it only uses the engine name when
12884 no ICS handle is known. The titleis now also subjected to translation.
12886 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12887 Fix spurious reading of old game title by JAWS
12889 Because focus was switched to the board window before loading the
12890 selected game from the game list, the titlebar still contained the
12891 name of the previously loaded game, which would spontaneously be read by
12892 JAWS. Now the focus switch is done after loading the new game (which
12893 updates the window title.)
12895 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12896 Add variant Spartan Chess
12898 In the WB menu it takes the place of the defunct Twilight Chess item.
12899 The setup routine needed patching for setting up Lances in stead of
12900 Pawns for black, the check test had to be adapted to handle duple check,
12901 Alfil and Dragon moves were fine tuned in this variant to make the exact
12902 moves, and the promotion popup was adapted to show King and interpret
12903 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
12904 moves as Modern Elephant except in Shatranj and Courier.
12906 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12909 Due to a bug in logical operators drops were tried for mate evasions
12910 even in non-drop games, which broke it in Superchess and Great Shatranj,
12911 and wasted CPU time in other variants.
12913 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12914 Fix promotion suffixon disambiguated piece moves
12916 The promotion suffixon piecemoves that needed disambiguation was not
12917 passedon to the back-end in most variants. Now it is passed on in any
12920 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12921 Fix promotion of Pawn-like Lance
12923 In variants where the Lance is used to represent an unorthodox Pawn, it
12924 must promote when it reaches last rank. With legality testing on,
12925 however, the promoChar was ignored in ApplyMove in this case. The
12926 promotion suffix also was not appended in SAN moves.
12928 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12929 Fix WB promotion popup
12931 The promotion popup did not work properly in variants where black did
12932 not use the pieces that white wanted to promote to. Now the character
12933 for the selected piece is taken from the piece encodings of the side to
12934 move. In addition, selection of undefined pieces is ignored.
12936 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12937 Fix bug in parsing variations
12939 The moves parsed from a variation were stored in the moveList without
12940 appended linefeed. This caused errors if the variation extended to
12941 beyond the end of the main line,into a hitherto unused part of the move
12942 list, as the linefeed was then not there from the overwritten move. As a
12943 result moves sent to the engine were concatenated, triggering
12944 illegal-move messages and bringing the engine out of phase.
12946 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12947 Define Ctrl-R as right-click in WB Comment dialog
12949 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
12950 equated to a right click at the position of the caret or selection.
12952 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12953 Allow starting a variation from keyboard entry in WB-JAWS
12955 The status of the shift key is remembered when space is pressed to
12956 select a board square.
12958 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12959 Disable some accelerators in JAWS version
12961 Single-key accelerators that could result in irreversible data loss are
12962 undesirable, because the risk of accidentally pushing them is too large.
12963 So the non-Alt duplicates of next/previous game/position are disabled,
12964 as are Home and End for Revert and Truncate Game. JAWS users will have
12965 to rely on the menus for those functions.
12967 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12968 Group engine-output memos with engine names
12970 The engine names are now defined just before the text edits, so that
12971 JAWS 11 will read the engine name when the memo for the output of that
12972 engine is selected. (JAWS 10 will still read the NPS, as it reads in
12973 geometrical order.)
12975 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12976 Put nr CPU earlier in tab cycle of WB Common Engine dialog
12978 By defining the max CPU control after hash size, the tabbing steps
12979 through the controls in geometrical (and logical) order, rather than
12980 having the max CPU in between the book controls.
12982 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12983 Update WB language template file
12986 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12987 Subject JAWS menu and spoken strings to translation
12990 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12991 Let JAWS SayString buffer full sentence
12993 The meaning of the flag parameter of SayString was changed to indicate
12994 buffering of flushing. On flushing a message of a single space is used
12995 as a kludge to indicate interruptability. Calls to force flushing where
12998 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12999 Adapt JAWS menu to new menu organization
13001 The menus did not correspondto the texts after translation of the main
13004 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13005 Translate menus after creation of JAWS menu
13008 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13009 Fix ICS context menu for JAWS
13011 The Ctrl+R key did select text at the mouse pointer in stead of at the
13012 curser, now that up and down-click were combined.
13014 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13015 Reorganize order of WB New Variant dialog controls
13017 The definitions are re-ordered so that at least JAWS 11 will speak the
13018 board-size elements properly.
13020 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13021 Fix order of elements in WB time-control dialog
13023 Someleading texts were defined after the text edit they referred to,so
13024 that JAWS 11 associated them to the wrong one. A tab stop was added to
13025 the time-odds label, to make JAWS speak it.
13027 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13028 Change tabbing order in WB sounds dialog
13030 The 'Play' button now gets focus immediately after the controls for
13031 selecting the sound, rather than at the end of the dialog (after OK).
13033 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13034 Remove tab stops on first radio button of WB dialogs
13036 The New Variant and Board dialogs had a tab stop on the first radio
13037 button,so that tabbing toit would automatically select variant
13038 normal or size tiny. Now it tabs straight to the current size, without
13039 changing anything. (Important for JAWS users.)
13041 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13042 Put OK/Cancel last in tab cycle of some WB dialogs
13045 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13046 Fix duplicate menu character for Edit Comment
13048 Edit Comment did have the same shortcut character as Copy Game. Changed
13051 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
13052 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
13055 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
13056 new developer release
13059 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13060 Subject WB context menus to translation
13062 The innerloopof the menu translation has been made into a separate
13063 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
13064 better preserve menu breaks. Menu #10 is used for context menus (from
13065 the routine that pops them up), and for this number the orignal texts
13066 are not saved in menuText. (This is not needed, because the menu is
13067 created everytime anew from the resource data.)
13069 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13070 Update translation template
13072 Add the new menu items; add some notes.
13074 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13075 Resize buttons in WB engine-settings dialog
13077 The OK and cancel buttons were to narrow for most translations, and were
13078 a non-standard order as well.
13080 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13081 Add one-click move control to WB general-options dialog
13083 This is a duplicate of the one in the ICS options dialog, but the latter
13084 is inaccessible in non-ICS modes, and one-click move is now
13085 alsoavailable in engine mode.
13087 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13088 Create space in dialogs for translation
13090 The translated texts often did not fit, because controls were defined
13091 needlessly small (when there was empty space between them). In these
13092 cases they have been enlarged to consume all available space. Some
13093 dialogs are made wider.
13095 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13096 Add handle for translator acknowledgement
13098 An empty string is printed in the about box, which can be 'translated'
13099 to a message acknowledging the translator.
13101 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13102 Use default logo for user
13104 When no logo with the name of the current user is found, use dummy.bmp.
13106 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
13107 added rlwrap tip to FAQ
13110 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
13111 replace hard coded paths with path from configure script
13113 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
13115 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
13116 fixed a typo in the configure script output
13119 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
13120 added a desktop file
13122 taken from the openSUSE project
13124 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13125 Fix Edit Game/Position checkmarking in WinBoard
13127 Because the entries in Edit and Mode menu were pure duplicats, the
13128 entries in the wrong menu (Edit) were checkmarked while active. By
13129 defining different IDs for those in the Edit menu, those in the Mode
13130 menu are checkmarked again.
13132 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13133 Add XBoard menu items for arrow highlight and one-click move
13135 These items are put in the options menu; the 'Old Save Style' item is
13138 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13139 Provide menus for editing WinBoard engine and server lists
13141 The Edit Tags dialog in the WB front-end is adapted to act as a general
13142 edit for string variables, by giving it an extra parameter to indicate
13143 where to store the edited result. Menu items are added to invoke this
13144 dialog for editing the /first, /secondChessProgramNames and /icsNames
13145 options. This solves the problem that people would have to edit an ini
13146 file that they can no longer locate (because the %APPDATA% folder has
13147 different names and locations in the various Windows versions, and is
13148 often a hidden folder on top of that).
13149 There is a slight memory leak here, as the memory for the previous
13150 value of the altered string option is not freed.
13152 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13153 Configure arrow highlighting as default in XBoard
13155 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
13156 lineGap of 0 to make that efficient (and the wood theme even nicer).
13158 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13159 Port highlighting with arrow to XBoard
13161 Unfortuntely this duplicates a fair amount of code in the front end.
13162 Removing the arrow is done by a total repaint if there is a non-zero
13163 lineGap, because the clever algorithm for selective redrawing (based
13164 on damage) that XBoard uses does not repair damage to the grid lines.
13165 For lineGap=0, however, (for which the arrow is mainly intended) the
13166 damage mechanism is used, and the damaged squares are determined by
13167 tracing out the arrow in 64 steps, and marking all squares in the
13168 neighborhood as damaged.
13170 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13171 Strip CR from xboard.c
13174 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13175 Let user decide if he wants highlights in blindfold mode
13177 Remove the automaticsuppression ofhighlighting.
13179 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13180 Fix fag-fell marker with logos on
13182 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
13183 two-machines mode was printed twice when the clock was split over two
13184 lines (as with logos on).
13186 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13187 Also exempt variant seirawan from eval-scale doubling
13189 It is not really a drop game, so a scale from -7 to 7 in the eval graph
13190 is good enough (like variants great and super).
13192 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13193 Configure EGTB cache size in adapterCommand
13195 The hash size, nr of CPUs and EGTB path are transferred through the WB
13196 protocol interface commands memory, cores and egtpath. But there is no
13197 WB command for detailing the EGTB cache size. So the value of the
13198 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
13199 through its startup command to make it known to UCI engines.
13201 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13202 Move Hint and Book items to Engine menu in XBoard
13205 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13206 Correct the key bindings fo view menu in texi file
13208 The mentioned bindings for Game List and Eval Graph were wrong.
13210 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13211 Fix sub-variation display with negative score
13213 The test if the displayed score was the pvInfo score failed for negative
13214 scores, because floats are truncated towards zero. So the previous fix
13215 of spurious score/depth info was not working when the score was
13218 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13219 Peel PV out of comment
13221 Arena stores engine PVs not in variation format, but within both braces
13222 and parentheses, before the score/depth info. This caused XBoard to
13223 overlook the score/depth info, (frustrating, e.g., the eval graph),
13224 while the PV would not be accessible for walking it as a variation.
13225 The routine that extracts the score/depth from a comment now has
13226 been made more clever, to recognize a leadin PV in the comment, and then
13227 place it in front of the comment as variation (by moving the opening
13228 brace to behind it). For some reason it does not work if the PV and
13229 score/depth were separated by a newline, but this happens quite rarely.
13231 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13232 Allow line-straddling result comments
13234 Some GUIs (in particular Arena) do not have the decency to keep the
13235 result comment on a single line. In this case the parser rules would not
13236 recognize it, and treat it as a normal comment, plus an undetailed PGN
13237 result. The rules are now fixed to allow linefeeds in the comment, and
13238 between comment and PGN result. To correctly process the comment further
13239 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
13240 back-end routines that do use the result comment.
13242 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13243 Write key bindings in XBoard menus
13245 Unfortunately tabs are not understood in menu texts, so fine-tuning
13246 through spaces is necessary to get some sort of ragged alignment.
13248 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13249 Configure XBoard to use wood board texture by default
13251 The texture pixmaps are sought in /usr/share/games/xboard, with names
13252 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
13253 to put them there. XBoard is resitent to non-existence of the files,
13254 btw. It simply ignores the arguments in that case.
13256 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13257 Configure -inc as volatile option in XBoard
13259 XBoard users are not used to options being persistent, and thus have
13260 many scripts assuming the timeIncrement is -1 when they don't specify it
13261 on the command line, and want to specify -mps. But a persistent -inc of
13262 0 fom a preious session would then force their -mps to zero, causing
13263 big-time confusion.
13265 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13266 Make WinBoard clocks translation-proof
13268 With logos on, the splitting of the clock over two lines assumed the
13269 lengths of the words "white" and "black" would always be 5. Used strlen.
13271 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13272 Improve drawing of highlight arrow
13274 A diagonal arrow sometimes had a notch in the shaft because of
13275 independent rounding of the starting and ending point coordinates.
13276 Furthermore the width of the shaft was unnecessary variable(as a
13277 function of direction) because half the width was rounded and then used
13278 twice. Now rounding of end-points is always done towards a fixed grid
13279 of square centers, which keeps diagonals purely diagonal, and one side
13280 of the shaft is drawn relative to the other side, after the
13281 position of the latter has been rounded, so any rounding error affects
13282 the shaft width only once.
13284 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13285 Alter descriptionof Analyze File menu item
13287 This menu item has been given a new function, so a new description was
13290 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13291 Add description of Game List Options in texi file
13294 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13295 Update texi file for new menu organization
13297 The descriptions are shuffled around and organized into sections
13298 corresponding to the new main menus. Where necessary the name of the
13299 items was changed to their new names. The items removed from the File
13300 menu (the next/previous/same stuff) are nowmoved to the section "other
13301 shortcut keys", as the key bindings for some of them are still active.
13303 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13304 Update info on key bindings in texi file
13306 The texi file was still listing the old XBoard key bindings. Where
13307 necessary this is now changed to the new (WinBoard) bindings, and all
13308 the new bindings were added.
13310 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13311 Add XBoard key bindings for Revert and Truncate
13313 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
13315 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13316 Divorce the Edit and Show Tags/Comment menu items
13318 In WinBoard the items in the Edit and View menu for Tags and Comment now
13319 have different IDs, so they can be independently controlled. Only the
13320 items in the View menu are check-marked. The items still do the same.
13322 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13323 Alter WinBoard menu text
13325 The texts are slightly adapted, mostly by choosing more convenient
13326 tabbing characters for the new menu organization. The translation
13327 template is updated accordingly.
13329 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13330 Let move-history window scroll to bottom after adding move
13332 By activating the scrollbar of the viewport through XtCallActionProc
13333 the move-history window is scrolled to the bottom.
13335 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13336 Fix Shogi promotion popup
13338 The texts were adapted to shogi by printing new text items over the
13339 Queen and Knight buttons, but these did not alwys cover it. Now the text
13340 on the buttons is changed as it should be. Also the window title is
13343 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13344 Apply gettext macros to menu texts
13346 Now texts and references are separated, the texts in the tables can be
13347 decorated with the N_() macro, so that the _() macro no longer has to be
13348 applied when they are used. (This makes the texts appear in the .po
13351 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13352 Adapt some XBoard menu texts
13354 The "Show" prefix is removed from the "View" menu items, as this seems
13355 implied. An ellipsis is added to the Engine #N Settings items, which
13356 could not be there before, because periods in a menu name would break
13357 any reference to it. For some other names the ellipsis was deleted.
13358 (These were not refered to, but who knows what we will do in the future.)
13360 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13361 Separate menu text from menu name in XBoard
13363 The text string in the menu-definition tables was used both for the menu
13364 text, as well as for referencing the items from the code (for enabing or
13365 checkmarking). Now these can be defined separately, so that altering the
13366 menu texts is possible without breaing any references to the item.
13367 (Moving them to another menu would still break XBoard, though!)
13368 Currently the texts and names are still the same.
13370 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13371 Bugfix XBoard menu translation
13373 The gettext macro N_() was applied to the menu definition tables, but
13374 this would break any translation, as these items are both used as menu
13375 texts as well as reference for enabling and checkmarking. The routines
13376 that create the menus already apply _() dynamically to these items when
13377 they are used as menu texts.
13379 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13380 Restrict drops in variant seirawan to back rank
13382 Drops aren't really llowed at all in Seirawan Ches, but there exists an
13383 engine that supports a variant where drops on the back-rank are allowed.
13385 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13386 Let Analyze File annotate the loaded game
13388 By not suppressing the auto-play loop in AnalyzeFle mode, we step
13389 through the game while the engine is analyzing, and store the PV info
13390 that the engine produces, as well as the full PV (as variation comment)
13393 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13394 Revive Analyze File menu item in WB
13396 We will keep this menu after all, becase it can be given a new meaning.
13398 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13399 Fix spurious scores in comments
13401 The comment popup is also used to display engine PV info, but when the
13402 contents of the window is written back when we select a variation,
13403 it was treated as a real comment. This is fixed now by checing in
13404 ReplaceComment() if the comment starts with the PV info, and if so,
13405 ignore the latter. This solves the problem, but I guess the real bug is
13406 that selecting a variation tries to write the comment even if it did not
13409 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13410 Display error for wrong use of Machine Match
13413 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13414 Reorganize XBoard menus
13417 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13418 Reorganize WinBoard menus
13420 New main menus Edit, View and Engine are added; the step menu
13421 disappears. The menu items are redistributed over the new menus.
13422 Sometimes duplicates are created. No adaptation of short-cut characters
13423 as made yet (as this affects translation).
13425 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
13426 removed trailing whitespaces from NEWS
13429 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
13430 merged readme_HGM.txt into the NEWS file
13432 seems 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.
13434 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
13435 typo in date of developer release
13437 but will leave the tagged version as it is, since it's still a unique version number
13439 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
13440 new developer release
13443 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
13444 added latest version of parser.c
13447 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
13448 updated Changelog, etc for developer release
13451 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
13452 Revert "adding gnu-readline support"
13454 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
13459 better to use the (relatively) new ICS input box then add readline support.
13461 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
13462 Revert "bugfix: fixed readline support with icslogon option"
13464 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
13469 better to use the (relatively) new ICS input box then add readline support.
13471 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13472 Make Hoplite moves irreversible in Spartan Chess
13474 Consider Lance moves in variant Fairy (where the Lance represents the
13475 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
13477 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13478 Give Lance moves of Amazon in variant super
13480 Now that Lance is no longer a wild-card piece the moves of Amazon must
13481 be programmed explicitly, to keep the possibbilty to play Superchess
13482 with legality testing on.
13484 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13485 Change representation of Bede in variant fairy initial position
13487 This used to be Lance, but the promoted Bishop (Dragon Horse)
13488 is more applicable. Especially now that Lance is supposed to move like a
13491 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13492 Make yyskipmoves also suppress examining of drop moves
13494 Not sure if this does any good, but it seemed illogical that this would
13495 happen in all other moves, but not drops.
13497 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13498 Define moves for Dragon Horse outside Shogi
13500 Let it move like Bishop + Wazir + Dababba.
13502 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13503 Fix safety crash when appending comments
13505 The length limit imposed on safeStrCpy was one too short when copying
13506 an existing comment to the space allocated for the longer (concatenated)
13507 one. It allowed no space for the terminating '\0'.
13509 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13512 The test for when to terminate a non-fiting string was one off, and the
13513 debug message was written stdoutin stead of debugFP.
13515 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13516 Fix default holdings size for variant seirawan
13518 The holdings for 7 pieces werealways considered an overrule, so that the
13519 variant name was prefixed with "8x8+7_".
13521 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13524 When confronted with a path name starting with ~ and not containing a /
13525 XBoard would segfault.
13527 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13528 Fix one-click moving on up-click
13530 (First) up-clicks were not always ignored: in Edit-Game mode with
13531 one-click moving enabled this could lead to a capture being made on
13532 the down-click, and the recapture on the correspoding up-click.
13533 This has now been corrected, and only the down-click of a first click
13534 can lead to selecting a piece or a one-click move.
13536 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
13537 fixed buffer size for snprintf
13540 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13541 Accept Seirawan-style gating suffixes
13543 The parser rules were extended to accept / as an equivalent of = in
13544 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
13546 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13547 Use Falcon and Alfil as built-ins for Seirawan chess
13549 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
13550 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
13552 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13553 Implement entering gating moves with mouse
13555 A move with a back-rank piece that starts when a piece in the holdings
13556 is selected will be interpreted as a gating move in variant seirawan.
13557 The front-end uses a 'gatingPiece' selected this way todisplay it on the
13558 from square during animate dragging.
13560 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13561 Implement variant seirawan
13563 Set upthe position, including Hawk and Elephant in holdings, in
13564 InitPostion(). Suppress putting captured pieces in holding. Let
13565 promoChar indicate gating in ApplyMove(). Remove gated pieces from
13566 the holdings there. Let GenLegal() generate RxK-type castlings to act as
13567 base for gating on Rook square. Gatings are tested for legality
13568 based on the holdings content and whether they occur on the back
13569 rank. Disambiguate() also tests this. Make sure the gated pieces are
13570 printed as move suffixes in CoordsToAlgebraic().
13572 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13573 Add -variant seirawan to menu
13576 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13577 Fix acceptance of null-move with legality testing off
13579 A second click on the same piece was interpreted as a to-square rather
13580 than deselection of the piece.
13582 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13585 Disambiguate was imagining captures, so an only capture by double
13586 clicking your own piece did not always work.
13588 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13589 Fix mouse-driver buglet
13591 The highlights were not cleared on moves that went vertically off board.
13593 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13594 List some undocumented commands as compliant
13596 The engine->GUI commands setboard and setup are now always printed in
13597 the debug file as well.
13599 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13600 List Hint with compliant commands
13602 This command was omitted, so that in some -engineDebugOutput modes it
13603 would not appear in the debug file.
13605 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13606 Restrict use of escape expansion
13608 Only expand escape sequences like \n and \t in telluser(error) comamnds
13609 that ask for it by preficing the messages by double backslash. Otherwise
13610 backward copatiblity is too severely broken for messages that display
13611 DOS-style filenames.
13613 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13614 Make safeStrCpy safe
13616 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
13617 always writing the character at the length limit of the destination.
13618 Now no memory is accessed that is is not needed to hold the copy.
13620 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13621 Allow clicked name internal to the icsMenu command string
13623 A command in the /icsMenu that was specified to contain the selected
13624 text or clicked word always appended this word at the end. Now the user
13625 can also configure it to appear in the middle, by putting a %s in the
13626 command string where he wants it to appear.
13628 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13629 Let Engine #2 Settings start second engine
13631 If the second engine is not yet running, it would be impossible to use
13632 the settings dialog for it, as the features have not been received and
13633 the dialog will be empty. So the user could not adjust the engine
13634 parameters before starting a match. Using this menu now automatically
13635 starts the engine, and delays the appearence of the popup untill the
13636 features are received, using a similar mechanism as in
13637 TwoMachinesEventIfReady().
13639 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13640 Newly lexed parser.c
13643 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13644 Fix bug in parsing illegal Pawn captures
13646 When a pawn move of type exf5 was illegal, the parser made an attempt to
13647 interpret it as e.p. capture of f5. This, however, messed up the move,
13648 so that it was now permanently mistaken for e5xf6. Even in cases with
13649 legality testing off, where you would want the original move to be
13650 accepted despite the fact that it was illegal.
13652 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13653 Keep last PV while clearing engine-output display
13655 When ponder is on, the display is cleared immediately when the last line
13656 of thinking output appears by the appearing ponder output. So you would
13657 never get the chance to see it. This line is now re-written after
13658 clearing, so it appears at the bottom of the output for the next search.
13660 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13661 Give Lance moves of Berolina Pawn
13663 In stead of using it as a wildcard piece, the Lance gets the moves of
13664 the Berolina Pawn (straight capture, diagonal move). The initial double
13665 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
13668 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13669 Use SAN even on illegal moves
13671 If there is only one piece of type T, moves like Ta1 or Txa1 are never
13672 ambiguous, so adding the from square is just cumbersome.
13674 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13675 Use normal SAN for wildcard pieces
13677 SAN often can also be used with pieces we don't know the moves of, e.g.
13678 if there is only one of that type. We just always get rank or file
13679 disambiguators if there are more (even when they might be unnecessary).
13681 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13684 Unused variables were removed from parser.l
13686 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13687 Allow arbitrary nesting of sub-variations in PGN input
13689 The parsing of subvariations is moved out of the state-machine parsing,
13690 to allow arbitrary nesting. In stead of the entire sub-variation being
13691 parsed by lex as Comment, it now returns Open and Close for the
13692 corresponding parentheses, which are then handled in a wrapper routine
13693 for yylex(): Myylex(). Problem was that yy_text is supposed to return
13694 the entire parsed text of the returned symbol, which thus has to be
13695 collected. To make this possible, yylex has to return everything that it
13696 parses, (even white space!), and a symbol "Nothing" was added to return
13697 in parsing rules that before just ate away irrelevant text without
13698 returning anything.
13700 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13701 Implement setup (engine-GUI) command
13703 This allows the frst engine (when legality testing is off) to overrule
13704 the default opening position, in reply to the variant command. Syntax is
13705 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
13706 where the FEN string is interpreted in the context of the given
13707 pieceToCharTable (which is optional, and only delimeted by parethesis if
13709 Sendng the position to the second engine is delayed until the first
13710 engine has responded to the ping after the new-game sequence, to make
13711 sure it gets the chance to alter the position before it is sent to the
13712 second engine. This feature is useful for playing variants that WinBoard
13713 does not even know the opening positon for, and can be used even if they
13714 are shuffle variants.
13716 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13717 Restrict use of a2a3 kludge
13719 The kudge to send "a2a3" in stead of "black" to get black to move is
13720 fatally flawed in varants that have no Pawn on a2. So in that case we
13721 revert to use of the deprecated "black" command.
13723 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13724 Remember values set by -firstOptions, -secondOptions
13726 When an engine announces its option features, and the option name
13727 matches that of a setting given in -first/secondOptions, the engine is
13728 sent hte specified value, but this value was not remembered as current
13729 value (but the latter was left at the engine-announced default),
13730 leading to inconsistent behavior in the Engine #N Settings dialog.
13732 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13733 Make test for valid promotion piece color-dependent
13735 This is needed to make it work in variants where white and black have
13736 different armies; quite likely white will promote to pieces that do not
13737 exist in the black army, so we really have to make sure we test if the
13738 white (upper-case) piece exists in this case.
13740 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13741 Remove validity test on promochar from parser
13743 The backend routines Disambiguate() and LegalityTest() will catch
13744 invalid promotions, so no need to do it here.
13746 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13747 Add the actual size-33 Shogi bitmaps
13749 These were forgotten in the original commit that fixed the .rc file.
13751 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13752 Delete some stale promotion code
13754 The correction of the promotion piece to Ferz in Shatran-like variants
13755 in ApplyMove() was no longer needed, as the new promotion code already
13756 does this in the move parser.
13758 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13759 Augment moves of some fairy pieces
13761 To get better disambiguation in variants that have to be played with
13762 legality testing off, the Elephant is given also one-step moves (making
13763 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
13764 King (Crowned Rook), which had no moves defined for it outside Shogi at
13765 all, has been given Rook moves plus an orthogonal 2-jump, so that it
13766 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
13767 currently aways force long algebraic notation...)
13769 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13770 Bugfix safeStrCpy patch, WinBoard
13772 The use of sizeof on pointers was detected through the same method as
13773 the previous patches, this time while compiling WinBoard. A typo in
13774 jaws.c was fixed as well.
13776 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13777 Bugfix for safeStrCpy patch for XBoard
13779 By a trick (temporarily redefining safeStrCpy in common.h as
13780 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
13781 could be generated for every occurrence where the size argument was equal
13782 to 4, i.e. where the 1st argument was likely a pointer rather than an
13783 array. These cases are now fixed. The file xoptions.c, which is the
13784 only ne that does not #include common.h had to be fixed by making
13785 the #define in the file itself.
13787 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13788 Fix spurious promotions with legality testing off
13790 The recent promotion patch had broken playing without legality testing
13791 completely: without legality testing one always gets the piece that was
13792 asked for, but a NULLCHAR should not be taken as a request for a piece!
13793 But it was, and this resulted in any moved piece turning into a white
13794 Pawn! For true promotions the piece was always black, which was also not
13797 Also revert to the use of '+' as internal Shogi promoChar, because
13798 pre-processing turns out not to be possible when reading a game file.
13799 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
13800 can no longer be recognized as checkmate symbol.
13802 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13803 Make deferral default in Shogi promotions
13805 Because '+' is intercepted by the parser as check indicator, Shogi moves
13806 are pre-processed to change a trailing '+' into an internally used
13807 alternative '^'. The testing if a promotion character is OK is now done
13808 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
13809 the character does not correspond to any piece, and IllegalMove when in
13810 Shogi anything other than '^' or '=' is used. (Except for the ICS
13811 notations.) On output, in CoordsToComputerAlgebraic() and
13812 CoordsToAlgebraic(), the '^' is translated back to '+'.
13814 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13815 Animate piece explosions in drag-drop moves and in XB
13817 This required some code restructuring: the decision if an explosion is
13818 needed is now taken in a new routine Explode() in the backend. This then
13819 calls the front-end driver, and it returns the info if there was an
13820 explosion or not, so the caller (AnimateMove() or the mouse driver) can
13821 take action to repair the damage to the board caused by the blast wave.
13822 A front-end driver for XBoard is provided as well, so that both
13823 click-click (and replay, which is the same) and drag-drop atomic
13824 captures are animated in XB as well as WB.
13825 Explosions on rejected moves are suppressed.
13827 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13828 Suppress promotion popup if piece will explode
13830 In atomic, a Pawn capture to last rank is not really a promotion.
13831 Fix choice to Queen.
13833 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13834 Make Knight hop first straight, then diagonal
13836 It used to be the other way around, which looked pretty illogical in
13837 Xiangqi: to see Horses, which are blockable pieces there, move over an
13840 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13841 Let -oneClickMove also work in EditGame mode
13843 There is really no reason why people that lke one-clcik moves enough to
13844 switch them on would not want to use them too when editing a game.
13845 This solves a nast inconsistency, as before it used to work in -ncp mode
13846 on the _first_ move, as the mode is then BeginningOfGame, and not yet
13847 EditGame, and we do want it to work for BeginningOfGame, as this is
13848 also the game mode when you start playing as white.
13850 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13851 Make -flipBlack and -allWhite option volatile
13853 As these options are very Shogi specific, and the variant is volatile,
13854 it seems logical to make them also volatile. Not completely sure about
13855 -allWhite, though. It cold be useful if you want, for example, to play
13856 wth dark-brown pieces for black, as any color but black looks much
13857 better with outline pieces than with solid pieces.
13859 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13860 Provide some sample board-texture pixmaps
13862 Wood and marble themes are provided as textures for light and dark
13863 squares, plus two complete Xiangqi boards (wood and evenly colored).
13864 These should probably not goint the distro tar ball.
13866 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13867 The -overrideLineGap option is made to work in XBoard
13869 Although XBoard already allowed this in the -boardSize specification,
13870 it is still seful to globally disable grid lines, e.g. for an
13871 oriental Xiangqi board. And it converges XB and WB.
13873 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13874 Implement board textures in XBoard
13876 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
13877 XBoard too, for loading a pixmap that will be used to cut out the dark
13878 and light square backgrounds. The cutting algorithm is such that the
13879 pixmap image is completely restored if the size was that of the total
13880 board (e.g. a drawing of a Xiangqi board).
13882 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13883 Complete WB (western) bitmaps for Shogi at size 33
13885 The Lance was not replacing Queen in some sizes where the bitmaps were
13886 already available, and new bitmaps for the promotion Golds were added.
13888 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13889 Make starting new variation dependent on shift key
13891 The shift key is read during mouse events, and posted in a global
13892 variable, which can then be used by the back-end. The decision to start
13893 a new variation (pushing the game tail rather than clipping it off) when
13894 entring a move in Edit Game or Analyze mode is made dependent on this.
13895 The move-typein also records the shift-key state.
13897 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13900 A %g format was used to print an int in sending the level command,
13901 because decimal points were dropped when merging patches. Also an unused
13902 variable was removed to suppress a warning.
13904 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13905 Add set of shogi pixmaps for XBoard
13907 The -size 64 pieces from gShogi (and originally XShogi) are made
13908 suitable for loading by XBoard, through redefining the transparent
13909 background color as either light or dark square color. These bitmaps are
13910 not included in the XBoard build, and perhaps should not even be
13911 included in the source distribution, but made available in a separate
13914 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13915 Implement -flipBlack in XBoard
13917 When -flipBlack is true, the white and back piece pixmaps are swapped in
13918 flipView. The idea is that the black pieces are upside-down versions of
13919 the white (Shogi) pieces, so that swapping white and black in effect
13920 turns all pieces upside down, which is what should happen in flipView.
13922 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13923 Disable some very verbose debug printing
13925 The internationalization seems debugged enough to do without them.
13927 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13928 Add option -variations to control variation-tree walking
13930 Just so that users can switch it off if the find it annoying.
13932 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13933 Allow full promotion suffixes on SAN piece moves
13935 This facilitates the parsing of (non-standard) Shogi moves in ICS
13936 protocol. It can also be useful for Seirawan Chess, where a future
13937 implementation of it can use promotion suffixes to indicate gating.
13939 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13940 Allow lower-case piece indicator in drop-move notation
13942 As it seems that XBoard also sends such moves in zippy play, it seems
13943 more fair to recognize them from the engine as well.
13945 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13946 Fix bug in ICS variant switch for Shogi
13948 Because a test for 8x8 variants was done by <= VariantShogi,
13949 rather than <, spurious move-list fetching occurred in Shogi.
13951 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13952 Fix WinBoard Lance bug
13954 The choice between Lance and Queen was made on appData.variant, in stead
13955 of gameInfo.variant. Because of this it was not always up-to-date in ICS
13958 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13959 Adapt WinBoard to Shogi implementation on Variant ICS
13961 The Variant ICS does not use the '+P' notation for promoted pieces,
13962 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
13963 and uses 'H' and 'D' for +B and +R. The Shogi promotion code in
13964 LegalityTest() and Disambiguate(), which are used in move Parsing, are
13965 adapted to handle this. Deferred promotions sent to the ICS now use an
13968 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13969 Inherit promoted-info that ICS does not give from previous board
13971 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
13972 primordial or a promoted pawn (or a promoted other piece). We now derive
13973 this info from the previous board. The option -disguisePromotedPieces
13974 controls this feature.
13976 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13977 Limit multi-session clock handling to non-ICS games
13979 In ICS games a time forfeit crashed XBoard, apparently because the
13980 fullTimeControl string is not properly set when we try to use it to see
13981 if a sudden-death session is indeed the last session.
13983 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13984 Change evalgraph scale in drop games
13986 Score swings tend to be much larger in Crazyhouse and Shogi, so the
13987 vertical rangee in those games is doubled to (-14, 14).
13989 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
13990 bugfix: fixed readline support with icslogon option
13992 The icslogon option sends the login and password, so we don't need to handle
13993 special cases for the readline buffer.
13995 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
13996 fixed some typos that were introduced during the sprintf->snprintf changes
13999 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14000 Fix uninitialized variable in book code
14002 The variable ' power' was used uninitialized in case -bookVariation was
14003 set to 0, which can be an error even if it was only multiplied by zero.
14005 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14006 Fix menu translation bug
14008 The menuText array was declared too small, so that the last entry of the
14009 File menu got out of bounds and was overwritten by the first of the Mode
14012 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14013 Allow -timeIncrement to be a float
14015 The increment can now be fractional seconds. The printing in
14016 ParseTimeControl() and SendTimeControl() is done with %g format, so that
14017 for integer increment there is backward compatibility with the old level
14020 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
14021 adding gnu-readline support
14023 should 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.
14025 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
14026 added warning if icsLogon file couldn't be opened
14029 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
14030 security fix: replaced some strcat with strncat
14032 there is still more to do
14034 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
14035 add option for silent builds
14037 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
14038 It should still work for older automake versions too
14040 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
14041 bugfix: missing array index
14044 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
14045 added new case for (Chessmove) 0 in common.h
14047 this cleans up a few more -Wall messages
14049 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
14050 cleaned up -Wall warnings (apart from settings some parentheses)
14052 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
14054 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
14055 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
14058 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
14059 security fix: replaced sprintf with snprintf
14061 replaced 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.
14063 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
14064 security fix: replaced strcpy with safeStrCpy from backend.c
14066 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
14068 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14069 Enhance multi-session TC clock handling
14071 Some new TC types are introduced: Bronstein and free sessions. The
14072 former is implemented by letting an exclamation point '!' in front of an
14073 increment (in the -tc string) indicate that the increment is limited to
14074 the time actually used on the previous move. The latter is an interval
14075 of given duraton in which you can do any number of moves (even zero),
14076 before the next session starts. This is needed for implementing Shogi
14077 byoyomi-type TC, as a first session, followed by a session of fixed-time
14078 per move. The latter can now be specified with the -tc argument as a
14079 degenerate case of Bronstein, where the time on the clock is <= the
14080 increment (so that it is never possible to think longer than the
14081 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
14084 The sessions are now separated by ':' in stead of '+', and all times in
14085 the TC string are converted to seconds first (in ParseTimeControl), so
14086 the fullTCstring can now be directly used in a PGN tag.
14088 Note that this patch only addresses clock handling; the engine will not
14089 be informed yet if the TC type or parameters change at the start of new
14092 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14093 Remove promotion-piece encoding from ChessMove type
14095 The shizophrenic way to indcate promotion pieces in the XBoard code
14096 (sometimes using a promoChar, at other times relying on moveType) was
14097 cured by combining all promotion move types (such as WhitePromotionRook)
14098 into a single one (WhitePromotion), and relying on promoChar to specify
14099 the piece. This solves the problem of promoting to new piece types in
14100 variants, which formerly also required addition of new move types.
14102 In Shogi the '+' character is now consistently used to indicate
14103 promotions (and recognized in ApplyMove), rather than 'q' or
14104 PieeToChar(BlackQueen), as the latter did not work in minivariants where
14105 the Queen (representng the Lance) did not partcipate.
14107 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14108 Pass promoChar to SendMoveToICS
14110 SendMoveToICS was the only place where the promotion piece was derived
14111 from moveType, rather than an explicity passed promoChar.
14113 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14114 Suppress spurious use of SAN castling in mini variants
14116 King moves from a central file to the king-side-castled position (1
14117 square away from the right corner) were intercepted and printed as O-O
14118 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
14119 normal King move Kc1-d1 as well. The castling notation is now reserved
14120 for King moves larger than one step.
14122 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14123 Make Shogi promotion zone board-size dependent
14125 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
14126 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
14127 Shogi (6x6), which are indeed what these variants need.
14129 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14130 Make board-size overrule options volatile
14132 The options -boardWidth, -boardHeight and -holdingSize were legacies
14133 from the day choosing a variant would not automatically set a board
14134 size. As a result they are seldomly used anymore. The first real
14135 application is mini-Shogi (on 5x5 board), and it turned out very
14136 annoying if the 5x5 settings persisted to the next session, where you
14137 almost certainly want to play another variant.
14139 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14140 Strip DOS line endings from parser.l
14143 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14144 Extend mate test to drop games
14146 MateTest() in case of no legal moves now also looks if there are legal
14147 drops that can resolve the check. This provides reliable mate testing in
14148 Crazyhouse and Shogi, so these are now made subject to adjudications too.
14150 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14151 Extend legality testing to drop moves
14153 LegalityTest() can nowbe called with (internal-format) drop moves, and
14154 delegates their testing to a new routine LegalDrop(). This routine
14155 performs the 'no-pawn-on-back-rank' test that used to be in
14156 UserMoveTest (which now calls LegalityTest also for drop moves).
14157 The more complex Shogi case is also handled (except for Pawn mate
14158 drops) in LegalDrop().
14160 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14161 Revert splitting of UserMoveEvent
14163 This splitting into UserMoveTest and FinishMove was no longer needed,
14164 now that the new mouse driver no longer calls UserMoveTest to figure out
14165 if a move is a promotion, and XBoard and WinBoard are unified in this
14166 respect. It was counter-productive, because UserMoveTest was not able to
14167 change the fromX, fromY (call-by-value) parameters for passing them to
14168 FinishMove, so it had to defer the conversion of drop moves to internal
14169 format to the latter, while it did not belong there. (Because
14170 DropMenuEvent already delivers the moves in internal format.) This
14171 whole kludgy construction was therefore abandoned, by going back
14172 to the original 4.2.7 calling scheme, where UserMoveEvent completely
14173 pre-processes the move, and when it is valid, calls FinishMove directly.
14175 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14176 Fix silent bug in drop moves
14178 In ApplyMove() the piece on the from square was accessed and used before
14179 we tested for drop moves. As drop moves have off-board from-squares this
14180 led to out-of-bound array access, which apparently was usually harmless.
14182 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14183 Allow parsing of upper-case machine moves
14185 Dubious patch, as it caters to non-compliancy. Some variant engines are
14186 very non-compliant, though.
14188 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14189 Prevent transmission of spurious promo char to other engine
14191 The parser now strps off spurious promotion characters.
14192 New move types "White/BlackNonPromotion" had to be introduced for this,
14193 to indicate NormalMoves that could have been a promotion, to make sure
14194 the '=' suffix of Shogi deferred promotions survives.
14196 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
14197 fixed internationalization for winboard
14199 in the original commit some files were forgotten. This should fix it.
14201 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14202 Fix JAWS bug saying side to move in ICS play
14204 This was done the wrong way around.
14206 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14207 Make WB run-time language switch possible from menu
14209 This is a rather involved patch that might not be worth it. It is
14210 difficult, because translation of things that live forever is not easy
14211 to invert (menus, the auxiliary windows). We hae to remember all
14212 original, English texts there to be able to put them back,or
14213 re-translate. Still does not fully work, although the menus and
14214 temporary dialogs now are all OK.
14216 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14217 Update WB translation template
14219 The language.txt file now also contains all translatable strings from
14220 the C source files, rather than jsut the resource.
14222 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14225 Add descriptions for machine-match menu support and enhanced book
14226 control, nick-name options and language.
14228 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14229 Add some forgotten translation hooks
14231 The general-options, file-browse dialogs and the about box did not call
14232 Translate() yet. Also translate contents of combo boxes. Some small bug
14235 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14236 Do not translate game-end messages in PGN
14238 The messages themselves are not subjected to _(), but in stead their
14239 displaying in DisplayMove is subjected to T_().
14241 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14242 Internationalization for WinBoard
14244 A function Translate() was added, which uses a list of item dialogs,
14245 reads their value, and replaces it by a translation (if available). It
14246 also reads the window title and sets a translation. Calls to this
14247 routine are added in the initialization code of every dialog callback.
14248 In addition all translatable strings in the WnBoard front end are marked
14249 by the gettext macro _(). Because WB is not gettexted yet, a hard
14250 re-definition of this macro is added in each file using it, to the
14251 string-translation routine T_() supplied in winboard.c.
14252 Code to read the translation file, and translate the menu texts is added
14253 in winboard.c. In backend.c the meaning of the gettet macros is
14254 redefined for the WIN32 case.
14256 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14257 Make the ID of all WB dialog items unique
14259 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
14260 replace tet at run-time for translation purposes, they need to be
14261 addressed individually. So they were given new IDs, with symbols defined
14264 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14265 Mark XBoard result messages for internationalization
14267 The GNU gettext macro _() is used with the game-end messages. This might
14268 be controversial, as they will appear in the PGN as well. But only as a
14269 comment. We can always decide not to supply a translation.
14271 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14272 Do not exit after match when match started from menu
14274 The codelooks weird, but matchMode == 2 in this case. We then use
14275 DisplayNote() to report the match result.
14277 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14278 Trivial-draws recognition improved in Xiangqi
14280 Now based on a routine "SufficientDefence". If both have it, it is draw.
14282 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14285 The relocation of parser.c and the addition of history.c was not yet
14286 incorporated in the devcpp proect files.
14288 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14289 Fix some MSVC compile errors
14291 Some statements has moved up stream of declaratons, which is an error
14292 that gcc is forgiving about, but where MSVC is strict.
14294 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14295 Improved patch for expansion of WB settings-file name
14297 The expansion of environment variables now allows multiple environment
14298 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
14299 and %APPDATA%\winboard.ini.
14301 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14302 Add -colorNickNames option
14304 This option allows non-standard designation of side to move in FENs.
14305 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
14306 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
14307 Can also be used for FENs in a local language. A match of theinput
14308 character with the nick name translates it to the standard; this means
14309 the standard will continue to be recognized, unless it was defined as a
14312 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14313 Tricked by the grossnes
14315 Some WB menu items were referenced by a hard number. As items had been
14316 added over the years, the wrong menu items were grayed. In particular
14317 the Options -> Adjudication menu was grayed out, in -ncp mode, where
14318 this was intended for the Sounds dialog. This accidentally proved
14319 useful, until we started to apply adjudictions also to the Human moves.
14320 Then it was suddenly undesirable, and a small mystery why it happened at
14321 all, when I tried to change it. The numbers are now corrected to the new
14322 locatons of the items in the menus.
14324 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14325 Allow match to be started from WB menu
14327 A menu item Machine Match was added in the Mode menu to switch to
14328 matchMode. A persistent option /defaultMatchGames determines the number
14329 of games. A control was added to the Options -> Common Engine dialog to
14332 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14333 Add some book-control options
14335 Options /bookDepth and /bookVariation have been added to control the use
14336 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
14337 contains fields to set them.
14339 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
14340 new developer release
14343 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14344 Repair exit-popup deadlock patch
14346 Relocating the exit popup call had made it lose access to the message it
14347 should print, because it was declared only in an inner code block, by
14348 the same name: buf[]. Deleting the inner declaration fixes it.
14350 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14351 Fix erors when compiling with --disable-zippy
14353 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
14356 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14357 Fix zippy handling of draw offers from ICS
14359 The patch by DM to fix the problem introduced by the coloration of
14360 zippy-matched commands (namely that the coloration code beat the zippy
14361 draw recognition to it, and ate the draw offer away) was only targeting
14362 ICC. The new fix should work on any ICS (by using the same pattern in
14363 zippy as in the colorization code).
14365 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14366 Fix regression in colorization of zippy-matched commands
14368 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
14369 that in XBoard no coloration would take place of ICS commands that were
14370 matched by zippy. (It was using &i as input pointer, rather than &backup.
14371 The XBoard-specific code now has been deleted completely, to remove a
14372 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
14373 now use the XBoard method, to only match zippy commands when logged in.
14375 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14376 Suggest default file name in browser dialog
14378 The argument 'def' to FileNamePopUp() was not passed through to the new
14379 file-browser routine, which got NULL in stead, and thus started with an
14382 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14383 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
14385 Because the %s expansion of WB options in the /fcp and /scp lines only
14386 works for options that contain 'first' or 'second', and /fUCI thus did
14387 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
14388 install UCI engines. (The latter option should be deprecated really;
14389 the UCI-ness of the engines is a volatile option, so it makes no sense
14390 to supply a way to set them both to false or true. One only needs to be
14391 able to set it to the non-default state.)
14393 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14394 Add string option /pieceNickNames
14396 This (volatile) option allows definition of alternate letters for the
14397 pieces, which will be recognized next to the standard symbols as given
14398 in the /pieceToCharTable on input. (Output always uses the standard.)
14399 This can be useful for reading PGN from another language, or
14400 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
14401 The format of the argument is the same as for /pieceToCharTable.
14402 Because the nickNames are consulted before the standard table, it is
14403 possible to redefine a standard name as a nick for another piece.
14405 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14406 Fix deadlock in match-result display
14408 At the end of a match, GameEnds() was recursively calling itself,
14409 through DisplayFatalError() and ExitEvent(), and the latter was then
14410 delaying until the calling GameEnds() terminated. (Which it would of
14411 course never do before ExitEvent returned; fortunately there was a tim
14412 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
14413 Now the calling of DisplayFatalError() (to show the result popup) is
14414 delayed until after GameEnds completes (and resets the anti-recursion
14415 flag 'endingGame'), so that it is simply executed a second time, unaware
14416 of the earlier call. But this second time it does not do anything,
14417 because the gameMode ws set to EndOfGame the first time, and the writing
14418 of the PGN is blocked by the checksum being still the same.
14420 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14421 Fix WinBoard game-list title
14423 Number of displayed games and WDL stats were always appended to the
14424 existing title, leading to an ever-growing title in the game-list
14425 window. Now the old actual title is ignored, and the starts is appended
14426 to the original title "Game List". (In the future we could use the
14429 In addition, the title was not updated when re-opening the game-list
14430 window, while the stats could change if filtering was active when the
14431 window was closed. (In that case the filter is cleared on re-opening, so
14432 the number of displayed games changes.) Now a title-update (after
14433 recalculating the stats) is done every time the game-list window is
14436 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14437 Refactoring of material-draws adjudication code
14439 Insufficient mating material is now determined per side individually, by
14440 testing for MatingPotential of each side. If both lack mating potential
14441 the game is adjudicated as draw (if the -materialDraws option is set).
14443 This way MatingPotential() can later also be used to correct losses by
14444 forfeit to draws (which currently is only done when the opponent has a
14447 The accuracy of this type of adjudication in Xiangqi has been highly
14450 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14451 Fix bug in sending cores command to engine
14453 The cores command was alwas sent to the engine(s) when the user changed
14454 it through the menu, even when the engine had sent feature smp=0 (which
14455 is default anyway). NewSettingEvent() was patched to send the new
14456 setting conditionally, based on the engine properties as recorded in
14457 ChessProgramStates first, second; In this particular case it now
14458 consults cps->maxCores. (Note the code for testing the second engine
14459 contains some dirty pointer arithmetic.)
14461 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14462 Fix oneClickMove bug
14464 When checking for unique captures, no attention was payed to the option
14465 setting, so the capture was also made when the option was off.
14467 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14468 Remove duplicate testing for cores feature
14470 The testing for this BooleanFeature occurred twice.
14472 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14473 Remove misspelled prototype
14475 NewSettingEvent occurred, next to the correct one, in misspelled form.
14477 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14478 Fix parsing of SAN shogi promotions
14480 A missing promotion character defaults to promotion in the move type,
14481 but the promotion character was not set when this happened in variant
14482 shogi. And it is especially important there, as the promotion character
14483 '+' will always be missing, as the parser will take it to be a 'check'
14484 symbol, and strip it from the move.
14486 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14487 Fix variant switch on PGN loading
14489 When the PGN specified an essentially different variant, the
14490 piece bitmaps were not properly adapted, because the switch was done by
14491 calling InitPosition(), rather than Reset(). (The latter would destroy
14492 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
14493 (which is normally done from Reset()).
14495 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14496 Adjudicate Xiangqi material draws with Advisor-less Cannons
14498 Used the Queen counter for counting Cannons. Note that material draws
14499 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
14501 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14502 Remove font settings from master settings file
14504 xboard.conf should not contain general font settings (not specific to
14505 one board size) with specified point size. In fact it should not even
14506 specify sizable fonts, as the new system would make specification of a
14507 general font overrule the size-specific settings in the .xboardrc file,
14508 so the persistence of fonts would be completely broken.
14510 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14511 Cut board squares out of texture bitmap more cleverly
14513 When the bitmap is larger than the entire board, the squares are now cut
14514 out of the center of the virtual squares from subdividing the bitmap, so
14515 that they stay centered on the grid of a Xiangqi board bitmap. If the
14516 board size exceeds that of the bitmap, the old algorithm is still used,
14517 as the centering would make the edge squares exceed the bitmap, and
14518 cause a black rim around the board.
14520 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14521 Allow -flipBlack to work with font-based piece rendering
14523 In addition the font-based pieces will also be flipped vertically in
14524 flipView for variant shogi when -flipBlack is off.
14526 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14527 Allow font-based piece rendering in board sizes below petite
14529 At least for variants that use unorthodox pieces, so that switching back
14530 to using bitmaps is not really an option anyway.
14532 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14533 Ignore checks in 50-move count for Xiangqi
14535 Both checks and evasions are discounted; this is only done after the
14536 naive counting exceeds the maximum, so during most of the game it causes
14539 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
14540 removed some garbage from configure.ac that got added a while ago
14543 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
14544 Remove unnecessary double equals from configure.ac.
14547 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14548 Fix e.p. bug in xiangqi with -serverMoves option
14550 Sideway Pawn moves were written as e.p. captures in the file with moves,
14551 which led to disappearence of pieces in the viewer.
14553 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14554 Repair score printing with -serverMoves option
14556 A previous patch had moved MakeMove to before the update of pvInfoList,
14557 so that the score/depth info would not appear in the file with moves.
14559 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14560 Repair animate dragging
14562 The previous patch had left a stray semicolon in the mouse handler.
14564 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14565 Fix game end during dragging
14567 The stale-first-click fix interfered with proper handling of a piece
14568 being dragged when a game suddenly ended (because of opponent resign,
14569 or caling the flag), because up-clicks when the from-square was reset
14570 were completely ignored. Now such an 'unmatched' upclick calls
14571 DragPieceEnd() and redraws the board.
14573 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14574 Pop down old tags on loadng new game in WinBoard
14576 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
14577 (unlike XBoard), so that the tags from the previous game were left on
14578 display when -autoDisplayTags was off.
14580 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14581 Reverse mousewheel action
14583 Apparently WinBoard was stepping in the opposite direction through the
14584 game in reaction to the mousewheel as every other GUI in existence.
14586 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14587 Fix bug in sending "usermove" when forcing book moves
14589 The keyword "usermove" was copied to the buffer, but not sent before it
14590 was overwritten by the actual book move.
14592 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14593 Fix engine stall on perpetual-check evasion
14595 The adjudication code had already put the engine in force mode after
14596 postponing the actual adjudication to the next move. Now first determine
14597 if we want to adjudicate now, and with which result, before stopping the
14598 engine and ending the game.
14600 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14601 Let move parser return ImpossibleMove for off-board moves
14603 It used to return 0, which interfered with buiding a game list. This
14604 broke reading of multi-game PGN files containing games in a variant with
14605 a board size larger than that of the currenty active variant.
14607 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14608 Alter XBoard key bindings to mimic WinBoard
14610 A lot of new bindings were added, and four menuProcs had to be registered
14611 to be able to add bindings to them. The use of the control key as
14612 temporary take-back for the last move conflicted with the use of Ctrl
14613 keystrokes, and this function was migrated to '.'. The iconify function
14614 had no shortcut in WinBoard, but to get rid of letter bindings it was
14617 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14621 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14622 Fix typos in html help file
14625 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14626 Fix JAWS piece drop cursor, and streamline some sentences
14628 The cursor square was reset to a1 after every use of the piece menu,
14629 which was very inconvenient. Some of the spoken sentences have been
14630 improved; the square is read before the piece now, when using the arrow
14633 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14634 Allow escape sequences in telluser(error) messages
14636 The routine EscapeExpand was moved to backend.c, and applied to the
14637 message received from the engine.
14639 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14640 Allow lower-case promochar in moves of type h8=Q
14642 Updated the parser rules. Other move formats already allowed this.
14644 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14645 Fix Alt+M JAWS command in Two-Machines mode
14647 The command refused to read the ast move because it contained thinking
14648 output of the other engine. Let it pay attention to evenIfDuplicate.
14650 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14651 Fix rep-draw recognition
14653 The refactoring had broken the rep-draw recognition, by adding and extra
14654 condition in a conditional with side effects. The testing of this extra
14655 condition is now moved to after the side effect.
14657 2010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14658 Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~
14660 Only a single variable at the beginning of the file name is recognized,
14661 and the matching is not fool proof (it matches across backslashes).
14663 2010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14664 Fix info lines being used as normal thinking output
14666 The new standard of using thinking output with time = nodes = score = 0
14667 as info messages for printing in the Engine-Output window was not
14668 understood everywhere, and led to such info lines being used for
14669 autoKibitzing and PGN annotation. The programStats are now only updated
14670 from thinking output received from an engine when it is not an info line.
14672 2010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>:
14673 new developer release
14676 2010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14677 Suppress background observe for boards with own game number
14679 This is really a work-around for an ICS bug. The Variant-ICS sent the
14680 initial board of a game in a move list with relation = 0, which means
14681 'observed'. So XBoard was thinking it was observing its own game, and
14682 switched to dual board. It seems harmless to suppress such a switch for
14683 all boards of your own game, however, which is now done.
14685 2010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14686 Fix crash on switching to ICS xiangqi game
14688 The oldBoard was a local variable, and only squares of the old board
14689 were initialized. This led to a crash if the copied board was enlarged,
14690 and then displayed. The variable is now declared static, so the
14691 uninitialized squares contain harmless zeros.
14693 2010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14694 Let Chat Boxes pop up above console, rather than on top of it
14696 Use EnsureOnScreen() to have them overlap if there was no room.
14698 2010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14699 Fix disabling of Chat Box navigation buttons
14701 The buttons for non-open boxes were enabed, rather than disabled.
14703 2010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14704 Prevent <Esc> closing chat box
14706 Let it in stead switch focus back to the console window.
14708 2010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14709 Let WinBoard recognize ~ in settings file name as HOMEPATH
14711 Fetch the appropriate environment variable to build the mathname in
14712 MySearchPath() whenever the file name starts with "~\".
14714 2010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14715 Change name of Global Settings menu item to Common Engine Settings
14717 The old name confused ICS users, as this is an engine-only dialog.
14719 2010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14720 Update WinBoard RTF docs
14723 2010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14724 Update WinBoard html help
14727 2010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14728 Allow adjustment of clocks in any mode with shift+click
14730 In practice changing to edit-game mode during a game was very
14731 cumbersome. In WinBoard shift+click is now offered as an alternative.
14732 Make sure a right-click in the clock area is not also counted for other
14735 2010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14736 Allow loading of PGN variations in XBoard
14738 Right-clicking variation comments in the comment-window was implemented
14739 through a translation. The right button is now bound to routines that
14740 set both the end and start of the selection, as setting a new start does
14741 not seem to work if the previous select-start was not completed by a
14742 select-end or extend-end. Finally the main handler uses the selection
14743 cursors to know what was clicked.
14745 2010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14748 Added a descripton of the new ICS options (seek graph, back-ground
14749 observe) and menus (Upload) to the texi file. Also added a description
14750 of the variation (Annotate menu item and PGN variation comments) and PV
14751 walking (clicking engine-output). Describe the -shuffleOpenings option.
14753 2010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14754 Paint highlights on dual board (WB)
14756 The highlight info is hidden in the partner board to pass it to the
14759 2010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14760 Fix handling username change during game
14762 The title bar and gameInfo (going into the PGN) were not adapted when
14763 the username was changed through the menu, so that the change became
14764 only effective on the next game. Requires SetGameInfo to be called from
14765 the front-end, and thus a prototype for it in backend.c.
14767 2010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14768 Fix window-position upset on failing engine start in WinBoard
14770 The main window was only positoned according to the settings-file data
14771 after the engine was started up from InitBackend2(), so that if the
14772 latter gave a fatal error, and Save Settings on Exit was on, a wrong
14773 position for the main window would be saved. The call to InitBackend2()
14774 is now moved until after setting the main-window position.
14776 2010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14777 Display PV from Engine-Output window (XBoard)
14779 Translations are added to bind button 3 to the PV walk for the memo
14780 widgets, and the corresponding handlers are ported from wengineoutput.c.
14782 2010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14783 Set keyboard focus at startup to board window
14785 This makes XBoard sensitive to the keybindings also when the cursor is
14786 outside the board window. This focus seems to persist indefinitely: each
14787 time the board window gets selected, the key bindings become activem
14788 wherever the mouse pointer is. Downside: the mouse pointer is no longer
14789 an arrow outside the board window, but becomes a text-insert tool there.
14791 2010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>:
14792 added logo files for xboard
14794 logos are installed in the hicolor theme [1] using $datadir as the basedir.
14795 Added both png and svg logo.
14797 [1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
14799 2010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14800 Remake programVersion string after receiving engine features
14802 The engine could have sent a more accurate version of its own name
14803 than the one derived from the exe filename in a myname feature, and we
14804 better use that in the programVersion string, which will be sent as
14805 interface name to the ICS.
14807 2010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>:
14808 Revert "Repair settings-file name"
14810 This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85.
14812 2010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14813 Add -autokibitz checkbox to UCI-options menu dialog
14816 2010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14817 Also capture (numeric) whispers of players for -autoKibitz
14820 2010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14821 Add kibitzes and c-shouts Chat Box
14823 A box dedicated to c-shouts will snatch any c-shout before it is
14824 diverted to a normal shouts box. The kibitzes box can capture the
14825 left-overs of -autoKibitz, if the latter is active.
14827 2010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14828 Mark non-compliant lines of engine in debug file
14830 The option -engineDebugOutput is extended to accept value 3 for printing
14831 a cear indication of non-compliancy in the debug file.
14833 2010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14834 Redraw second board on expose events
14836 The -dualBoard option now does refresh the second board after another
14837 window uncovers it. To acheive this, some data structures remembering
14838 what is displayed had to be duplicated. (lastBoard and damage for XB,
14839 lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.)
14840 WinBoard now uses clipping also for second board. This required the
14841 clips for the destination to be translated horizontally!
14843 2010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14844 Print seconds with 2 digits in backgroundObserve status line
14847 2010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14848 Do not recognize non-ICS variants from PGN event tag
14850 These variants were introduced after supporting the variant tag, so if
14851 the variant tag is missing, their recognition from the event tag will be
14852 a false match. (Mainly to prevent events with 'super' in the name being
14853 recognized as Superchess.)
14855 2010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14856 Fix display of uninitialized boards in background observe
14858 A variable partnerBoardValid is cleared on starting our own game, and
14859 set when a board from the background game comes in during it. At the end
14860 of our own game, a valid partner board now is put in the display.
14862 2010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14863 Add option Display Logo in WB general-options menu
14865 Changing the option requires InitDrawingSizes to be called for
14866 re-formatting the board window. Switching it off requires clearing of
14867 the cps->programLogo fields to take effect immediately. Switching it on
14868 only takes effect the next session, as we will need some refactoring to
14869 redo the figuring out what logos to display.
14871 2010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14872 Group Chat Boxes with console in stead of board window
14874 They now open and close with the console, which seems more natural, and
14875 prevents the console from covering them.
14877 2010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14878 Put new options in WB ICS-options dialog
14880 The Seek-Graph, background-observe and Chat-Box options are added to the
14881 ICS options dialog. They only control the appData settings, there are no
14882 special actions yet on switching the settings.
14884 2010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14885 Create space in WinBoard ICS-options dialog
14888 2010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14889 Use side-by-side boards to display background game
14891 A game observed in the background (i.e. if -backgroundObserve true) will
14892 be displayed right of the normal board in the same window if the new
14893 (persistent) Boolean option -dualBoard is also set.
14894 Very flakey hack, especially in XBoard, where clocks and messsage
14895 field all get the wrong width (and resist adjustment in the strangest
14896 ways). The clocks of the partner game are not yet displayed, and
14897 disaster happens when the background and foreground games do not have
14898 the same board format.
14900 2010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14901 Repair background-observe patch
14903 Apparently a commit was lost that I collapsed with 3018a6 while the
14904 latter was already pushed to savannah. Here I recreated this commit from
14905 a diff between the respective commits in the savannah & nubati gits.
14907 2010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14908 Repair settings-file name
14910 The default name is put back to /etc/xboard/xboard.conf, so that XBoard
14911 can again find its settings file. "make install" will still install it
14912 in the wrong place.
14914 2010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>:
14915 new developer release
14918 2010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>:
14919 fixed compiler warning for file-browser code
14921 missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now.
14923 2010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14924 Put newly opened Chat Box on top
14926 Dialogs always pop up in front, so set the onTop variable that prevents
14927 highighting the button to navigate to it from other Chat Boxes
14928 to reflect that a newly opened Chat Box is in view.
14930 2010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14931 Fix copying of kibitzed info in Engine-Output window
14933 Make sure all lines end with "\r\n" to not lose line breaks on
14934 copy-paste from the memo. (XBoard would strip those again.)
14936 2010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14937 Allow walking a kibitzed PV
14939 If no tabs are found in te 'thinking output' we assume it is a captured
14940 kibitz message, and look for "PV=" to locate the start of a PV in it.
14941 Also try to include any continuation lines below the selected line.
14943 2010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14944 Insert autoKibitz continuation lines at end of line
14946 In the engine-output window lines that start with the ICS continuation
14947 sequence "\ " are inserted behind the line they belong to, in stead of
14948 at the top. This required keeping thrack of the length of the currently
14949 active line in OutputKibitz().
14951 2010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14952 Don't disturb background observe when receiving new piece
14954 When new holdings are sent when the background game is displayed, we now
14955 ignore this, as presumably we are peeking at our partners game, and thus
14956 should be well aware of what is captured there.
14958 2010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14959 Newly lexed parser in XBoard directory
14962 2010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14963 Let yy_text determine progress of PV parsing
14965 The parsed unit yy_text was not available after ParseOneMove(), because
14966 the buffer switch in yylexstr() apparently destroys it. To solve that,
14967 yylexstr() now is equiped with an extra buffer argument, where it copies
14968 yy_text before the switch, so the caller, ParsePV(), can see what was
14969 parsed in yy_textstr. This is used to update the PV pointer, but also to
14970 save any parsed comments (when ParsePV is used for parsing a PGN variation).
14972 2010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14973 Support playing through PGN variation comments
14975 Right-clicking a variation line in the comment dialog will shelve the
14976 current variation, and parse the comment to replace it. This uses
14977 ParsePV() in an alternative way, for which the latter had to be
14978 enhanced: it was made resistent to move numbers and comments inside
14979 the PV. It now has an argument to indicate if such comments should be
14980 stored with the moves. The Comment Popup is closed on revert, to
14981 make sure no comments to moves that are destroyed, containing
14982 variations on a non-valid line, can keep hanging around.
14984 2010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14985 Add Annotate item in Step menu
14987 This does the same as Revert, except that it adds the destroyed
14988 variation as comment to the original movem in PGN variation format.
14989 RevertEvent now has an argument to indicate if it should add the
14990 comment, or not. Comments in the abandoned variation are included in the
14991 varriation command to the main line. (The exact layout of the variation
14992 comment that results leaves still to be desired.)
14994 2010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14995 Add option -shuffleOpenings
14997 This volatile option is added just to make the existing variable
14998 available from the command line, not only from the menus.
15000 2010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15001 Let the sounds sound on receiving a message in a Chat Box
15003 Use Colorize() to the applicable color to trigger the sound, and then
15004 restore the original color as 'continuation', to do it silently.
15006 2010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15007 Allow WB Chat Box to be dedicated to shouts and 'it'
15009 By putting 'shouts' in the handle field, a chat window will capture all
15010 shouts and c-shouts, and send messages typed into it as shouts.
15011 The bracketing of the shouter name now indicates the type of shout.
15012 The handle for WHISPER Chat Boxes has been changed to 'whispers', to
15013 make it easier to pop them up by clicking the console.
15015 2010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15016 Add -chatBoxes option to open Chat Boxes at startup
15018 This string option contains a semicolon-separated list of handles for
15019 which Chat Boxes should be opened at startup. The value saved in the ini
15020 file is the value that was read, not the actual chat boxes that were
15021 open at the time of saving.
15023 2010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15024 Make Chat Windows pseudo-tabbed
15026 By adding buttons in every Chat Box to navigate directly to every other
15027 Chat Box, a stacked set of Chat Windows behaves like a single tabbed
15028 window, but can still be unstacked. The buttons turn grey to warn that
15029 new text appeared in hidden boxes (i.e. not the one last brought to top).
15031 2010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15032 Allow arrow keys in WB Chat Box to access command history
15034 The history is shared between al boxes and the ICS console.
15036 2010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15037 Make WB Chat Boxes wrap and handle URLs
15039 Cloned the code for the console text field to hande URL. (Initialization
15040 to recogize the link, and notifiction to open it when clicked.)
15041 Removed the ES_AUTOHSCROLL style from the RichEdit in the resource.
15043 2010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15044 Fix copying of WB Chat Window contents
15046 All line breks were lost on copy-pasting the contents of a chat window.
15047 Adding CR to each outputted line in the front-end (wchat.c) solves this.
15048 (Tell messages sent to a handle (which are not echoed by the ICS, and
15049 thus have to copied to the chat box directly) also need CR!)
15051 2010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15052 Add upload of game to ICS for examining
15054 New item "Upload to Examin" in Action menu, calls UploadGameEvent().
15055 Use SAN moves to upload game to ICS, rather than long algebraic
15056 (The ICS did not understand long-algebraic promotion moves)
15057 Use bsetup within examine to set position onFICS, and also variant.
15058 Castling rights do not work yet for FRC. Totally different set of
15059 commands are needed on FICS and ICC.
15060 FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the
15061 besetup command that specifies the variant. XBoard variant names are
15062 used, except for fischerandom, which is 'fr'. Things like nocastle will
15063 probably still not work.
15065 2010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15066 Handle display of PV that starts with other move than played
15068 Insert the retraction of the played move, without premove highlighting.
15070 2010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15071 Bugfix smart capture
15073 Disambiguate was changed to make sure that for ambiguous moves, a
15074 capture would always prevail in the closure, rather than the last move
15075 that happened to be generated. Before, double-clicking a piece would
15076 sometimes plsy a non-capture.
15078 2010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15079 Fix XB crash on giving keyboard focus to non-text widget
15081 In the Engine-Settings dialog SetFocus() could be called for non-text
15082 widgets, and this made XawTextSetInsertionPoint() croak. Setting the
15083 insertion point to the end in SetFocus() was a bad ide anyway, as it
15084 interfered with copying from the engine-output window, which would
15085 uncontrollably scroll on getting focus. It is solved now by setting the
15086 insertion point already on creation of the text widgets.
15088 2010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15089 Seek-Graph bugfix: disappearing output in ICS console
15091 Suppression of output to the cosole was handled fundamentally wrong: it
15092 was not enough to set next_out to after the unit that should be
15093 suppressed, as there can be a backlog in printing of previous units that
15094 came in the same packet. So this has to be flushed first, or it will be
15095 lost. -autoKibitz probably got away with that, because it comes in a
15096 separate packet. But seek ads are often suffixed to other output, and
15097 then that output disappeared! Now we flush everywhere before suppressing.
15098 We now totally rely on the prompt to restart the printing, so that
15099 acknowledgements following the echo of the sent message are also
15100 suppressed. Also suppress LF before diverted chat messages.
15101 Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of
15102 a "* (*): " pattern in tell messages, because of a missing continue.
15104 2010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15105 Pop up ICS text menu with default item under mouse pointer
15107 The menu popup is migrated to the down-click (was up-click), so the
15108 up-click can select the item. Some trickery is needed to fool the menu
15109 into thinking that the mouse moved, so that a moveless up-down click in
15110 the ICS text field selects the default item (the upper-right one).
15111 Also allow dummy item in ICS text menu: The command "none" in the ICS
15112 text menu will now be treated as a grayed-out (disabled) entry, so it
15113 can be defined in the position underthe mouse pointer to prevent the
15114 up-click from doing anything, while keeping the menu open. Recommended
15115 for use with an entry of spaces.
15117 2010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15118 Allow ICS context menu to pop up a Chat Box on clicking handle
15120 A command "chat" defined in the WinBoard icsMenu string will cause
15121 ChatPopUp() to be called when it is clicked, with the clicked handle
15122 (name) in the ChatPartner field, and focus on the input field.
15123 ChatPopUp() had to get a parameter (the handle) to make this possible.
15124 If that parameter is NULL (as when it is called from the Mode menu),
15125 focus will still start on the (empty) ChatPartner field of the box.
15127 2010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15128 Fix right-edge spillover of Seek-Graph dots in WinBoard
15130 Rescale the X-axis to allow margin for dot size and color offset.
15132 2010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15133 Interface XBoard to GhostView file-browser dialog
15135 Note: The Ghostview dialog was using some deprecated variables for error
15136 printing, and conditionally used getwd() on some systems that presumably
15137 do not have getcwd(), but it did not assess the latter properly.
15139 2010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15140 Allow recalling history in ICS input box with arrow keys
15142 By adding translations for the Up and Down keys, and stealing some code
15143 from winboard.c. Still needs some refactoring to move the duplicate code
15146 2010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15147 Start insertion point at end of text edits in XB dialogs
15149 The function SetFocus now uses XawTextSetInsertionPoint to position the
15150 end of the string it aready contains, rather than at the beginning.
15152 2010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15153 Capture holdings of background observed game
15156 2010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15157 Match handles with multiple titles for channel Chat Boxes
15159 Only handles with at most one suffixed 'title', such as (U), (C), (IM)
15160 or (TD), followed by the parenthesized channel number, were recognized,
15161 so tells by people with more titles always went to the ICS console window.
15162 Patterns are added to recognize handles with upto three such qualifiers.
15164 2010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15165 Do not pop down Seek Graph on on-dot click
15167 Leave the graph up, and let the incoming board of a started game cause
15168 the pop-down. This in case the clicked ad is no longer vailable, or
15169 manuay refused, and fails to start a game.
15171 2010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15172 Observe a game in the background while playing
15174 A new (persistent) option -backgroundObserve true|false is added. When
15175 set, observed boards received while playing a game will not trigger a
15176 game switch, but will be ignored except for storing in a dedicated board
15177 buffer. Pressing the right mouse button will cause the board to be
15178 displayed, until we release it. Time, strength and stm are always
15179 displayed in the message window.
15181 2010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15182 Remove race condition in clock switching
15184 The move number is now incremented inside SwitchClock, when no timer
15185 interrupt is scheduled, so the interrupt cannot occur at the wrong side
15186 of the increment, and decrement the wrong clock.
15188 2010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15189 Let second click on piece make only capture, with -oneClickMove
15191 Normally this would clear the highlighting of that piece.
15192 Required new field in DisambiguateClosure to count nr of captures.
15194 2010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15195 Bugfix stale first-click
15197 When the opponent resigned after the user had cicked a from-square,
15198 clicking the from-square for the first move in the next game would
15199 produce an "illegal move" message, because it was considered a to-click!
15200 We now set fromX and fromY to invalid in GameEnds().
15201 Should we also reset them on mode changes?
15203 2010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15204 Add promotions and e.p. to oneClickMove
15206 For e.p. the to-Square of the Pawn has to be clicked. Promotions are
15207 always to Queen when you click the to-square, but use the promotion
15208 pop-up when you click the from-square.
15210 2010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15211 Fix error that compiler does not notice
15213 Boolean GLT_GetFromList did not return a value. But no error on Ubuntu!
15215 2010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>:
15216 new developer release
15219 2010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>:
15220 updated year in copyright info
15223 2010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15226 Playing on ICS or against engine, clicking a square from or to which
15227 only a single move can be made causes the move to be done, when the new
15228 option -oneClickMove is set to true.
15230 2010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15231 Use squares for computer seek ads
15233 Shape indication passed in sign bit of color (char) variable.
15235 2010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15236 Use right mouse button to view seek ads
15238 Right down-click does the same as left down-click, right up-click
15239 simulates a left up-click off board (so it misses all dots).
15241 Use right-click miss to refresh Seek Graph
15243 The 'moving' parameter had to be made into an int for this, to indicate
15244 right clicks with code 2. Right press now already pushes the clicked ad
15245 to the back, so that the up-click will display an underlying one.
15247 Bugfix pushing back seek ads on right-click
15249 On a right button press the previous in stead of currently hit ad was
15250 receiving the penalty.
15252 Indicate seek-ad multiplicity
15254 If more than one seek ad is inside the capture range of the mouse
15255 pointer, an exclamation point is printed before the seek-ad text.
15257 Some fixes to make seek-ad suppression work in WinBoard
15259 In WinBoard the z-depth was immediately erased by redrawing the graph;
15260 the clearing of zlist had to be moved from PlotSeekAd() to AddAd()
15261 (where it really belongs). Also aging of z-depth is now suppressed on
15262 mere pointer motion.
15264 2010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15267 The new option -autoRefresh sets FICS and ICC to report removal of seek
15268 ads, and then removes those from the Seek Graph. New seek ads are added
15269 to the graph, as soon as the ICS reports them.
15271 2010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15272 Implement SeekGraph in XBoard
15274 For now only controlled by left mouse clicks on board. New options
15275 -seekGraph true|false and -sg to switch this feature on.
15277 Facilitate selection of coinciding seek ads
15279 Seek-ads that are viewed but not answered get a distance penalty on the
15280 up-click that makes their selection more difficult next time, so that
15281 the ad they covered gets a (better) change. The penalty ages away in the
15282 course of 5 clicks.
15284 Slightly offset Seek-Graph dots of different color
15286 Dots of different color are now displaced horizontally be 3 pixels, to
15287 prevent them from completely covering each other. (Required the axis
15288 labels to be moved a little too, to not be covered by the 1-min ads.)
15290 Auto-show seek-ad texts in WinBoard
15292 Hovering the mouse above a Seek-Graph dot will make the text belonging
15293 to it appear in the message field without the need to press a button.
15294 Required SeekGraphClick() to be called from the WB mouse event handler,
15295 with an extra argument 'moving' to make the distinction with a real
15298 Show seek-ad text on mouse hovering (XBoard)
15300 The Eventproc is also set to trigger on PointerMotion, and this event
15301 then calls SeekGraphClick with motion=true to handle it.
15303 Put poetic name of wilds in seek-ad text
15305 Use XBoard variant names, except for 'loadable' and 'fischerandom'
15306 (becomes 'setup' and 'chess960'), but leave number (to distinguish wilds
15307 that transate to same XBoard variant).
15309 2010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15310 Fix highlighting bug in XBoard
15312 The from-square was drawn before the to-square was erased, which led to
15313 a missing highlight line if they shared an edge or corner.
15315 2010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15316 Shorten autoKibitz confirmation on FICS
15318 Strip off the "players)", but leave the separatng space.
15320 2010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15321 Repair damage to -autoKibitz done by FICS atomic zippy claim
15323 The sending of -autoKibitz info was also moved back in that patch, but
15324 unfortunately to after clearing of the programStats info. Now the
15325 clearing has been moved also, to remain after it.
15327 2010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15328 Send continuation lines to chat box they belong to
15330 The variable savingComment is used as a kludge to remember where the
15331 comment should go (i.e. which chatbox, or elsewhere), so that when a
15332 continuation line is matched, chatPartner (which was reset at EOL) can
15333 be restored to its original value. Also put space after handle of talker
15334 in channel Chat Windows
15336 2010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15337 Fix u64 format for cygwin
15339 With a -mno-cygwin compile %llu and %lld are definitely not understood
15340 by scanf and printf, although they are by the compiler. In stead, %I64u
15341 seems to work. Put it in under control of a switch USE_I64, which is
15342 defined only in the gcc makefile when MINGW is used.
15344 2010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15345 Remove stray dot from WinBoard makefiles
15347 There was a period suffixed to config.h in the wgamelist.o dependency.
15349 2010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15350 Fix bug in display of logos
15352 The logo continued to be drawn after a boardSize change to a tinyLayout
15353 size, although there was no space reserved for it. Fixed by explicitly
15354 resetting logoHeight when no logo space is reserved in InitDrawingSizes().
15356 2010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15357 Right-click refactoring: step III
15359 Let WinBoard call RightClick in back-end, and delete the duplicate code
15360 it had for this, after rescuing the front-end bits, and let the letter
15361 act depending on the result returned by RightClick.
15363 2010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15364 Right-click refactoring: step II
15366 Migrate the Right-click routine to the back-end. Let it communicate back
15367 square coordinates through pointer arguments, to accomodate their
15368 different naming in XBoard and WinBoard. Template added in frontend.h.
15370 2010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15371 Right-click refactoring, step I
15373 Divorce front-end part from back-end part of PieceMenuPopup in XBoard
15374 front-end, and forge the back-end part into a new routine RightClick.
15375 The right up-click in XBoard, which called unLoadPV() directly, now
15376 calls RightClick through PieceMenuPopUp().
15378 2010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15379 Merge gamelistopt sources into gamelist source files
15381 The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c
15382 and gamelist.c, respectively. The WB front-end for the dialog already
15383 resided in winboard.c, so there was little need to move it to wgameist.c
15384 file. Makefiles adapted accordingly. Unsuitable key bindings were
15385 removed. The low-level front-end prototypes are now defined in in
15388 2010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15389 Game-List options dialog for XBoard
15391 A dialog similar to that of WinBoard was cloned from the game-list
15392 window. The XBoard front-end is in a separate file xgamelistopt.c,
15393 which in fact implements most of the low-level front-end as back-end.
15395 2010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15396 Refactoring of game-list-options dialog
15398 The back-end part is separated off, and moved to a file gamelistopt.c.
15399 Front-end for now stays in winboard.c. No prototypes in frontend.h yet.
15401 2010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15402 Fix of ancient WB bug: test integer option values for validity
15404 Only a string of digits preceded by an optional sign is accepted now.
15405 Before, any string was accepted, and leaving out a value could lead to
15406 the next option being ignored (if it did not need a value) because it
15407 was considered the value for the previous one!
15409 2010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15410 Fix bug in edit-position of holdings
15412 The holdings were effectivelly taken one too large, so that a promoted
15413 shogi Pawn moved to, or created in the holdings was not demoted to Pawn,
15414 but put in the dark (which you could see by the holding count if you did
15415 it twice). The overflow tests in these two cases now have been corrected.
15417 2010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15418 Save fonts in XBoard settings file per boardSize
15420 Each -boardSize now can have its own font specified in the settings file
15421 (and thus by a command-line option, although it would in general not be
15422 very useful to specify a font for a size other than the selected). E.g.
15423 a prefix "size33:" to the font name will apply it only to -size 33.
15424 An unspecified-size font option (not normally in the settings file) will
15425 always prevail over a font option specific for the current size.
15426 A font of some size must have been used or specified in order to be
15429 2010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15430 Fix width of filter field in XBoard GameList
15432 An empirical dependence of the width of this text edit on the square
15433 size now makes for an acceptable layout at any board size.
15435 2010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15436 Use FICS atomic draw claim for sending move in zippy mode
15438 For this the relaying of the move had to be moved until after the
15439 adjudication, which again has to be done after MakeMove(), which is a
15440 bit dubious, as MakeMove might take significant time when animating.
15442 2010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15443 Send FICS atomic claim to ICS if move creates draw after offer
15445 The FICS format "draw MOVE" is used to send the move to the ICS when
15446 the user enters a move that adjudicates as a claimable draw, and he
15447 offered a draw before the move. For the benefit of ICS that do not
15448 understand this format, the plain move is sent afterwards.
15450 2010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15451 Also allow user to claim by offering draw before his move
15453 Use the existing userOfferedDraw variable to test for such offers in
15456 2010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15457 Also adjudicate after user move
15459 Call Adjudicate() in FinishMove().
15461 2010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15462 Refactoring of adjudication code
15464 Put all the rule-based (as opposed to score-based) adjudications in a
15465 separate routine, so they can also be called on user moves. This
15466 requires sending the drawing move to the opponent engine to be made
15467 conditional on existence of the latter. Execution of the code is no
15468 longer dependent on the condition TwoMachinesPlay, but actual game
15469 terminations are now all restricted by an alternative condition (no ICS
15472 2010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15473 Use -keepAlive option to determine connection health
15475 When there has been no ICS response since the previous 'ping', assume we
15476 are disconnected and do a fatal-error exit. Also auto-start the ping
15477 process in InitBackend3().
15479 2010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15480 Use arrow keys in XBoard GameList for entry selection
15482 Add translations for arrows and home/end, to call LoadSelectedProc with
15483 argument to indicate the step, and let the latter perform the action.
15485 2010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15486 Allow <Enter> to apply filter in XB GameList filter edit
15488 Apply a translation to intercept the <Enter> key. Set focus back to the
15489 list display afterwards.
15491 2010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15492 Accept <Enter> for changing chat partner
15494 A kludge stolen from Alessandro's GameList filter allowed to let the
15495 typing of <Enter> while updating the chat-partner field of the WinBoard
15496 chat windows to act as pressing the Change button. Gives focus to the
15497 input field of the window afterwards.
15499 2010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15500 Move duplicat gamelist code to backend
15502 The filtering routines are moved from xgamelist.c and wgamelist.c to
15503 gamelist.c, and a prototype for them is placed in backend.h.
15505 2010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15506 Port game-list filtering to XBoard
15508 Added a text edit and apply button to the XBoard game-list dialog, and
15509 only have it print those lines that match the filter. Translate index in
15510 list to index of game in file when a game is selected, and index in file
15511 to index in list when a line is highlighted. Duplicates some code
15512 between xgamelist.c and wgamelist.c, which should be moved to back-end.
15514 2010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15515 Convert to DOS line endings
15517 For easier understanding of upcoming diffs of winboard.c
15519 2010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15520 Refactoring of move-history code
15522 The WinBoard code in whistory.c was split in a front-end part (remaining
15523 in whistory.c) and a back-end part (now in history.c in the xboard
15524 directory). This to allow easy porting to other platforms.
15526 2010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15527 Add fixed-time/move button in XBoard time-control dialog
15529 Put the TC-type buttons in a radio-group, and highlight the selected mode.
15531 2010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15532 Fix bug in XBoard PV display
15534 The PV was unloaded on anything but a button release, in stead of the
15537 2010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>:
15538 fixed hardcoded location of config file for xboard
15540 the location should now follow sysconfdir during the configuration process.
15541 Also added some more output to the configure script.
15543 2010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>:
15544 new developer release
15547 2010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>:
15548 fixed Makefile.am to handle config file correctly
15551 2010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15552 Change opening array -variant fairy
15554 We now use the position of "Chess with Different Armies", FIDE army vs.
15555 a fantasy army (inspired on the Color-bound Clobberers) as opening
15558 2010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15561 Thai Chess, played by 2 million world-wide. Required pawn promotion to
15562 happen in a zone, and the Alfil to move as Shogi Silver, a new opening
15563 array, and unusual Pawn placement. Because of the latter, I consider it
15564 a setup position, so a FEN will always be sent to the engine.
15566 2010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15567 Fix parsing of O-O and O-O-O after FEN pasting in FRC
15569 Because the initial rights were not set in the FEN reader, the
15570 initial rights of the previous game remained in force, so that the
15571 parser did not understand OO-castling (although it would allow KxR
15574 2010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15575 Fix reading FEN castling rights for knightmate and twokings
15577 Scanning the back-rank for a King did not work in these variants,
15578 because either the Unicorn castles, or there might be two Kings.
15580 2010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15581 Fix omission in castling refactoring for ICS received boards
15583 A default of -1 was still used, in stead of NoRights, when no Rook was
15584 found. In theory this could have had effect in a setup board 0 in FRC,
15585 when there were no Rooks on the back rank.
15587 2010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15588 Fix TwoKings ICS castling-rights bug
15590 Scanning the rank (as is done because of FRC) assigned castling rights
15591 to the rightmost King. Even scanning the opposite direction would not
15592 work, as it is not always the eftmost King that can castle. So we now
15593 explicitly test for a King on e1/e8 in TwoKings and assign it rights,
15594 relying on the Rook rights received from the ICS to control castling.
15596 2009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15597 fix double start of zippy engine after switch to gothic
15599 In ICS mode we now switch to the proper variant as soon as we receive
15600 the generic game-start message, to prevent a mismatch when the first
15601 board is received (which would trigger fetching of a move list).
15603 2010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15604 Extensive bugfix of -autoKibitz
15606 Suppression of printing of diverted kibitz messages failed when they
15607 extended over more than one read. This could even lead to such
15608 messages being erroneously saved as comments, which then lead to
15609 crashes. The suppression mechanism now waits for a prompt, in stead of
15610 the end of buffer. This required the printing of any leftover in the
15611 buffer to be deferred until the next read completes it.
15612 The number of people kibitzed to is now printed.
15614 2010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15615 Fix piece-to-char table -variant fairy
15617 The letters for Lance and Snake where swapped.
15619 2010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15620 Make WinBoard makefiles use parser.c in XBoard directory
15623 2010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15624 Docs update for new features
15627 2010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15628 Fix new args parsing of -lowTimeWarningColor
15630 This did not occur in the XBoard color translation table yet.
15632 2010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15633 Allow editing of holdings in EditPosition mode
15635 Dragging pieces to and from the holdings now consistently keep track of
15636 the home square of pieces and the piece counts, as does creation of
15637 pieces in the holdings through the piece menu.
15639 2010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15640 Indicate squares a lifted piece can legally move to
15642 Under control of the new option -showTargetSquares when
15643 -highlightDragging and -testLegality are on, the squares a piece can
15644 move to are marked by fat dots in the highlightColor (non-captures) and
15645 premoveHighlightColor (captures), as soon as you grab it for dragging.
15646 In variants with mandatory capture, the capture target of other pieces
15647 is marked with the highlightColor (as non-captures are then not allowed).
15649 2010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15650 Fix bug for incommensurate time odds
15652 After normalization (-timeOddsMode 1) the time odds factors can be
15653 non-integer, and thus must be stored as float.
15655 2010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15656 Display PV right-clicked from EngineOutput window
15658 The clicked PV is selected and the memo gets focus, so that it is
15659 highlighted. This selection is restored in the proper place after
15660 insetrtion of a new line in the memo.
15662 2010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15663 Display PV on right-clicking board
15666 2010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15667 Bugfix legality null move in parsing with -testLegality off
15669 The pointers were compared, in stead of the values.
15670 Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off.
15672 Also exclude moves with empty squares and enemy pieces.
15674 2010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15675 Newly lexed winboard/parser.c
15678 2010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15679 Harmonize declarations of XBoard and WinBoard
15681 The engine-exit and settings patches make some stuff common to WinBoard
15682 and XBoard, which needed to be harmonized, and is moved to frontend.h.
15684 2010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15685 Allow Ctrl-C copying from EngineOutput window text to clipboard
15688 2010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15689 Allow popup-less (fatal) exit of engine after tellusererror
15692 2010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15693 Improve layout of Engine #N Settings dialog
15695 An attempt is made to align the input fields of spins and text-edits
15697 2010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15698 Let XBoard print version with argument --version or -v
15701 2010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15702 Fix castling rule assignment in shuffle games
15704 The conversion to in-board storage for rights copied directly to boards[0] in steadof
15705 initialPosition, and was then overwritten when the latter was copied with uninitialized
15706 rights to boards[0]. This affected FRC and CRC, where rights are non-standard.
15708 2010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15709 Implement castling in -variant caparandom
15711 CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING.
15713 2010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15714 Fix default castling rights on reading incomplete FEN
15716 This was overlooked in the conversion to the in-board storage of rights.
15718 2010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15719 Fix NoncompliantFEN defaults.
15721 This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields.
15723 2010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15724 Change format of -adapterCommand.
15726 first or f at the start of an option name are now automatically changed into second or s,
15727 rather than needing %% to be recognized. The values of -ec and -ed in the default
15728 -adapterCommand are now quoted (now XBoard understands quoting in the engine command line).
15730 2010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15731 Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings.
15734 2010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15735 Delete old indirection settings-file code
15738 2010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15739 Correct XBoard default debug file name
15742 2010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15743 Suppress saving font settings.
15745 The fonts are size dependent, and might thus not be reusable in the next
15746 session. For now we therefore suppress the saving of them in the
15747 settings file, until we diversify the fonts per boardSize.
15749 2009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>:
15750 added missing sounds files to be able to compile on windows
15753 2009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>:
15754 Changes needed to compile master branch.
15757 2009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15758 implements the eval-graph window for XBoard
15761 2009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15762 improves the XBoard handling of the engine command line
15764 it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled.
15766 2009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15767 A better and more flexible way of invoking Polyglot
15769 rewrote 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.
15771 2009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15772 remove trailing \r in xboard output
15774 there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not
15775 only 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.
15777 2009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15778 double buffer size to prevent overflow
15780 This patch doubles the size of the ICS input buffer to 16KB, to prevent
15781 the suspected overflow with -keepLineBreaksICS false when using
15782 "inchannel 1" on FICS and over 500 people are tuned in.
15784 2009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15785 fix problem with empty string in -firstNeedsNoncompliantFEN
15787 This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with
15788 an empty string as argument. (Which led to truncation of the FEN.)
15790 2009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15791 updates makefiles to include dependency on config.h
15793 adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource
15795 2009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15796 correctly apply some check boxes from the option menu
15798 Usng the check-boxes in the Option->Adjudications menu to indicate the
15799 engine reports absolute scores is now copied directly to the ChessProgramState,
15800 from where it is used, in stead of only to appData. This makes the change take
15801 effect immediately, in stead of after restarting.
15803 2009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15804 score sign in analysis mode
15806 this does not alter any of the current behavior with compliant engines,
15807 but does extend the correction for non-compliant score reporting under
15808 control of the -first(second)ScoreIsAbs option to cases where the engine
15809 is analyzing or playing on an ICS.
15811 2009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>:
15812 fix for bug #28077: xboard needs to link against x11
15814 hopefully fixed automake to take care of this
15816 2009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15817 Fix castling rights when copying FEN to clipboard (again)
15819 missed a spot last time
15821 2009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15822 restoring windows (EngineOutput and MoveHistory) on startup
15824 restoring the open / closed status of the
15825 auxiliary windows (EngineOutput and MoveHistory) on startup
15826 in XBoard like they do in WinBoard, which makes sense now that
15827 we aso remember their coordinates between sessions.
15829 2009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15830 fixed some outstanding pixmaps
15832 fixed transparency issues
15834 2009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15835 use linux style options for config file and add a system config file for XBoard
15837 This patch makes XBoard write the options to its conf file in
15838 Linux style, "-option value" rather than Windows style "/option=value".
15840 The WinBoard option parsing code has always understood both formats
15841 (including any hybrids), but the format it preferred for writing might
15842 look quite strange to Linux users. I also attached a file to be installed
15843 as /etc/xboard/xboard.conf on "make install".
15845 2009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15846 fix window positioning
15848 This patch adds stuff in the header files that allow the various front-end files
15849 to share information on which windows exist, are up, and how they are positioned.
15850 The EngineOutput, MoveHistory and GameList windows now all remember their
15851 position and size, even when they are closed when XBoard exits.
15853 2009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15854 same argDescriptor parsing for Xboard and Winbaord
15856 This patch makes XBoard and WinBoard use the same argDescriptor
15857 list of options, and (largely) use the same code for parsing and saving them.
15858 This is acheived by moving this code to a new file args.h, and #including this
15859 in both winboard.c and xboard.c (so that tiny differences, e.g. in default
15860 values in the table, are decided by the context). XBoard has new menu items
15861 "Save Settings Now" and "Save Settings on Exit" in the "Option" menu.
15862 XBoard uses /etc/xboard/xboard.conf as default settings file.
15863 A new option, -saveSettingsFile, can specify where settings should be saved,
15864 without parsing the file. (So that it also works if the file does not yet exist.)
15866 2009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>:
15867 new developer release
15869 changed release name to <branch>-<date>
15871 2009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15872 fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
15875 2009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15876 use xtell for talking to handles, but tell for talking into a channel.
15878 by changing the chatboxes to use xtell in stead of tell, we broke
15879 the possibility to use the chat-box for chatting into a channel (which is
15880 apparently not possible with xtell).
15882 2009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15883 fix bug in bughouse drop menu
15885 This patch fixes the bughouse drop menu, which was broken by the
15886 new mouse driver, and could no longer drop white Pawns.
15888 2009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15889 2nd step for moving option parsing from winboard to the backend
15891 This is the next step in option-setting refactoring: All options that are
15892 defined in XBoard are now included in the WinBoard ArgDescriptor list.
15893 The handling of sound option has been harmonized: the sound names
15894 now all initially go to the appData array, (as in XB) in stead of directly to the
15895 WB-specific variables, and LoadAllSounds now takes care of the copying.
15896 A new routine ExportSounds copies them back before saving settings
15897 (which, in XBoard, could be a no-op).
15899 The definition of defaults for the XB-only options has been moved to common.h.
15901 2009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15902 1st step for moving option parsing from winboard to the backend
15904 This is a preparatory step in moving option parsing of WinBoard to the back-end.
15905 The table of command-line options now contains a fifth field, holding the compiled-in default.
15906 This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven
15907 initialization routine SetDefaultsFromList(), which could be back-end.
15909 2009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15910 refactoring evalgraph code
15912 This is the refactored EvalGraph code: the back-end part is separated off,
15913 and put in a file evalgraph.c, which in the future can also be used with XBoard.
15914 Only the WinBoard front-end code is left in the file wevalgraph.c. A new
15915 header file defines the variables and routines they share.
15917 2009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>:
15920 some file permissions where set up wrong
15921 (e.g. execute permissions for text files)
15923 2009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15924 refactoring of engineoutput
15926 This refactoring patch separates the back-end part out of
15927 xengineoutput.c, and puts it in a separate file engineoutput.c.
15928 A new header engineoutput.h included by both defines the routines
15929 for cross calling. Similarly wengineo.c will be stripped from its
15930 back-end code, (and renamed to wengineoutput.c), so WinBoard and
15931 XBoard now both use engineoutput.c rather than maintaining duplicate
15932 code in their front-end part.
15934 I also let the back-end now call EngineOutputUpdate directly, rather then
15935 through a relay in the front-end, by renaming it to SetProgramStats
15936 (the former name of the relay in winboard.c / xboard.c).
15938 Moved some templates of functions in engineoutput.c from winboard.h
15941 2009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>:
15942 fixed build on openbsd
15944 added missing header file
15946 2009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15947 improve thinking-output for mulit-variant
15949 Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window.
15951 2009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15952 fix castling rights when copying FEN to clipboard
15954 This 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.
15956 2009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15957 This 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.
15960 2009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>:
15961 fixed prototype for AppendComment
15964 2009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15965 cleaned up some debug messages and typos
15968 2009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15969 variation-support patch
15971 It allows you to Revert to the main line (or previous variation) when
15972 playing variations on an existing game in EditGame or Analyze mode.
15974 2009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15975 fix for new way of saving castling and e.p. information
15977 I forgot to make some conversions to the new-style encoding of castling there
15978 (using the enum constant NoRights instead of -1 to indicate
15979 the absence of rights, which was the price of storing the
15980 rights in the board, which is an unsigned enum type.)
15982 I also was a bit worried about portability, because I casted the enum type ChessSquare
15983 to (int) before comparing it with (possibly negative) constants EP_NONE etc.
15984 Now on my system enum types are (unsigned int), and this works, but I could
15985 imagine there are systems where this would be an unsigned char. (Not sure
15986 if there are rules for this). So to be safe I cast ChessSquare to (signed char),
15987 which should always work to make small negative ints assigned to it read
15988 back as themselves.
15990 2009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>:
15991 removed files that should only be in the windboard directory
15994 2009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>:
15995 add Winboard source files into tar-ball
15997 forgot to add them when rewriting the Makefile.am
15999 2009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16000 Integrate castling and e.p. rights into board array; bugfix for EditPosition
16002 A large-scale operation that I have been postponing since the very first 4.4.0:
16003 The castling and e.p. rights are now integrated into the board array, as
16004 boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and
16005 boards[moveNr][EP_STATUS] replacing epStatus[moveNr]
16006 These quantities are now automatically copied with the position by CopyBoards
16007 (allowing the removal of lots of dedicated copying code), and passed as
16008 function arguments with the position (so that the moves.c functions like
16009 TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal
16010 no longer need explicit e.p. and castling parameters.
16012 Also fixed a bug introduced by a recent previous fix: by adding fake castling
16013 rights to a position set up through the EditPosition menu, I destroyed the
16014 castling rights of a pasted FEN. Faking castling rights is now made conditional
16015 in EditPositionDone(), depending on the caller. (I had not realized it was also
16016 called after FEN pasting, to send the position to the engine.)
16018 2009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>:
16019 added missing library for build on OS X
16021 Xmu seems to be missing
16023 2009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16024 Some code refactoring and cleanup; one small bug fix
16026 Some code refactoring, mainly to bring definitions of routines and variables
16027 shared between winboard.c and one of the auxiliary-windows files
16028 whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file
16029 (winboard.h). Unfortunately this made winboard.h dependent on data types
16030 defined in frontend.h, so that the #include order had to be changed in many
16033 The operation revealed one potentially bad bug: engineOutputDialogUp was
16034 written as int in engineo.c, but declared as char in winboard.c.
16036 I also changed the storage mechanism of the the comment and tags window
16037 positions to use WindowPlacement structs rather than simple variables,
16038 so that in the future they can be docked, like the others.
16040 I also removed some remnants of the Analysis window.
16042 The wgamelist.h and wedittags.h header files contained only 3 lines, and
16043 I absorbed them in winboard.h, rather than creating other such nearly empty
16044 headers engineo.h, whistory.h and wevalgraph.h. This affects the make files.
16046 2009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16047 let the clocks run in -searchTime mode
16050 2009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16051 add fixed time per move to the WinBoard time-control menu dialog
16054 2009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>:
16055 updated version number to unstable
16058 2009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>:
16059 release of version 4.4.1
16062 2009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16063 cleaned up ChangeLog and NEWS
16065 2009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16066 use xtell instead of tell in wchat
16068 2009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16069 prevent buffer overflow
16071 This is a buffer-size adjustments to prevent the JAWS version from
16072 crashing when it has to read out loud very long comments.
16074 2009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>:
16075 Further copy/paste fixes
16077 We needed to implement the XA_TARGETS target in order for more
16078 sophisticated apps to really believe we put anything on the clipboard
16081 2009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>:
16082 Make copy/paste position and game use clipboard, bug #27810
16084 Copy actually sets both the clipboard and the selection for
16085 convenience and compatibility with the old way of doing things.
16086 Paste pastes from the clipboard by default, but the new -pasteSelection
16087 option lets you get back the old behavior of pasting from the
16090 2009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16091 switch focus to the board after loading a game
16093 2009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16094 fix for bug #27826: fixed autoDisplayComment
16096 apparently the -autoDisplayComment option was not working,
16097 not even in WinBoard. This patch should fix it,both for WB and XB.
16098 (Unfortunately xboard.c and winboard.c were using a different name
16099 for the same front-end variable I needed, so I had to change one of them.)
16101 2009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16102 fix for bug #27826: ported two options to xboard
16104 also updated the documentation
16106 2009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16109 turns out the new mouse handler broke the JAWS patch, as I discarded
16110 the function IsPromotion. I adapted it to call HasPromotionChoice instead.
16111 Also fixed two arnings by removing a no-longer needed debug print.
16113 2009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>:
16114 reformated html to be correctly validated
16116 2009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16117 quick fix for "White Mates" in parser.l
16119 2009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>:
16122 2009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16123 changed stderr to debug output, since stderr is closed in winboard
16125 2009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16126 removing empty lines from ICS play
16128 this patch causes removal of spurious prompts during ICS play
16129 also if the prompt is preceeded by a number of empty lines
16130 (as the board for the opponent move is on FICS).
16132 2009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16133 another bug in VariantSwitch: an unitialized board was printed.
16135 Must have been there a long time, but this time it crashed WinBoard.
16137 2009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16138 more work on variant switch
16140 the previous solution to the cosmetic problem of displaying a wrong shuffle
16141 in an ICS game that was observed from the very start unfortunately turned
16142 out to cause a real error in diplaying a stored game through the smoves
16143 command, for variants not using the FIDE setup as standard.
16145 This patch displays the position from before setting up the start position
16146 of the new variant, but does setup boards[0] to the initial position of that
16147 variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board
16148 will immediately be sent from the ICS to correct the shuffle.)
16150 2009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16151 force full redraw in winboard
16153 Full redraw is now always forced when highlightMovesWithArrow is on,
16154 rather than only when highlight info is available. (As in drop moves the
16155 latter is invalid, but we must still erase the arrow from the previous move.)
16157 2009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16158 fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle
16159 when observing shuffle games from the first move (#27790 bis),
16160 and the sounding of the FICS bell on crazyhouse captures (#27772 bis).
16162 2009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16163 fixed bug related to unsigned char in convert.c
16165 I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the
16166 129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed
16167 afterwards (so I could use it to create a new m33s.bm)
16169 2009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>:
16170 unguarded debug printf. added the appropiate if statement
16172 2009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16173 fix for two compiler warnings
16175 2009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16176 fix for bug #27799: fix for nested-nested-nested variations
16178 2009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16179 The book-probe code forgot to close the book file after opening it.
16181 fixed by adding an fclose at two points.
16183 2009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16184 removed unused v54?.bm bitmaps from resource file
16186 it seems the v54?.bmp bitmaps were actually included in the WinBoard build
16187 (in the resource file), although they were never actually used. So I have
16188 removed their inclusion in the resource file now.
16190 2009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16191 replaced defective bitmaps with copies from 4.2.7
16193 2009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16194 removed bitmaps files that are not needed any more
16196 2009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16199 2009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>:
16200 Drop an obsolete script that was only used to update my personal web site
16202 2009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>:
16203 Silence warnings when compiling 64-bit xboard
16205 Some harmless warnings were caused by 64-bit mode having 32-bit
16206 int but 64-bit long and pointer. Add casts (etc.) to silence them.
16207 This might require adding a definition of intptr_t (a signed int
16208 type that is the same width as a pointer) on old systems that don't
16211 2009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>:
16212 Fix up man page some more
16214 Sigh, the project history was still partly in reverse chronological
16215 order and partly in forward order. Swapped the order of some
16216 sentences to help straighten it out. I don't really care about this,
16217 so other project members should feel free to do what they like here,
16218 but the messed-up order was bugging me.
16220 2009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>:
16221 Fix some issues in the XBoard man page
16223 Correct places where the XBoard man page was calling XBoard
16224 "WinBoard". Change references to "WinBoard engines" and "WinBoard
16225 protocol" to "XBoard/WinBoard ...". Update bug reporting guidelines.
16226 Reorganize project history to something more like chronological order
16227 -- it had gotten pretty randomly ordered.
16229 2009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>:
16230 new pre-release version; updated version numbers
16232 2009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16233 This patch adds <Enter> to the characters that cause an automatic
16234 switch to the ICS console when typed to the board window.
16236 2009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16237 fix to the minor graphics issue contained some typos,
16238 as was remarked in the bugs reports
16240 2009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16241 improved mouse handler
16243 The improved mouse handler still needed an extra call to DrawPosition to
16246 2009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16247 NPS plays and pondering
16249 Clock updating did not work correctly in node-based time controls when the
16250 engine was pondering. (It was not really meant for use with pondering. Oh well...)
16251 This patch checks if the engine reporting the node count is indeed thinking
16252 (as opposed to pondering).
16254 2009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16255 holdings update and regression fix
16257 The holdings-update patch was not yet satisfactory, because FICS seems to send
16258 holdings both before and after the board! And those received before did overwrite
16259 the holdings received after the previous board. I know tried to fix that in a kludgey
16260 way, by hiding a flag in the board that tells if the holdings have already been written
16261 by the ICS or not, and ignore new holdings when they are. (Except in bughouse,
16262 where holdings updates cannot be tied to a particular board and multiple updates
16263 between boards are normal. (I hope?).)
16265 I also undid a regression in my previous fix for the minor graphics problem,
16266 and solved it in a slightly different way to prevent flicker.
16268 2009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16269 improved mouse handler
16271 I improved the mouse handler in a way which will preclude disappearence of pieces
16272 on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
16273 in the "premove bug?" thread. Also the command-line premove problem reported there
16274 is now fixed, by removing the prefixing.
16276 2009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16277 fix for bug #8847: moving backward while examining on FICS not reported to engine
16279 I moved Daniel's code that backs up the engine when a bord with a
16280 lower number is received to a place where it is always done in zippy mode,
16281 rather than only when the engine is analyzing.
16283 Apart from taking back moves, there was also the case where the
16284 user moves forward by more than one move (usually immediately to
16285 end-of-game). In this case a new movelist is fetched from the ICS
16286 to recover the moves that were skipped. But this assumes that the
16287 engine is at the start of the game and feeds all these moves to the
16288 engine. So the engine had to be reset in this case to stay in sync.
16290 2009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16291 better init for random number generator
16293 2009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16294 fix for bug #27772: holdings not updated
16296 holdings lines from the ICS nor update the holdings
16297 of boards[forwardMostMove] in stead of boards[currentMove].
16299 2009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16300 allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
16302 This patch allows parsing / disambiguation of SAN moves like Xe4, if there
16303 is only one wild-card piece X on the board. Moves with wild-card pieces
16304 are now considered illegal if they leave the King in check by a piece of
16307 2009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16308 fixed bug when switching to variantsuper
16310 2009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16311 fix for bug #27715: 2 (minor) graphic issues
16313 I forced a total redraw when Reset is called from the ICS code in case a
16314 new game is encountered, in the hope it will make the reported
16315 (irreproducible) problem go away. As game switches are not frequent, I
16316 guess there is hardly any downside to this.
16318 2009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16319 fix for bug #27667: PV line missing in analysis window, part 3
16321 "3. Wish for Engine state string (right to the icon):
16322 Can you add the actual search depth in analyzing mode? A change like "
16324 I also added the requested display of depth of the analysis move in the
16325 EngineOutput window. I guess a similar change could be made to wengineo.c
16326 (as this is in the code they share in common), but no one ever requested
16327 that in the 5 years since Alessandro wrote it. So for now I leave it alone.
16329 2009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16330 fix for bug #27760: debug printf in backend.c and additional check for variant
16332 2009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>:
16333 fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
16335 this is correct, deleted the text out of the documentation that claims we support it
16337 2009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>:
16338 new alpha version; first one with new naming scheme
16340 2009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16341 smarter analysis of the boards that XBoard receives from an ICS
16343 I added smarter analysis of the boards that XBoard receves from an ICS,
16344 based on board size and piece types in the position, to recognize cases
16345 where the board does not match the current variant, and switch to an
16346 appropriate variant.
16348 2009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16349 fix for bug #27667: window should be reference to toplevel
16351 The remaining objections of #27667 should be fixed by bringing the
16352 EngineOutput window under control of the TOPLEVEL compile-time switch.
16354 2009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16355 partly fix for bug #27715: scaling of menu bar
16357 the menu bar to the left edge of the window.
16359 2009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16360 fixed bug reported in WB forum: second game of a match would
16361 not start when using the GUI book
16363 2009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16364 fix for bug #27751: negative holding counts displayed
16366 I put code in the back-end to prevent holdings counts from
16367 becoming negative when a drop move is made from empty holdings.
16368 (This can happen when re-loading ICS bughouse games,
16369 as the smoves command fails to fill the holdings.)
16371 2009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>:
16372 Updated compiling instructions.
16374 2009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>:
16375 Changes to allow fonts with any charset (such as terminal)
16377 Affects winboard only.
16379 2009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>:
16380 Moved SIGWINCH signal so it can be used...
16382 I goofed putting this in StartChildProcess() originally.
16384 2009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>:
16385 Added internal wrapping ability.
16388 -wrapContinuationSequence "foo" (default: "\\ "
16389 -useInternalWrap (Winboard default: false, XBoard default: true)
16391 Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
16392 useInternalWrap setting. The idea is if you want to keep ICS line
16393 breaks, then you don't want internal wrapping. Because of this,
16394 the new default for keepLineBreaksICS is now false for XBoard.
16396 2009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16397 fixed segfaul in convert.c used to convert pixmaps
16399 2009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16400 new mousehandler to correct for premove and promotion popup
16402 this is the new mouse handler for XBoard, which should fully implement
16403 premove, including promotion popup, and yet suppress the promotion popup
16404 on illegal moves that are not premoves. It is almost completely moved to
16405 the back-end now, so that WinBoard will be able to use it as well. I just
16406 must hook it up to winboard.c, in particular harmonize the call-backs of
16407 the mouse driver into the front-end for grabbing and releasing pieces for
16408 dragging, to make sure they have the same names and arguments.
16410 2009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16411 updated black fairy pieces
16413 here is a set of black fairy pieces with opaque white details,
16414 so they have the same style as the orthodox XBoard pieces.
16416 2009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>:
16417 Adjustment to joining to work around server not always including space.
16419 This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004
16420 into the updated joining routine. This issue seems not to be server
16421 variance, but instead the server electing to omit the space between
16422 words when it occurs at exactly your width setting (-1 actually).
16424 This patch makes the joiner add back the space just like the referenced
16425 commit. Note: this is just a workaround to a server issue-- the joiner
16426 actually joins correctly before this patch.
16428 2009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>:
16429 Fixed joiner detection, allowing it to work with timeseal
16431 When timeseal's buffer fills in the middle of the continuation
16432 sequence, detection fails, and the lines aren't joined.
16434 As a result of this fix, measures intended to bypass joining are
16435 no longer needed, so I removed them. These utilize server vars
16436 when available to prevent splitting.
16438 2009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16439 fixed engingeoutput routine
16441 removed outdated code regarding analysis window
16443 2009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16444 moved bitmap to correct location
16446 was misplaced in a previous commit
16448 2009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16449 fixed wrong number of arguments for EngineOutputPopUp
16451 2009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16452 new bitmap converter (including fill option) and new pixmaps
16454 2009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>:
16455 forgot to add these two lines to the last commit
16457 2009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>:
16458 removed AnalysisPopUp. Use EngineOutputPopUp instead
16460 this was already in Winboard, copied it to xboard and removed unused code.
16462 2009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16463 Proper board and holdings size when switching to variants
16464 gothic, capablanca, great and super within an ICS game.
16466 2009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>:
16467 cleaned up an old #ifdef in zippy
16469 2009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>:
16470 neglected this for the auto-width updating in xboard
16472 2009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>:
16473 Added server width adjustment based on client width changes
16475 2009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>:
16476 silence some compiler warnings
16478 2009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>:
16479 Maintainence to support all compilers.
16481 2009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>:
16482 Adjusted alternative joining method to obey keepLineBreaksICS
16484 2009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16485 fix for bug #27668: e.p. field still not passed to engine
16487 PositionToFEN now takes the e.p. rights from epStatus[moveNr],
16488 rather than calculating it on the spot from moveList[moveNr-1]
16489 (which failed on the first move).
16491 2009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16492 fix for bug #27666: naming of variants
16494 Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
16495 to not get confused by the board "misc shogi" run by FICS.
16497 2009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16498 changed enable menus
16500 Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
16501 in the appropriate enable lists for graying them out wen not applicable.
16503 2009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16504 Added a command-line option -keepLineBreaksICS true/false to control line joining.
16506 2009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>:
16507 Added code to prevent unnecessary width updates.
16509 2009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>:
16510 Turned off wrap when possible on ICS servers.
16512 Turning off line wrap prevents splitting lines up using the
16513 continuation sequence "\\ ". This is desirable when using
16514 timeseal because timeseal's buffer is sometimes too small,
16515 causing it to break lines itself. These lines can't be joined.
16517 2009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>:
16518 vsnprintf() must be _vsnprintf() for MSVC
16520 2009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>:
16521 added code to handle initial width update
16523 2009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>:
16524 Added width updates to ICS client on font and window size changes
16526 What still needs to be done is placing an update call after login
16527 to initialize with the correct width. I didn't see where to put
16530 2009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>:
16531 added ics_printf() and ics_update_width() and utility functions
16533 2009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>:
16534 Cleaned up ConsoleWndProc (not complete, see below)
16536 Using static variables this way is not appropriate. I only addressed
16537 hInput and hText in this commit though. But imagine the WndProc being
16538 used by multiple windows instead of just one, and you can see why
16539 using static variables in this way is wrong.
16541 2009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>:
16542 Restructured URL code so it fits better with how winboard is set up.
16544 2009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>:
16545 cleanup: removed "#if 1" statements
16547 2009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>:
16548 cleanup: removed "#if 0" from source
16550 a bit of cleanup of the source code
16552 2009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16553 fix joining of lines split by ICS
16555 This patch fixes the joining of lines that were split by an ICS, so that adding
16556 a space at the break point is done only when there was not a space already.
16557 (Some ICS leave a space at the end of the broken line, others do not.)
16558 An extra space would interefere with board12 in Gothic Chess, which is so
16559 long that the ICS breaks it, and the WB parser could not handle a double
16560 space within the board.
16562 2009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16563 fix for bug #27642: Clock jumps strangely in engine mode
16565 This moves SwitchClocks() back to after incrementing forwardMostMove,
16566 so that it knows again who has the move (which was broken by the "bare" patch),
16567 and will take the appropriate tick length.
16569 2009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16570 removed test for premove
16572 this was added while looking for the premove bug, but is not needed
16574 2009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>:
16575 added URL detection and provided hotlinks in the ICS client
16577 2009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>:
16578 reverted winboard.c beofre URL commit to correct whitespace conversion
16580 2009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>:
16581 Added URL detection into the console text window for ICS.
16583 2009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>:
16584 added some comments and formated code
16586 2009-10-08 23:46:52 -0700 Chris Rorvick <>:
16587 fix printing out help message (list of command line options) (tiny change)
16589 The postfix increment always resulted in an attempt to print out an
16590 option on the right side regardless of one actually existing. Use
16591 prefix increment to prevent a crash when printing an odd number of
16594 2009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>:
16595 Updated navigation accelerators, fixing ICS problems.
16597 Recent changes to the navigation accelerators were in the wrong
16598 accelerator table. Since the goal was to correct non-JAWS versions
16599 back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
16600 retained the #ifdef JAWS conditional compilation.
16602 On an ICS, the navigation keys took control away from the ics
16603 client to navigate the game. The update requires the ALT key to
16604 be pressed, but it works identical to 4.2.7, not causing an
16605 unexpected focus back to the board window when you're just editing
16608 2009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16609 fixed premove recapture problem;promotion popup appearing on
16610 obviously illegal moves; promotions in Superchess and Great Shatranj
16612 1) the premove recapture problem
16613 2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
16615 3) promotions in Superchess and Great Shatranj, where the piece can now be
16616 selected from the holdings
16618 2009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16619 added forceIllegalMove to xboard
16621 2009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>:
16622 bugfix: segfault when invalid option argument was given (bug #27427)
16624 when given a wrong argument to an option (e.g. -tc 0) xboard aborts
16625 before setting up the window, but tried to write a message to the
16626 messageWidget which doesn't exist at that point.
16628 2009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16629 small improvement for JAWS version
16631 This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
16632 As focus does not stay on the Comment window, the comment was not spoken otherwise.
16634 2009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16635 updated to winboard internationalization scripts
16637 Also a slight improvement of the internationalization scripting,
16638 to prevent it from crashing on messages containing a slash.
16640 2009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16641 new forceIllegalMoves option
16643 The -forceIllegalMoves option uses setboard or edit to force a position
16644 when an engine refuses the move leading to it by an "Illegal Move" message.
16645 Especially for engines using the edit command this was a bit tricky,
16646 because of the a2a3 kludge to avoid using the white and black commands.
16648 2009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>:
16649 removed _winmajor if not defined so that VC 2008 can compile the project
16651 The oldDialog variable should just be set to 0 in all cases now, and
16652 as such, legacy code supporting the old dialog ought to be removed.
16653 The test for _winmajor is against < 4, which is always false at present,
16654 causing oldDialog to be 0 in every conceviable circumstance.
16656 2009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>:
16657 getting ready for 4.4.1 release
16659 2009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>:
16660 Simplified future version changes.
16662 Added a numeric version to config.h that is now used in winboard.rc
16663 instead of being hard-coded there. Just be sure to preserve the
16664 proper format (4 comma-separated 16 bit integers) or else it won't
16667 2009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>:
16668 updated version number to 4.4.1.pre
16670 should have done this straight after the last release, but forgot...
16672 2009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16673 worked on premove bug
16675 I made an attempt to make premove unsensitive to a race condition,
16676 just in case the premove problem was caused by that (which seems unlikely,
16677 but in any case I added some debug printout to test this).
16679 2009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16680 fixed loading of saved games via command line
16682 the variables forwardMostMove and backwardMostMove where set to zero
16683 at the wrong place.
16685 2009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16686 small fixes for the JAWS version
16688 * I moved saying 'check' by the JAWS version to where castling also benefits from it.
16689 * I made sure the check symbols are also recognized on promotion moves
16690 * In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
16692 2009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>:
16693 Fixed bug dereferencing garbage, causing crash.
16695 Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
16696 resultDetails of the gameInfo structure. That exact code exists a few lines
16697 above where it was added. None of these free() calls finish by setting the
16698 member to NULL afterword, therefore repeated attempts to test/free() the
16699 members result in an attempt to free() memory winboard no longer owns, and
16702 link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
16704 2009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>:
16705 Added wchat.c to the project files we maintain.
16707 2009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>:
16708 Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
16710 2009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>:
16711 Add resource ID for new Mute menu item.
16713 I know this was probably done by HG, and simply left out of
16714 his commit. Anyway, the project can be built now after this change.
16716 2009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>:
16717 Use of strcasecmp() broke Visual C++.
16719 2009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>:
16720 wrong default value for engineDebugOutput
16722 the new default is now 1
16724 2009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>:
16725 updated cmail.in to adapt the CVS->git change
16727 don't reference $Revision:$ anymore.
16728 Instead use reference xboard-version via autoconf.
16730 2009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16731 bugfix for protocol extensions: egtbpath -> egtpath
16733 A new and very bad bug was discovered in the implementation of
16734 the protocol extensions: XBoard sends a command "egtbpath" to the
16735 engine in stead of "egtpath" from the protocol specs.
16736 After discussion on WB forum it was decided that egtpath was better
16737 than the egtbpath I originally had proposed, and I changed it accordingly,
16738 but I had not realized that this string occurred TWICE in backend.c,
16739 depending on if matched the -defaultPathEGTB of -egtFormats option.
16740 I only changed the first occurence.
16742 2009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16743 fix for edit-position "moves" being sent by XBoard to the engine
16745 2009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16746 Engine did not start playing when out of GUI book on second move with white
16748 2009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16749 Opening Engine #1 Settings crashed XBoard when there were no
16750 text-edit options in the dialog (to which to set keyboard focus)
16753 2009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16754 added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
16756 2009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16757 Updated the RTF docs for the chat windows, engine-settings dialog,
16758 /keepAlive option and new game-list tag
16760 2009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16761 Made the beep sounds for JAWS board navigation configurable through
16762 command-line options
16764 2009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16765 Prepared a system to internationalize the WinBoard menus
16767 2009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16768 added the result comment to the game-list tags when the game list is
16769 exported to the clipboard
16771 2009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16772 rewrote wevalgraph for better frontend/backend separation
16774 I have finished re-writing the eval-graph code to have some
16775 front-end / backe-end separation, something I had already started on my
16776 holiday in Norway (when I had no internet :-) ).
16777 The new code now appears to work exactly like the old code,
16778 and I guess it could be ported to gtk comparatively easily.
16780 2009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16781 fix for keepalive and chat window
16783 I made a fix to the keepAlive option so it does not send the date command
16784 to the ICS after every move. This required changing ScheduleDelayedEvent()
16785 so that it does not execute the event if a new identical one gets scheduled.
16786 I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c
16788 (This also cures the regression of the winboard.c copyright patch)
16790 I extended the chatbox patch to also listen to channel tells, and divert
16791 them to a chatbox for that channel number. Affects
16792 backend.c and wchat.c
16794 That should make those patches fully operational. No docs for either of them
16797 2009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16798 fixed parse bug for pgn files
16800 fixed the existing bug that the time-control tag was displayed as "?"
16801 in the game list; turns out it was never parsed on reading PGN files
16803 2009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16804 allow the result comment as a display item in the game list
16806 2009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16807 fixed the HAVE_LIBXPM-dependent compile errors
16809 2009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16810 added a chat window to keep track of multiple conversations
16812 The chat-window patch affects:
16813 winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
16814 the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
16816 In addition I added a new option -keepAlive, which affects
16817 common.h (in addition to winboard.c and backend.c).
16819 As I had to modify backend.h, I also defined the -reset option type there,
16820 which we are going to add later. This required some changes
16821 to suppress warnings in wsettings.c.
16823 2009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>:
16824 more files for git to ignore
16826 most of these are generated by make distcheck
16828 2009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>:
16829 another bug fix found by Stanislav Brabec
16831 returned -1 in some case although the variable was a char...
16832 changed to signed char
16834 2009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>:
16835 Swapped 'tell' and 'message' parsing order for colorization.
16836 Sometimes messages are relayed as tells and should be colorized as tells.
16838 2009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>:
16839 added some more files to be distributed via make dist
16841 as suggested by Stanislav Brabec
16843 2009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>:
16844 fixed some implicit declarations reported by Stanislav Brabec
16846 2009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>:
16847 fixed a few more small bugs reported by Stanislav Brabec
16849 - A function uses a 'return;' statement, but has actually a value to
16850 return, like an integer ('return 42;') or similar: xboard voidreturn
16851 xengineoutput.c:766, 782
16853 - Program returns random data in a function at xengineoutput.c:602
16855 - With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker
16856 ignores them. Fix is attached.
16858 - ToDo: Convenient name in most projects is TODO (autotools package it
16861 2009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>:
16862 reverted .texi file and fixed Makefile.am
16864 the problem was actually not in the texi-file, but the Makefile.am.
16865 Reverted changes in the .texi and fixed it (hopefully) correctly now.
16867 2009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>:
16868 get "make distcheck" to work
16870 needed to add all *.h files to Makefile.am and also the bitmaps that
16871 are needed and some other files. Also had modified copyright.texi.
16873 2009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>:
16874 changed to version 4.4.0
16876 2009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>:
16877 updated AUTHORS, README and ChangeLog files for release
16879 2009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16882 2009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16883 set castling rights after setting up a position
16885 I was going through old WB forum posts, and I encountered a
16886 bug report for a bug that I never fixed: The castling rights should
16887 be properly set (actually: cleared) after setting up a position
16888 in Edit Position mode (as opposed to pasting a FEN).
16890 2009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>:
16891 removed install files from master
16893 they now live in their own branch
16895 2009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16896 updated polyglot protocol
16898 I added a new option type "-reset" to the protocol for the new option feature.
16899 4.4.0 does not implement it yet, but Michel wants it for future Polyglots,
16900 and I think it is best to update the protocol in one big swoop.
16901 So I want to already include it in the specs now. (engine-intf.html)
16902 I made xboard's response to an unknown option type compliant
16903 with the new protocol specs.
16905 2009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16908 2009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>:
16909 Updated project files for DevCpp and Visual Studio to add wsettings.c
16911 2009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>:
16912 Added newline at end of file to silence warning.
16914 2009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16915 workaround for error message for missing pieces used in variants
16916 and initstring bugfix: error messages showed for non-existing pieces
16917 showed up for old user supplied pixmaps.
16918 Loading a pixmap of the king for the missing pieces now.
16920 Another bad bug surfaced: the -initString argument does not work in any
16921 XBoard version! (Including 4.2.7b) The escape sequences for linefeed in
16922 the string are not understood: -initString "new\nrandom\n" actually sends
16923 the \ and n to the engine (which then does not recognize the line as a
16926 So I also added a patch to expand escape sequences in the InitString and
16927 ComputerString command-line options.
16929 2009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16930 updated installe script
16932 I re-organized the doc files in the install, so they now all go in the
16933 WinBoard\doc folder (and none in the root). I so included the COPYING
16934 and COPYRIGHT files there. This required some updates of the links in
16935 some html files, and of the menu link to README.html in the install script.
16936 I also fixed an error with the current directory
16937 in the menu short-cuts of some engines (which started in the fonts folder,
16938 and could not find the opening book there...).
16940 2009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16941 updated documentation
16943 2009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16944 updated installer script
16946 2009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16947 new help files for windows
16949 2009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16952 2009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16953 undid some previous changes
16955 some files got mixed up
16957 2009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16958 fixed small bug in wsetting
16960 2009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16961 trigger a focus switch to ICS input field when typing
16963 old behavior was that "." or "," triggered this,
16964 now every printable character except 1-9 will trigger the focus switch
16966 2009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16967 bug in backend.c when receiving lines from ICS
16969 A space was appended to every character received from an ICS
16970 in stead of just at line breaks.
16972 2009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16973 fixed warning messages from compiler
16975 2009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>:
16976 fixed build on OS X
16978 this seems to fix it. Bug reported by Louis Zulli who also did the testing.
16980 2009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16981 OK, this is the beefed up version of the Polyglot info-string kludge,
16984 2009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>:
16985 added missing X_LIBS references to Makefile.am
16987 2009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>:
16988 made the install script and executable
16990 2009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>:
16991 changed beta1 to beta2
16993 2009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>:
16994 fixed enable zippy in configure script and added some checks for OS X
16996 make tried to compile zippy even when --disable-zippy was given.
16997 Also fixed a bug in xboard.c where #ifdef instead of #if was used
16998 to test for ZIPPY (it's either 0 or 1, so we need #if). Also added
16999 some special checks for OS X, not sure if these will do it, but it's a start;)
17001 2009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>:
17002 added configure summary to configure output, also cleaned up configure.ac a bit
17004 used AS_HELP_STRING where possible
17006 2009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>:
17007 added check for malloc.h
17009 this should fix a build error on OS X
17011 2009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17012 A small cosmetic change in the size of buttons
17013 inside a groupbox of the Engine-Setup dialog.
17015 2009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17016 make xboard usable with UCI engines
17018 I made a small patch in xoptions.c (where the corresponding Engine Settings
17019 dialog was for XBoard), to make it at least usable for UCI engines: I now
17020 divide the options over upto 4 columns, if there are too many to fit into
17021 a single column. This seems to work. Still looks very ugly, but it is
17024 2009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17025 fix premove for winboard
17027 This might fix the illusive premove problem. In 4.2.7 the code was not properly
17028 indented, and this led to an unbalanced braces error that I then fixed the
17029 wrong way. Click-click premoves did only work after clicking the toSquare twice.
17030 It might be that they actually did work after clicking it once,
17031 but that the highlights were not displayed (although set)
17032 for lack of a display refresh.
17034 2009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17035 fixed bug for double saved games
17037 This patch should solve the problem with doubly saved games when XBoard is
17038 closed. I calculate a cecksum of each saved game now (including move comments),
17039 and suppress saving if the checksum is not changed.
17041 2009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17042 fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c.
17044 2009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17045 updated xboard.texi: added warning that pixmaps are not build for all variants
17047 2009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17048 added a dialog for engine-specific option settings
17050 2009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17051 updated some documentation
17053 2009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17054 fixed several bugs in the backend and added some more polyglot support
17056 * I added recognition for the new UCI3 option types that are recognized in the WB
17057 option features, to make sure this version is compatible with future Polyglots.
17058 Also fixed a bug that failed to strip an asterisk prefix from the first
17061 * I fixed the ICS-time-in-PGN bug.
17063 * I fixed a bug which caused a space to be missing when long lines broken up by
17064 an ICS were joined.
17066 2009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17067 better polyglot support for engine ouput
17069 I fixed the algorithm for clearing the Engine Output window to work better with
17070 the latest Polyglot, whight outputs UCI "info strings" amongst the thinking
17073 2009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>:
17074 Beginnings of installer for 4.4.0. HGM asked me to forward the nsi file,
17075 but it seemed best to just add the installer tree to git even though
17076 it's not finished. You must install NSIS then FontName-0.7.exe
17077 (included in installer folder) then run build.bat in the same directory.
17079 2009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17080 patch backend.c to make the -noGUI option also work in ICS mode.
17082 2009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17083 temporary fix for pre-select
17085 As a temporary kludge I replaced looking into the holdings for the piece type
17086 by figuring out which piece would belong on the clicked holdings square.
17087 This is a non-trivial process, as it depends on which pieces participate
17088 in a certain variant.
17090 2009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17091 changed click-click moves
17093 I got complaints about the way XBoard 4.4.0 handles click-click moves,
17094 in particular changing the selected piece after selecting King
17095 (for which I suppressed interference with FRC castling in a rather brutal way).
17096 People tell me it is very annoying that clicks sometimes don't work to select a piece.
17097 WinBoard uses refined logic in the back-end to handle this, but the XBoard
17098 front-end is not interfaced with that yet.
17099 (This would require a major rewrite of the mouse handler.)
17100 This temporary patch suppresses this behavior in all variants that do not support
17101 Fischer castling, and even there only exhibit it for Rook-after-King selection
17102 (which will be interpreted as an attempt to enter a castling move as K x own R).
17104 2009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17105 option -adjudicateDrawMoves is not included in the XBoard list.
17107 added it to the option list
17109 2009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>:
17110 converted files from dos to unix format
17112 run dos2unix over a bunch of files
17114 2009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>:
17115 Stripped out unused VersionInfo
17117 2009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>:
17118 changed version to 4.4.0.beta1
17120 2009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>:
17121 updated INSTALL file to add ./autogen.sh
17123 2009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17124 higher number of engine options possible now
17126 I upped the number of options per engine from
17127 50 to 100, and the average number of characters per option from 10 to 20.
17129 2009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>:
17132 2009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>:
17133 Added version information to resources.
17135 2009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>:
17136 Added Jaws targets to IDE projects.
17138 2009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>:
17139 Final makefile adjustments and compiling instructions.
17141 2009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>:
17142 Cleaned up garbage left behind from my makefile update.
17144 2009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>:
17145 Updated cmdline makefiles to be able to produce JAWS binaries.
17147 This breaks support for MSVC 4.x. It may still be possible to
17148 use that compiler if you obtain the latest SDK from Microsoft.
17149 MSVC 6.0 still works, but I had to change the target windows
17150 version to 0x500 which causes warnings about building beta
17151 applications. This is all due to the use of MENUBARINFO data
17152 type in the jaws binary. You can reduce the WINVER to 0x0400
17153 safely if you are not building a JAWS binary, and MSVC 4.x
17156 2009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>:
17157 Removed dependency on jfwapi.h
17159 Allows anyone to compile a jaws compatible binary.
17161 2009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>:
17162 Fixed duplicate resource in winboard.rc
17164 PLEASE remember to pull before commiting. This is the 2nd
17165 time I've fixed this. It's a waste of time to keep fixing
17168 2009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>:
17169 resolved conflict between Xt and Xaw libraries
17171 seems like we don't need to link against Xt.
17173 2009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17174 help-menu was not un-grayed in the JAWS version, when it played with engines
17176 2009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17177 integrated jaws into winboard
17179 I integrated the JAWS patch now into WinBoard in such a way that the
17180 JAWS and standard version can use the same resource file. This new
17181 winboard.c contains the improved dialog layot of the JAWS version,
17182 but none of the menus and JAWS-specific acclerator keys. The latter
17183 are now generated at run time by code in jaw.s. As a result jaws.h
17184 could be cancelled, as there the JAWS-specific defines are no
17185 longer needed outside jaws.c (now the .rc does not use them), and
17186 is incorporated in it.
17188 2009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>:
17189 fixed problem in autoconf using Xaw3d
17191 rewrote the section for Xaw3d in the autoconf file
17193 2009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>:
17194 Added Jaws support to GCC makefile
17196 2009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>:
17197 added help support: MSVC IDE and DevCpp IDE project files
17199 2009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>:
17200 Removed obsolete makefiles and support files.
17202 2009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>:
17203 updated AUTHORS with the help of git. use
17205 git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD |sort |uniq
17207 a bit of hand editing and a quick emacs macro later and you have a nice
17208 comma seperated list of all files changes by one author between two commits.
17210 2009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>:
17211 updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7
17213 2009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>:
17214 cleaned up some more copyright notices
17216 2009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>:
17217 updated copyright to reflect A. Scotte as copyright holder
17219 need to mention him, since the paperwork won't be finished before the next release
17221 2009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>:
17222 updated patchlevel to "k"
17224 2009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>:
17225 fixed autoconf problem with VERSION/PATCHLEVEL variables
17227 xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables.
17228 Switched to PACKAGE_STRING provided by autoconf
17230 2009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>:
17231 cleaned up old CVS left overs
17233 removed $Id tags from all files
17235 2009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>:
17236 converted xhistory via dos2unix
17238 2009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17239 fixed crash in history window
17241 someone discovered that opening the move-history window in XBoard leads to
17242 an immediate crash. Turns out that renaming the menu item broke it! (The
17243 name of the item was apprently used elsewhere in the code to access it,
17244 for putting a check mark there.)
17246 2009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17247 fix for Animation of castling moves in Chess960
17249 Animation of castling moves in Chess960 turned out to sometimes make the
17250 king disappear from the display. For the time being I patched this in
17251 xboard.c to suppress animation of FRC castling moves altogether. As FRC
17252 castlings internally are represented as KxR, the to-square does not make
17253 sense anyway, which made the animation look very weird even when it led
17254 not to a king disappearance act. And the Rook move of a castling is never
17257 2009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
17258 Update GCC makefile to remove .obj targets.
17260 Dunno how they got in there, but they should be .o
17262 2009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>:
17263 Update makefile dependencies on help.c and help.h.
17265 2009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>:
17266 Allow compiling with MSVC6.0 and 4.1
17268 Move prototypes into help.h, after making sure that DWORD_PTR is
17269 defined. Include help.h from winboard.c and help.c so both files
17270 benefit from the definition.
17272 2009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17273 lists these accelerator keys in the menus for JAWS
17275 2009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17278 This patch allows the use of Ctrl+C and Ctrl+V for Copy Game
17279 and Paste even in I C S mode when the board has focus.
17281 2009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17282 better handling of pasting a game without PGN tags
17284 patch in wclipbrd.h to make it smarter to decide between pasting
17285 a game or a position so it can handle games without PGN tags.
17286 If it doesn't parse as a FEN it is assumed to be a game.
17288 2009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17289 fixed parser error for knight move
17291 The parser had a strange quirk: it recognized bd2 as a valid Knight move
17292 (Nb1-d2) while this SAN format should be reserved for Pawn moves only.
17294 2009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17295 fixed a few warnings in connection with the help patch (now warning free)
17297 2009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17298 some major re-assignment of accelerator keys in the JAWS
17300 2009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
17301 several small fixes
17303 uptracked winboard.ini
17305 * Cleanup: moved "Some definitions required..." from winboard.c to config.h,
17306 and combined some definitions from borland w/ MS.
17308 * Changed internal HtmlHelp return type and 4th argument to facilitate various
17309 compilers. These changes, while not strictly adhering to HtmlHelp() conventions,
17310 won't impact anything since the function modified is internal only.
17312 * Modified HtmlHelp return values to integer to silence warnings.
17313 * Added help.c to the project in makefile.gcc & makefile.ms.
17314 * Fixed duplicate resource in winboard.rc.
17316 2009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17317 added JAWS support; help files for Vista; bugfixes for winboard.c
17320 * help files should now work under Vista (the user has to have either
17321 a program to view old windows help files or to view html-files installed)
17322 * I fixed the tabbing between all windows that were added according to Tim's sugestions.
17323 * I added typing in of a move number in the move type-in dialog as a shortcut
17324 to going to that position by use of the < and > buttons. Mainly intended to
17325 ease life for the blind, but I think it can be generally useful.
17326 (Although the move-history dialog provides that functionality too,
17327 this is quicker if you don't happen to have it open.)
17328 * I added typing of a FEN in the move type-in dialog in Edit Position mode.
17329 (Which could not be used without mouse at all, and is defective
17330 in crazyhouse even with mouse, as there was no way to populate holdings.)
17332 2009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17333 some bugfixes: ICS error handling
17335 * play a different sound for takebacks in ICS mode
17336 * pop up error messages for illegal moves for typed-in moves
17338 2009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17339 removed no longer needed debug message
17341 2009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17342 fixed compile error from a previous change
17344 2009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17345 user selectable font in game list
17347 This makes the game list use the same (user selectable) font
17348 as the the move-history window.
17350 2009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17351 fixed typos in xboard.texi documentation.
17353 2009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17356 2009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17357 changed font in engine output window
17359 The engine-output window now uses the same font as the move-history window
17360 (which was selectable in the "Options -> Fonts..." menu, while the other
17363 2009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17364 fixed some characters in xboard.texi
17366 It seems that copying manual sections from the RTF to th texi file did
17367 somehow mess up the double-quote characters, and changed them into some
17368 strange (unicode?) symbols.
17370 2009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17371 two shogi related bugfixes
17373 I discovered a bug in the move generator for the Shogi Dragon King. I
17374 guess it went unnoticed so far because this is a promoted version of the
17375 Rook, which hardly occurs in games. (moves.c)
17377 There was also a problem with the piecesfix I sent you before; Shogi
17378 chosen as initial variant did use wrong piece symbols. (I had tested this
17379 on gothic, but there it happened to work for a different reason, unique to
17380 gothic.) This affects xboard.c.
17382 2009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>:
17385 2009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17386 adds bitmaps for shogi promotions, and selects the bitmaps or
17387 pixmaps for the more rarely used piece types on a per-variant basis.
17389 2009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17390 adds new piece types in the promotion dialog and edit-position piece menu
17392 2009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17393 updated bitmaps files: files for fairy pieces where missing,
17394 others had names that didn't work with autoloading.
17396 2009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17397 fixed a bug concerning bitmaps
17399 2009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>:
17400 give a default directory for bitmaps files (tiny change)
17402 this is also one of the debian patches, should be rewritten to use
17403 the correct install directory. No Author was given.
17405 2009-06-27 15:47:52 -0700 Brian May <>:
17406 verbose_error_message_about_recognized_options (tiny change from Debian patches)
17408 2009-06-27 15:45:14 -0700 Matt Zimmerman <>:
17409 add a visual low time warning (tiny change from Debian patches)
17411 2009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>:
17412 dos 2 unix conversion of backend.c
17414 2009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>:
17415 exchanged some sprintf with snprintf found in a patch for the debian system,
17416 extended it a bit to other sprintf's original patch included only 11 lines
17417 by Florian Ernst <florian@debian.org>
17419 2009-06-24 23:07:23 -0700 Mark Ioli <chessknight>:
17420 enabled a patch for default settings in winboard
17422 2009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17423 updated copyright notice
17426 2009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17427 patches a bug in chosing the initial board size on a virgin startup
17428 I introduced recently
17430 2009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17431 I put in testing for the winning condition in 3checks
17433 on a check it just goes through the entire game to subject
17434 every position on a check test, to see if there were two more.
17436 2009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17437 updated copyright notice in docs
17439 2009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>:
17440 added small patch from debian (tiny change)
17442 according to the debian patch tracker, this patch is by
17443 Florian Ernst <florian@debian.org>.
17444 It fixes whitespace issues in filename called from cmail.
17446 2009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>:
17447 converted dos2unix format for xboard.texi
17449 2009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>:
17450 deleted two more files that don't need to be in git
17452 these files can be generated by autogen.sh
17454 2009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17455 major overhaul of the -stickyWindows feature
17457 I did a major overhaul of the -stickyWindows feature.
17458 The game-list and ICS-interaction windows are now also sticky.
17459 I also added a form of stickiness when the main window is resized;
17460 edges of auxiliary windows sticking to the right or bottom side of
17461 the main window stay attached when the window resizes
17462 (due to nr of board squares or their size). The way the window
17463 coordinates are saved in the .ini file is now relative to the
17464 main window, and some dummy options are added to be able to
17465 recognize right- and bottom-edge sticking, and reconstruct that
17466 when WB starts up with another board size. Also added are
17467 volatile options to ensure there will be space for auxiliary windows
17468 above and left of the main window.
17470 2009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17471 fixed long-algebraic form of drops
17473 The WB parser turned out not to understand the long-algebraic form
17474 of drops send by an ICS. (like B/@@-e4), so even with
17475 legality testing off I now use the SAN move for drops.
17477 2009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17478 Refined stalemate adjudication in Suicide, some cleanup
17480 Refined stalemate adjudication in Suicide, which seems to be not always won
17481 for the stalemated side, but for the side with the smallest number of pieces.
17482 Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h)
17483 Also includes a tiny change in the -autoKibitz format, as requested on
17486 2009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17487 Enhancement of the way -autoLogo decides which logos to display
17489 2009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17490 bugfix and enhancement in autoKibitz mode
17492 changed the format of the autoKibitz: score/depth in stead of depth/score,
17493 as in PGN. I also supress the ICS time for the move now in the PGN
17494 if extended info is available. When enhancing the functionality of
17495 the autoKibitz command (using the opponent engine kibitz for the saved PGN)
17496 I discovered that the xengineoutput.c in our tree was obsolete,
17497 and contained a routine of which the arguments were no longer compatble
17498 with the call from backend.c, and caused segfaulting. I copied in
17499 the corresponding routine in wengineo.c, which was compatible. That the
17500 compiler did not flag this is a sign of badly organized code, I suppose...
17502 The enhancement itself affected backend.c.
17504 2009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17505 modified clock layout
17507 I altered the display of the clocks in the presence of engine logos; I used to
17508 stack them, but some inquiry on Talkchess sowed that people disliked the
17509 stacking. So now I display them next to each other again, but as 2-line-high
17510 fields to make room for te logos.
17512 2009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17513 new zippy option zippyShortGame
17515 On request of Mike Adams I added a new zippy option, -zippyShortGame,
17516 to make life more difficult for abusers of abort and disconnect for cheating.
17518 2009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17519 fixed some bugs in the animation of atomic captures
17521 2009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17522 some small bugfixes
17524 I had overlooked one place from which the FEN writer
17525 (of whicf I changed the argument types), which made WB crash
17526 if you copied a FEN (or PGN that cotained FEN) to the clipboard.
17527 I must have overlooked a warning during compile, or some depedency
17528 is not correct in the makefile. Anyway, wclipboard.c had to be changed.
17529 I also moved adjudication of some losing conditions to before tetsing
17530 for stalemate, (e.g. in atomic, if your king get destroyd you lose,
17531 even if you have no moves after that because it was your only piece.).
17532 this affects backend.c.
17533 I had used the same bits in the rule-modifier flags for indicating
17534 mandatory capture as was already used for indicating FRC-style castling.
17535 This led to frequent illegal move calls in FRC... (moves.h)
17537 2009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>:
17538 cleaned up HTML in FAQ.html -- still need to work on content
17540 2009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17541 added option for work-around for some FRC engines in regards to FRCFENs
17543 It suddenly occurred to me that I had promised on CCC to include an option
17544 to provide a work-around for the problem that some FRC engines do not
17545 understand FRC FENs (and thus do not play at all under WinBoard,
17546 as FRC always has to begin with sending the initial position).
17547 So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN.
17548 This affects winboard.c and xboard.c, (for defining the option),
17549 common.h, backend.h, backend.c, (for implementing it),
17550 xboard.texi and winboard.rtf (decribing it).
17551 This option provides users with a means to always force the FEN castling field
17552 to KQkq (but can be used for many other work-arounds as well).
17554 2009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17555 fixed bug with random calls
17557 There also seemed to be a bug with the shuffling of opening positions;
17558 I had changed the declaration of the position number from
17559 long long int to u64 to comply with MSVC, but this suppressed shuffling
17560 completely. I now changed it to int. I recently noted a problem with true
17561 randomizing anyway: this was based on srand(time()), but time() apparently
17562 did not change fast enough, so that starting several games in rapid succession
17563 (because the book line contained a 3-fold repetition) produced identical games.
17564 So I now seed the random once and for all during startup, based on the msec of
17565 the time mark, and removed the other calls to srand().
17567 2009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17568 changed name for fairymax program in xboard.h
17570 2009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17571 removed my name from copyright message in help->about menu
17573 2009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17574 fixed -stickyWindows option
17576 I figured out why -stickyWindows was not working in XP and Vista
17577 (while it always worked under Win2K), and I think I found a fix for
17578 it that works under all Windows versions. (I tried XP and Win2K.)
17580 2009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17581 Updated docs for Engine-Settings menu
17583 2009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17584 Awareness of winning conditions for atomic and giveaway variants; two bugfixes
17586 fixed bug in claim verification
17587 Bugfix on initial position of Great Shatranj
17589 2009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17590 Legality testing (mandatory capture) in giveaway variants
17592 2009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>:
17593 don't ignore winboard/parser.c
17595 2009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17596 Added new variant Twilight Chess
17598 2009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17599 some renaming and restructuring of WB menu items, to conform more to XBoard
17601 2009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17602 Fixed bug in atomic patch that interfered with non-atomic variants
17604 2009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17605 fixed different use of engine option compared to Polyglot
17607 it turns out the new Polyglot uses a sightly different version
17608 of the GUI->engine option command than the one I proposed
17609 (and implemented in XBoard; Michel sneaked in an '=' sign
17610 between the NAME and VALUE of the option, to allow for
17611 more unambiguous parsing. I guess in principle this is a good idea,
17612 so I adapted XBoard to Polyglot rather than the other way around.
17613 The result is that there are canges in xboard.c, and the documentation.
17614 I noticed that I unjustly had internationalized the option strings
17615 to be send to the engine in xoptions.c; this was of course nonsense,
17616 as this was WB protocol. So I undid that too.
17618 2009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17619 add the already supported variants 3check and great (=Great Shatranj)
17620 to the New Variant... menu.
17622 2009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17623 animate explosions in variant atomic (if animate moves is on).
17625 2009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17626 fixed castling bug in variant twokings.
17628 2009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17629 fixed forteitary wins for special game variations
17631 feature that corrects forfeitary wins (e.g. on time)
17632 of a bare King to draws of course breaks proper operation
17633 in losers, suicide and giveaway
17635 2009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17636 automatically test ini file extension for files from commandline option @filename
17638 The winboard.c is a patch that automatically tries indirection files on the
17639 command line (@filename type arguments) also with an extension .ini if the name itself
17640 did not match any existing file and contained no period. This saves the user typing the
17641 .ini all the time (which I started to find pretty annoying while working on the installer
17644 2009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17645 added gamelisttag option to xboard
17647 also updated documentation.
17649 2009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17650 updated RTF file for winboard
17652 2009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>:
17653 fixed syntax error in texi file
17655 2009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>:
17656 updated to patchlevel "j"
17658 2009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17659 fixed adjudicating probelm in Shantranj
17661 Refrain from adjudicating a draw based on insufficient mating material
17662 (except bare King vs bare King) in Shatranj (where in this case you can
17663 still win by baring the opponent's King).
17665 2009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17666 updated documentation and FAQ
17668 2009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17669 source clean up. Fix compiler warning, removed unused variables, etc.
17671 2009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>:
17672 adding support for different windows compiler
17674 Eric kindly provided us with some makefiles for different windows
17675 compiler and also fixed some issues that came up while using those compilers.
17677 2009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>:
17678 cleanup: got rid of a lot of files that are not needed for a new release
17680 lots of documentation was available in several places,
17681 old unused source files and not used graphics file were floating around
17682 in the tree. This should clean up most of it. No need to keep these files
17683 around, especially since we are using version control.
17685 2009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17686 Added the Action-menu items that allow the user to adjudicate
17687 ongoing games in Two-Machines mode. This was an already existing
17688 backend function from Winboard_x; I only had to create a menu item for it
17689 to be called. Due to an oversight I had forgotten to do that so far.
17690 (Logically, I should have done it in the 4.3.5 release,
17691 where I updated the XBoard menus to conform to the WinBoard menus.)
17693 I tested them, and they seem to work. (As expected.)
17695 2009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>:
17696 updated patchlevel to "i"
17698 2009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17699 small change to mousewheel support; two changes in window behaviour
17701 * Visible effects during resizing suppressed, bug in chosing new size fixed.
17702 * No longer reserves left and top margins next to main window on first popup.
17703 * built in some hysteresis into mousewheel support, ignorng the first event in any new
17704 direction to suppress effects from accidential mouse movement.
17706 2009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17707 corrected 'animate dragging'
17709 I finally figured out how the 'animate dragging' works in XBoard,
17710 so that I could add code to do the unstacking of multiple pieces
17711 in the holdings, rather than always leaving an empty square while
17712 you drag them. (And then suddenly re-growing the remaining pieces
17713 as you make the drop.) It does not look as fancy as in WinBoard
17714 yet, because the counts still only decrease when you release the
17715 piece, rather than when you lift it. But this is not nearly as
17716 disturbing as leaving empty holdings (if only temporarily) when
17717 you still have pieces there.
17719 2009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17720 Added comand-line options -debugFile (as synonym for -nameOfDebugFile,
17721 as WinBoard also has these synonyms), and -engineDebugOutput
17722 (wich already existed in the backend).
17724 2009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17725 updated documentation for new release
17727 2009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17728 added Xiangqi perpetual-chase detection
17730 2009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>:
17731 Updated all files to GPL version 3.
17733 2009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>:
17734 converted two files from dos to unix format
17736 2009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>:
17737 updated INSTALL, NEWS and other files for new release
17739 cleaned up a bit and updated some information in the text files.
17741 2009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>:
17742 winboard/config.h shouldn't be in .gitignore, only ./config.h
17744 2009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17745 bumped patchlevel to 0g
17747 2009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17748 corrected path in makefile
17750 2009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17753 2009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17754 added firstOptions, secondOptions, noGUI, firstXBook, secondXBook
17756 2009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17757 handle promotion case for Shogi
17759 2009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17760 add note about RESULT command for GUI programmers
17762 2009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17763 small changes to book.c
17765 added code for different board sizes
17766 added some debuginfo
17767 handle promotion of pieces
17769 2009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>:
17770 added a .gitignore file
17772 2009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>:
17773 wrong line ending for Unix... ran dos2unix on both files
17775 2009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>:
17776 fixed texinfo files, added windows help file, removed config.h from git
17778 texinfo.in is not needed anymore, since it only provided a
17779 version string, but this can be created automatically using autotools
17781 deleted config.h from version control, since it is automatically created.
17782 added winboard.hlp file (not sure if needed)
17784 2009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>:
17785 updated autoconf init file
17787 * renamed autoconf init file from configure.in to configure.ac
17788 * added bug-report email address to ac_init
17789 * replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output
17791 2009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>:
17792 parser.c is generated by lex, so it shouldn't be tracked
17793 and also parcer.c shouldn't be in Makefile.am
17795 2009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>:
17796 added book.c to Makefile.am
17798 2009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>:
17799 use autoheader to create config.h.in
17801 no need to track this in git anymore
17803 2009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>:
17804 fixed autoheader warings, remove depreciated acconfig.h
17806 2009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>:
17809 2009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17810 changes from H.G. Muller; version 4.3.16
17812 2009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17813 changes from H.G. Muller; version 4.3.15
17815 2009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17816 changes from H.G. Muller; version 4.3.14
17818 2009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17819 HGM fixed cygwin compile for winboard
17821 2009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>:
17822 cross compilier working
17824 2009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17825 changes from H.G. Muller; version 4.3.13
17827 2009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17828 changes from H.G. Muller; version 4.3.12
17830 2009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17831 changes from H.G. Muller; version 4.3.8
17833 2009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17834 changes from H.G. Muller; version 4.3.7
17836 2009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17837 changes by H.G. Muller; version 4.3.4
17839 2009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17840 changes from H.G. Muller; version 4.3.2
17842 2009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17843 changes from H.G. Muller
17845 2009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>:
17846 cleaned up the directory a bit. Removed winboard-dm-beta,
17847 merged the two Changelogs together
17849 2009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>:
17850 changes from Alessandro Scotti from 20060129
17852 2009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>:
17853 changes from Alessandro Scotti from 20060112
17855 2009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>:
17856 changes from Alessandro Scotti from 20051231
17858 2009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>:
17859 changes from Alessandro Scotti from 20051129
17861 2009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>:
17862 changes from Alessandro Scotti from 20050322
17864 2009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>:
17865 translated a handfull of strings and set the codeset to UTF-8
17866 for the translations.
17868 2009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>:
17869 Translation: added German po file (roughly 50% translated)
17871 2009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>:
17872 fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi
17874 2009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>:
17875 fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in
17877 2009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>:
17878 fixed a warning message in the configure script
17880 2009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>:
17881 fixed parser.l. Should fix bug #22812
17883 2009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>:
17884 fixed parser.l. Should fix bug #22812
17886 2009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>:
17887 added myself to the AUTHOR file
17889 2007-06-15 04:26:57 +0000 Mark Loli <chessknight>:
17890 Initial check-in of NSIS Winboard installer files.
17892 * 06/12/2005: bugfix some more possible buffer overflows.
17894 * 06/27/2004: added simple icsEngineAnalyze for xboard
17896 * 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games
17897 with a chessprogram on a Internet Chess Server (ICS)
17899 * 02/12/2004: Bugfix ICS interaction console crashed while chess
17900 engine starting and user type in some stuff. We wait now to finish
17903 * 02/11/2004: Winboard: Added color lines for the ics interaction
17904 console if zippy used
17906 * 02/09/2004: Added mousewheel support for winboard. Play moves
17907 backward and forward with the mousewheel.
17909 xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann
17911 * 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output
17912 to WinBoard.debug too. (This isn't needed in xboard because ICS
17913 output already goes to stdout, so it's easy to capture along with the
17914 debug output on stderr.) This was issue #280 in the ToDo file.
17916 * 11/23/2003: Cleaned up some minor problems in cygwin.mak. Thanks to
17917 Hans Werner Strube for the problem report.
17919 * 11/23/2003: Updated the default list of chess servers in
17920 winboard/defaults.h. Deleted two that appear to be dead and added a
17921 new one that is active.
17923 * 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.
17924 Hopefully this will get them the right way around by default on more X
17925 window managers. I wish I understood this better.
17927 * 11/18/2003: Implemented a simple 32-bit random number generator for
17928 WinBoard, replacing the Windows rand(), which ranges only up to
17929 0x7fff. Formerly on Windows, only zippy.lines sayings that started in
17930 the first 32767 bytes of the file could ever be used. This was issue
17931 #505 from the ToDo file.
17933 * 11/16/2003: The xboard man page and info files are now built from a
17934 common set of texinfo source files, and the xboard man page now covers
17935 cmail as well. Formerly, ever since the texinfo file was first
17936 contributed to the project, it was separate from the man page and the
17937 two files had to be updated in parallel, making for a maintenance
17938 nightmare. To make combining the files possible, I took the Perl
17939 script "texi2man" from the GNU Units project and added support for a
17940 larger subset of the texinfo markup language. I then carefully
17941 compared the old man page and old texinfo file to make sure the latest
17942 and clearest words survived into the new combined texinfo file. It
17943 would be great to merge in WinBoard's help file too, but that's a
17944 larger project. It would have to be heavily conditionalized to
17945 deal with differences in features between XBoard and WinBoard.
17947 * 11/15/2003: Cleaned up and applied a small patch from Daniel
17948 Mehrmann, to stop overly long PVs in thinking output from causing a
17949 buffer overflow crash in backend.c.
17951 * 11/5/2003: When a chess engine sends a "telluser" command (including
17952 the cases where "tellall" or "tellopponent" acts like telluser), the
17953 information now goes into a nonmodel popup that is automatically
17954 dismissed when the user clicks anywhere on the board. This fix is
17955 more significant on WinBoard, where formerly you got a fully modal
17956 dialog that had to be dismissed by clicking on OK before anything else
17957 could happen. The bug was issue #406 in the ToDo file.
17959 * 11/1/2003: Removed email addresses from this file to reduce spam
17960 load, as it gets linked to from the Web.
17962 * 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.
17964 * Modified xboard and winboard makefiles to be able to build the
17965 project in the new combined directory structure.
17967 * Applied a small security fix to pxboard, from Martin Maeok.
17969 * Fixed a bug in the game list dialog. The change in 4.2.6 to opening
17970 games in text mode (meant to avoid getting extra \r's into comments)
17971 caused a new bug in determining seek offsets when parsing a game file
17972 to form the game list. Also, the change was incomplete; on some code
17973 paths games were still being opened in binary mode. Thanks to Lenik
17974 Terenin for reporting the offset bug. I've now gone back to always
17975 using binary mode when reading game files, and I've fixed the comment
17976 bug by adding code to remove \r's from parsed comments explicitly. I
17977 still use text mode for writing game files so that games written by
17978 WinBoard will have Windows-style line endings.
17980 * Fix for minor bug in WinBoard installer. If you chose a non-default
17981 destination directory, the default directory was still used for a
17982 couple of unimportant things, namely setting the App Paths registry
17983 keys (unused by WinBoard) and trying to copy the existing WinBoard.ini
17984 file to WinBoard.old. I inherited this bug from the InstallShield 5
17985 sample template. Thanks to "l.d." for noticing the incorrect keys.
17987 * Patch from Chris Priest: when two engines are being run through rsh,
17988 avoid reusing the same stderr port for both. I'm not sure why this
17989 should be needed, but it's harmless, at least.
17991 * Bugfix: The kludge to deal with old engines that give an error
17992 message because they don't know the "st" command was too sloppy; it
17993 could hit on an "st" substring anywhere in an error message. GNU
17994 Chess 4 is the only engine I know of where the kludge was needed, so I
17995 changed the kludge to match a longer, more GNU-specific string.
17997 * Changed the WinBoard self-extracting installer to choose a unique
17998 temporary subdirectory name within the Windows temp directory instead
17999 of always putting wb-setup directly in temp. Besides being better
18000 practice, this avoids the need to deltree wb-setup first, which
18001 occasionally alarms someone who thinks that deltree is only used by
18002 trojans to delete all your files. (Yes, I'm serious.)
18004 * Fixed a bug where FICS-style "wild/0" strings were not parsed as the
18005 proper wild type. The "/" was not being skipped.
18007 * Fixed a WinBoard bug where temporary files created by game
18008 copy/paste were being created in the root directory of the current
18009 drive instead of the TMP directory and were not always deleted on exit.
18011 * Fixed a small bug in winboard.c's ErrorDialog() function. Thanks to
18012 "Ron" (no last name given). The bug might have caused a problem when
18013 pressing OK or Cancel in an error dialog when more than one error
18014 dialog was being displayed, but I'm not really sure.
18016 * Removed a hack that worked around a bug in very old versions of
18017 Crafty, where it would sometimes reply "illegal move" to a "."
18018 command. The hack kept us from recognizing real illegal move messages
18019 in analyze mode from engines that don't respond to the "." command.
18020 Thanks to Fabien Letouzey for the report.
18022 * Fixed a bug in the xboard version of GetDelayedEvent. It would
18023 return the most recently scheduled event even if it had already fired.
18024 This caused at least one visible error: in -ics -xreuse mode, starting
18025 the engine again and seeing another "feature done=1" would re-run the
18026 initialization code in InitBackEnd3, including the code that opens the
18027 connection to ICS. The WinBoard version didn't have this bug. Thanks
18028 to Bob Hyatt for the bug report.
18030 * The promotion popup for ICC wild 26 (giveaway) now includes King.
18031 Thanks to Fredrik Josefsson for the bug report.
18033 * The first game in a file (or being pasted from the clipboard) can
18034 now start with a bare move -- no PGN tags, no move number "1", etc.
18035 Suggested by Shane Harrelson. One could imagine taking this farther
18036 and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but
18037 I haven't done that.
18039 * Bug fix: xboard didn't really accept a paste of multiple games,
18040 contrary to what I wrote when adding the feature to WinBoard in
18041 4.2.4. Now it works in both.
18043 * Fixed generic start/end of game messages to work on chess.net, where
18044 they put ratings in parens after the player names.
18046 * Updated config.sub and config.guess to newer versions from
18047 automake-1.4p5-2. This makes configure work with MacOS X + X11.
18049 * Bugfix: when examining a game fragment on FICS where black plays
18050 first, don't show two "(0:00.000)" times on the initial "none" move.
18052 * If TestLegality is on and one of the engines makes an illegal move
18053 in TwoMachines mode, it forfeits immediately. Formerly the game would
18054 get stuck at that point and the engine that made the illegal move
18055 would eventually lose on time.
18057 xboard/WinBoard 4.2.6 -- Fri Feb 1 22:26:31 PST 2002
18060 Another small bugfix release.
18062 * Put in a small change from Alexander Mai to allow xboard to build in
18063 an OS/2 EMX environment.
18065 * Fix WinBoard-only bug where editing a PGN file with comments would
18066 insert more \r characters before the \n after every Load/Save cycle.
18067 For some unknown reason we were reading the files in "rb" mode but
18068 writing them in "a" mode, so we kept the \r characters on reading and
18069 added an extra one on writing. Fix: change the "rb" to "r". Thanks
18070 to Joel (last name not given) for the bug report.
18072 * Put the arguments to rsh/remsh in the right order for better
18073 portability. Thanks to Michael Kalisz.
18075 * FreezeUI is now implemented in WinBoard; it was previously only
18076 implemented in xboard. This function prevents the user from entering
18077 moves or other commands while we are waiting for an engine to
18078 initialize itself. Implementing it fixes a bug where the user could
18079 start a game (etc.) during feature negotiation. One of the symptoms
18080 of this bug was that we could send "new" one or move moves *after* the
18081 first game started!
18083 * Fixed some handle leaks (WinBoard only), including a nasty one that
18084 leaked one handle per command sent to ICS. Thanks to several folks
18085 who helped characterize the bug and tried to look for leaks.
18087 * We now install and look for the info file in ${prefix}/share/info
18088 instead of ${prefix}/info. The latter is still the default in
18089 autoconf, but the former is currently used in Red Hat Linux and
18090 probably elsewhere.
18092 xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001
18095 * Changed the bundled GNU Chess 5.02 in the WinBoard package to
18096 include a much smaller book and to use much less hash table space by
18097 default (8 MB transposition table, 0.5 MB pawn evaluation table). The
18098 large book included with 4.2.4 made the WinBoard download too big for
18099 some people, and the default hash tables were larger than the
18100 available physical memory on some people's computers. I built the
18101 small book by running Crafty's "small.zip" book line collection
18102 through a Perl script that makes it look enough like real PGN games
18103 that the GNU Chess book builder will accept it. The script and some
18104 minor patches to GNU Chess 5 are available in the WinBoard source
18105 distribution and at http://www.tim-mann.org/gnuchess.html.
18107 * Fixed a bug in the code that deals with engines that complain that
18108 "time" and "otim" are illegal moves. This was a new bug in 4.2.4.
18110 * Revamped the implementation of ToStart in analysis mode. Formerly
18111 there was some ill-conceived code that would try to get back to the
18112 start of the game by doing a "new" command (and all the followup
18113 commands that requires) while remaining in analysis mode. This is
18114 problematic for engine authors to support, though it works with
18115 Crafty. This code was trying to solve the problem of ToStart being
18116 slow because the engine would try to start an analysis after every
18117 "undo" command all the way back to the start. But ToEnd already had a
18118 much better solution to this problem, and now ToStart does the same
18119 thing: we exit from analysis mode and enter force mode instead,
18120 make/unmake moves to get to the end/start of the game, and then
18121 reenter analysis mode.
18123 * Formerly, Zippy could try to start playing a game before the engine
18124 was initialized; that is, during the initial timeout for protover 1
18125 engines, or before "feature done=1" for protover 2 engines. We now
18126 wait until the engine is initialized before connecting to ICS, which
18127 fixes this in the common case. If you turn off engine reuse for
18128 multiple games (that is, if you give the -xreuse option), there could
18129 still be problems; see item 503 in the ToDo file. Thanks to Dieter
18130 Buerssner for the bug report.
18132 * Bugfix: All WinBoard versions since the merge with WinBoard Plus
18133 (but not xboard) have had a bug in changing the PeriodicUpdates,
18134 PonderNextMove, and ShowThinking options from the menu. The bug
18135 mostly just caused changing these options during a game to not take
18136 effect until after the next reset. For TwoMachines games, though,
18137 changing PonderNextMove just before the game would take effect
18138 immediately for the second engine but not until the next game for the
18139 first engine. Thanks to Koundinya Veluri for the bug report.
18141 * Bugfix: In 4.2.4, we sometimes got confused when trying to leave and
18142 reenter analyze mode. One symptom was that Analyze File did not work.
18143 Thanks to Igor Syry for the bug report.
18145 xboard/WinBoard 4.2.4 -- Sun Dec 9 14:56:30 PST 2001
18148 * WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.
18150 * WinBoard's PasteGameFromClipboard will now handle a paste with
18151 multiple games in it, popping up the game list dialog. xboard
18152 already did this. Suggested by Robert Gerstman.
18154 * We now use the "clearboard" command on ICC where appropriate.
18156 * Bugfix: don't generate a bogus "variant normal" command to an engine
18157 for the loadable ICC wild types that we internally flag as
18158 VariantLoadable. Also clarified the message that Zippy sends when
18159 declining such wild games -- it can't deal with the possibility of
18160 loading an arbitrary position into the game. Thanks to Dieter
18161 Buerssner for reporting the problem. It would be nice to be able to
18162 actually play these wild types some day; presumably there would have
18163 to be an option to either send "loadgame" with a specified position,
18164 or to deal with an opponent sending it.
18166 * If we get a holdings message from ICS when we thought we were
18167 playing normal chess, we now try asking for a move list so that we can
18168 find out from the header what's really happening. Formerly we guessed
18169 bughouse in this case. Response to a comment from Gian-Carlo
18172 * Fixed two longstanding bugs in the clock code. These affected only
18173 play between a user and a local engine, or between two local engines,
18174 not ICS play. (1) The last fractional second used by a player before
18175 moving and virtually pushing his clock was being charged to his
18176 opponent instead of to him. (2) The time and otim commands were being
18177 sent to an engine before the (buggy) fractional second update was
18178 done. The second bug was pretty harmless in itself, but the first one
18179 was serious. Many thanks to Peter Rosendahl for carefully diagnosing
18180 and reporting these bugs!
18182 * Changed WinBoard timestamp key. Nothing is changed other than the
18183 key and a recompilation. ICC may phase out the old key soon; if they
18184 do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later
18185 to connect to chessclub.com.
18187 * Fixed an xboard-only bug where most dialogs would not take keyboard
18188 input unless the mouse was actually over the dialog, even if the
18189 dialog window had focus. Thanks to Jason Varsoke for the bug report.
18191 * Bugfix; Remember to send time and otim commands to engine before
18192 sending playother. Thanks to Bob Hyatt for the bug report. Also
18193 fixed a bug where time and otim were sometimes sent even with feature
18196 * Added small patches from Wilkin Ng that are meant to fix a crash in
18197 CopyGameToClipboard and a "can't unlock clipboard memory" error in
18198 PasteTextFromClipboard, under Windows 2000.
18200 * Changed cygwin.mak to not use -mno-cygwin. In other words, it now
18201 uses cygwin1.dll instead of the mingw libraries. This works around
18202 bugs in fileno() and stat() that I encountered in mingw. (fileno
18203 seems to always return 0. stat fails because the library routine uses
18204 a different definition of struct stat than the header files provide.)
18205 Thanks to Robert Gerstman for reporting the symptoms these bugs caused
18206 when WinBoard was compiled with Cygwin.
18208 * Added -showButtonBar option. This lets you delete the << < P > >>
18209 buttons and thus widen the message widget a bit.
18211 * Added code to address a very obscure bug. If an engine dies and
18212 needs to be restarted while in one of the analyze modes, it was not
18213 getting put back into analyze mode. This bug should not really ever
18214 have gotten tickled unless reuse was turned off and the engine sends
18215 game end commands (such as 1-0) when a game ends by rule while in
18216 analyze mode. The next version of the protocol spec will say that
18217 engines should not do that, but version 2 and earlier didn't address
18220 * We now use the FICS "iset ms 1" feature to get times in ms instead
18221 of seconds. Thanks to DAV for email telling me about this feature.
18223 * Changed clock display to show tenths of seconds for 9.9 seconds and
18224 less, instead of 0.9 seconds and less as before.
18226 * It has been discovered that Zippy can play simuls on ICC (but not on
18227 FICS). If you arrange for Zippy to send the ICC command "simulize" in
18228 the -zippyGameStart string, it will accept additional games while
18229 playing. Zippy will use the same engine for every game, so whenever
18230 it switches opponents, the engine's state will be reset with the "new"
18231 command. This will of course weaken its play, so don't enable simuls
18232 if you want your engine to have the highest possible rating. Zippy
18233 was never designed to work with simuls; it just works by accident, and
18234 it hasn't been tested much. So please report any bugs you notice, but
18235 don't expect them to be fixed rapidly. Thanks to Paul McGuire for
18236 noticing that this works.
18238 * Bugfix: Suppress the direct command to engine popup if there is no
18239 engine. In WinBoard this case used to cause a crash. Thanks to
18240 "Dargon" for the bug report.
18242 * Bugfix: formerly we did part of the engine initialization for the
18243 very first game too soon, before feature negotiation. One result of
18244 this is that engines would never get the "ics" command for the first
18247 * Lengthened timeout to detect protocol version 1 chess engines to 10
18248 seconds. This should reduce problems with protocol version 2 engines
18249 that are slow to initialize missing the timeout and not getting a
18250 chance to send their feature commands before the first game starts.
18252 * Klaus Friedel says that adding a short sleep to WinBoard after
18253 starting a new chess engine solves a problem that occurs under Windows
18254 2000, in which engines sometimes don't see the initial command(s) from
18255 WinBoard and hang. I don't understand how that can happen, but the
18256 sleep is harmless, so I've put it in. Others have also reported what
18257 may be the same problem, so hopefully this will fix it for them too.
18259 * Bugfix: editing the Result field in EditTags will no longer cause a
18260 later crash. Thanks to DAV for a clear bug report that let me
18261 reproduce the problem.
18263 * ICC wild 28 is now recognized as shatranj, but it is not supported.
18264 You might be able to play it by turning off Test Legality.
18266 * Formerly we would always turn off "feature time" if the engine
18267 printed an error message with the string "time" or "otim" in it; now
18268 we do that only if the message comes before the engine makes its first
18269 move. This change is useful because some engines spew a lot of bogus
18270 error messages about commands they don't fully parse, so something
18271 like "result 0-1 {White lost on time}" could generate such a message.
18272 Engines shouldn't do that, but if they do, mysteriously turning off
18273 "feature time" is not a good way to react.
18275 * Fixed an infrequently occurring Zippy bug: formerly, resuming from
18276 adjournment by position (that is, with GetMoveList turned off) or
18277 starting/resuming a wild game (nonstandard starting position) would
18278 try to set up the position without putting the engine into force mode
18279 first. That was probably tolerated by most engines, but if the
18280 position was black-to-play and the engine hadn't set feature
18281 setboard=1, then the fake "a2a3" move (which we use as a kludge to get
18282 black to be on move before sending the edit command) would appear to
18283 be a real move, and the engine might reply to it! This bug could also
18284 be seen when trying to use Zippy to play a simul -- something that
18285 Zippy was never designed to support, but which seems to mostly work
18286 anyway. Thanks to Paul McGuire for sending a WinBoard.debug file that
18287 showed the bug occurring. Some other cases of resuming adjournments
18288 or starting games from nonstandard positions may have been broken too;
18289 I think I've straightened out the problems.
18291 * Agreeing to a draw in the human vs. local engine case formerly did
18292 not work if the human offered first; now it does. A human's
18293 unsolicited offer is considered valid until he makes another move.
18294 Thanks to Bruce Moreland for the bug report.
18296 * Bugfix: We used to look for just "fr" in Event tags or strings from
18297 ICSes to recognize Fischer Random games. This caused a lot of false
18298 matches. Now we look for "wild/fr" instead, which is what FICS uses.
18300 * Bugfix: Clicking on a move in the MoveList window only updated the
18301 displayed position; if a chess engine was active, its state was not
18302 updated. Thanks to Alejandro Dubrovsky for the bug report.
18304 * Bugfix: The "resign" command from engine to xboard formerly did not
18305 work in ICS (Zippy) mode.
18307 * Bugfix: Formerly we would register a garbage premove if the user
18308 clicked on a piece, then clicked on an edge or outside the board. Now
18309 such an errant click is ignored.
18311 * Bugfix: GameEnds would send "exit" to an engine in analyze mode even
18312 if we did not actually want to leave analyze mode.
18314 * Bugfix: "feature pause" was being rejected. We don't currently use
18315 it, but that is no reason to reject it. Thanks to Gian-Carlo Pascutto
18316 for the bug report.
18318 * Bugfix: when "partner" needed to be sent both to ICS and the engine,
18319 Zippy was erroneously sending the ICS prefix character to the engine
18320 too. Thanks to Gian-Carlo Pascutto for the bug report.
18322 * Zippy now declines challenges when the engine is not yet ready to
18323 play again, instead of ignoring them. This is needed so that the
18324 server will let the opponent repeat the challenge. It might be better
18325 to remember such challenges and accept them when the engine is ready,
18326 but that would be a bit more complicated to implement.
18328 * Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a
18329 built-in alias for "it", not a real command. So sending "$i foo" gave
18330 an error message instead of doing "it foo". We now leave out the
18331 alias-suppressing prefix for emotes.
18333 xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001
18336 * Bugfix: The error message "Variant X not supported by gnuchessx"
18337 formerly could pop up even in -ncp mode.
18339 * Fixed an xboard bug in premove highlighting. If you had
18340 HighlightLastMove turned on, premoves got highlighted in
18341 highlightSquareColor (yellow) instead of premoveHighlightColor (red).
18343 * Modified premove again. Now we are back to displaying the move
18344 locally immediately after sending it to the server, as in versions
18345 prior to 4.2.1. This is good because it lets you register your next
18346 premove sooner. As a better fix to the problem that the change in
18347 4.2.1 had been trying to address, we now suppress animating the
18348 opponent's move if you have a premove reply pending. However, it's
18349 probably still a good idea for you to turn off AnimateMoves entirely
18350 if you are trying to play extremely fast games.
18352 * Removed an erroneous patch that left zombie chess engines around
18353 when both sigterm and reuse were turned off. (Bug was in xboard only,
18356 * Bugfix: loading a game with autostepping did not work for games with
18357 PGN result "*" (unfinished). This bug was introduced in 4.1.0, caused
18358 by some outdated code that was supposed to leave you in EditGame mode
18359 after loading an unfinished game. I fixed this, and also changed it
18360 to leave you in EditGame mode after loading *any* game, but without
18361 changing the tags to say it's an edited game. It's not really clear
18362 whether that is the best thing is to do here -- ideally, perhaps, the
18363 tags should change to say "edited game" if you actually make any
18364 changes, but that is harder to make work.
18366 xboard/WinBoard 4.2.2 -- Tue Feb 6 20:00:00 PST 2001
18369 * Fixed a problem introduced in 4.2.1. In -zippyPlay mode, 4.2.1
18370 started sending the initString immediately after the old game ended,
18371 but then when the next game started, it would still send "force" and
18372 another initString. Another problem was that the first initString put
18373 the engine out of sync with the displayed board position, though that
18374 might not usually have been noticeable. This is now changed to do a
18375 full Reset at the end of the previous game, and avoid doing a Reset at
18376 the start of a new game if we are still in BeginningOfGame mode.
18378 * Fixed some limitations in -zippyPlay mode. The engine was not being
18379 fed the moves or history of games that were displayed but not being
18380 played, so it would get confused if you tried to do something like
18381 examine a game, then enter EditGame mode from somewhere in the middle
18384 * Made a small change so that cygwin can compile xboard for Windows
18385 (an X server is required to run it). Thanks to Volker Zell. Most
18386 people would probably prefer to run WinBoard on Windows, however; note
18387 that cygwin could already compile WinBoard.
18389 * Added some missing documentation to engine-intf.html: It is okay to
18390 send "feature done=0" even before you receive the xboard and protover
18391 commands, if this is needed to give your engine enough time to
18392 initialize. See engine-intf.html for more discussion.
18394 * Bugfix: "feature done=0" did not work for the second engine; now it does.
18396 xboard/WinBoard 4.2.1 -- Sat Feb 3 19:52:26 PST 2001
18399 * Bugfix: in Zippy mode with feature san=1, the elapsed time was being
18400 sent to the engine after the SAN move; for example, "e4 (0:01)" was
18401 sent instead of just "e4".
18403 * It seems that scroll wheel mice with incompletely installed software
18404 (under Windows 95, at least) can send repeated middle button up events
18405 when the wheel is turned. Moved QuickPaste from middle button up to
18406 middle button down to avoid problems with this.
18408 * A premove is now sent *before* the opponent's move that it replies
18409 to is animated. The premove itself is no longer displayed (or
18410 animated) when sent; instead, it is displayed when the chess server
18411 echoes it back as a board update.
18413 * Bug fix: in -xreuse mode, xboard was only sending command line
18414 arguments to the engine the first time it was started. (WinBoard
18415 didn't have this bug.)
18417 * In -zippyPlay mode, we now initialize the chess engine for a new
18418 game immediately after the old game ends. (In -xreuse mode, this
18419 means starting a new engine process; in the default -reuse mode, it
18420 just means sending "new".) If the engine supports ping, we don't
18421 accept challenges until the "new" has finished. This should help
18422 avoid losing time (re)initializing the engine after the game starts.
18424 * We now handle the new FICS field in style 12 that says whether the
18425 clocks are ticking.
18427 * whiteFlag and blackFlag are now reset whenever an ICS board image
18428 arrives, giving autoflag a fresh chance to work.
18430 * Suppressed "geometry error" debug messages unless -debug flag is given.
18432 * Bugfix: avoid core dump on Solaris with -debug flag, caused by
18433 passing NULL to a %s format in GameEnds.
18435 * Added -firstProtocolVersion and -secondProtocolVersion. This will
18436 allow use of extremely broken engines that hang or die when given the
18437 "protover 2" command. It should be rarely if ever needed.
18439 * Zippy now strips highlights from player names in the Creating
18440 message; previously the ratings would not be extracted from this
18441 message properly if you had set the highlight variable.
18443 * Bug fix: Zippy with -zp but not -zt used to be fooled by false
18444 partner tells inside channel tells; e.g.:
18445 Garf(24): Garf (your partner) tells you: sit
18447 * Bug fix: when an engine reported its name with the new "feature
18448 myname=" command, we had been putting just that name into the window
18449 title even when in TwoMachines mode.
18451 * By default, WinBoard no longer uses the new feature introduced in
18452 4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess
18453 engine command lines in separate files; instead, the lists are back in
18454 the winboard.ini file. This gets rid of some problems where the
18455 separate files could not be opened because the working directory was
18456 not set to WinBoard's installation directory.
18458 * WinBoard command lines and ini files now have another optional
18459 syntax for quoting an option value. All characters within { } curly
18460 braces are interpreted literally except for '}' itself. SaveSettings
18461 now uses this syntax for string values that contain a backslash or
18462 newline and do not contain a '}'. This should address the problem
18463 that the separate .ini files had been meant to fix; engine command
18464 line lists can now be written without \-escapes.
18466 * Fixed three bugs in relaying moves between engines in TwoMachines
18467 mode: an engine would be sent SAN if the *other* engine had set
18468 feature san=1, a relayed SAN move did not end with a newline, and
18469 feature usermove was not implemented for relayed moves.
18471 * Fixed several bugs in exiting: File/Exit would sometimes hang;
18472 timestamp/timeseal would not get killed off; an engine crash would
18473 cause error messages to be printed recursively until stack overflow.
18475 * Fixed a bug in the code to detect which ICS is in use and adapt to
18476 it; the chess.net case was broken.
18478 * Removed the leading alias-suppression character when sending a move
18479 to ICS, because it seemed to break accuclock on chess.net.
18481 * Fixed a bug where a FICS prompt like "10:01_fics%" would be matched
18482 as finger note number 10, causing a problem detecting when the user is
18485 * Added tellicsnoalias command to protocol.
18487 * Changed st command in protocol back to old behavior.
18489 * Added done=0 feature to protocol, to lengthen initial timeout.
18491 * Added missing -colorSeek command line option to xboard. (Was
18492 present in WinBoard.)
18494 * Bug fix: setting feature reuse=0 was not working.
18496 xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000
18499 * Setting -searchTime no longer turns off -clockMode. Note that when
18500 -searchTime is set, some engines may search for the lesser of
18501 searchTime and the amount of time their normal clock management would
18502 dictate, while others will disable their normal clock management and
18503 always search for exactly searchTime.
18505 * Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the
18506 ICS Interaction window would scroll back to the top whenever it filled
18507 to capacity and WinBoard trimmed some text off the top.
18509 * Changed xboard dragging so that the center of the dragged piece is
18510 forced to be over the mouse cursor. (WinBoard dragging already worked
18511 that way.) This should avoid confusing cases when you start a drag
18512 with the mouse near the edge of a square -- formerly most or all of
18513 the piece could be over one square but the mouse cursor over another.
18516 * Added move list window for xboard. Code contributed by Manuel
18517 Hoelss and re-hacked a bit by me. Performance of this window is poor,
18518 because the implementation regenerates the entire window contents
18519 whenever anything changes. It's hard to avoid this when using the
18520 Athena List widget, though we could be a little smarter and notice
18521 when the current move number has changed but the move list has not.
18522 There are also several drawing problems caused by bugs in the Athena
18523 Form and List widgets. The window should not really allow a
18524 horizontal scroll bar, but the bugs are much worse if I turn it off.
18525 In both Xaw and Xaw3d, the List widget tries to resize itself when
18526 XawListChange is called, even if you tell it not to; and what's worse,
18527 if the widget cannot resize itself to be large enough to avoid
18528 clipping any of the list item, it does not change the list! Arrgh.
18529 On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1
18532 * The OK button in the WinBoard startup dialog is now simply disabled
18533 if none of the radio buttons is selected, instead of bringing up an
18534 error dialog. Suggested by Ted Milbaugh.
18536 * Used ping to address the worst of the race conditions in the
18537 protocol. Now if an engine supports ping, we ping it after sending
18538 the "new" command and after trying to place it in force mode at the
18539 end of a game. When a ping has been sent and the corresponding pong
18540 has not yet come back, we (1) ignore or undo any moves the engine
18541 sends, (2) ignore game end messages (such as "offer draw", etc.) from
18542 the engine, (3) ignore thinking output from the engine, (4) delay
18543 starting the next game if in -matchGames mode, (5) in -zippyPlay mode,
18544 respond to challenges with a polite message to try again soon instead
18545 of accepting them. There are a few more things that should be done
18546 (and item 5 might not be quite what we want), but it's hard to fit
18547 them all into the existing code.
18549 * Patched the version of GNU Chess 5.00 included with WinBoard to
18550 support protover, feature, setboard, and ping, and to fix some minor
18551 bugs. See gnu500+.patch.
18553 * Changed the GNU Chess 4 kludges for missing "st" and "sd" commands
18554 to be invoked only if the engine gives an error message for "st" or
18555 "sd", and to always use protocol commands instead of engine
18556 command-line options. See "Idioms" in engine-intf.html.
18558 * Added new protocol command "protover 2" to tell the engine what
18559 version of the protocol is in use. Version 2 is still compatible with
18560 old engines; see engine-intf.html.
18562 * Add new protocol command "feature ..." The engine can send this in
18563 response to the protover command command, to say what extended
18564 protocol features it would like to enable, etc. xboard responds
18565 "accepted F" or "rejected F" for each feature F that is set. See
18568 * Added new protocol command "setboard <fen>". This is an alternative
18569 to "edit", used only if the engine says "feature setboard=1".
18571 * Added new protocol command "ping <msg>". The engine is supposed to
18572 respond "pong <msg>". This gives us a tool to fix some race
18573 conditions in the protocol, but it is not used to the fullest yet.
18575 * Added new protocol command "tellopponent". This will do a "say" if
18576 you're on a chess server in Zippy mode, or pop up an information
18579 * Added new protocol command "tellall". This will do a "kibitz" if
18580 you're on a chess server in Zippy mode, or pop up an information
18583 * Added new protocol command "tellothers". This will do a "whisper" if
18584 you're on a chess server in Zippy mode, or do nothing otherwise.
18586 * Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,
18587 and /secondChessProgramNames options to accept a filename preceded by
18588 "@", meaning to find the value in the file. Changed the defaults to
18589 use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,
18590 and scp.ini. This should make it easier for users to edit the values,
18591 since one less level of quoting is needed, and each value is in its
18592 own file, not mixed into winboard.ini. Those who upgrade from an
18593 older winboard version and already have a winboard.ini file will not
18594 automatically have these values moved to a file; that has to be done
18595 by hand if desired.
18597 * We now strip .exe from engine names for "name" command, tags, etc.
18599 * Allowed WinBoard input widget to hold more than one line. You can get
18600 a newline into the widget with copy/paste or with Ctrl+Enter.
18602 * Fixed an xboard bug where the [P] button would appear in the
18603 opposite highlight state from what it should be after being pressed.
18605 * We now use the "/" or "$" alias suppression feature on the chess
18606 servers, to avoid problems if the user inadvertently aliases a
18607 needed command to something else.
18609 * Changed the method used to deiconize xboard in AutoRaise and cmail.
18610 This may fix bugs under some window managers where after
18611 deiconization, the board window was mapped but nothing was drawn
18614 * Preliminary, partial support for playing several chess variants
18615 against a local engine or editing variant games. The -variant option
18616 must be given on the command line or WinBoard startup dialog; there is
18617 no menu. The current variant is not displayed (except in the
18618 Tags/EditTags window). Many variants will not work quite right even
18619 if the engine supports them; see item 326 in the ToDo file for
18622 * Added a workaround to detect the variant type when examining a
18623 scratch wild game on an ICS.
18625 * Fixed two cases where "variant" command should be sent to the engine
18626 when necessary but was not: loading a game from a file and restarting
18627 a dead engine. Thanks to Gian-Carlo Pascutto.
18629 * Added missing support for FICS games that start from a bsetup position
18630 with Black moving first.
18632 * Fixed a bug in loading a file from the game list window while in
18633 Analysis or AnalyzeFile mode. This now leaves us in AnalyzeFile
18634 mode, analyzing the new file.
18636 * Fixed a bug in loading games with a comment before the first move.
18638 * Fixed a bug in handling LoadGame (or -lgf) with -td 0.
18640 * Added a command line option to select an initial minor mode from the
18641 Mode menu. This should satisfy requests from a couple of users with
18642 special applications.
18644 * Fixed a problem where some things in WinBoard's General Options
18645 dialog box were grayed out at the wrong time.
18647 * We look for a few messages from the chess engine pipe that are
18648 intended to catch problems starting an engine via rsh, such as "No
18649 such file". Moved code so that these strings won't match until other
18650 protocol messages have been looked for, and documented the messages in
18653 * Fixed the WinBoard bug that sometimes made the console input box
18654 white-on-white even when not in password-entry mode.
18656 * Small changes to WinBoard to be compilable with the latest Cygwin
18657 net release (as of 10-16-2000). Thanks to Mark Schoenberg.
18659 * Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net
18660 release (as of 10-16-2000). Also rebuilt the book just to be sure,
18661 since I had one bug report about it. It came out identical and seems
18664 * Added messages for some common InstallShield errors instead of just
18665 printing InstallShield's stupid error code numbers.
18667 * Added -firstComputerString and -secondComputerString, allowing you
18668 to suppress or change the command that is sent to a chess engine when
18669 its opponent is another computer.
18671 * Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead
18672 of Xaw widgets in xboard. Thanks to Johnny C. Lam of the NetBSD
18673 project. I've left Xaw as the default because Xaw3d is too ugly.
18675 * The version of the Xaw Form widget released in XFree86 4.0.1
18676 (X11R6.4.3) has a bug that causes xboard to display the button bar
18677 on top of the message widget. I've reported the bug and have
18678 installed a kludge workaround into xboard.
18680 xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000
18683 * Merged Winboard Plus 4.0.8 from Mark Williams into xboard
18684 source pool. Status of Winboard Plus features in xboard:
18686 - White pieces now have borders, but the implementation is
18687 completely different from WinBoard's; see below.
18689 - Options menu not changed, probably won't be.
18691 - Copy&paste support working, using Mark's changes to backend.c, Ben
18692 Nye's changes to xboard.c for FEN positions, and some code of my
18693 own in xboard.c for PGN games.
18695 - Premove hooked up and working. No pre-first-move, though.
18697 - ICS Alarm hooked up and working.
18699 - Auto-flip working.
18701 - PGN Training mode hooked up and working.
18703 - Improved menu item enable/disable working.
18705 - Improved >> button working.
18707 - Auto activate board working. I changed this to be optional; you
18708 might not always want it, especially in Zippy mode.
18710 - Blindfold working.
18712 - Documentation updated.
18714 * Fixed more colorization bugs. Commands like "message foo tells you:
18715 xxx" and "tell 33 tells you: xxx" will no longer generate bogus
18718 * Added low-tech sound support to xboard, by invoking an external
18719 program on a filename for each sound to be played.
18721 * ICC wild 27 is now recognized as VariantAtomic, and it sets the
18722 "ignore check" flag, but is not otherwise supported.
18724 * Converted the piece bitmaps from .bm to .xpm for use with xboard's
18725 xpm support. (An .xim version was not created.) Wrote a shell script
18726 using ImageMagick to do the conversion and to bucket fill from
18727 coordinate 0,0 with the background color. Used xpaint by hand to
18728 clean up a few pieces where background color "leaked" into the inside
18729 or didn't flow all the way around the outside, then a sed script to
18730 fix up color names and bitmap names in the xpaint output. If any more
18731 sizes are added later, they should be straightforward to convert with
18732 reference to the existing scripts. With this conversion, not only do
18733 the white pieces now have dark borders, but (unlike with WinBoard) the
18734 light details on the black pieces are opaque.
18736 * If the XPM library is found when building xboard, the new xpm pieces
18737 are compiled in as the default. External bitmap (or xpm) pieces can
18738 still be used by giving the -bitmapDirectory (or -xpmDirectory)
18739 option. If the XPM library is not found, the old bitmap pieces are
18740 the default. In this case external bitmap (or xim) pieces can be used
18741 by giving the -bitmapDirectory (or -xpmDirectory) option. There is no
18742 way to compile in xim pieces.
18744 Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000
18749 * Main menu now visible in Win NT. Thanks to Microsoft for creating a
18750 compiler which auto-mutilates the WinBoard.rc file so that the menu is
18751 displayed under Win 98 but not Win NT. I fixed the problem by hand editing the
18754 * "Reset game" now works properly when invoked from Analysis mode when two
18755 engines are present. Correction of bug introduced in Winboard Plus. Thanks to
18756 Mogens Larsen for reporting the bug.
18758 * Pasting a FEN position with Black to move now works in all modes.
18759 Thanks to Mogens Larsen for reporting the bug.
18761 * Added gnuchess.dat to the distribution and a couple of text files that were
18764 *** Merged in the following changes from Tim Mann:
18766 * Bugfix: Highlights would sometimes not be taken down, at least in
18767 xboard. The problem is that SetHighlight works in chess coordinates,
18768 not view coordinates, so if flipView has been toggled since the
18769 highlight was put up, it gets taken down from the wrong square. Fixed
18770 by being careful to call ClearHighlights before toggling flipView, not
18773 * Bugfix: HighlightLastMove would sometimes highlight square a1 after
18774 a FICS "tomove black" command.
18776 * Bugfix: a move list with initial position that has black to play was
18777 not being handled correctly.
18779 * Removed "decline abort" and "decline adjourn" commands from Zippy.
18780 The syntax is changing on FICS, and Zippy really doesn't have to
18781 explicitly decline the requests anyway; it's sufficient to not accept
18784 * ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC
18785 calls it "giveaway").
18787 * Bugfix: PGN games with black to move in the initial position weren't
18788 being legality checked correctly. I think this was introduced in
18789 4.0.6 when I fixed a different PGN bug. Thanks to Mark Williams for
18790 spotting the bug and suggesting a fix.
18792 * Bugfix: the initial "name(" of a kibitz wasn't being colorized.
18794 Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000
18797 * New white pieces with black borders.
18799 * Major overhaul to Options menu. New dialogs for setting General Options,
18800 Board Options, ICS Options, Sounds, Fonts, Colors.
18802 * Clipboard support for PGN game scores and FEN positions.
18804 * Optional ICS Premove with user-specified first moves for White and Black.
18806 * New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.
18808 * New auto-flip option when playing against a chess program.
18810 * Added PGN Training mode.
18812 * Certain menu options now disabled while program is thinking.
18814 * ">>" button now always goes to the end of the game.
18816 * In ICS mode, the board is automatically activated at the start of a
18819 4.0.7 -- Sun Mar 5 17:17:49 PST 2000 Tim Mann
18821 * Fixed a nasty bug in parsing ICS game histories that was introduced
18824 4.0.6 -- Fri Mar 3 16:20:11 PST 2000 Tim Mann
18826 * Fixed bugs in Zippy's code for responding to messages sent with the
18827 ICS "message" command.
18829 * Fixed bugs where xboard could still create dialogs partially off the
18830 top of the screen. Fixed unwanted interactions between initial sizes
18831 and positions of various unrelated xboard dialogs. Deleted
18832 borderXoffset and borderYoffset resources.
18834 * Fixed restoring the xterm name on exit to work in more cases.
18836 * Small fix to the WinBoard self-extracting installer: when it starts
18837 up, it now always deletes any old wb-setup directory left over from a
18838 previous installation. Formerly this worked only on Windows 95/98, so
18839 on NT the self-extractor would sometimes stop and ask the user whether
18840 it was OK to overwrite the old wb-setup files.
18842 * Modified WinBoard to be compilable with the free Cygwin tools
18843 available from http://sourceware.cygnus.com/cygwin/. Based on work by
18844 Mark Schoenberg. (His mods were enough to get WinBoard through the
18845 compiler, but a few things were broken along the way, so I reworked them.)
18847 * Merged changes from Don Fong to make WinBoard compilable with
18848 Borland C++ 4.5. I do not have Borland C++ and am unable to test with
18849 it, but I did make sure the changes don't stop it working with MSVC++
18852 * Forbade entering TwoMachines mode from MachineWhite or MachineBlack
18853 mode when machine is on move. This used to confuse the engine and
18854 cause problems, because when we try to get the engine to stop, it
18855 might make a move first, and it might not do that immediately.
18857 * Variant classification now deals with new ICC wild 25, classifying
18858 it as "3check". Also, we are now conservative about new wild numbers
18859 we don't know about, classifying them as "unknown" instead of
18862 * Replaced bad GNU Chess 5.00 book in WinBoard distribution with a
18863 correct one. 1.e4 now no longer takes GNU Chess 5.00 out of book!
18864 Thanks to Pete Galati.
18866 * Made move parser accept and ignore nonstandard ep suffix on PGN moves,
18867 e.g., "exf6ep" or "exf6e.p."
18869 * Fixed bugs in parsing PGN files starting with no move number, or
18870 with a move number other than "1." (including "1..."). Thanks to
18871 Michael Soulier and Stefan Zipproth for example PGN files
18872 demonstrating the bugs.
18874 * Changed InitComboStringsFromString to not modify the input string;
18875 this caused an exception when WinBoard was compiled with MSVC++ 6.
18876 Thanks to Bert Tuyt for the report.
18878 * In WinBoard, dragging a piece off the edge of the board without
18879 releasing the mouse button no longer instantly aborts the move. You
18880 still must release the mouse button inside a square to complete a
18881 move, but you can now drag off the edge and come back inside.
18883 * WinBoard bugfix: If you went into EditGame or EditPosition mode
18884 while observing or playing an ICS game, and a new move came in
18885 (snapping you back to ICSClient mode) while you were dragging a piece
18886 around, the drag state would not be reset, causing the piece you were
18887 dragging to remain on the board wherever you dropped it. Thanks to
18888 David Brinegar for the bug report.
18890 * WinBoard bugfix: If you moved or resized the board while your
18891 opponent was moving, and you had AnimateMoving on, his move would not
18892 be displayed until after your next move. Thanks to DAV for reporting
18893 the bug repeatedly until I finally understood it.
18895 * Added a Zippy "farewell" feature; see zippy.README.
18897 * Fixed a bug (xboard only) in processing -zippyReplayTimeout on the
18898 command line. Thanks to Steve Beer for the report and patch.
18900 * Send "computer" command to both sides in TwoMachines matches.
18902 * Fixed a Y2K bug in Evan's cmail code! Thanks to Brian Mays for the
18905 * Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.
18906 This could cause crashes in LoadGame. Thanks to Andrzej Nagorko.
18908 * Fixed several pattern matching problems: Finger notes and formula
18909 vars no longer get replied to by zippyTalk or colorized. Channel
18910 tells by players with many titles are now colorized fully, and
18911 zippyTalk handles channel tells by such players correctly. The shout
18912 "--> foo(99): bar" no longer gets colorized as a channel tell. Code
18913 is cleaned up a bit, and autocomment capture now uses the same
18914 criteria as colorization.
18916 * xboard fix: Enter key now closes error popups as in WinBoard.
18917 Especially nice for the "Exiting: Connection closed by ICS" popup.
18919 4.0.5 -- Tue Dec 7 10:30:40 PST 1999 Tim Mann
18921 * Added missing documentation of SIGTERM usage into engine-intf.html.
18923 * Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as
18924 -zippyReplyTimeout. Thanks to Francesco Di Tolla.
18926 * xboard -ics now restores the xterm's original title upon exit, at
18927 least if $WINDOWID is set.
18929 * Bugfix: -matchGames mode wasn't terminating properly. Final score
18930 popup would come up twice and engines would not be killed off. Thanks
18931 to Frank Quisinsky for the bug report. Bug was introduced in 4.0.4.
18933 * Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;
18934 similarly for "...s-shouts:" and "...c-shouts:". Thanks to David Lee
18935 for the bug report.
18937 4.0.4 -- Fri Dec 3 17:51:27 PST 1999 Tim Mann
18939 * Bug fix: formerly if you invoked SaveGame from EditPosition mode
18940 with black to play, the position was not saved properly. As a quick
18941 fix, SaveGame now takes you out of EditPosition mode before saving.
18943 * Changed -matchGames to keep track of the score (won-lost-drawn) and
18944 display it in the banner. The final score is displayed in a modal
18945 popup before the program exits.
18947 * Changed "Connection closed by ICS" to display in a model popup
18948 before the program exits.
18950 * Added -popupExitMessage option, default on. Setting this to false
18951 suppresses the modal popups that you sometimes get just before
18952 xboard/winboard exits -- both the two new ones listed above and the
18953 existing Fatal Error popup. This is useful when running Zippy
18954 unattended from a shell script (or .bat file) that loops and starts a
18955 new copy after a time delay when there is an error.
18957 * In xboard, added missing support for WM_DELETE_WINDOW to all
18958 windows. This makes xboard a better citizen, and is much needed with
18959 the newer X window managers that put an [X] button on every window and
18960 bind it to "kill application" if the applicationd does not support
18961 "delete window". We can't allow xboard to be thoughtlessly killed,
18962 since that leaves the chess engine running in the background.
18964 * We now avoid positioning tops of xboard dialog boxes offscreen.
18966 * zippy.lines can now use the caret ('^') character as an inter-saying
18967 separator. You no longer need to dig up a text editor that can put NUL
18968 ('\000') characters in text files.
18970 * Bugfix: In traditional chess clock mode, White now gets time added
18971 to its clock as soon as it makes time control. Previously both White
18972 and Black got their time added only when Black made time control,
18973 which would cause some engines to make their 41st move as White too
18974 quickly, thinking they were low on time.
18976 * The zippyAcceptOnly feature no longer sends a decline command or
18977 a tell. Thus you can use it to put Zippy into a manual accept mode.
18979 * Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a
18980 personal tell; similarly for "...whispers:" and "...kibitzes:".
18982 * WinBoard no longer blanks the message line when you start a new
18983 move, unless there was an error message there from the previous move.
18985 * WinBoard now never puts the white piece drop menu on the middle
18986 mouse button. Both colors are always on the right button. Windows
18987 users often don't think to look for a middle button menu, or don't
18988 really have a working middle button despite what Windows says.
18990 * Guest login handles on ICC are now parsed again; an ICC wording
18991 change had broken this feature.
18993 * Autodetect when the engine does not support the "draw" command and
18994 don't relay the command to it in that case. Needed because sending an
18995 unsupported command to GNU Chess makes it move immediately, so people
18996 could make Zippy move without thinking by continually offering a draw.
18997 Thanks to Frank Walker for the problem report.
18999 * Small changes based on code from Robert Jurjevic: The WinBoard
19000 analysis window can be minimized (though not to the taskbar). The
19001 WinBoard ICS Interaction window will autoscroll if you drag the mouse
19002 above or below the window while selecting, and password entry mode
19003 leaves the entry line as the background color instead of using 75%
19004 gray. Seeks are now colorized with a new color of their own.
19006 * Added -zippyMaxGames feature.
19008 * -zippyNoplayCrafty command line option was missing in xboard; fixed.
19009 Thanks to John Perry.
19011 * Fixed bug in detecting when Zippy loses his bughouse partner.
19012 Thanks to Ben Dean-Kawamura.
19014 * allobs fix in 4.0.3 didn't work; corrected it.
19016 * WinBoard will now update the board immediately if a move is made
19017 while the window is being moved or resized.
19019 4.0.3 -- Sun Aug 15 18:44:39 PDT 1999 Tim Mann
19021 * Bugfix: moved winboard wizard functions that send a command directly
19022 to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.
19023 Ctrl+Alt is equivalent to the European AltGr key, so the old assignments
19024 conflicted with typing an @-sign on some keyboards.
19026 * Bugfix: prevent "If this message stays up, your chess program does
19027 not support analysis" from appearing if AnalysisMode is selected when
19028 already in Analysis or AnalyzeFile mode. Also, deleting analysis window
19029 in WinBoard now switches you to EditGame mode, to avoid the anomaly of
19030 being in an analysis mode with no analysis window present.
19032 * Change all Zippy environment variables to work as command line
19033 options. For now they still work as environment variables too, but
19034 the environment variables are deprecated.
19036 * Use unsigned long to hold node counts from engines.
19038 * Print error instead of crashing on attempts to use xpm or xim pieces
19039 in monochrome mode. Thanks to Jim Torrance for the bug report.
19041 * Tightened pattern recognition for ICS messages sent to Zippy; should
19042 no longer match ICC allobs output. Fixed recognition of when Zippy is
19043 sent a message; small change to FICS output had broken it.
19045 * Zippy now exits if the engine dies unexpectedly.
19047 * Added Zippy "spoofedby" feature; see zippy.README.
19049 * Narrowed the margins on some older WinBoard dialogs to make their
19050 style uniform with the newer ones.
19052 * Bugfix: Changing Ponder Next Move from the Options menu did not take
19053 effect until the next game. This bug was in WinBoard only. Thanks to
19054 Stefan Zipproth for the bug report.
19056 * Got rid of "Internal error: bad move type" message when the engine
19057 makes a move that we can parse but think is illegal. Now the move is
19058 just passed on (which also may be the wrong thing to do).
19060 4.0.2 -- Thu Feb 25 19:55:32 PST 1999 Tim Mann
19062 * Added one more built-in sound choice to WinBoard: move.wav from Pete
19065 * Added new larger piece sizes: big, huge, giant, colossal, titanic.
19067 * Modified the xboard font searcher to be able to use scalable fonts.
19068 The new -fontSizeTolerance flag controls how closely a nonscalable
19069 font must match to be used in preference to a scalable font.
19071 * Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control
19072 whether Zippy will accept abort and adjourn requests.
19074 * We now determine the variant type being played on ICS, send it as a
19075 command "variant VARTYPE" to the chess engine (if in Zippy mode), and
19076 put it in the PGN tags. See engine-intf.txt for variant names. See
19077 ZIPPYVARIANTS in zippy.README to control what variants Zippy will
19078 accept. Note that this now applies to bughouse, too.
19080 * Zippy now won't do -zippyTalk in a channel unless his handle is
19083 * Zippy now ignores bughouse holdings if not actually playing, instead
19084 of stupidly trying to abort the game. Let me know if other strange
19085 things happen when Zippy is observing a game.
19087 * Set ICS Interaction title bar to "user@server". User name is
19088 determined by parsing message during the login sequence. Zippy now
19089 uses this method to get its name too, so ZIPPYNAME is eliminated.
19090 Problem: with xboard, the title bar gets set to "xterm" upon exit,
19091 since we didn't know what it was to start with.
19093 * Fixed xboard-only bug in -colorChannel1 command line option. Thanks
19094 to Fredrik Sandstrom for the bug report and fix.
19096 * Check for overflow of MAX_MOVES. Still not sure this is checked for
19097 everywhere it needs to be.
19099 * Added .epd to suffixes recognized by WinBoard as position files.
19100 This is a bit of a kludge, as the .fen reading code was not written
19101 with .epd files in mind, but reading them with it is said to work.
19103 * Added ZIPPYGAMESTART feature, suggested by Jason Hoblit. See
19106 * Restored the feature of soaking up the moves from a user-typed "moves",
19107 "oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but
19108 changed it so that the move list is also echoed to the screen. Some folks
19109 still liked the old feature since it is faster than examine mode, and
19110 printing the moves to the screen should eliminate the confusion it caused
19113 * Bugfix: in WinBoard, starting a click-click move and then clicking on
19114 a black line would cause the source square to be forgotten without taking
19115 the highlight down. Now the errant click is ignored.
19117 * Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's
19118 File menu. Thanks to Andreas Stabel for the bug report.
19120 * Bugfix: if you had a completely full ICS context menu in WinBoard
19121 (90 items), the last one would do nothing if selected.
19123 * The "computer" engine command added in 4.0.1 was not working; I had
19124 left out part of the code patch. Oops.
19126 4.0.1 -- Fri Feb 12 21:24:15 PST 1999 Tim Mann
19128 This is a minor bugfix release. The first item listed below is the
19129 only interesting new feature.
19131 * You can now type in moves from the keyboard in WinBoard. Either
19132 select TypeInMove from Step menu, or (if you are not in ICS mode),
19133 just start typing. In ICS mode you can type moves into the ICS
19134 interaction window anyway, so I've retained the feature that typing
19135 switches you there. Not implemented in xboard.
19137 * Removed the "noise 1000" command that used to be sent to the chess
19138 engine when entering analysis modes.
19140 * Deleted the feature where we soak up the output of a user-typed ICS
19141 "moves" or "oldmoves" command. This ancient feature is not really
19142 useful anymore, now that "examine" exists, and it caused a lot of
19145 * Increased maximum size of ICS text menu to 90 entries and added
19148 * The command sent to ICS by Zippy at the end of each game can now be
19149 customized with the ZIPPYGAMEEND environment variable.
19151 * We treat xboard.info as a pseudo-source since most people don't have
19152 the tools to rebuild it. But "make install" erroneously had a
19153 dependency on it, even though "make all" did not. Fixed.
19155 * Miscellaneous minor updates and clarifications to engine-intf.txt.
19156 In particular, documented the st and sd commands (support for command
19157 line options -searchTime and -searchDepth), warts and all.
19159 * Added a small code patch from Bob Hyatt to detect when Zippy's ICS
19160 opponent is a computer and send the command "computer" to the engine.
19161 Added this command to engine-intf.txt. Thanks, Bob.
19163 * Bugfix: configure was looking for usleep(), but config.h.in didn't
19164 have an entry for it, so HAVE_USLEEP was never defined. Also, in the
19165 non-HAVE_USLEEP case, there was a possible race condition between the
19166 signal handler and the pause() call. Thanks to Ben Dean-Kawamura for
19169 * Bugfix: a "1..." preceding Black's first move (usually present if
19170 there is a comment on White's first move) would cause the parser
19171 to think a new game started there and report "End of game" on the
19172 current game. Thanks to Dell Garner for the bug report.
19174 * Changed the abbreviation for -searchDepth from -sd to -depth to fix
19175 a clash with -secondDirectory.
19177 * Changed -searchDepth to be orthogonal to the various timing options.
19178 Previously it would search for an unlimited time to the given depth;
19179 now the engine is allowed to choose its search time in the normal way,
19180 but is told to cut off the search early if it reaches the given depth.
19182 * Bugfix: SaveSettings in WinBoard was saving both the long form
19183 option highlightSquareColor and its abbreviation (hsc).
19185 * Fixed a redisplay bug in DisplayBothClocks that could cause White's
19186 clock to be highlighted in EditPosition mode when Black's should have been.
19188 * Fixed Zippy's feature of passing on draw offers from the ICS opponent.
19189 The colorization code was eating the offer before Zippy saw it, so I disabled
19190 colorization of offers while in -zp or -zt mode. (Other types of
19191 colorization are already disabled in Zippy mode for similar reasons.)
19193 * Added some more commands to the default ICS context menu in WinBoard,
19194 and put "(name)" on the ones that insert a playername (or game number).
19196 * Added missing documentation to WinBoard help file: PonderNextMove, the
19197 -ponder/-xponder argument, and the up/down arrow history feature in the
19198 ICS Interaction window.
19200 * Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,
19201 not if some other Crafty is observing the game and kibitzes.
19203 * Fixed bugs in generating "partner" commands when Zippy is playing
19206 4.0.0 -- Sat Jun 20 16:59:47 PDT 1998 Tim Mann
19208 * Fixed WinBoard resizing so that the edges you do not drag remain in
19209 place, even when the final size is different from what you dragged to.
19210 (This doesn't work on NT 3.51 or earlier, if anyone cares.)
19212 * Fixed problems with resizing WinBoard on Windows NT: you no longer get
19213 whitespace around the board, a clipped board, or a lot of flashing during
19216 * Added customization for highlight-square color.
19218 * Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't
19221 * Added Index Number field back to LoadGame/LoadPosition dialog boxes in
19222 WinBoard. This required some extra code to work with both the
19223 Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes. Ugh.
19225 * WinBoard startup dialog now understands -zp mode. The first chess
19226 engine selector is enabled and the value is used.
19228 * Bugfix: ResetGame would send "exit" to engine twice if it was in an
19231 * Bugfix: The response "Illegal move: bk" to the "bk" command, indicating
19232 that it is not implemented, would confuse xboard.
19234 * Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message
19235 saying that some bogus string (often "Hint:") is illegal.
19237 * Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.
19239 3.6.12 -- Sat Jun 13 14:57:10 PDT 1998 Tim Mann
19241 Beta test release of xboard and WinBoard.
19243 * Spruced up xboard man page a bit.
19245 * Added Highlight Last Move to xboard too.
19247 * The revamped xboard mouse click code had several more bugs than the
19248 previous version, so I revamped it again. All fixed now, I hope.
19250 * xboard bugfix: crash in CreatePieceMenu.
19252 * Oops. winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.
19254 3.6.11 -- Fri Jun 12 20:00:48 PDT 1998 Tim Mann
19256 Beta test release of xboard and WinBoard.
19258 * Major reorganization to engine-intf.txt. Some new features added,
19259 many existing features clarified and hints for engine programmers added.
19260 Support for new features added to program.
19262 * Changed defaults for -scp (etc.) back to being independent of -fcp, as
19263 in 3.6.2. That is, the default is no longer to copy the value from -fcp if
19264 -scp is not specified. This will sometimes make command lines longer but
19265 will remove some confusing situations.
19267 * Split -reuseChessPrograms into two options: -reuseFirst and
19268 -reuseSecond. Fixed obscure bugs when reuse is off.
19270 * Detect ICC and change some command usage slightly there: only ICC has
19271 set-quietly; only FICS has iset and bsetup clear. With this feature, we
19272 can now safely use bsetup clear when appropriate instead of deleting each
19275 * Added indent to lines that are wrapped by WinBoard ICS Interaction
19276 window. This seems to tickle a Microsoft bug in the RichEdit control:
19277 occasionally the start of the next line after the wrapped line is indented
19278 too. I think the wrapped indent feature is useful enough that it's worth
19279 having in spite of the bug.
19281 * WinBoard bugfix: bounding box for the board was computed incorrectly by
19282 mouse code. It would think you moved off the bottom of the board before
19283 you really did, so it was hard to drag pieces along the bottom rank on
19284 smaller board sizes.
19286 * Fixed obscure parser.l bug: ambiguity between capture using : instead of
19287 x and email header line. Also removed or simplified a lot of complex
19288 patterns for English (as opposed to PGN) end-of-game indications while I
19291 * Added PonderNextMove option.
19293 * xboard EditPosition piece menus now let you set the side to play by
19294 selecting the "White" or "Black" label at the top of the menu, like
19295 WinBoard. (Both xboard and WinBoard still let you set the side to play by
19296 clicking on the clock.)
19298 * Merged documentation of Crafty and GNU Chess thinking output in
19299 engine-intf.txt. Corrected code in backend.c to match documentation; it
19300 used to require the PV to start in column 27 (!).
19302 * Fixed bug that caused crashes in "-reuseChessProgram false" mode.
19304 * Draw by agreement in Two Machines mode now works as it is supposed to.
19305 Other minor bugs in handling game end messages from machines are also
19306 fixed, and engine-intf.txt is revised in this area.
19308 * Revamped xboard code for handling mouse clicks on the board. In
19309 particular, it had a bug if a click-click promotion move was made.
19311 * Fixed and reinstated optimization for << in analysis modes: send
19312 initString and re-send the board if needed. Sending repeated undos
19313 is bad because Crafty prints some analysis after every one.
19315 * Don't go into a spin loop while pausing between xboard animation frames.
19316 This caused problems, especially when compiling with -O2 on HP-UX.
19318 * WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome
19319 if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.
19320 This seemed to confuse people before.
19322 * Bugfix: ICS Interaction context menu items with neither of the two
19323 optional flags set did not work.
19325 * Bugfix: PGN move numbers are optional, but we were insisting on "1"
19326 right after the tags.
19328 * Bugfix: only the first game of an -mg match was loading -lpf or -lgf.
19330 * Other minor fixes and code cleanup.
19332 3.6.10 -- Mon Jun 1 01:32:31 PDT 1998 Tim Mann
19334 * Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.
19336 * Added timestamps for chess engine interaction to -debug output.
19338 * Now allow 10 seconds (was 5) between games in match mode for engines to
19339 respond to "force" command that ended previous game.
19341 * When a game is picked from the game list and the names of White and
19342 Black are known, display them in the window banner instead of the filename
19345 * Changed default for -scp and -sd to be the values of -fcp and -fd.
19347 * Added boxes for both engines to WinBoard startup dialog. Changed to
19348 dropdown boxes whose content can be set from winboard.ini, similar to
19349 the box for ICS name.
19351 * Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.
19353 * Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.
19355 * Added support for bughouse engines (Zippy mode only).
19357 * Move bombproofing for engines sending illegal or out of turn moves.
19359 * Always send "xboard\n" to engine as first command. Eliminates need
19360 to run crafty as "crafty xboard".
19362 * Rewrote xboard code for input from engines to fix longstanding bugs.
19363 Previously an engine that sent one line in two separate writes with
19364 some time lapse in between (or perhaps that sent several lines in one
19365 write) could make xboard hang. WinBoard did not have this bug.
19367 * Fixed minor bugs in dealing with illegal moves.
19369 * Added "iset startpos 1" for FICS.
19371 * Removed special support to put "GNU Chess" or "Crafty" in the window
19372 banner instead of the engine's base filename. This gives a more level
19373 playing field for other engines. Also fixed bugs in the code that finds the
19374 engine's base filename.
19376 * Bugfix: Abort or Resign at the very start of a game in chess engine mode
19377 would fail to send "force" to the engine.
19379 * Fixed some minor bugs in new "result" messages, and changed format to
19380 include a trailing PGN comment giving the reason the game ended.
19382 * Changed syntax of /font options in WinBoard; old syntax was assuming
19383 that a font name can't contain a digit, which is wrong. Old font names in
19384 WinBoard.ini files are still accepted.
19386 * Serious further work on getting WinBoard to read/write files in the
19387 "right" directories and documenting exactly what it does.
19389 * Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.
19391 * Misc. tiny fixes and cleanup.
19393 3.6.9 -- Sun May 24 20:53:08 PDT 1998 Tim Mann
19395 xboard and WinBoard beta release.
19397 * Tightened up illegal move handling. Illegal or meaningless moves from a
19398 file or chess engine should no longer get translated into a1a1 and blindly
19399 applied. Explicit moves to the same square (like a1a1) no longer make the
19400 piece on that square capture itself and vanish.
19402 * Added AlwaysOnTop feature to winboard.
19404 * Fixed bug in winboard "@" command line indirection operator.
19406 * Removed buggy "optimization" code for ToStart in analysis modes.
19408 * Fixed typo bug in zippy.c that would often cause winboard to crash
19409 right after starting a game in -zp mode.
19411 3.6.8 -- Sat May 23 22:23:19 PDT 1998 Tim Mann
19413 xboard and WinBoard beta release.
19415 * Added -firstDirectory and -secondDirectory so that chess engines can
19416 be started in a different directory from xboard/WinBoard itself.
19418 * Added -matchGames to allow more than one game in -matchMode. The games
19419 are played with colors alternating between the two chess engines. Had to
19420 add a time delay at the end of each game to catch up with game ending
19421 messages from both chess engines -- yuck.
19423 * Changed TwoMachines mode to have firstChessProgram play White by
19424 default. Added -firstPlaysBlack to restore old behavior.
19426 * Major rework of code in backend.c for dealing with first and second
19427 chess engines. Generalized the code and created a struct type with one
19428 instance for each engine. Several small bugs fixed along the way.
19430 * Fixed bugs in Abort in local chess engine mode.
19432 * Tightened pattern matching to recognize moves from machine. Should cure
19433 bogus "Illegal move" errors while Crafty is pondering with Show Thinking
19434 on, among other things.
19436 * WinBoard keeps focus in board window after popping up a comment due to
19437 Forward/Backward/ToStart/ToEnd commands.
19439 * Finally got rid of warnings on compiling moves.c under Windows.
19441 * Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not
19444 * Removed various bits of unused code.
19446 * Parse (and ignore) NAGs in PGN files.
19448 * Updated engine-intf.txt.
19450 * Send "result R" to the chess program at the end of each game, where
19451 R is the PGN result 1-0, 0-1, 1/2-1/2, or *.
19453 * Bugfix: suppress animation when loading a game with timeDelay=0.
19455 * Bug fix: pondering output from Crafty that contained "..." could be
19456 mistaken for a move, causing bogus error messages and general chaos.
19458 * xboard "make clean" bug fix: moved things created by configure to be
19459 removed only by "make distclean".
19461 * Fixed a remaining case where move was being animated before being
19462 relayed to opponent.
19464 * Backend was reversing time/otim commands to the chess program (new bug),
19465 and was often not sending them on the first move of a game or the first
19466 move after a mode change (old bug). Fixing the latter required a kludge
19467 to work with both GNU Chess and Crafty, because Crafty swaps white and
19468 black clock times when it swaps sides, while GNU Chess does not. The
19469 kludge is that we always make sure the chess engine thinks its opponent is
19470 on move before we set the clock. This will sometimes result in sequences
19471 like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and
19472 black interchanged.
19474 * Removed last trace of old -whiteString and -blackString arguments.
19476 * Fixed so that you can type "bd" into the Direct Command dialog when
19477 debugging gnuchess, without having xboard parse the clock display
19478 (starting with "White") as "White wins" and end the game.
19480 * Changed moves.c to make a distinction between IllegalMove (where we
19481 could tell what move was intended, but it violates the chess rules) and
19482 MeaninglessMove (where we could not tell). This is a step towards getting
19483 rid of cases where we translate meaningless moves into "a1a1", but some
19484 work is probably needed to track them all down.
19486 * Fixed bug in WinBoard monoMode dragging.
19488 * Changed WinBoard to new style file dialogs. In the process, disabled
19489 the feature that let you enter the index number of a game or position within
19490 the file in the dialog. This is no loss in LoadGame, as you can pick your
19491 game from the game list dialog that follows, but it does remove some
19492 functionality from LoadPosition.
19494 3.6.7 -- Mon May 18 21:25:00 PDT 1998 Tim Mann
19496 xboard and WinBoard beta test release. I've been unable to reproduce some
19497 reported drawing bugs, so they may still not be fixed.
19499 * Changed PopUpErrors option to PopupMoveErrors, which is more useful, and
19500 changed default to off. Errors other than move errors should always be in
19501 popups; they are often too big for the message area and too important to
19502 put where they can be easily missed. But it seems good to get rid of the
19503 popups for move errors by default.
19505 * xboard analysis window no longer forces itself to top whenever there is
19506 new output. Also, now uses built-in Xaw word wrapping instead of trying
19507 to do its own; works better.
19509 * Bugfix: Reset did not take Crafty out of analyze mode.
19511 * A chess engine no longer has to claim to be Crafty to be able to use
19512 AnalysisMode and AnalyzeFile; it just has to implement the analyze
19513 command as Crafty does. Put in heuristics to generate more informative
19514 error messages if the engine does not support analyze, and checked that
19515 they work at least with GNU Chess.
19517 * Added click-click moving, HighlightLastMove, and HighlightDragging to
19518 WinBoard. The highlight features are unlikely to go into xboard unless
19519 the xboard drawing code is cleaned up to do *all* drawing on the board
19520 from DrawPosition, as WinBoard does. This is low priority for me.
19522 * Eliminated bogus "Error gathering move list: no header" popup. You
19523 could get this by observing two fast games at once without turning off
19526 * Disable WinBoard Sounds menu entirely in -ncp mode, since not even
19527 MoveSound is used in that mode.
19529 * WinBoard bugfix: Several problems were caused if the user changed
19530 WinBoard's current directory in a Load, Save, or Browse dialog. In
19531 particular, WinBoard.ini would get saved in the wrong directory, and
19532 sound .wav file names would not get saved with a full pathname. I think
19533 all such problems are now fixed.
19535 * WinBoard bugfix: iconizing the board after an aborted mouse resize would
19536 (partially) resize it to Tiny.
19538 * WinBoard bugfix: board was not being drawn in color on 256-color
19539 displays. This bug was introduced in 3.6.6.
19541 3.6.6 -- Tue May 12 17:43:43 PDT 1998 Tim Mann
19543 xboard and WinBoard beta release. Note: not all reported bugs are fixed.
19545 * Move animation in WinBoard, programmed by Henrik Gram. Great stuff!
19547 * Animate backward moves too.
19549 * xboard bugfix: -font (and friends) can now specify a font alias (such
19550 as "fixed"), not just a full X Consortium name pattern. Previously this
19551 would give a resource conversion error message.
19553 * Some coding style cleanup in xboard.c.
19555 * Earlier error check for moving wrong color piece in EditGame mode.
19557 * Completed fix to pattern matching; see 3.6.5.
19559 * Fixed some software rot bugs in Zippy.
19561 * Split AnimateDragging as separate option from AnimateMoves.
19563 * Added FlashMoves to options menu and -flash/-xflash to command line
19564 options (xboard only).
19566 * Some preliminary work on visible bughouse holding support. Most of the
19567 code is not present in this release because I have not gotten it working
19568 properly yet; my first approach went down a blind alley and I had to
19569 remove most of the partially working code in preparation for a rewrite.
19571 3.6.5 -- Fri May 8 14:22:09 PDT 1998 Tim Mann
19573 Not generally released.
19575 * Pack bughouse holdings display in banner more tightly when board is one
19576 of the smaller sizes (when smallLayout or tinyLayout is true, that is).
19577 An interim measure, but should help.
19579 * Completed fix to make move list parsing recognize the end condition and
19582 * Fixed pattern matching for chatter (tells, etc.) to be more reliable.
19583 This should reduce the incidence of colors starting in the wrong place and
19584 of incorrectly matching things that look like other patterns inside
19585 chatter, such as "shout <12>". (These errors were already rare.)
19587 * WinBoard now lets you customize the list of ICS's in the startup dialog.
19588 For now, at least, requires editing WinBoard.ini with a text editor.
19590 * Bug fix: WinBoard window sizing and position setting save/restore did
19591 not work right when the taskbar was at the top (or left side) of the
19592 screen and not in autohide mode.
19594 * Merged xboard click/click mode and drag mode, and deleted
19595 ClickClickMoving option on menu. Now if you click on a piece, it
19596 highlights and a further click on another square will move it. (A second
19597 click on the same square takes down the highlight.) Or if you press down
19598 on a piece and start to drag, you can drag it to a new square.
19600 * When making click/click style moves, if your second click is on a piece
19601 of the same color, instead of saying "Illegal move", we now cancel the first
19602 starting square, replace it with the second, and wait for another click to
19605 * Separate -secondInitString. Default: same as -initString. Suggested by
19608 * Patch from Frank McIngvale to make animation work with XIMs. Yay!
19610 * Changed move animation to happen after move is passed on to ICS or the
19611 chess engine, where applicable. Fixed problems with updating moveList
19612 that this uncovered.
19614 * Changed game list to show PGN result token for each game.
19616 * The usual minor bug fixes.
19618 3.6.4 -- Thu Apr 30 23:14:43 PDT 1998 Tim Mann
19620 xboard and WinBoard beta test release.
19622 * xboard documentation updated, both man page and info file. An attempt
19623 to generate both from the same source with LinuxDocSGML was abandoned, at
19624 least for now. WinBoard doc updated too.
19626 * Merged updates to animation code from Hugh. Fixed a couple of remaining
19627 bugs, mostly to do with handling Pause mode correctly.
19629 * Added SaveSettingsOnExit to WinBoard.
19631 * WinBoard now saves the last screen position of the Comment, Edit Tags,
19632 Game List, and Analysis windows (in addition to the board and ICS
19633 Interaction windows) in WinBoard.ini.
19635 * WinBoard now provides a way to customize the right-button context menu
19636 in the output area of the ICS Interaction window. For now, requires
19637 editing WinBoard.ini with a text editor.
19639 * Various minor fixes to ICS message recognition, most affecting only Zippy.
19641 * Colorize the notification when someone sends you a message while you are
19642 logged in, not the output of the "messages" command.
19644 * Fixed colorization to turn off at the right place more reliably.
19646 * Added a new color and WinBoard sound for "requests": abort, adjourn,
19647 draw, pause, and takeback. The same color and sound are used for all of
19650 * Added GUI to change sounds in WinBoard.
19652 * Suppressed WinBoard error popup when a sound can't be played. They were
19653 popping up when two separate WinBoards tried to play a sound at the same
19654 time (such as during a bughouse match).
19656 * Fixed WinBoard crash when a sound file didn't exist.
19658 * WinBoard ports of timestamp and timeseal now produce decent error
19659 messages if they fail to connect, and WinBoard captures the messages and
19660 puts them into a popup. Previously WinBoard would exit with no message on
19663 * WinBoard resizing with mouse improved; now accurately picks the largest
19664 size that fits in the new area.
19666 * Added option to turn off error message popups.
19668 * Added sizes slim, dinky, and teeny.
19670 * Fixed some minor problems with error message wording.
19672 3.6.3 -- Mon Feb 23 19:08:57 PST 1998 Tim Mann
19674 xboard beta test release only. Man page is updated for the changes, but info
19677 * Bug fix: LoadGame could not load a PGN game whose first move was
19678 castling (which is possible from setup positions).
19680 * Bug fix: we were ignoring illegal move messages from chess engines in
19681 modes where the engine is refereeing but not participating (EditGame,
19682 LoadGame, AnalyzeFile). The problem was in a workaround for a Crafty bug,
19683 where Crafty generates a bogus illegal move message if a "." (used by
19684 the PeriodicUpdates feature) is sent in analysis mode when the current
19685 analysis reveals a forced mate. Installed a different workaround (that
19686 works in most but not all cases) and reported the Crafty bug. Bob Hyatt
19687 replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.
19689 * WinBoard only: enabled resizing board with the mouse. It snaps to the
19690 nearest (but not too much larger) predefined size.
19692 * The xboard default font is now sized according to piece size, just as
19693 clockFont and coordFont have always been.
19695 * Added more sizes: bulky, moderate, average, middling, mediocre, petite.
19697 * xboard only: Added Animate Moves and Click-Click Moving to Options menu.
19699 * xboard only: Added code to animate piece movement, from Hugh Fisher.
19701 * New feature: autoflag is implemented in MachineWhite, MachineBlack, and
19702 TwoMachines modes. If it is on and either a chess program or the user
19703 oversteps his time, xboard will automatically call the flag and end the
19704 game. This feature was requested by someone who runs matches between
19705 programs and wants to penalize GNU Chess for its habit of running slightly
19706 over at the end of a time control. I personally think it's pointless.
19708 * Fixed a bug in Zippy's pattern matching; he can now reply to ICC
19711 * Generate prettier notation for illegal moves. If a move is illegal only
19712 because it leaves the player in check, generate notation as if that were
19713 not illegal. For instance, if two knights are a knight's move away from
19714 f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to
19715 move the g1 knight, Nef3 to move the e5 knight. (Suggested by Philippe
19716 Schnoebelen.) In addition, if a move is illegal because the type of piece
19717 moved cannot go that way, would be jumping over another piece, etc., we
19718 give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,
19719 d2xd8=Q, etc. An alternative would be to still write Ng3 if there is only
19720 one knight on the board, or Ngg3 if the other knight is not on the g file,
19721 but life is too short to code up all this stuff, and perhaps the way I did
19722 it is better as it emphasizes that this move was really made despite being
19723 illegal. I wonder if the new PGN standard revision will speak to notation
19726 * Fixed gross bug from 3.6.2: if a chess program said "checkmate" and
19727 White was left on move, the PGN outcome was "1-0 {Black mates}" instead
19728 of "0-1 {Black mates}"! The bug occurred only for that specific string.
19730 3.6.2 -- Wed Jul 23 16:47:29 PDT 1997 Tim Mann
19732 * There was a bug in backing up from the end of a game against a chess
19733 engine, introduced when -reuse mode was added. Fixed.
19735 * Recognize "{" as terminating an ICS move list. Previously we needed to
19736 see a prompt (containing %), but occasionally ICC can send more stuff
19737 right after a move list with no prompt in between.
19739 * In WinBoard, -mm now implies -cp, so you don't get the startup dialog.
19741 * WinBoard startup dialog no longer sets -scp. People used to get
19742 confused because they would give the -fcp and -scp arguments, but omit
19743 -cp. This would bring up the startup dialog, which would set both -fcp
19744 and -scp to the value in the engine name box. Now you can change -scp
19745 only with the command-line argument. That will confuse some people too,
19746 but hopefully fewer. I think overall it's better than putting spaces for
19747 both -fcp and -scp in the dialog, which would puzzle newbies.
19749 * Bug fix: Analyze File mode now works in WinBoard.
19751 * Bug fix: WinBoard window no longer cuts off part of the bottom row if
19752 the menu bar wraps to a second line.
19754 * Accept game end messages of the form "PGN-result {comment}" from the
19755 chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2. Accept "resign"
19756 or "computer resigns" from the chess engine as a synonym for "0-1 {White
19757 resigns}" or "1-0 {Black resigns}". Accept any message from the chess
19758 engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".
19759 Accept "White resigns" or "Black resigns".
19761 * Enable "Action / Draw" menu item in chess engine mode. It sends the
19762 command "draw" to the engine. Accept any message from the chess engine
19763 containing "offers a draw" as a draw offer. WARNING: Draw offers from the
19764 user and the engine (or from two engines) are not yet matched up by xboard
19765 in chess engine mode. Two engines could get into a loop offering each
19768 * Bug fix: Game end messages from the chess engine are always ignored in
19769 Zippy mode. Previously they could sometimes be processed, which was
19770 sometimes making Zippy hang at the start of a new game that followed
19771 quickly after an old one.
19773 * Zippy can now respond to titled players in channels. Zippy will avoid
19774 talking to himself in a channel if he knows his own name.
19776 * Bug fix: in colorization arguments, the bold setting was being ignored
19777 if the background color was defaulted. (xboard only.)
19779 * Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.
19780 If fewer than 8 squares are given in a row, or fewer than 8 rows are
19781 given, the uncovered squares are empty. Also, there can be a / after the
19784 3.6.1 -- Sat May 17 01:02:33 PDT 1997 Tim Mann
19786 * Bug fix: Hitting escape while entering a password on WinBoard no longer
19787 sets the font color back to black (which made further typing visible).
19789 * Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would
19790 often hang if you tried to exit with the Exit menu item, the [X] button,
19791 etc. The same fix may also have corrected the problem where running a
19792 chess program with /xreuse would sometimes crash Windows 95 (but not NT)
19793 when the chess program was killed and quickly restarted.
19795 * Bug fix: Periodic Updates would not work if turned on after having been
19796 off. Also, the default was needlessly "off" in WinBoard.
19798 * Zippy bug fix: Continuing an adjourned game was totally broken. The
19799 wrong moves, or no moves at all, were being fed to the chess program.
19801 * WinBoard change: Giving -ics without -icshost now pops up the startup
19802 dialog with "Use an Internet Chess Server" pre-selected, so that you get a
19803 menu of chess servers instead of going directly to ICC.
19805 * Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and
19806 -icshelper in winboard.ini. This causes a problem if you use a different
19807 icshost later that needs the default values for icsport (5000) and
19808 icshelper ("", meaning none).
19810 * Disabled complaints about unexpected "[Ii]llegal move" messages from
19811 the chess program; we still get them at times.
19813 * Greatly simplified the code for Move Now and SIGINT (ATTENTION). Fixes
19814 the bug where Move Now did not work with GNU Chess in WinBoard, and
19815 several more obscure bugs as well. Reintroduces a minor bug: GNU Chess might
19816 not think on your time after a Move Now command. Trying to fix this
19817 causes too many other problems. Documented change in engine-intf.txt.
19819 * Cleaned up code for obtaining ratings from ICS. It was kludgey and may
19820 have had bugs on systems with no "Creating:" message. It should fail
19821 gracefully there, just not finding the ratings.
19823 3.6.0 -- Thu May 8 19:55:58 PDT 1997 Tim Mann
19825 * WinBoard now has right-button context menus in the ICS Interaction
19826 window. Some of the items do immediate commands on the player name you
19827 have selected or pointed to. (Suggested by Paolo Casaschi.) Also, the
19828 middle button or shift+right does a immediate Copy and Paste.
19830 * Fixed a bug in Zippy's wild rejection. The bug was causing Zippy to
19831 reject all forms of wild. Now it rejects only 1, 9, 16, 17, and 24, as
19832 was intended. These variants have different rules, while the other
19833 variants defined so far only have different starting positions.
19834 (Actually, wild 2, 3, and 4 never allow castling, but may sometimes by
19835 chance have king and rook start on squares where castling appears legal.
19836 This could cause a problem later.)
19838 * Zippy now resumes adjourned games by feeding the chess program
19839 the move list instead of the position. Setting -getMoveList to False
19840 restores the old behavior. Feeding in the move list is better because
19841 it enables the chess program to correctly handle en passant legality,
19842 castling legality, draw by repetition, and draw by the 50 move rule.
19844 * Added a WinBoard startup dialog for people who run WinBoard.exe without
19845 using the Start menu or reading the help file. Instead of being dumped
19846 directly into GNU Chess mode, you now get a menu of choices. You now have
19847 to give the new WinBoard -cp option to go directly into chess engine mode.
19848 I did not add this feature to xboard.
19850 * Handling of "illegal move" from Crafty is now back on. (It was turned
19851 off in 3.4.6; see below.) Crafty 12.0 doesn't seem to send bogus ones
19852 anymore. I did have to suppress sending time and otim in analyze mode to
19853 make this work, but there is no harm in that.
19855 * Zippy now sends "gameend" to ICS at the end of each game. You can alias
19856 this to "seek" or whatever you like.
19858 * Added Crafty support for Move Now, using the "?" command. We test
19859 whether this command exists by trying it once at the start of the first
19860 game, before it really makes sense. If we don't get a message like
19861 "Illegal move ... ?", we assume it's OK. (We're careful about this
19862 because sending a "?" to GNU Chess on Move Now keeps it from pondering the
19863 next move as it should.)
19865 * Added support for a tellusererror command from the chess engine. See
19868 * Attempted to make engine-intf.txt complete.
19870 * Minor fixes/cleanup to GameEnds code, to be sure we always interrupt
19871 when needed, and always undo an extra move generated by stopping the chess
19872 program while it is thinking.
19874 3.5.7 -- Sat May 03 22:37:44 PDT 1997 Tim Mann
19876 Beta release of both xboard and WinBoard.
19878 * Updated xboard documentation. I really wish the man page was built from
19879 the info file instead of being separate! It's a pain to update them both.
19881 * Updated documentation of the interface between XBoard/WinBoard and chess
19882 programs, and renamed it to engine-intf.txt.
19884 * Added support for tellics, telluser, and askuser commands from the chess
19885 engine. See engine-intf.txt.
19887 * Various bug fixes. On WinBoard, 256 color displays are finally handled
19888 right; no more color flashing when you switch windows unless the colors
19889 really need to be updated. Also, I think the problem of the console font
19890 failing to change or changing back by itself is finally fixed.
19892 3.5.6 -- Tue Apr 29 03:08:00 PDT 1997
19894 Beta release, WinBoard only. ChangeLog was out of date in release,
19897 * Added ICC timestamp and FICS timeseal to WinBoard distribution. These
19898 are my own ports to Win32, based on and used by permission of the owners
19899 of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram
19900 for timeseal). The owners permit these programs to be distributed only in
19901 binary form (to help prevent cheating), so to avoid running afoul of the
19902 GPL, I have kept them as separate programs, not linked into the WinBoard
19903 address space. Updated Start menu icons to use them.
19905 * Miscellaneous smaller changes.
19907 3.5.5 -- Fri Apr 25 03:06:00 PDT 1997
19909 Beta release, WinBoard only. ChangeLog was out of date in release;
19912 * Added simple sound support to WinBoard.
19914 * Updated WinBoard documentation.
19916 * Internal implementation of the telnet protocol is now more complete.
19917 You can now hop through a VMS host on the way to ICS. For example, do
19918 "xboard -ics -icshost vms.host.edu -icsport 23", then log in. Do not use
19919 the -telnet flag; that says to use an *external* telnet program. To avoid
19920 double echoes, you need to force character mode in VMS telnet after
19921 connecting from VMS to ICS. Do "^]^Mset mode char^M^M".
19923 * Display opponent names in the title bar for MachineWhite, MachineBlack,
19924 and TwoMachines modes.
19926 * WinBoard now has an installer, built with InstallShield. The installer
19927 works with a binary-only distribution. Sources are still freely
19928 available, but now separately.
19930 * Added SaveSettings to WinBoard, which saves current option settings to
19931 winboard.ini. Made sure all options can be saved and loaded, including
19932 fonts and com port settings.
19934 * If the game ends while you are dragging a piece, we now don't let you
19935 finish the move. Formerly the move was accepted and your opponent's clock
19936 would start running again.
19938 3.5.4 -- Fri Apr 18 01:15:24 PDT 1997 Tim Mann
19940 Beta test release of WinBoard and xboard. The documentation remains
19943 * Many fixes and improvements to new WinBoard user interface code.
19945 * In Zippy mode, avoid sending another copy of the same move to the chess
19946 program if ICS sends us another copy of the board image. Hard to believe
19947 it took me until now to diagnose and fix this problem!
19949 3.5.3 -- Sat Apr 12 19:49:33 PDT 1997 Tim Mann
19951 Beta test release of WinBoard and xboard.
19953 * Fixed fatal bug in WinBoard input handling.
19955 * Made code to stop chess program for reuse a bit smarter. Removed kludge
19956 of "white" in initString; it didn't work well, and is unneeded
19957 with Crafty 11.21 and later.
19959 3.5.2 -- Sat Apr 12 15:40:01 PDT 1997 Tim Mann
19961 Beta test release of WinBoard.
19963 * Ignore check and permit promotion to King during suicide games; no need
19964 to turn off TestLegality.
19966 * Renamed CheckLegality to TestLegality to avoid confusion with the chess
19969 * Added Rematch to Action menu.
19971 * WinBoard now has a custom ICS interaction window with scrollback, a
19972 separate line for input, and colorization. Accelerators that conflict
19973 with normal editing keys were changed (by requiring Alt+) so they can work
19974 in both the console and the main window.
19976 * WinBoard error popups are now non-modal and disappear when you make a
19977 new move, as in xboard.
19979 * Configure now defaults to --disable-ptys on all systems. If anyone has
19980 an ancient SysV system where pipes don't work with select, they can still
19981 do "configure --enable-ptys" explicitly. I would appreciate getting a bug
19982 report if this happens to anyone, with complete output from configure and
19985 * "make install" now makes the installation directories too.
19987 * Fixed a bug that would cause an "Illegal move" message for Black from
19988 GNU Chess to be incorrectly considered bogus.
19990 * Handle name changes during an ICS game (FICS bname and wname commands).
19992 * You can force both chess programs to be killed at the end of each game
19993 by turning off the reuseChessPrograms option. There are still some
19994 problems with reusing Crafty even in version 11.20.
19996 * Now the second chess program stays around by default too, if it ever
19999 3.5.1 -- Sat Apr 5 16:47:48 PST 1997 Tim Mann
20003 * Don't kill off and restart the chess program for each game; keep the
20004 same one running, using the "new" command to start a new game. This
20005 change works around the problem in Windows 95 that makes WinBoard crash it
20006 at times, and is generally desirable to make new games start faster. The
20007 second chess program (for TwoMachines) is still killed at the end of the
20008 game, and unfortunately this can still crash Windows 95. Temporarily
20009 added "white" to the initString to make this work with Crafty 11.20, which
20010 has a minor bug in "new". Older versions of Crafty have worse bugs in
20011 "new"; they should not be used with this version of xboard.
20013 * Support for FICS suicide chess: Parse illegal moves (that leave King in
20014 check) in game history. If CheckLegality is off, allow promotion to King
20015 and illegal moves in game files. We still generate e2e4 style notation
20018 * Handle FICS "has timeseal; checking" message.
20020 * Changed the coords from white back to black; this was a bug.
20022 * Fixed problems compiling with K&R compilers.
20024 * Fixed an old bug in RegisterMove that was crashing cmail on some systems
20027 3.5.0 -- Thu Jan 2 16:59:49 PST 1997 Tim Mann
20029 Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!
20031 * Fix Crafty resumed game time bug (frankm)
20033 * Word wrap text in Analysis window (frankm)
20035 * More debug info for XPM loading (frankm)
20037 * Replaced config.sub, config.guess, etc., with up-to-date versions from
20038 autoconf 2.12. Hopefully this will fix problems on Pentium Pro machines.
20040 * Removed some Makefile gunk that was causing looping for one person.
20042 3.4.7 -- Thu Dec 19 14:22:41 PST 1996 Tim Mann
20044 All changes from Frank:
20046 * Retrieve ratings from ICC (and FICS, etc., when they add the Creating:
20047 message), save them in the PGN tags, and pass them to Crafty in Zippy mode.
20049 * Add settable time delay between characters in ICS login script.
20051 * Colorize messages like personal tells. Fix false recognition of channel
20054 * Pass "tells" from Crafty through to ICS (in Zippy mode).
20056 * Implement ~/ filename convention from C shell for game and position file
20059 * ZIPPYACCEPTONLY feature for testing.
20061 3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996 Tim Mann
20063 * Put recognition of "illegal move" messages from Crafty for
20064 illegal castling, etc., inside an #if that is currently turned off,
20065 because of a bug in Crafty that generates bogus "illegal move" messages
20066 after some moves that are actually legal and accepted by Crafty.
20068 * Added -checkLegality option; previously this could not be turned off.
20070 * Fixed an old bug in finding default board size parameters.
20072 * Differentiated among channel tell, kibitz/whisper, and personal tell/say.
20074 * Fixed a bug in detecting Xpm in the configure script.
20076 3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996 Tim Mann
20078 * Added zic2xpm to the kit; it had been omitted by mistake.
20080 * Added some default colors for -colorize
20082 3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996 Tim Mann
20084 This is meant to be a beta release in preparation for version 3.5.
20086 * Added InfoXBoard and ManXBoard to the Help menu.
20088 * Made Frank's ICS input box optional, defaulting to off.
20090 * Merged in Frank McIngvale's XbKit. Many new features, including
20091 -clickClick mode, the Analysis modes, piece flashing, ZIICS import,
20092 ICS text colorization, and the ICS input box. Many thanks to Frank for
20093 supplying and documenting this code.
20095 3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996 Tim Mann
20097 Small set of changes made while Frank McIngvale was working on XbKit in
20098 parallel. Unreleased in this form.
20100 * Updated zippy.README.
20102 * Removed useless X event handler and removed strange code for copying
20103 form translation table to board that worked around the bug it caused.
20104 This makes changing bindings in .Xdefaults more straightforward.
20106 * Now pressing the Control key steps back one move, and releasing it steps
20109 * Moved quit from "q" to "Q" for greater safety.
20111 * Use "unobserve" instead of "observe" to stop observing; needed on FICS.
20113 * Support for interface variable.
20115 * Strip titles from people who are talking to us, so (for example) Zippy
20116 won't try things like "tell Darooha(*) hello". Needed on FICS.
20118 3.4, patchlevel 2 -- Tue Jul 9 19:06:42 PDT 1996 Tim Mann
20120 This patchlevel is not planned to be an announced release. It's in
20121 preparation for integrating Frank McIngvale's XbKit. It mostly contains
20122 minor fixes I've accumulated since 3.4.pl1.
20124 * WinBoard /telnet option now fires up an external program, as
20125 with xboard, instead of trying to use a feature of NT 3.1 that does not
20126 exist in later versions of NT or in Windows 95. ChangeLog for 3.4.pl1
20127 said this had been implemented there, but it really wasn't.
20129 * Indicating player to move by the icon color now works under Windows 95.
20131 * WinBoard now kills the chess program when you exit using the system menu
20132 or the [X] button. Thanks to Michael Lowe.
20134 * Minor changes to Zippy, including: Now understands wild challenges on
20135 FICS; these used to crash it. Removed limit on how fast a game will be
20136 accepted. Use "set formula ..." on the chess server to limit this if you
20137 are using GNU Chess. Now sends correct opponent name to Crafty.
20139 * Added some missing default values to documentation. Thanks to Stuart
20142 * Bugfix: Trying to print "No fonts match pattern" error message would
20143 crash. This can happen to Linux users who don't install Helvetica, for
20146 * Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an
20149 * Added more directories to search for Athena widgets on HPUX.
20151 * New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.
20153 * Recognize "illegal move" messages from Crafty for illegal castling, etc.
20155 * Bugfix: "name" command added to zippy.c for Crafty was producing error
20156 message if GNU Chess was in use.
20158 * In bughouse mode, suppress holding messages from console window; show
20159 holdings only in banner.
20161 * Minor fixes/cleanup to Makefile.in and configure.in.
20163 3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995 Tim Mann
20165 * This patchlevel updates WinBoard to match xboard, and includes a few
20166 fixes and minor improvements. "-size tiny" and "-size n,n,n,n,n,n"
20167 are still not implemented for WinBoard.
20169 * Installed support for Crafty based on code from Bob Hyatt.
20170 Currently the only documentation for this is in the FAQ, and a few
20171 things don't work with Crafty 8.23. Please do not report these
20172 problems as bugs in either xboard or Crafty. Bob and I know about
20173 them. The worst ones (if not all of them) should be fixed in Crafty
20176 * Changed the kludge command we send when gnuchess wants to print
20177 something that doesn't end with a newline, from "help" to "bogus".
20178 This works because the error message gnuchess prints ends with a
20179 newline. It also improves compatibility with Crafty, which doesn't
20180 need the kludge, but for which sending "help" causes a problem.
20182 * Don't draw grid at all if lineGap is 0; previously we drew the grid
20183 with X "0-width" lines (usually 1 pixel wide) and then overwrote it.
20185 * Makefile: Removed xboard.info from "all" target so we won't try to
20186 rebuild it, because this fails on hosts that don't have makeinfo
20187 installed. Other minor fixes to "clean" targets, etc.
20189 * Fixes and cleanup to Auto Comment code that handles continuation
20190 lines and highlighting.
20192 * Auto Observe now tries to observe the game from the point of view of
20193 the player who was on your gnotify list. Requested by rng.
20194 Limitations: We can't tell which player it was unless you have ICS
20195 highlighting turned on. Also, currently "observe foo" works as
20196 required (observing from foo's point of view) only on ICC, but FICS
20197 will probably implement this soon.
20199 * "-size tiny" now makes the default font smaller automatically. This
20200 was implemented by introducing an extra Form widget in the hierarchy
20201 for all xboard windows, named either normalLayout, smallLayout, or
20202 tinyLayout. So you can have resource specifications that apply only
20203 to certain layouts; in particular, XBoard*tinyLayout*font.
20205 * Bug fix: EditGame or EditPosition while playing or examining still was
20206 not really being permitted.
20208 * WinBoard bug fix: On the EditPosition menu, King did not work.
20210 * Added text catalog of WinSock error messages to WinBoard, because
20211 Microsoft still has not put them in the system message catalog.
20213 * Removed support for older ICS game-ending messages that do not have
20214 a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.
20215 The code for older messages was sometimes firing on the newer
20216 messages, due to parsing ambiguity. If the current code sees an old
20217 message, it will understand that the game is over, but will always
20218 display * as a result token instead of trying to guess the result by
20219 interpreting the text message.
20221 3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995 Tim Mann
20223 * This patchlevel was released for xboard only.
20225 * Updated the info file. It should now be as up-to-date as the man page,
20226 with good English except in the parts that pertain only to AmyBoard.
20228 * Added "-size tiny", requested by Bob Hyatt. Also cleaned up bitmap
20229 support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,
20230 if the actual bitmaps are supplied by the user.
20232 * Updated bughouse support.
20234 3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995 Tim Mann
20236 * Unreleased beta that works with preliminary FICS bughouse code. Will
20237 need changes before release to track FICS message changes.
20239 * Removed use of .EX macro from man page. It is not supported by some
20240 nroff -man macro packages, notably the one on Slackware Linux. Switched
20241 to boldface for references to xboard and other commands within the man
20242 page, as this seems to be the modern way.
20244 * Bug fix: If ICS rejected a move, it was correctly undone on the board,
20245 but the message widget still displayed the bad move. Reported by DAV.
20247 * Normally, xboard in ICS mode fetches the move list whenever the board
20248 display switches to a new game. Doing this is now an option
20249 (getMoveList) that can be turned off, which is useful if you are watching
20250 multiple blitz games. Requested by rng.
20252 * Move list fetching code is now smarter: it ignores a move list if it is
20253 not for the right game.
20255 * Added support for bughouse as implemented on FICS. Holdings are shown
20256 in the window title in place of the strength numbers. A menu on mouse
20257 buttons 2 and 3 (same on both) lets you drop pieces. There is no checking
20258 as to whether you actually hold the piece you are trying to drop; we rely
20259 on ICS to check that. Notation of the form P@f7 is generated and parsed.
20260 The mate detector does not understand that non-contact mate is not really
20261 mate in bughouse, but this does no real harm. It results in a "#"
20262 suffix being displayed on the move notation, but xboard does not assume the
20265 * Bug fix: Promotion to a knight was not working with ICC! Thanks to
20266 Wendigo for the report.
20268 * Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*
20269 (supplied from configure.in) had a bug that would cause childio.c to
20270 fail to compile, due to a "continue" that was not within a loop.
20272 * Bug fix: In pgntags.c, memory was being freed while still in use. One
20273 symptom this caused was that on some machines, cmail would fail with a
20274 message that it could not find the BlackNA tag. The error was in some
20275 submitted code that I included in version 3.2.pl3 without reading
20276 carefully enough. Anders Forberg noticed the symptoms, and Evan Welsh
20277 (who had nothing to do with causing the bug) found the bug and submitted a
20278 fix; thanks to them both.
20280 * Removed restriction against using EditGame while playing, observing,
20281 or examining on ICS. You still get a warning popup.
20283 3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995 Tim Mann
20285 * Bug fix: Going directly from MachineWhite to TwoMachines mode would kill
20286 off the second chess program after Black's first move.
20288 * Added -timeIncrement feature. Thanks to Joel Rivat.
20290 * Deleted code that tries to keep you from observing more than one game,
20291 or observing while playing or examining. There is actually no problem in
20292 doing this, except that every time an update comes in from a different
20293 game than is currently being displayed, xboard fetches the history of the
20294 new game, which may be time-consuming if you are on a slow link.
20296 * Fixed configure so as not to crash when neither lex nor flex is found.
20297 lex or flex is needed only if the user wants to rebuild parser.c. Thanks
20298 to Phil Humpherys for reporting the crash.
20300 * Bug fix: config.h.in used #define instead of #undef for some macros used
20301 in the pty code in childio.c. This causes the code to fail to compile on
20302 some architectures, because the symbols are supposed to be undefined, not
20303 defined to empty, when they are not set in configure. Bug originated in
20304 3.3.pl0 when config.h was introduced. Thanks to Phil Humpherys for report.
20306 * Bug fix: ShowThinking would not show anything when current position had
20307 no move to display in the move window. E.g., if position was created by
20308 LoadPosition or EditPosition.
20310 3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995 Tim Mann
20312 * Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.
20314 * For WinBoard, added hint to help file that you may need to turn off
20315 LocalLineEditing while typing dialing commands to your modem.
20317 3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995 Tim Mann
20319 * Zippy distribution is no longer separate from regular xboard distribution.
20321 * Deal properly with Show Thinking output from GNU Chess when it is
20322 thinking on its opponent's time. In TwoMachines mode this output is
20323 suppressed to avoid interfering with the output from the machine that is
20324 on move; in other modes it is displayed (including the move that GNU Chess
20325 is predicting the user will make next). GNU Chess produces this output
20326 only if it is built without -DQUIETBACKGROUND defined; this symbol is
20327 defined by default in patchlevels before pl75, but undefined by default in
20330 * Bug fix: Handling of initial board position in move list for wild games
20331 was broken, so wild games could not be observed and adjourned wild games
20332 could not be continued. Thanks to "Maximum Entropy" for the bug report.
20334 * Added feature: algebraic notation now shows "+" indicator for check
20335 and "#" for checkmate, as called for in PGN standard. Thanks to Kevin
20336 Maher for the suggestion.
20338 3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995 Tim Mann
20340 * Changed configuration to use a config.h file instead of passing zillions
20341 of -D options on the cc command line.
20343 * Merged a small fix and some updates to the texinfo file from Jochen
20344 Wiedmann. The texinfo file still needs work.
20346 3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995 Tim Mann
20348 * Beta test release of xboard only.
20350 * Updated WinBoard code to include new xboard features.
20352 * Added texinfo file from Jochen Wiedmann to the release, but not as the
20353 primary documentation. It needs updating, and the English needs work.
20354 I did make a few improvements, mostly to change incorrect uses of @var to
20355 either @samp or @code as appropriate.
20357 * Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.
20359 * Fixed EditComment; did not pop up window in previous beta.
20361 * Added AutoComment feature.
20363 * Added GameListDestroy to disable the outdated game list popup in cases
20364 where we load a new game file without building a new popup.
20366 * Added yyskipmoves feature to parser.l to speed up building of gamelist.
20368 * gamelist.c wouldn't compile with a non-ANSI compiler. Fixed.
20370 * Change to yy_text handling in patchlevel 3 still had problems. Can't
20371 use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER
20372 according to whether the lexer on the current host makes yytext a pointer.
20373 But most people will be using a parser.c that was generated on another
20374 host and shipped with the package.
20376 3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995 Tim Mann
20378 * Beta test release of xboard only.
20380 * Added FIREWALLS section to man page.
20382 * Changed -icsport to be a string. Now with the -telnet option,
20383 specifying -icsport "" suppresses the second argument to telnet.
20385 * Added EditTags feature. Removed AboutGame from menu, because EditTags
20386 subsumes it. EditTags suggested by Jochen Wiedmann and first implemented by
20387 him in AmyBoard. xboard implementation is my own.
20389 * Fixed some missing or incorrect prototypes.
20391 3.2, patchlevel 3 -- Sat Jun 3 18:57:38 1995 Tim Mann
20393 * Beta test release of xboard only.
20395 * New version of cmail from Evan Welsh, to fix compatibility problems with
20398 * Added game list feature on Load Game, based on code from Jochen
20399 Wiedmann. Integrated it with cmail.
20401 * Several bug fixes from Jochen Wiedmann, including one to my yy_text
20402 workaround for the difference in the type of yytext between lex and flex.
20404 * Handle clock pause on FICS.
20406 * Suppress clocks in untimed FICS games (time control 0 0).
20408 * Rebuilt configure script with autoconf 2.3. This fixes a bug in
20409 configuring for X11R6, where -lSM -lICE would not be added when needed.
20411 * Fixed inconsistent type declarations on IntSigHandler and
20412 CmailSigHandler. Bug report from Josh Daynard.
20414 * backend.c wouldn't compile with a non-ANSI compiler. Fixed.
20416 3.2, patchlevel 2 -- Tue Feb 7 14:50:30 1995 Tim Mann
20418 * Minor release of both xboard and WinBoard.
20420 * Added recognition of some FICS messages. On the other hand FICS is also
20421 changing some of its messages to match what xboard already recognizes.
20423 * Temporarily went back to using "promote" command on ICS instead of
20424 "a7a8=Q", because FICS doesn't implement the latter yet.
20426 * We now avoid using overlapped I/O on pipes in WinBoard, to make Windows
20427 95 beta 2 happy. This lets WinBoard work with GNU Chess on Windows 95!
20429 * Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.
20431 * Installed patch to cmail bug in LoadGame from Evan Welsh.
20433 * Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode
20434 were not being handled correctly. Bug was in GameEnds().
20436 * Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").
20437 Now passwords won't be echoed when you connect directly to ICS. Also,
20438 telnet negotiation characters aren't displayed (when possible).
20440 * Implemented more of the telnet protocol. Now connecting to a telnet
20441 server with "-icsport 23" should work even without giving the -telnet
20442 option. The telnet is in "old line-by-line mode".
20444 3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994 Tim Mann
20446 * This patchlevel released for WinBoard only.
20448 * winboard.c: Fixed ConsoleInputThread(). Needed to change CRLF to LF,
20449 not to CR. This was stopping normal /ics mode from working. Thanks to
20450 Asher Kobin for the bug report.
20452 * winboard.c: Fixed Raw(), EchoOn(), EchoOff(). Now they take effect
20453 immediately, not on the next console read after the one in progress.
20455 * winboard.c: Attempted to make WinBoard work with gnuchessx running
20456 directly on Windows (not remotely via rsh). It now works on NT, but only
20457 if gnuchess is told not to think on its opponent's time ("easy\n" removed
20458 from initString). The problem seems to be that GenerateConsoleCtrlEvent
20459 is not doing anything. On Windows 95 beta 2, we get error messages on
20460 both reading and writing to gnuchessx; I didn't investigate why.
20462 3.2, patchlevel 0 -- Wed Dec 7 13:23:36 1994 Tim Mann
20464 * Thanks to all the beta testers who gave me feedback: Josef Nelissen,
20465 Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,
20466 Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike
20467 Lee. Sorry if I forgot anyone. Thanks to Virendra Kumar Mehta for
20468 information about DYNIX/ptx.
20470 * Don't exit on keyboard EOF unless we get two in a row.
20472 * WinBoard only: added -localLineEdit switch to allow turning off local
20473 line editing if you really want to. It is still a bad idea to let the
20474 echoing be done remotely, however; see below.
20476 * Fixed some configure problems on HP-UX. [Steve Booth]
20478 * Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3. [Josef Nelissen]
20480 * cmail bugfix from Evan Welsh (cmail 3.4).
20482 3.1, patchlevel 9 -- Fri Dec 2 23:54:56 1994 Tim Mann
20484 * Beta distribution only
20486 * Always do local echo/edit of user typing in ICS mode. Doing the echo
20487 downstream may seem nicer in some modes, and it can be hard to turn that
20488 echo off, but the echoed characters can be interleaved with ICS output
20489 and make it impossible to parse correctly. For xboard this involved only
20490 a change to recommendations in the man page, as Raw() isn't implemented.
20491 For WinBoard, removing Raw() made a real difference. Added code in
20492 WinBoard to change /r/n back into /r on keyboard input, as we get the
20493 former when Raw() is not called.
20495 * Do not issue ICS "refresh" command after we start to observe a game
20496 unless we get to the next prompt without seeing a board image. Newest
20497 version of ICS doesn't require this refresh, but old versions around still
20500 * cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.
20502 * Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame. Evan
20505 * Using "-" on the command line as a filename for loading (saving) games
20506 or positions specifies the standard input (standard output). Alain Picard
20509 * On WinBoard only, a command line option without a leading '-' or '/' is
20510 now taken as the value of -lgf.
20512 * Changed to not use stdin, stdout, stderr as initializers in backend.c;
20513 needed for GNU libc compatibility. You also must build parser.c with flex
20514 (not lex) if you are using GNU libc, to avoid having the same problem
20517 * Changed WinBoard to avoid using "overlapped" input on the console. It
20518 now seems to fully work on Windows 95 beta 2.
20520 * Improved comment popups on WinBoard. Now newlines are handled properly,
20521 and the plain Comment popup window doesn't disappear and reappear when we
20522 step to a new move with a new comment.
20524 * Fixed bugs in detecting the absence of the time and otim commands.
20526 * Added built-in implementation of rcmd protocol to WinBoard. Windows NT
20527 does not implement passing signals through rsh, and Windows 95 does not
20530 * Added -remoteUser option.
20532 3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994 Tim Mann
20534 * Beta distribution only
20536 * Rearranged ChangeLog file into reverse chronological order to be closer
20539 * Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).
20540 Includes a bug fix to TruncateGame.
20542 * Updated ICS address to be chess.lm.com.
20544 * Bug fixes to handling the aftermath of FatalError. Thanks to Chris
20545 Petroff for the bug report.
20547 * Test for remsh before rsh, other fixes for HP-UX. Thanks to Richard
20548 Lloyd. I wasn't able to do all the things he suggested, so there may
20549 still be some rough edges in building on HP-UX. See the FAQ file for hints.
20551 * Bug fix; added missing check for HAVE_SYS_SYSTEMINFO. Thanks to Josef
20552 Nelissen for testing on Solaris 2.x.
20554 * Updated WinBoard to match xboard. (WinBoard still has a few option
20555 dialogs that don't exist in xboard.)
20557 * Changed Hint output to a popup.
20559 * ShowThinking output and move output no longer overwrite each other.
20560 ShowThinking output won't appear if the displayed position is not current.
20561 ShowThinking output in TwoMachines mode made clearer and documented.
20563 * Implemented --enable-ptys and --disable-ptys arguments to configure.
20565 * Fixed Book and Hint code to work over a pty with echo enabled and tabs
20566 expanded to spaces. Thanks to Dima Dahknovsky for the bug report.
20568 * Moved Attention calls from all over xboard to one place, inside
20571 * Added bulletproofing to ShowThinkingEvent.
20573 * Added code to handle "refresh N" boards that come in from ICS properly,
20574 assuming ICS is changed to mark them with a new relation code (-3).
20576 3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann
20578 * Beta distribution only
20580 * Changed ShowThinking to just show the current best line in the
20581 DisplayMessage area, instead of dumping everything to stdout.
20583 * Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and
20584 changes to cmail code in backend.c, from Evan Welsh.
20586 * Miscellaneous minor fixes.
20588 3.1, patchlevel 6 -- Fri Nov 4 12:53:53 PST 1994 -- Tim Mann
20590 * This patchlevel was not actually released to anyone.
20592 * Updated the pty code to be based on GNU Emacs 19.24, and moved it to a
20593 separate file. It was hard to split out just the pty configuration from
20594 all the stuff emacs does with its custom configure script and .h files,
20597 * Converted from imake to GNU autoconf. This was a serious upheaval.
20599 * Put in code to help trap "error gathering move list" problem reported by
20600 Michel van der List if it recurs. I couldn't reproduce it.
20602 3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann
20604 * Beta distribution only.
20606 * We now test for checkmate or stalemate in EditGame mode after every user
20607 move, and in LoadGame mode whenever we hit the end of a game without
20608 seeing a PGN end marker. cmail needs an update to deal with this
20609 correctly; Evan promises one.
20611 * Bugfixes in new move generator. Thanks to Mike Lee for reporting one of
20614 * Imakefile was omitted from patchlevel 4.
20616 3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann
20618 * Beta distribution only.
20620 * The move generator includes a mate tester. Initially this is used only
20621 by cmail, and even that usage needs further work.
20623 * Wrote a true move generator and used it to replace all the move
20624 disambiguation and legality checking code in parser.l. The move generator
20625 is capable of dealing correctly with en passant and castling availability,
20626 but the rest of the program still does not keep track of this information.
20628 * Bug fix: xboard did not handle "foo has made you an examiner of game 23"
20629 message. Thus you could not use examine features until the next board
20630 came in, showing your new relation to the game. Thanks to POOKIEWOOKIE on ICS
20631 for the bug report.
20633 * Added AutoObserve feature. Thanks to Chris Petroff for the idea.
20635 * Added Book feature to use new gnuchess "bk" command. Mike McGann request.
20637 * Redid code to handle missing "time" command in gnuchess, because latest
20638 gnuchess no longer sends a response to this command.
20640 * Eliminated need for -DFLEX. Thanks to Michael Shields (Vladimir?) for
20643 * Added missing code to implement MoveNow in TwoMachines mode.
20645 * Added ShowThinking feature. Thanks to Richard Lloyd for the idea.
20647 * Applied patches from Evan Welsh; some fixes and improvements to the
20650 * Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,
20651 introduced in previous patchlevel. Also fixed related bug in ending a
20652 game in ICS mode; was entering EndOfGame mode instead of IcsIdle.
20654 * Added patch to implement internetChessServerLogonScript flag, from Kevin
20657 3.1, patchlevel 3 -- Wed Sep 7 13:22:07 PDT 1994 -- Tim Mann
20659 * Beta distribution only.
20661 * Merged in new cmail code from Evan Welsh. He added the ability to have
20662 more than one game per message, needed for official IECG matches. I added
20663 the ability to resign or offer/accept/decline a draw in a cmail game.
20665 * Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError
20666 was called too early in initialization. Georges Honore reported this bug.
20668 * Decided to keep EndOfGame mode as an element of the user interface---it
20669 means that a gnuchess game or loaded game has ended, and the user must
20670 explicitly select EditGame to edit it, rather than just being able to
20671 enter more moves freely. But internally there is no longer an invariant
20672 tying this mode to whether the chess program is running.
20674 * Zippy bugfix: Was saving only the final position in the -sgf file when
20675 the game ended by something other than resignation or flag. Also fixed
20676 the longstanding bug that Zippy would think the final board of such a game
20677 was a new game and restart the chess program.
20679 * Now does a better job of faking castling availability in FEN. We still
20680 don't really keep track of it, but now at least we don't say that castling
20681 is still available when the king or rook is not on its home square.
20683 * Bugfix: Initial board of game history for wild games was going through
20684 too much processing, causing us to forget the game length, which is now
20685 needed by ParseGameHistory. This was causing problems with resuming
20686 adjourned wild games.
20688 * Updated ICS host to ics.onenet.net.
20690 * Zippy now accepts challenges where the opponent specified his color.
20692 * Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.
20694 * Bitmap directory can include alternative icons now, too.
20696 * Handle "Game * (*) has no examiners" message from ICS.
20698 * Revamped window title and icon name selection.
20700 3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann
20702 * "Beta" distribution for Zippy users only.
20704 * Bugfix: common.h was assuming that X11 type Boolean is char, which is
20705 not always true. This might have caused all sorts of obscure bugs!
20707 * Installed new bitmaps from Elmar Bartel as the default. Many thanks!
20708 The old bitmaps can be used by changing the "bitmaps" symbolic link before
20709 compiling xboard, or by using the -bitmapDirectory option at runtime.
20711 * Loading a game that ends with the PGN unfinished symbol ("*") now always
20712 leaves you in EditGame mode.
20714 * Added documentation of -icscomm to man page. Thanks to Maarten Remkes
20715 for the linux script.
20717 * ^C now kills gnuchess as well as xboard. Thanks to Dima Dakhnovsky for
20718 reminding me how to do this.
20720 * Bitmap icon color now indicates player to move. Stuart Cracraft
20723 * Changed piece bitmap flags to have just one flag, which points to a
20724 directory full of bitmaps, instead of a flag for each bitmap. Also
20725 changed bitmap naming convention.
20727 * "Connection closed by ICS" is no longer a FatalError popup. This was
20728 too annoying in the normal case where the user typed "quit".
20730 * Changed default font to 14 pixels instead of 10 points. This seems to
20731 make it close to the size I want it to be on more displays.
20733 * Major mode (GNU Chess, etc.) appears in title bar. Stuart Cracraft
20736 * Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and
20737 TwoMachinesEvent were calling PauseEvent to get out of pause mode, which
20738 now has undesired side effects, such as advancing the display to the
20739 forwardMostMove. It works fine to just set pausing = FALSE instead.
20741 * IcsExamining mode now lets you access ICS edit position commands using
20742 the same popup menus as xboard's EditPosition mode. Thanks to DAV on ICS
20743 for inspiring the idea.
20745 * Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.
20747 3.1, patchlevel 1 -- Wed Jun 1 16:25:11 PDT 1994 -- Tim Mann
20749 * Added parser.c.lex and parser.c.flex to the distribution.
20751 * Added HP gcc options to Imakefile, from Mats Nylen.
20753 * EndOfGame mode no longer highlights EditGame mode indicator, because the
20754 modes really do differ. I would like to get rid of EndOfGame mode in the
20755 future, at least as far as users can see.
20757 * Larger %a in parser.l, needed for RS/6000 users.
20759 * Minor improvements to Mail Move error messages.
20761 * When -debug flag is given to xboard, -v is passed to cmail.
20763 * Old Save Style uses "1. ..." instead of "1..." when black moves after a
20764 comment; more like xboard 3.0's actual style.
20766 * New version of cmail from Evan Welsh. Looks for UCB Mail in a more
20767 portable way and has some minor bug fixes.
20769 * Bug fix: Saving a FEN position while in EditPosition mode with black to
20770 play was showing white to play in the saved position.
20772 3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann
20774 * This is the first general release since 3.0, patchlevel 9. Releases
20775 since then have been limited-distribution or beta releases.
20777 * Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,
20778 Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,
20779 Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and
20780 Evan Welsh. Sorry if I've forgotten anyone who gave me feedback.
20782 * Updated man page.
20784 * Minor cleanup on menu sensitivity code.
20786 * Integrated another even better version of cmail from Evan Welsh,
20787 including some code he supplied in xboard itself.
20789 * A few more fixes to cmail support.
20791 * Automatically update clocks after an ICS "moretime" command.
20793 * Handle ICS automatic examine mode (set examine 1) after a game.
20795 3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann
20797 * Beta test release only.
20799 * Don't suppress prompt on first board of game being examined; otherwise
20800 it looks like nothing happened at all (i.e., like you're lagged).
20802 * Added StopExamining and StopObserving (Chris Petroff suggestion).
20804 * Made Reset do a refresh on ICS. John Chanak's original ICS code for
20805 xboard tried to do this; I finally decided it was a good idea after all.
20807 * Fixed bugs in handling updates that come in while you are pausing in
20808 examine mode. This is pretty tricky to do right.
20810 * Made un-Pausing immediately pop you to the current position. This is
20811 always necessary in examine mode, since the game may have changed under
20812 you; your remembered moves might no longer be right. So I made it do the
20815 * Took Detach Examine mode back out...used Pause mode for this instead!
20817 * Put in a trap for the GNU Chess bug of printing an Illegal Move message
20818 when its own hint move is illegal.
20820 * Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after
20821 it checkmates its opponent. This involved adding an argument to GameEnds
20822 to say who says it ended (ICS, GNU, etc.) and taking different actions in
20823 different cases. Unfortunately, this just restored an older Zippy bug, where
20824 Zippy restarts gnuchess when it gets the board with the final position,
20825 because GameEnds still puts xboard in EndOfGame mode. Sigh.
20827 * We now capture elapsed time on last move when getting game history.
20828 (Josef Nelissen bug report)
20830 * Rewrote code to redisplay last file title so it really works.
20832 * Fixed bug in oldSaveStyle.
20834 * Larger %a and %o were needed for lex.
20836 3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann
20838 * Beta test release only.
20840 * FatalError popups stay on the screen now. If the error is really fatal,
20841 all functions are disabled, and the program exits when you press OK.
20843 * Redisplay last file title when using Load (Next/Previous/Same) Game.
20845 * Zippy understands new match challenge message format on ICS.
20847 * Added Revert command.
20849 * When examining a game on ICS, < > buttons do ICS backward/forward
20850 commands, unless you set the Detach Examine option. Thanks to Dima
20851 Dakhnovsky for the idea.
20853 * Fixed various minor problems in cmail mode.
20855 * cmail generates the tags now. New version of cmail from Evan Welsh.
20857 * cmail mode won't let you do MailMove unless the currently displayed
20858 position is exactly one move past the end of the game you loaded.
20860 * Fixed building of man pages in Imakefile
20862 * Updates to INSTALL file
20864 3.0, patchlevel 12 -- Sat May 7 21:10:03 PDT 1994 -- Tim Mann
20866 * Beta test release only.
20868 * Brought man page up to date.
20870 * Added Shift+R to resign from keyboard.
20872 * Some items on Action menu available in GNU Chess mode now.
20874 * Revamped Action menu.
20876 * Reordered functions in backend.c as a small step toward reorganizing
20879 * Generate TimeControl PGN tag.
20881 * Get type of ICS game (e.g., rated blitz) and save in PGN tags.
20883 * Bug fix: Clocks were not redisplayed when entering EditGame mode.
20885 * Bug fix: Clocks were not being redisplayed after loading a game file
20886 with -td 0, so they could show the wrong color active.
20888 * Bug fix: Chess programs would be killed and match mode would exit
20889 prematurely when loading a PGN game fragment ending with "*".
20891 * ICS command "sposition" no longer confuses xboard.
20893 * Integrated new version of cmail (with support code in xboard) from Evan
20896 * Added TruncateGame, MoveNow, RetractMove, and QuietPlay.
20898 * Bug fix: switching between MachineWhite and MachineBlack was not calling
20899 Attention(). Reported by Dino Dini.
20901 * More improvements to INSTALL and Imakefile.
20903 * Pack moves into 79 character lines in PGN output. We don't generate
20904 check indications, and we always break the line before the result,
20905 so this is not quite PGN export format.
20907 * Use FEN tag in PGN.
20909 * Improved finding and counting of game starts in save files.
20911 * Negative position or game numbers in -lpi/-lgi mean to seek to that byte
20912 offset. Hook for possible future features, not in man page.
20914 * Detect and handle absence of either "time" or "otim" commands in
20917 * Don't use "promote" command to ICS anymore.
20919 * Handle switching sides and taking back moves on FICS.
20921 * Handle flip state flag in style 12 board.
20923 * Handle examine mode on ICS.
20925 * Improved error popups for various kinds of illegal moves.
20927 * Suppress unasked-for hints from gnuchess (which it generates in post
20930 * Load/save position functions use FEN. Old style also supported.
20932 * Added detailed error messages if loading a bitmap file fails.
20934 * Small board has 2-pixel lines between squares instead of 3-pixel.
20936 * Added OldSaveStyle and AboutGame.
20938 * Renamed ForceMoves to EditGame.
20940 3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann
20942 * The following changes were present in xboard 3.0, patchlevel 11, but the
20943 first group did not make it into WinBoard 3.0 until later. xboard
20944 3.0.pl11 was a limited-distribution release only, mostly to Zippy users.
20946 * Man page minor fixes.
20948 * Added a missing file close.
20950 * Removed automatic error popdown on Reset, which was destroying some
20951 error messages before they could be read.
20953 * Fixed char vs. unsigned char warnings on bitmaps.
20955 * Use ICS board style 12. Some improvements to ICS parsing.
20957 * Comment window is now labelled with the move the comment is on, and
20958 comments don't pop down when you step to the next move.
20960 * Save files now in PGN format.
20962 * Support for loading PGN files. PGN tags pop up when a PGN game file
20965 * More info in INSTALL and Imakefile about building for Suns (and
20968 * WinBoard 3.0 patchlevel 11 split off from an early version of xboard
20969 3.0 patchlevel 11, so it does not have all the features of that
20970 patchlevel. The following changes made it into both xboard and
20973 * Made Comment dialog non-modal in WinBoard.
20975 * EndOfGame mode is now more transparent. It looks like ForceMoves
20976 mode except that there is no chess program running.
20978 * Small bug fixes in clock management. Most noticeably, pausing when
20979 it is gnuchess's move now works as documented (again).
20981 * Add minimal support for -icscomm option. Not documented yet because
20982 I haven't sorted out the issues with setting the tty modes on the comm
20983 port device, or with locking it properly. But it's usable by wizards.
20985 * Don't restart the chess program upon Backward event from EndOfGame mode.
20987 * Suppress extra prompt after ICS sends us a board.
20989 3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann
20991 * Beta test release only.
20993 * Zippy now plays chess. zippy.c and zippy.h are still not included
20994 in the standard distribution, but are available on request.
20996 * Switched to using style 12 on ICS.
20998 * Updated man page, and documented use of XBoard*form.translations to
20999 add more shortcut keys.
21001 * Added shortcut keys "d" to claim/offer/accept a draw, and "t" to
21002 call flag. Suggested by venu on ICS.
21004 * More explicit instructions in INSTALL file.
21006 3.0, patchlevel 9 -- Tue Sep 7 14:02:00 PDT 1993 -- Tim Mann
21008 * General release, minor update to 3.0.pl8.
21010 * Loosened checking on whether it's okay to start a move, to satisfy
21011 ICS ultra-blitz players. Now we don't check whether it's your turn
21012 until you let go of the piece.
21014 * Parser now recognizes "+-+" as meaning the game ended in a draw.
21016 * Got rid of S_NONE symbol, which seems to conflict with some symbol
21019 * Tweaked the man page. Clarified that there is currently no way for
21020 two people running copies of xboard to play each other without going
21021 through the Internet Chess Server.
21023 * Fixed a bug in color name conversion. Asking for two different
21024 colors whose names were the same in the first four characters would
21025 get you two copies of the first one. Thanks to Volker Zink for the
21028 * Improved confusing Usage() message.
21030 * Added a bunch of Sun information to the Imakefile and INSTALL file.
21031 Thanks to Ed Hanway, Arik Klingensmith, and others who responded.
21033 * Test for defined(WIN32) instead of !defined(unix).
21035 * Avoid using (void *) type with non-ANSI C compilers. Thanks to
21036 James Altucher for the bug report.
21038 3.0, patchlevel 8 -- Thu Sep 2 12:23:01 PDT 1993 -- Tim Mann
21040 * Note: Patchlevel 8 was the first non-beta release of xboard 3.0
21042 * Added cmail to distribution. Contributed (and still maintained) by
21045 * Bug fix: -queen option wasn't initializing menu check. Reported by
21048 3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann
21050 * Sent WinBoard 3.0.pl7 to Torre on ICS
21052 * Added parser.h to hold the interface to parser.l
21054 * Upgraded COPYING file and copyright notices to GNU GPL version 2.
21056 3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann
21058 * We no longer display intermediate positions or intermediate comments
21059 while loading a game file with -timeDelay 0 or loading an opening to
21060 start up a -matchMode game.
21062 * Loading an empty game from an xboard save file now gives a status
21063 message "No moves in game" instead of an error popup saying "Game not
21066 * Added comment.awk to distribution.
21068 3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann
21070 * Bug fix: xboard would crash if it couldn't get all its colors; now
21071 it switches to monoMode instead. Also, xboard was trying to convert
21072 color resources even when using a b/w display. Reported by Larry
21075 * Bug fix: Declared fields of TimeMark as signed so that we get signed
21076 instead of unsigned arithmetic. SubtractTimeMarks was breaking on
21077 Alpha AXP (which has 64-bit longs) with old declarations. Reported by
21078 Michel van der List.
21080 * Bug fixes: Keyboard accelerators now work after EditComment window is
21081 popped down. Iconize keyboard accelerator now works even if xboard
21082 was started with -iconic flag and later deiconized.
21084 * Bug fix: The routine that tests whether a move is illegal because it
21085 would leave you in check was not handling e.p. captures properly.
21086 Reported by Patrick Surry.
21088 * Bug (?) fix: Was adding time to clocks at time control even when
21089 loading a game file. Actually it's not entirely clear how time
21090 controls should be dealt with when some moves are loaded from a file
21091 or clicked in with ForceMoves. For now ForceMoves mode does add the
21092 time (because it can be used to change moves during a live game), but
21093 LoadGame mode does not.
21095 * Updated usage message.
21097 * Previous attempted fix to matchMode had broken TwoMachines mode and
21098 generally needed more work. Also simplified command line interface to
21101 3.0, patchlevel 4 -- Thu Aug 5 14:17:18 PDT 1993 -- Tim Mann
21103 * Thanks again to the beta testers listed for 3.0 patchlevel 3, and also
21104 Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.
21106 * Reorganized man page, splitting OPTIONS into subsections.
21108 * matchMode was very broken; fixed.
21110 * Changed convention for turning off command line options from --opt
21111 to -xopt, to be less inconsistent with GNU standards. Also changed
21112 the long command line options to take True/False arguments like
21113 resources; seems to make more sense this way.
21115 * Added AlwaysQueen option -- suppresses promotion dialog and always
21116 promotes to a queen if you move a pawn to the last rank. Has no
21117 effect on gnuchess (or your ICS opponents!) -- they can still
21120 * Subtracted an extra fudge term when determining how wide message and
21121 title widgets should be. This fixes a problem some beta testers had.
21122 Wish I knew why it's needed.
21124 * Bugfix in parser; symptom was that you couldn't do LoadGame after
21125 observing a game on ICS.
21127 * Bugfix in Forward; didn't work after game ended while Pause was turned on.
21129 * Removed bogus execute bits on .h files.
21131 * Use REMOTE_SHELL and TELNET_PROGRAM definitions.
21133 * MachineWhite and MachineBlack now work from TwoMachines mode.
21135 * Popping down an error message with the [ok] button was not turning off
21136 the errorUp flag, so the next move would cause xboard to try to pop it
21137 down again, resulting in a wild memory reference and sometimes a crash.
21139 3.0, patchlevel 3 -- Tue Aug 3 17:40:27 1993 -- Tim Mann
21141 * Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
21142 Chris L. Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
21143 Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
21144 Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.
21146 * Improved error messages for trying to move the wrong color pieces or
21147 to move when it's not your turn.
21149 * Special code for monoMode on 1-bit displays now understands displays
21150 where 1=white and 0=black.
21152 * Declare getenv() if <stdlib.h> not included; avoids a compiler warning.
21154 * Documented borderXoffset and borderYoffset.
21156 * Added -titleInWindow option for use with X window managers that
21157 don't let us set the title in the window banner.
21159 * Fixed error message printing in WinBoard; system error messages no
21160 longer appear as numeric codes.
21162 * The error message popup is now non-modal; you don't have to press the
21163 [ok] button before you can do something else. In addition, the popup is
21164 positioned so that it doesn't cover up the board (too much), and making a
21165 move or otherwise clicking on the board pops it down. (Not implemented in
21168 * You can now call your opponent's flag in ICS mode by clicking on his
21171 * Fixed minor bugs in -flipView option and documented exactly how xboard
21172 decides which way to flip the view.
21174 3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann
21176 * Added Autosave to Options menu. Would be better to have Save
21177 Options dialog as in WinBoard, but this was quick to do and gives the
21178 most-needed functionality.
21180 * Changed "Reload Game" on menu to "Reload Same Game".
21182 3.0, patchlevel 1 -- Thu Jul 8 21:22:59 PDT 1993 -- Tim Mann
21184 * Sent a copy of patchlevel 1 to Patrick Surry to beta-test.
21186 * Added -cmail option that sets appData.cmailMode. Currently a no-op.
21187 In the future this may set special modes for use by the cmail script
21188 for playing chess by email.
21190 * Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
21191 ReloadGame suggested by Patrick Surry.
21193 * Added -flipView command-line option. Suggested by Patrick Surry.
21195 * Fixed bugs in parser.l: (1) Pattern for "# xboard game file ..."
21196 needed to match to end of line. (2) Start of a new file was not matching
21197 the ^ start-of-line character. The fix for this is a kludge.
21199 * Made game counting code in LoadGame more robust, and made LoadGame
21200 able to detect the end of a saved partial game (by noticing the start
21201 of the next game) in game files created by XBoard itself. We don't
21202 try to find the start of the next game that way in other kinds of game
21203 files, because the only way I can think of to do that is to look for
21204 another move #1, and that technique gets too many false hits.
21206 * Fixed recently introduced bug in LoadGame when game starts with a
21209 3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann
21211 * Changes in this patchlevel were too numerous to list. Larger ones are
21214 * Added a popup dialog to enter and edit comments. Inspired by some
21215 code from Patrick Surry. Changed the normal read-only comment popup
21218 * Added ICS init script feature from Karl Schwamb.
21220 * Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.
21222 * Revamped code to allow use of flex instead of lex on parser.l.
21223 Using flex requires adding -DFLEX to defines in Imakefile.
21225 * Source code is split into front end (xboard.c), which knows about X
21226 and Unix, and back end (backend.c), which knows about chess, gnuchess,
21227 and the ICS. There is also a front end for Windows NT.
21229 * Boolean command line options now use "-foo" to turn on and "--foo"
21230 to turn off instead of "-foo true" and "-foo false". [Later -xfoo;
21233 * Added menu commands to control autoflag, bell, and coords options.
21235 * User interface has a new look: (1) Menu bar instead of array of
21236 buttons. A few very commonly used features have small buttons in
21237 addition to being on the menus. (2) Large font for clock. (3) Pop-up
21238 dialogs for errors.
21240 2.1, patchlevel 11 -- Sat Jun 5 00:01:01 PDT 1993 -- mann@src.dec.com
21242 * Added code to deal with "wild" games on ICS. This includes allowing
21243 castling with the king on d1 or d8, which is allowed in wild(1) games
21244 if the king started there. Notation is o-o to castle "short"---to
21245 whichever side the king is closer to---and o-o-o to castle "long."
21246 Right now wild castling is always allowed by xboard; we rely on ICS or
21247 gnuchess to reject it when we aren't really in wild mode.
21249 * memcpy call had arguments in wrong order.
21251 * Removed April Fool code
21253 2.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com
21255 * Avoid trying to select on a pipe when using System V. Needed to
21256 copy some code from InitChessProgram() up into establish().
21258 * Bug fix in disambiguating pawn moves like "ed".
21260 * Fix to error handling in ReceiveFromProgram.
21262 * Bug fix: entering EditPosition mode with black to play highlighted
21263 White's clock instead of Black's.
21265 * Added telnetProgram resource in case "telnet" is not the name of the
21268 2.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com
21270 * Entering Force Moves mode clears "flag has fallen" messages from display.
21272 * ICS host name can now be in numeric format; for example 128.2.232.4.
21274 * Bug fix: LegalityTest was failing to test whether a pawn move was
21275 illegal because the move would discover a check.
21277 * Handle ICS message "mann asserts a win over manntest, who disconnected."
21279 * Bug fix: A recent change to PromotionCallBack had broken
21280 underpromotion to a knight.
21282 * Bug fix: In EditPosition mode, dragging a piece onto a square border
21283 would make it vanish. xboard wasn't distinguishing this case from
21284 dragging the piece off the board. Thanks to Matthew Kidd.
21286 * Removed "static" declaration from yywrap for compatibility with IRIX
21287 version of lex. Thanks to stiller@blaze.cs.jhu.edu.
21289 * Added substitutes for bzero, bcopy, and gethostname for Solaris
21290 SVR4. Thanks to Michael Grant.
21292 * Bug fixes to queen move disambiguation. Bugs showed up only when
21293 promotion resulted in more than one queen on the board.
21295 2.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com
21297 * parser bug fix: It now really works to leave off the piece a pawn is
21298 promoting to and let it default to queen.
21300 * When starting to observe or play an ICS game, don't draw board in
21301 initial position and then immediately redraw it in the current
21304 * Handle ICS messages when an "abuser" forfeits a game by
21305 disconnecting and when a game is aborted ("removed") by an
21308 * Bug fix: A user move when in LoadGame+Pause mode was resuming the
21309 game load instead of putting us in force mode.
21311 * It seems that crashes inside sscanf when xboard is compiled with gcc
21312 (as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are
21313 caused by an incompatibility between gcc and the sscanf implementation
21314 on these platforms. A workaround is to specify -fwritable-strings to
21315 gcc (see the gcc documentation). Added info on how to do this to the
21316 Imakefile. Thanks to Tom McConnell for this information.
21318 * Clocks are allowed to go negative. This is mostly for ICS
21319 compatibility, but it affects gnuchess mode too. Also, we give the
21320 time bonus when a player hits the time control boundary even if his
21321 flag is already down. This choice is a bit debatable, but it makes
21322 things look better when you are in TwoMachines mode and gnuchess's
21323 time management screws up causing it to exceed its time limit.
21325 * Implemented move legality checking code. Moves made with the mouse
21326 or parsed from a file are checked for legality before being made.
21327 This is mostly in preparation for future extensions, such as
21328 human-human play. For now it makes -noChessProgram mode more useful.
21330 * If the user takes back moves, we restore the clocks to the earlier
21333 * We now handle the output of the ICS oldmoves command, including
21334 parsing the game end condition.
21336 * Added autoCallFlag mode.
21338 * Fixed glitches in the medium size outline king and rook bitmaps, and
21339 touched up the medium size solid king and outline queen.
21341 * bug fix: DisplayMove would not display backwardMostMove - 1.
21343 * Added CallFlag button and removed AcceptMatch. CallFlag is more
21344 important with new ICS, and accepting the current match offer is easy
21345 with the new ICS command "accept" (can be abbreviated "ac").
21347 * LoadGame and LoadPosition display tail of file name (plus index
21348 number, if any) as title.
21350 * MachineWhite, MachineBlack, and TwoMachines now work properly from
21351 LoadGame and LoadGame+Pause mode.
21353 * Use o-o and o-o-o to castle on ICS, not 00 and 000.
21355 * Stripped out code for old ICS messages; new ICS is now installed.
21357 * Bug fix: don't offer autosave when paused during LoadGame.
21359 2.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com
21361 * Track change to "Illegal move" message in new ICS.
21363 2.1, patchlevel 6 -- Tue Dec 8 10:48:44 PST 1992 -- mann@src.dec.com
21365 * Kludged around bug in keeping comment popup where you put it by
21366 adding borderXoffset and borderYoffset resources that give the width
21367 of the borders added by the window manager. Yucch.
21369 * Changed searchDepth kludge back to using "help" instead of "bd"; the
21370 latter didn't work because the output contains a line starting with
21371 "White", so we think gnuchess is telling us that White won. Oops.
21373 * Removed some code that uses an X11R5 feature, XrmGetDatabase.
21374 Without this, the auto font sizing code is harder to make work, so to
21375 keep my sanity I had to change it to affect only the fonts that appear
21376 in the main window and the comment popup, not the other popups. Maybe
21377 this is better anyway.
21379 * AcceptMatch button now works after a counterchallenge, too.
21381 * Added code for more variants of messages about games being adjourned
21382 or aborted. These messages need to be unified in new version of ICS.
21384 * Added workaround for minor bug in ICS; game number on first board
21387 * Removed code to say "refresh n" instead of "refresh"; was broken and
21388 wasn't needed anyway.
21390 * Added missing casts for compilers that distinguish enums from ints
21391 and missing cast in connect call.
21393 * Added code to recognize "both sides are out of time" draw message
21394 proposed for next version of ICS.
21396 * Thanks to Danny Sleator and Joe Peterson for bug reports.
21398 2.1, patchlevel 5 -- Sun Dec 6 19:52:40 PST 1992 -- mann@src.dec.com
21400 * Removed gcc and CDEBUGFLAGS from Imakefile.
21402 * Corrected setting of mode to ForceMoves when game file ends or
21403 contains an AmbiguousMove or BadMove. Previous bug was harmless.
21405 * Added AcceptMatch button and mention of 50-move rule for Draw button
21408 2.1, patchlevel 4 -- Sun Dec 6 02:55:42 PST 1992 -- mann@src.dec.com
21410 * Now handles revised messages from new version of ICS. New ICS is
21411 not released yet, so this code might change further. Next patchlevel
21412 will remove support for old ICS; both are there now.
21414 * Initial processing for a new game being watched or played now
21415 happens when we see the first board image. Removes the need to parse
21416 some messages and unifies some code.
21418 2.1, patchlevel 3 -- Tue Dec 1 19:40:40 PST 1992 -- mann@src.dec.com
21420 * Handles ICS messages "Draw : neither player has mating
21421 material" and "Draw : White has no material, Black has no time."
21423 * Added AcceptMatch button for ICS mode.
21425 * Fixed bug in previous fix to yylexstr().
21427 * Fixed bugs in code for loading old position files that don't start
21428 with "#" and for handling case where user asked for nth position in
21429 file but there aren't that many.
21431 * Handles ICS message "* has restored your old game"
21433 * ResetProc always clears title line now.
21435 * Don't issue just "refresh" when watching a game; use game number.
21436 Upcoming new version of ICS may need this.
21438 * Added code to try to prevent user from watching and/or playing more
21439 than one game at a time. There is a race condition inherent here; if
21440 we get more than one board from the game before our command to stop
21441 watching it takes effect, we'll think the user started it again. Not
21442 clear how to fix this.
21444 * Redid ParseBoard8 to use sscanf. Code is a good deal cleaner now.
21445 Also, we now parse out the game number too, though we don't make much
21448 * (Tried to put in a feature that recognizes the current game in a
21449 game file must have ended when we see the start of a new one, but had
21450 to disable it because we have too many false hits with the current
21451 parser, especially in gnuchess listing files.)
21453 * Moves read from game files or received from ICS are now translated
21454 into canonical algebraic form just like all other moves. Minor nit:
21455 If you use Reset while playing or observing a game in ICS mode, the
21456 game history (including the current board position) is lost, so the
21457 next move of the current game can't be translated.
21459 * Default fonts now vary with board size, and are chosen by pixel size
21460 instead of point size (since piece bitmaps have a fixed pixel size).
21462 * Bug fix: An extra Forward was required to skip over time indications
21465 2.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com
21467 * If you move the comment popup, the next time it pops up it will come
21468 back where you put it.
21470 * Fixed yylexstr() so calls to it can be interspersed with calls to
21473 * Fixed bugs in Forward/Backward while in LoadGame mode.
21475 * Changed Save{Game,Position} functions to append instead of
21476 overwriting if file exists. Changed Load{Game,Position} functions to
21477 deal with multiple games/positions per file.
21479 * Changed load{Game,Position}File resources to trigger automatic load
21480 on program startup. Changed save{Game,Position}File resources to
21481 trigger automatic save after every completed game and on program exit.
21483 * Added autoSaveGames mode.
21485 * Fixed bug with PromoPiece in call to MakeAlg from MakeMove.
21487 * Many changes to get rid of picky compiler warnings and generally
21490 2.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com
21492 * A last minute change before patchlevel 0 went out broke
21493 ParseGameHistory(). Immediately fixed in patchlevel 1.
21495 Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com
21497 * Uses "time" command of gnuchess 4.0 and following to keep clocks in
21498 sync. Still works with older versions without this command; we test
21499 whether the command is present the first time each chess program is
21502 * File name dialog pops up under the mouse cursor, so that it's got the
21503 keyboard focus if the window manager is using pointer focus.
21505 * Attempts to move the wrong color piece or an empty square are filtered
21506 out in xboard instead of being passed on to GNU Chess or the ICS.
21508 * The reason a game ended is now remembered even if you move backward
21509 and forward after it ends. It is forgotten only if you make a move
21510 (which is as it should be---this is now a different game, which hasn't
21511 ended yet). The message saying why the game ended no longer wipes out
21514 * Pause, Backward, Forward, ForceMoves, and EditPosition now work from
21517 * Forward and Backward now change only the board display unless you
21518 are in ForceMoves mode. Pause mode keeps new moves that are received
21519 from being displayed on your screen until you unpause (or use
21522 * Added option to ring the bell after opponents' moves.
21524 * Saved games that start from other than the standard initial position
21525 now begin with a postion diagram as in saved position files. The
21526 loader is modified to understand such save files.
21528 * Improved error checking when trying to read from gnuchess.
21530 * Parser understands things that look like time indications, e.g., (0:12),
21531 instead of popping them up as comments.
21533 * Send "quit" to gnuchess before trying to kill it. I needed this
21534 locally because sending a SIGTERM to rsh was not killing the remote
21535 program on some internal field test systems we have.
21537 * Merged in code from John Chanak to make xboard a front end to the
21538 Internet Chess Server, and added several improvements of my own.
21539 (These include parsing end of game messages, loading the current state
21540 and previous history of a game that's joined in progress via "watch"
21541 or "load", automatic switch from board style 1 to 8 when needed,
21542 removing irrelevant buttons and adding some new ones, adding the
21543 useTelnet and gateway resources, and miscellaneous code cleanup, bug
21544 fixes, and documentation.) Many thanks to John for writing and
21545 contributing the initial version of this code.
21547 Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com
21549 * gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a
21550 preliminary version of 4.0.pl60 that I have). Added code to handle
21551 this. The old format ("e1g1", etc.) still works too.
21553 * Added code to format moves in normal abbreviated algebraic notation
21554 (for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic
21555 (for example, e2e4, e3d4, f7f8q, g1f6, e1g1). Moves entered with the
21556 mouse or received from gnuchess are translated into this canonical
21557 format for display on the message line or in saved game files. Moves
21558 read from game files are not translated, however; they are shown and
21559 saved just as they appear in the file.
21561 Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com
21563 * It's not really correct to write an ep capture of a pawn on e5 as
21564 fxe5; this should be written as fxe6 because e6 is where the capturing
21565 pawn ends up. Nevertheless, the parser now interprets fxe5 as the ep
21566 capture f5xe6 unless there is a pawn on f4, in which case it
21567 interprets fxe5 as f4xe5. By design, the parser does not flag fxe5 as
21568 ambiguous if there are pawns on both f4 and f5; instead it prefers the
21569 more legitimate f4xe5 interpretation.
21571 * A move like fxe6 or fe6 is now interpreted as an e.p. capture of the
21572 pawn on e5 if there is one there and e6 is empty.
21574 * A move like fxe5 can no longer be interpreted as an e.p. capture if
21575 there isn't a pawn on e5 to be captured. Previously this could happen
21576 erroneously if there were pawns on both f4 and f5, and the f4 pawn was
21577 capturing a piece on e5.
21579 * The parser no longer munges the move it is parsing; in the past, for
21580 instance, it would remove the "x" from a move like dxc5 before echoing
21583 * The parser now detects when a move is ambiguous and returns an
21584 error, instead of arbitrarily choosing one possibility as it used to.
21586 Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com
21588 * Added code so parser can handle fully qualified algebraic, e.g.,
21589 Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4. The "P" and "/" work only for
21590 fully qualified moves, not generally.
21592 * Fixed parser bugs in handling moves with rank or file disambiguator,
21595 Mon Jul 6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com
21597 * AIXV3 patch from Tom McConnell; thanks!
21599 * After hitting the Backward button we see the last move made instead of
21600 the word "Pausing" displayed.
21602 * Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault
21603 and Alan Walsh for bug reports and help with fixes.
21605 * Added optional display of algebraic notation coordinates along left and
21606 bottom edges of board. This was inspired by some code from Jean-Christophe
21609 * Swapped EditPosition and Pause buttons to reduce danger of losing the
21610 game in progress by hitting EditPosition when you wanted Backward. Thanks
21611 to Ove Lundberg for complaining (though it bugged me too).
21613 * Despite one complaint, I kept the feature of changing both clocks when black
21614 makes time control, rather than changing each individually when the player
21615 involved makes it. This is to avoid having it look like White is way ahead on
21616 time while Black is thinking about the last move of the time control period
21617 (i.e., when White has made time control but Black hasn't yet).
21619 * Corrected clocks to work as in real tournaments. Time is *added* when you
21620 reach time control; previously the clocks were simply set to the length of the
21621 new time period. Also, when a player's flag falls, he still does not receive a
21622 new time allotment at the next time control, but his opponent does still
21623 receive more time if *his* flag has not fallen; previously, time controls were
21624 ignored for both players if either flag fell. I forget who reported this bug.
21626 * Added a small ESIX patch from Kayvan Sylvan.
21628 Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21)
21630 * Added some SVR4 support code from Ronald Cole. It's Greek to me.
21632 * Note: Stephen Meatheringham reports a bug causing xboard to crash with an
21633 error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1
21634 and OpenWindows 3.0. This bug has not been tracked down yet.
21636 * Fixed a problem with ATTENTION code. On some operating systems, you have to
21637 be even more cautious about when you send a SIGINT to gnuchess, because the
21638 signal handler gets deinstalled each time it is used, and gnuchess does not
21639 reinstall it immediately. In particular, if you send a SIGINT and make an
21640 illegal move or ask for a hint, gnuchess does not reinstall the handler until
21641 *after* you make your next move, so you had better not send a SIGINT before
21642 it. I put a workaround for this case into xboard; I hope there are no more.
21644 * The ATTENTION code is needed when compiling for the ESIX operating system,
21645 because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that
21646 lets you interrupt its thinking on your time just by typing in your move does
21647 not work. Perhaps gnuchess will have a workaround for this eventually.
21649 * Fixed yet another bug in using XtGetValues; code to inhibit shell resizing
21650 was leaving a null pointer as the place to store the current sizes.
21652 * Man page fixes: corrected -sl to -sd, updated LIMITATIONS.
21654 * Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY. I hope this
21655 works for all systems; on mine, <time.h> and <sys/time.h> are the same file,
21656 but with an #ifndef that makes it harmless to include both.
21658 * Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan,
21659 d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole.
21661 Mon Jun 8 11:39:18 PDT 1992 (patchlevel 20)
21663 * Documented default value of initString and explained what it means. This
21664 paragraph also serves to inform the user that xboard by default will tell
21665 gnuchess to think on his time, something one user apparently didn't understand.
21667 * Redid -searchDepth (formerly -searchLevel) and -searchTime code. They both
21668 work correctly with gnuchess 3.1 now. The -searchDepth option also works
21669 correctly with gnuchess 4.0. The -searchTime option does not work with
21670 gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a
21671 working searchTime feature. Instead of having xboard do a half-baked emulation
21672 of this feature by using a 1-move time control, I will be submitting a patch to
21673 the gnuchess folks to restore the feature as in 3.1.
21675 * Improved clock code. It now keeps accurate track of fractional seconds of
21676 clock running time, if your system has gettimeofday(); if not, it is generous
21677 about them---if a clock has been going for n.m seconds when it is stopped, only
21678 n seconds are charged. Previously, xboard would charge one second immediately
21679 when a clock was started, so if n.m had elapsed when it was stopped, n+1 would
21680 be charged. This should stop xboard from thinking gnuchess has let its flag
21681 fall on the last move of a time control, as it often did before. I also
21682 improved the comments and condensed the code a little. I hope there are no
21683 systems that have X11 and don't have gettimeofday(), but if there are, I'd like
21684 to know what to replace it with.
21686 * "Flag dropped" messages now show up on the top line, beside the clocks, so
21687 that they don't obscure more interesting messages on the second line.
21689 * Fixed confusion of NULL and '\000'.
21691 * Include time.h to get ctime() declaration.
21693 * Fix to "parser bug" messages in parser.l.
21695 * Changed code to work with old-fashioned tolower() macro that requires its
21696 argument to be an uppercase letter.
21698 * Minor fix to some usage error messages; was reversing program name and
21699 erroneous argument value.
21701 * Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports.
21703 Fri Jun 5 13:06:08 PDT 1992 (patchlevel 19)
21705 * Note: xboard does not seem to work when compiled with gcc 1.40 on a
21706 PS/2 running AIX. It crashes at the sscanf in line 768 of xboard.c.
21707 You can work around the problem by specifying the -timeControl option
21708 on the command line instead of defaulting it. This does not seem to
21709 be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with
21710 MetaWare High C. [But see 2.1.pl8 above.]
21712 * Removed bogus files from distribution.
21714 * Changed variable name that conflicted with SVR4 ttyname function.
21716 * Thanks to Christoph Strozyk for another bug report, and to several
21717 of the folks mentioned under patchlevel 18 for testing it.
21719 Wed Jun 3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com
21721 * Added an include of sys/fcntl.h to pick up the definition of O_RDWR for
21724 * Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine
21725 which chess program got the signal.
21727 * Removed the declaration of strrchr, which was causing problems for some
21728 people, and added an include of <string.h> or <strings.h> instead.
21730 * Fixed a bunch of type errors uncovered by compilers that check more carefully
21731 than the one I was using. I just patched many of them with casts---typically
21732 cases where a function didn't take the same number and type of arguments as the
21733 X header file prototype said it should---because I didn't see any other way to
21734 fix them. The versions of the X header files that I have don't actually have
21735 full prototypes for these function types; they declare only the return type and
21736 just give the argument types as comments.
21738 * InitChessProgram returns immediately if chess program died while we were
21739 waiting for it to say "Chess". I think this fixes a bug that could make xboard
21740 crash or go into an infinite loop printing "Warning: Select failed; error code
21741 9" if gnuchess crashed there.
21743 * Removed code that tries to put the file descriptor used to read messages from
21744 gnuchess into nonblocking mode. I don't see how this kludge could ever have
21745 fixed the problem it was intended to (see below), and it seemed to be causing
21746 a race condition when we were waiting for the initial message from gnuchess
21747 after it started up.
21749 * Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark
21750 Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas,
21751 and Kris Van Hees for bug reports and help with fixes.
21753 Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu
21755 * 'xboard' suffered from a couple of serious bugs. An initial
21756 size needed to be given to the message label to avoid a race
21757 condition (!) so I gave it some text (otherwise occasionally
21758 xboard would fail because the message widget was 0 width under
21759 MIT X11R4). The sizes needed to be Dimension, not int, because
21760 they were written in by Xt -- on my big-endian box Dimension
21761 is short, causing chaos. Also, I hacked a declaration in for
21762 strrchr() to shut the compiler up -- this is arguably a kludge,
21763 but I couldn't think of anything better; maybe you can.
21765 Fri May 22 13:40:50 PDT 1992 (patchlevel 16)
21767 * First real (non-beta) release of version 2.0.
21769 * Added GNU copyleft notices covering version 2.0 enhancements.
21771 Thu May 21 12:30:09 PDT 1992 (patchlevel 15)
21773 * Removed -g from Imakefile.
21775 * Added casts in parser.l to prevent warning messages from some C compilers.
21777 * Bugfix: code to exit if chess program couldn't be started had bug in error
21780 Tue May 19 11:58:06 PDT 1992 (patchlevel 14)
21782 * Fixes one small bug: If LoadGame does not find a game in the file, it resets
21783 xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of
21784 leaving it in LoadGame mode.
21786 Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13)
21788 * Improved error handling when gnuchessx crashes. Now displays a message and
21789 enters EndOfGame state without exiting. This should help with diagnosing
21790 gnuchessx problems, since the position and move history are not lost.
21792 * Debugged man page.
21794 Version 2.0 -- Thu Apr 2 16:04:54 PST 1992 (patchlevel 12)
21796 * Added small 40x40 pixel pieces; board size now specified as small, medium, or
21799 * Improved man page.
21801 * Saved position files now say "white to play" if it's white's move.
21803 * SavePosition while in EditPosition mode now gets side to play right.
21805 * Made "Pawn" the default on edit position menus.
21807 * Removed "To play" from edit position menus, since it's redundant. Left
21808 support code in so it can be restored if someone wants it.
21810 * Tightened parser's definition of a move number to help further with skipping
21811 over stuff before the first move.
21813 * Put back feature of skipping over stuff in game files before a start of game
21814 marker. This helps when loading electronic mail messages that have things
21815 like "00" in the header (looks like castling), or that talk about moves in
21816 running text before the actual game score. Tradeoff is that we can't load
21817 games that don't either have move numbers or say "gnuchess game" just before
21820 * Changed version number to 2.0 because others have used "1.3" for patched
21821 versions of 1.2. Display version number and patchlevel at startup.
21823 Thu Apr 2 15:30:22 PST 1992 (patchlevel 11)
21825 * Bugfix: Match started with TwoMachines button now handles the case where
21826 user loaded/edited a position *and* forced some moves.
21828 * added error message feedback to many cases where the user's button press is
21829 rejected because it isn't allowed in the current mode.
21831 * added -noChessProgram option to allow use as a passive chessboard without
21832 gnuchess, replacing old buggy scheme that tried to do this automatically when
21833 gnuchess was not found on the search path.
21835 * parser accepts "=" in front of promotion piece
21837 * parser accepts ":" notation for captures
21839 * Removed SwitchSides button to make room for EditPosition. Left code in
21840 place, ifdef'ed out.
21842 * Added EditPosition mode.
21844 * Reformatted xboard.c to eliminate long lines.
21846 * Promotion popup now appears near rank to which pawn is moving.
21848 * UI improvement: Button representing current program mode is kept highlighted.
21850 * Bug fix: Hint button is now disabled when machine is on move.
21852 Sat Mar 21 14:57:37 PST 1992 (patchlevel 10)
21854 * TwoMachines now works from MachineWhite or MachineBlack mode.
21856 * ForceMoves and Backward/Forward now work at the end of a game started by
21857 the TwoMachines button.
21859 * Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O.
21861 * Bug fix: SwitchSides button is now disabled when machine is on move.
21863 * Added -searchLevel option and corrected handling of -searchTime to reflect
21864 the way gnuchess really handles command line options instead of what the
21865 documentation used to say. Allowed optional ":seconds" on times.
21867 Tue Mar 17 21:00:35 PST 1992 (patchlevel 9)
21869 * Removed non-working code that tried to recover when a remote chess program
21870 could not be started; now exits with a message instead.
21872 * Now waits for chess program to print its first message (normally "Chess")
21873 before sending it any commands.
21875 * Matches between two machines can now start from a black-to-play position or
21876 black-to-play opening.
21878 * Bug fix: The program would sometimes lose track of the board position after
21879 the end of the game, drawing a board full of white pawns next time it got an X
21880 redraw request. Now fixed.
21882 * Cleaned up handling of illegal moves in game files. Now we just stop reading
21883 and go into ForceMoves mode.
21885 * Saved games against gnuchess indicate who won (restored and debugged 1.2
21888 * Setting -searchTime turns off -clockMode.
21890 * My trick for setting up a black-to-play position broke in the transition from
21891 gnuchess 3.1+ to 4.0. Installed a different trick that works with both.
21893 * Bug fix: Was clobbering memory by mallocing one byte too few for the file
21894 name in SetupPositionFromFileProc. This usually resulted in a crash on the
21895 second attempt to load a position from a file.
21897 Mon Mar 16 16:49:00 PST 1992 (patchlevel 8)
21899 * Game and position files are saved in CHESSDIR as well as loaded from there.
21900 We actually chdir there, so gnuchess listing files also wind up there.
21902 * Underpromotion moves from gnuchess really work now.
21904 Sat Mar 14 14:55:24 PST 1992 (patchlevel 7)
21906 * Cleaned up lots of bugs and kruft in parser.l. It's a wonder the old version
21907 worked at all. Improved rejection of random text interspersed with the moves.
21909 * Relabeled buttons to reduce confusion (Play From File --> Load Game;
21910 Setup From File --> Load Position).
21912 * Bug fix: Doesn't exit at the end of a game that was started by pressing
21913 the Two Machines button.
21915 * Bug fix: Doesn't get confused if you hit Machine Black (White) while
21916 the machine is already playing black (white) and is on move.
21918 * Prints "White to play" or "Black to play" after loading a position file.
21920 * Bug fix: No longer hangs if no start-of-game is found in a game file.
21922 * More permissive about game file format. The first line is not assumed
21923 to be a header comment unless it starts with "#". We don't insist on
21924 seeing a "1." before the first move.
21926 * Added pop-up dialog to allow underpromotion. Moving a pawn to the last rank
21927 pops up a dialog to let you select what piece to promote to. Also added code
21928 to handle underpromotion moves from gnuchess or from a game file correctly.
21930 * Added code to send SIGINT to gnuchess before trying to move, if gnuchess
21931 might be busy thinking on our time. The code is ifdef'ed out because it's
21932 not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or
21935 Mon Feb 24 20:10:22 PST 1992
21937 * Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode
21938 and to ShutdownChessPrograms. (They both sent the same fixes.) I did not
21939 install the change that removed "easy" from the initialization string, so
21940 xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's
21941 time) by sending this command.
21943 Version 1.3 -- Thu Dec 19 18:19:00 PST 1991 mann@src.dec.com (Tim Mann)
21945 * I've fixed a slew of bugs in this version of xboard:
21947 * You can now back up from the end of a game, even if gnuchess was playing
21948 against you. Since gnuchess exits upon mate or draw (when it's not in force
21949 mode), this feature works by starting up a new copy of gnuchess and feeding it
21950 the saved starting position and moves. Drawback: the new gnuchess starts with
21951 clocks at the beginning of a fresh time control.
21953 * Note: the "force" command to gnuchess is a toggle. I fixed a couple of
21954 places in xboard where "force" was being issued when gnuchess was already in
21955 force mode, which resulted in chaos. I don't know if they were in 1.2 or if I
21956 added them myself in the course of putting in new features.
21958 * ForceMoves button is now legal in PlayFromFile mode. It closes the game file
21959 and lets you force moves (or go Backward) from whatever position you've
21962 * The parser now recognizes "white resigns" and "black resigns" (in any
21963 combination of upper and lower case, with or without the closing "s"). These
21964 used to be misinterpreted as meaning "white wins" or "black wins" respectively!
21965 Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1".
21967 * I removed the parser feature of considering "!" as a comment delimiter.
21968 "!" is so common as an annotation in game scores that this feature seems like a
21971 * Added a wait() after each successful call to kill() to avoid leaving zombie
21974 * Removed the feature of putting an indication of how the game ended into the
21975 internal move list when playing from a file. The only benefit of this was that
21976 it would get written back out if you saved the game at that point. This
21977 feature doesn't seem too useful, since you are unlikely to save a game you've
21978 read in without making any changes, and it caused a lot of problems in the code
21979 and user interface. The end condition is still displayed as a message when
21980 it's first read in from the file. End conditions when playing against gnuchess
21981 are still saved, too.
21983 * programName is now the last file name component of argv[0], not all of it.
21985 * xboard.c got three compiler warnings due to arguments that didn't match the
21986 prototypes on X toolkit functions. I got rid of them by adding some casts, and
21987 adding extra unused arguments to the ReceiveFromProgram function.
21989 * As I received it, the distribution had an extra period glued on the front
21990 of every line that started with a period. This broke the manpage in an
21991 obvious way. It also broke parser.l in a nonobvious way that stopped
21992 PlayFromFile from working.
21994 * Fixed one or two bugs where the clock was started when it shouldn't have
21995 been. I think one example was if you tried an illegal move in ForceMoves mode.
21997 * Now starts the machine's clock if you hit MachineWhite when white is on move
21998 or MachineBlack when black is on move.
22000 * Now updates the to-move indicator (highlight on clock display) when you use
22001 Forward/Backward or ForceMoves.
22003 * gnuchess 3.1+ has a bug that makes it try to think on its opponent's time
22004 even when in force mode; this causes problems with xboard's SetupFromFile
22005 command because gnuchess's saved hint move is garbage after the new position is
22006 loaded, so gnuchess prints out an error message when it tries to think about
22007 what it would do if the user made this move. Here is a patch for gnuchess
22010 *** nondsp.c~ Mon Dec 2 12:37:18 1991
22011 *-- nondsp.c Thu Dec 19 15:36:06 1991
22014 ok = flag.quit = false;
22017 ! if (hint > 0 && !flag.easy && Book == NULL)
22020 time0 = time ((long *) 0);
22022 ok = flag.quit = false;
22025 ! if (hint > 0 && !flag.easy && Book == NULL && !flag.force)
22028 time0 = time ((long *) 0);
22030 * SavePosition/SetupFromFile now handle black-to-play positions. If it's
22031 black's move in a saved position, the line "black to play" is printed
22032 immediately after the board display. Upon loading a position, xboard
22033 looks for "black" at the beginning of this line to determine whether it's
22036 * SetupFromFile now leaves you (effectively) in ForceMoves mode. This
22037 eliminates some cases where the program would get into an inconsistent state,
22038 and hopefully is more intuitive for the user, too.
22040 * PlayFromFile now leaves xboard in ForceMoves mode after playing through all
22041 the moves in the file. You can use Backward/Forward, make moves, get gnuchess
22042 to join the game with MachineWhite or MachineBlack, etc. The game file can end
22043 with either white or black to play.
22045 * Backward/Forward now seem to work in all cases. Previously using these
22046 buttons during a game against the machine would get xboard out of sync with
22047 gnuchess's idea of what was going on, resulting in chaos. Now using these
22048 buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the
22049 game using the MachineWhite or MachineBlack buttons.
22051 Thu Jun 27 15:06:25 PDT 1991
22053 * Remove comment popups during a reset.
22055 * Bug in my forward move fix. Didn't work for playgamefile mode.
22057 Thu Jun 20 15:04:06 PDT 1991
22059 * Can't do a backward move when it isn't your turn because gnuchess
22060 gets confused. Similar bug for forward move. Do a bunch of moves,
22061 back up move and go forward. These get filtered out now.
22063 * Put easy back into the initString. This DISABLES easy mode which by
22066 * New-line wasn't always being added to forward move strings sent to gnuchess.
22068 * Parsed comments as [ ..............text follows ] into d7d5
22070 * Long game file comments cause core dumps on HP systems.
22072 * Multiple uses of the get positition file button got confused
22073 on the second click.
22075 Minor fixes to the 1.2 release
22077 Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991
22079 * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D.,
22080 Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found
22081 a lot of bugs that we put into xboard just to see if they were paying
22082 attention. They were.
22084 * Changed the protocol that xboard uses to work with the new version of
22087 * There was an off by one error with the clock resetting code. Also,
22088 the clock display highliting was wrong. Thanks to Bill Shauck for
22089 pointing these out.
22091 * enumerations are not really integers on some C compilers. I added casting.
22092 The new version of gnuchess expects the "go" command for two machine
22093 and machine plays white cases. The whiteString resource is for
22094 compatibility with previous gnuchess versions which get confused by go.
22095 Thanks to Martin D. for catching these.
22097 * Fixed a bug where the checkmate message wasn't being parsed and xboard
22098 kept playing. Also, the message was added to game file if saved.
22099 Thanks to Scott Hemhill for pointing this out.
22101 * Fixed a bug where saving a long game, resetting and saving a short game
22102 resulted in appending the end of the long game to the short one.
22103 If a game is just being played out and there is no reason for gnuchessr
22104 to be used, ignore pipe signals. This allows people to use xboard
22105 as a chess board without need for gnuchess. Also, trivially bad moves
22106 such as e2e2 are not passed on to gnuchessr but instead ignored out of
22107 hand. This allows people using xboard as a chessboard with gnuchessr
22108 to pick a piece up, think and put it back down without making a move.
22109 Thanks to Jeff Kenton for pointing these out.
22111 * Added the CHESSDIR environment variable. Game and position files are
22112 found in this directory. If this variable is not declared, then the
22113 current directory is used. File names starting with / are treated
22116 * The bitmap file names were changed so that none exceeded 14 characters.
22117 This is necessary for R5.
22119 fcntl(from_prog[0], F_SETFL, O_NDELAY);
22121 The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr
22123 printz ("Illegal move (no matching move generated)");
22125 * fixed a problem with the new version of gnuchessr where xboard wasn't
22126 getting gnuchessr error messages for illegal moves. The problem seems
22127 to be fixed *without* any gnuchess changes but this is likely to be
22128 highly system dependant. There should be a new line on line 246 of nondsp.c
22130 * -iconic doesn't work at all now. The Iconify() does work. This was
22131 a tradeoff and it is really an Xt bug.
22133 * Fixed a compiler warning for gcc and an error for the IBM RT compilers.
22134 This is the VOID_PROC macro in xboard.h. Thanks to David Jensen for this.
22136 * If the DisplayWidth or DisplayHeight is less than 800, use small size mode.
22137 Also the size of the name widget was reduced from 500 pixels to 400 pixels
22138 because in small size mode there was a gap on the right.
22139 Changed the default font from fixed to helvetica_oblique14 to:
22140 **-helvetica-bold-r-normal--14-*-*-*-*-*-*-*
22141 helvetica_oblique14 is a font alias not on all R4 systems.
22142 Curiously enough, the 17 point is not available on 75dpi systems
22143 and the 18 point font is not available on 100dpi systems.
22144 Thanks to Richard K. Lloyd for pointing these out.
22146 * Minor hacks to work with R5 alpha. Had to add an event handler to the
22147 boardWidget to get translations to work. This may go away with the real R5.
22148 Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility.
22150 * If the first character of the file is not `1' then the first line
22151 of a game or position file is displayed as the name in a label widget.
22153 * Added a PopUp dialog for getting file names.
22155 * Modified the code to use the R4 routines rather than R3 compatibility.
22157 * Changed the forwards/backwards/readgamefile code to allow a play to step
22158 back and forth in a game. If he steps all the way to the beginning
22159 he has to restart the game. If he gets into a mated position, same problem.
22161 * Moved the man page from xboard.1 to xboard.man. This makes imake man page
22162 installs work correctly. Thanks to Richard K. Lloyd for pointing this out.
22164 * Corrected the queening code. XBoard was sending the wrong syntax.
22165 It was sending for example h8(Q) when it should have been sending h8q.
22166 Thanks to Paul Vaughan and Mike McGann for pointing this out.
22168 * Added a lex parser for algebraic games. It should be easy to use the parser
22169 for other interfaces such as the Microsoft Windows version.
22170 It parses comments of the form [anything] and ! to the end of a line.
22172 Version 1.1 -- Mon Jan 7 14:46:03 PST 1991
22174 * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,
22175 Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during
22178 * older non-ANSI versions of Sun compilers complain vociferously.
22180 * the remoteShell resource was added for HP-UX systems
22181 and other systems where the remoteShell isn't rsh.
22183 * -iconic doesn't work properly. If XBoard is opened iconic then
22184 iconifying it later with a keystroke doesn't work. I think
22187 * For systems with smaller screens, XBoard can use smaller pieces,
22188 and a smaller board. -bigSizeMode False uses a smaller set of pieces.
22189 These are scaled versions of the large pieces. They look ok but could
22192 * getlogin() does not work in all cases.
22193 It was replaced by getpwuid(getuid())->pw_name).
22195 * Warning messages get displayed in the message box.
22197 * Any button restarts a paused game.
22199 * Kayvan Sylvan contributed a patch for ESIX.
22200 It seems that select() on pipes is broken on his system. We declined
22201 to incorporate his patch though, because it was a work-around for
22202 something that was broken on one system, and selfishly, that system
22203 was not my own. Nevertheless, it is likely that other System V users
22204 on PC's may need to use this patch and it is is included as the file
22205 ESIX.patch. To use it, type
22207 patch xboard.c ESIX.patch
22209 * Fixed a bug where hint didn't work. The local version of gnuchessr
22210 had been hacked. The fix was to clone stderr and stdout for gnuchessr.
22212 * Fixed a bug where a player could play after a game had been finished.
22214 * The bitmaps have been pushed into the bitmaps directory.
22216 * Substantially rewrote and simplified the Two Machine code.
22218 * Added StrStr() because many systems don't have this ANSI function.
22220 * Added keyboard equivalents. Added an iconify keystroke, C or c.
22222 * Works with gcc now. gcc complained about casting float constants
22225 * Detect if the visual doesn't support color. If so, run in monoMode.
22226 An alternative would be to detect grayscale visual and use a collection
22227 of gray user interface colors.
22229 XBoard.clockMode: False
22231 * For people who don't like or use chess clocks a clockMode switch
22232 has been added. It is on by default. It can be turned off in the
22233 .Xdefaults file with
22235 * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.
22237 * Hal Peterson contributed a new Imakefile.
22239 * Rewrote DisplayClocks().
22241 * Rewrote TwoMachinesPlay mode.
22243 * Konstantinos Konstantinides added the -searchTime option.
22245 * Substantially rewrote and simplified the clock code. If a game was paused
22246 and then resumed, the clocks were out of sync.
22248 * Fixed a bug in HandleUserMove() where the user could make a move while the
22249 machine was thinking. The fix detects and ignores these moves. onMove
22250 was not being used and was removed.