Fix Seirawan gating at Rook square in PGN castling moves
[xboard.git] / ChangeLog
1 ChangeLog for XBoard/WinBoard
2 -----------------------------
3
4 (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
5
6 2016-07-31 20:46:54 -0700 Arun Persaud <arun@nubati.net>:
7 updated po/pot files
8
9 2016-07-31 20:45:22 -0700 Arun Persaud <arun@nubati.net>:
10 new version number for release 4.9.1
11
12 2016-07-28 19:49:02 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
13 Fix crash when logging out from ICS
14
15 The patch that sent "logout" to the ICS on a fatal error backfired when
16 the 'fatal error' was a disconnect, and caused a crash on Mac. We now
17 suppress sending of this "logout" command in the disconnect case,
18 communicated in a kludgy way (by requesting exit status 6666).
19
20 2016-07-28 14:24:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
21 Defer book faking input move until ping balance
22
23 The use of ping after editing a position had broken the book handling:
24 'go' would be sent in the same batch of commands as this 'ping', so that
25 in case of a book hit the book move selected on behalf of the engine
26 would be fed back to XBoard before the engine had the opportunity to
27 restore the ping balanceby sending 'pong'. Now the book move is fed
28 through ScheduleDelayedEvent(DeferredBookMove) rather than instantly,
29 when a MachineWhite/BlackEvent sets the engine playing.
30
31 2016-07-26 22:04:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
32 Fix setting up btm positions with 'edit'
33
34 The kludge to put black on move through a2a3 only works when there is
35 a (normally moving) Pawn on a2. Otherwise the 'black' command has to be
36 used. But this did take the engine out of force mode. So now we send
37 another 'force' command after this 'black'.
38
39 2016-07-22 09:12:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
40 Fix bare King adjudication
41
42 The increase of the number of piece types to 66 gave the BlackKing code
43 131, wich is > 127, so that using a signed char for it makes it < 0.
44 This cause the black King in the adjudication code to be seen as a white
45 piece. When black then checkmates with 2 pieces, only 1 piece is seen
46 (Q), and then assumed to be a bare King! Now the piece value is passed
47 through an (int) to prevent this.
48
49 2016-07-17 23:53:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
50 Fix check testing in games without King
51
52 A position without King was always considered as in check (because of
53 Atomic), which is rather illogical and undesirable in games where no
54 King participates (as it makes every move illegal).
55
56 2016-07-17 23:14:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
57 Fix disambiguating Pawn moves in Xiangqi
58
59 When multiple Pawns can go to the same square a move written as to-square
60 only is interpreted as the forward push, rather than a sideway move.
61
62 2016-07-17 23:06:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
63 Fix King leaving Palace in Xiangqi
64
65 The rewrite of the move generator had overlooked this.
66
67 2016-05-16 22:21:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
68 Fix compile error Xaw build
69
70 The variable initialSquareSize was not defined in the Xaw build,
71 and now has been moved to dialogs.h (which is part of both builds).
72
73 2016-05-15 10:05:40 -0700 Arun Persaud <arun@nubati.net>:
74 updated po/pot files
75
76 2016-05-15 10:03:04 -0700 Arun Persaud <arun@nubati.net>:
77 new version number for release 4.9.0
78
79 2016-05-12 15:49:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
80 Forgotten header for previous patch
81
82 2016-05-10 21:52:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
83 Abbreviate DATADIR to ~~ while saving XB themes
84
85 The path name of theme files is typically quite long in XBoard, where
86 installed data is very deep in the file-system tree. This path is now
87 recognized, and replacend by its abbreviation ~~ when storing a theme
88 in the -themeNames option.
89
90 2016-05-10 20:46:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
91 Fix crash on too-long theme definitions
92
93 Long file names for texture and pieces could make theme definitions
94 so long as to overflow the buffers used to hold them. The buffer
95 size is now doubled.
96
97 2016-05-10 20:29:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
98 Fix debris after click-click explosion near board edge
99
100 The redrawn grid was not exposed for board edges a knight's jump
101 away from an explosion square after a click-click capture in variant
102 atomic. This was due to the smartness in preventing overlapping
103 exposures of neighboring square, deferring the task to expose the grid
104 to squares that were beyond the edge. Now all squares in the explosion
105 range are exposed including grid.
106
107 2016-05-10 20:26:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
108 Fix highlights clearing when highlight last move off
109
110 When moves are not highlighted, the selected piece still is. But
111 this highlight should be erased after the move.
112
113 2016-05-10 19:42:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
114 Fix redrawing of pieces dragged off board (bug #47888)
115
116 The board was not redrawn after a piece was dragged off board,
117 leaving the piece 'invisibly' in its original position, and also
118 leaving the target squares marked.
119
120 2016-05-09 07:36:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
121 Describe new Edit menu items in texi file
122
123
124 2016-05-09 07:08:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
125 Add Mute all Sounds menu XB
126
127 XBoard now also has a menu item to mute all sounds (except the Play
128 button in the Sounds dialog) at the topof the Options menu, like WinBoard.
129
130 2016-05-08 20:04:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
131 Describe use of blue highlights in protocol specs
132
133 The function of 'blue' markers, and the role of the 'choice' command
134 in this is explained in the CECP specs.
135
136 2016-05-08 19:35:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
137 Fix forgetting 'choice' command after promotion
138
139 The promotion restriction specified by a 'choice' command is now reset
140 at the start of every new move, so that future promotion moves won't
141 use it too. In addition,the 'choice' command is ignored when legality
142 testing is on.
143
144 2016-05-08 14:39:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
145 Fix description of Tournament Options in texi file
146
147 Some headers were not exactly equal to the dialog texts because of typos,
148 frustrating the help clicks. And matchPause was not described at all.
149
150 2016-05-07 23:33:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
151 Fix multi-leg promotions
152
153 Two-leg promotions were sent as gibberish to the engine (and thus
154 rejected). It was also pretty annoying that XBoard's own idea of
155 what should be promotions was still applied even when highlighting
156 denied promotions (because the zone was different than assumed, or
157 a promotion-on-entry rule applies). Now the legality markers from
158 the GUI move generator are different from the red and yellow markers
159 from an engine highlight command, and the latter are taken as a denial
160 of promotion, and will suppress it.
161
162 2016-05-07 22:10:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
163 Erase markers before processing highlight FEN
164
165 Markers from the Betza generator were only half-heartedly erased when
166 a color-FEN camein through a highlight command, because FENs tend to
167 skip empty squares in stretches. This was already fixed for the legal[][]
168 array, but now it is fixed for the markers itself as well.
169
170 2016-05-07 12:13:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
171 Fix saving of piece colors as part of theme
172
173 The wrong condition was used for deciding of whether the piece-color
174 settings were relevant for a theme definition.
175
176 2016-05-07 12:06:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
177 Allow engine to force user to make non-standard promotion
178
179 The engine can now force an unexpected promotion on moves entered
180 by the user, by marking the to-square of such a move in blue.
181 Releasing a piece on such a blue square will then defer further
182 processing of the move (after having send the 'put' command to the
183 engine) until reception of a 'choice' command to specify what the
184 piece should promote to. This solves problems in Maka Dai Dai Shogi,
185 where a piece capturing a contageous piece would only be allowed to
186 promote to its normal promoted form if the to-square was marked in
187 purple (offering a P / +P toggle).
188
189 2016-05-06 07:42:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
190 Fix saving theme
191
192 The option -trueColors is now saved with the theme settings when a
193 pieceImageDirectory was given in XBoard, and the piece colors are
194 saved when this option is off even with a piece directory. The square
195 colors are now also saved when useBooardTextures is on, but the textures
196 are transparent. For this the transparency also had to be made visible in
197 the WinBoard front end, (by moving the flags for it to backend.c), but
198 always stay at the default 0 there.
199
200 2016-05-04 15:18:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
201 Fix deferral on sweep promotions
202
203 When a sweep in the to-square due to a highlight-induced promotion
204 had left the original piece as choice, the piece would be considered
205 to promote to itself (i.e. the move would get the promoChar for its
206 piece type), rather than to not promote at all. Some engines choked
207 on this (HaChu). Now such a move is not considered a promotion.
208
209 2016-05-01 21:41:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
210 Implement -showMoveTime option
211
212 A persistent option -showMoveTime can cause the time thought so far
213 on the current move to be displayed in the clock field, behind the
214 time left on the clock, in parentheses.
215
216 2016-04-29 16:16:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
217 Prevent crash on help-click for engine without manual
218
219 The error message of "man w xxx" when no man entry for xxx exists
220 appears on stderr, which is not caught by popen(). As a result the
221 path to the man file gets set to an empty string, and saveStrCpy
222 is not so save that it can copy an empty string, but quits XBoard
223 through an ASSERT in that case.
224
225 2016-04-28 14:36:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
226 Allow engine to specify holdings larger than board height
227
228 On reception of a 'setup' command we now automatically increase the
229 number of board ranks to the holdings size if the latter is larger,
230 but remember the number of added 'dead ranks'. When parsing a FEN these
231 ranks are blacked out, and on generating a FEN they are ignored. This
232 makes FENs behave like the board was not enlarged.
233
234 2016-04-28 13:24:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
235 Implement two-kanji -inscriptions
236
237 When the -inscriptions option specifies a UTF8 string that starts with
238 the character '2', it will assume the symbols that follow have to be
239 drawn on the pieces in (vertically stacked) pairs of somewhat smaller
240 size than it would use for single-character inscriptions. An optional
241 '1' at the start of the string could be used as an escape to be used
242 when the first character we want to inscribe would be a '2'.
243
244 2016-04-27 22:22:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
245 Prevent sending empty line to engine after multi-leg move
246
247 As the pmoves are stored internally with a linefeed suffixed to them,
248 this linefeed was mistaken for a promotion character in the multi-leg
249 printing formats, and led to an extra empty line being sent to the
250 engine on non-promotion multi-leg moves. Now a linefeed is replaced
251 by a null character before sending the move.
252
253 2016-04-27 20:34:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
254 Fix piece commands for promoted pieces
255
256 The flexible partner assignment had broken the code for 'piece'
257 commands defining the moves for these pieces, as the promotion
258 partner was still calculated the old way.
259
260 2016-04-25 18:31:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
261 Fix dragged piece during promotion popup
262
263 When dragging to a promotion square, the piece would keep 'hanging'
264 in the release position while the promotion popup was shown.
265 (This usually covered it, but not always.) As after a choice is made
266 the move will be animated, it was more logical to put it back on the
267 from-square.
268
269 2016-04-24 22:34:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
270 Add option -pgnTimeLeft to print clocks in extended PGN info
271
272 When set a persistent option -pgnTimeLeft makes XBoard save the time
273 left after the move in the score/depth comments, rather than the time
274 thought about the move. A leading sign will allow the reader to
275 distinguish the two. The time is always printed in integer seconds.
276
277 2016-04-24 21:10:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
278 Fix EOF detection in PGN parser
279
280 The result of fgetc was stored in a (char) before comparing it with EOF,
281 which fails badly if the char is not signed.
282
283 2016-04-24 20:53:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
284 Alter piece images in Spartan Chess
285
286 The Captain of Spartain Chess is now represented by the new Tower piece,
287 so that the Crowned Rook pictogram can be (and is) used for the General,
288 for better uniformity with other variants.
289
290 2016-04-24 20:30:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
291 Regularize Chu-Shogi piece assignment
292
293 The pieces in Chu Shogi have been reassigned to other internal codes,
294 so that juggling of images in variant cu is no longer needed. This
295 became possible by the flexible assignment of promotion partners.
296 It makes it easier to use Chu Shogi as parent variant without having
297 to worry about a non-stadard meaning of the -pieceToCharTable.
298 The built-in move generator had to be changed to work for the new
299 assignment.
300
301 2016-04-24 14:00:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
302 Allow group specification in ArgInstall options
303
304 The option that add a line to the existing multi-line options
305 (e.g. -installTheme which adds to -themeNames) now can specify the
306 line should be added within a group, by prefixing the line with
307 "# GROUPNAME\n" (where \ and n separate characters). If a group of
308 that name already exists, the line to add  is insert immediately after
309 the group header line. If not, the group is created, by adding both the
310 group header line and the line to add, as well as an "# end" line to
311 terminate the group.
312
313 2016-04-24 12:30:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
314 Save programStartTime in settings file rather than save time
315
316 The -saveDate time stamp is used to decide whether XBoard has seen
317 options added to the master settings file before. But it looks only
318 to the master settings file at stratup. So when we save settings we
319 now put XBoards startup time as -saveDte in it, so that installs
320 when XBoard was already running would still find their way into the
321 user settings file.
322
323 2016-04-22 11:37:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
324 Also supply shortcut for start directory in GTK file chooser
325
326 The first shortcut entry in the Places list is now created for the
327 directory in which XBoard started (which is $CHESSDIR if that was set).
328 This is suppressed if it would be a user home directory, as this would
329 already be in the list by default.
330
331 2016-04-22 09:33:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
332 Fix rounding when sizing 1x1 textures
333
334 When 1x1 textures were sized to the actual square size, this could lead
335 to bitmaps that were 1 pixel too small, presumably because of rounding.
336 We now add 0.99 pixel to the desired size of the texture image before
337 calculating the scaling factor (in floating arithmetic) that has to be
338 passed to the cairo scaling routine, and this seems to solve the problem.
339
340 2016-04-21 23:11:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
341 Limit prefilling with color to textures with alpha channel
342
343 When loading and preparing a texture we now test the format, and if
344 the image has an alpha channel we stay on the save side, and always
345 color the squares before drawing the texture. Only when the format
346 is not ARGB32 we skip the color fill. (And the default textures
347 do not have an alpha channel, so at least there no time will be
348 wasted on pointless color fills.)
349
350 2016-04-21 22:47:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
351 Fix confinement of Advisor in Xiangqi
352
353 Ever since the move-generator rewrite the Advisor could leave the Palace!
354 Now it can only move in XQ as a normal Ferz when on the board axis, and
355 everywhere els it can only move to the axis one square from the edge.
356 This does not generalize in a natural way to larger boards or larger
357 Palaces.
358
359 2016-04-21 22:14:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
360 Allow transparency in board textures
361
362 Rather than coloring the square evenly OR rendering a board texture
363 cutout we now always do both. Drawing the color will then erase anything
364 that was on the square before, which is expected behavior, and will then
365 remain visible where the texture is transparent. Before any transparency
366 in the texture would leave the old square content (pieces, arrows,
367 markers) visible.
368
369 2016-04-21 19:09:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
370 Make EditTags dialog non-wrapping
371
372 As the data edited with this dialog (PGN tags, engine list, theme list,
373 book moves, ICS menu definition) is always tabular, wrapping the lines
374 is just confusing, and it is better to have an automatic hscroll in case
375 the lines are too long to fit.
376
377 2016-04-21 19:02:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
378 Make preview message in file-chooser title bar a bit clearer
379
380
381 2016-04-21 13:51:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
382 Allow skipping to secondary series in -inscriptions string
383
384 A slash in the UTF8 string of the -inscriptions option now will start
385 the inscriptions of the pieces from the secondary series. This allows
386 writing -incription values that will remain valid wehen new pieces would
387 be added to the end of the primary series.
388
389 2016-04-21 11:44:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
390 Commit forgotten prototype
391
392
393 2016-04-21 10:03:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
394 Add menu item for editing ICS text menu
395
396 An item Edit ICS Menu was added in the View menu, and will pop up
397 the Edit Tags dialog for editing the -icsMenu option that determines
398 how the ICS Text Menu will look.
399
400 2016-04-21 09:26:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
401 Add Edit Themes List menu item XB
402
403 The Edit Tags dialog is now also used for editing the -themeName list,
404 with a menu item in the View menu to pop it up.
405
406 2016-04-20 23:56:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
407 Make preview resistent to nothing being selected
408
409 The name of the selected file could be a null pointer, and ScaleOnePiece
410 does not like that for a pieceImageDirectory.
411
412 2016-04-20 14:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
413 Add option -jewelled to decide which King is a Zebra XB
414
415 A new volatile option -jewelled is added, with default value -1.
416 When it is set to 0 the King image will be replaced by the Zebra image,
417 when it is 1 the same thing will happen to the black King. This color
418 testing will be done before the swapping of colors ordered by -flipBlack,
419 so that the color rather than the side of the (possibly flipped) board
420 decides which King is displayed as Zebra. (While the board side determines
421 whether a white or black Zebra will then be used in -flibBlack mode).
422 Shogi themes can use this by providing a Jewelled General as Zebra (a piece
423 that was not used in any Shogi variant).
424
425 2016-04-20 11:51:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
426 Point out preview in title of file chooser GTK
427
428
429 2016-04-20 11:31:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
430 Fix sizing problem in i3wm tiling window manager GTK
431
432 Apparently i3wm creates a window of different size than the requested one
433 without sending a configure-event that would allow XBoard to adapt its
434 board size. This is now fixed by triggering a first configure-event by
435 hand. The first resize had to no longer be suppressed to make this work.
436 (This was not needed anymore anyway, as the board size is now protected
437 during clock resize.) The -fixedSize option had also to be fixed.
438
439 2016-04-19 20:49:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
440 Let file chooser show preview of textures on board
441
442 When browsing for a board texture or piece theme, selecting a file in
443 the browser will now cause immediate display of the board with that
444 texture or theme, which will revert if you cancel the choice. Or when
445 you accept the choice, but cancel the Board dialog.
446
447 2016-04-20 23:49:26 -0400 Joshua Pettus <jshpettus@gmail.com>:
448 Renamed shogi jewled pieces to zebra
449
450
451 2016-04-20 16:51:49 -0400 Joshua Pettus <jshpettus@gmail.com>:
452 Update ru.po translation
453
454
455 2016-04-17 10:16:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
456 Provide item-by-item description of ICS Chat in texi file
457
458
459 2016-04-17 10:13:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
460 Provide help clicks on recently-used-engines menu items
461
462 The items for recently used engines in the Engine menu are now recognized
463 as such, and will look for help on "Recently Used Engines" rather than
464 on the item text (which is the engine name).
465
466 2016-04-17 10:05:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
467 Use missing SVG from parent if -pid name starts with sub_
468
469 If the current piece-image directory's name starts with "sub_", any
470 pieces not found in it will be searched in the parent directory.
471 This allows variants that need just a few pieces of a theme changed
472 to get their own sub_xxx sub-directory within the directory with SVG
473 images, containing the deviating SVGs. This will work recursively.
474
475 2016-04-17 09:32:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
476 Fix one-click moving with engine-define and wild-card pieces
477
478 In the disambiguation routine wild-card pieces were still treated as
479 special even when explicit moves were defined for them. In addition,
480 Disambiguate would try native XBoard piece motion for resolving ambiguous
481 moves, which is sensible for parsing SAN (which might be saved by an old
482 version of XBoard), but wrecks one-click moving.
483
484 2016-04-11 20:44:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
485 Improve resize/co-dragging GTK
486
487 The reconfigure event of the main board is not processed directly,
488 but sets a timeout to call the actual handler, which will be restarted
489 when new reconfigure events occur during the timeout period. This makes
490 that the (very timeconsuming) redrawing and moving of all windows
491 will only be done if the stream of events dries up.
492   Unfortunately the ReSize routine called as part of the handling needs
493 to be interruptable, which can cause recursive calling of the reconfigure
494 handler. A variable 'busy' would ignore such recursion, but at the price
495 of missing the interrupting event completely. The attempted fix to set
496 a new timeout was flawed, as delayedDragTag would not have been cleared
497 at that point. So we threw it out. Now 'busy' is a counter, which will
498 remember if there were ignored recursion attempts, and then makes these
499 into a harmless tail recursion, to do the resize/drag once more, based
500 on the latest window parameters.
501
502 2016-04-10 19:42:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
503 Fix size collapse to 0 after too-small sizing
504
505 The test for the end of the sizeDefaults list was one off, so that
506 a too-small size request would be rounded to a size just behind
507 the table, where there is an all-zero sentinel element.
508
509 2016-04-09 23:40:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
510 Also put themes and textures in file chooser GTK
511
512 The themes and textures folders are now also directly listed amongst
513 the 'Places' shortcuts in the GTK file chooser.
514
515 2016-04-09 22:47:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
516 Add DATADIR as shortcut folder to file chooser
517
518 The file chooser invoked by a dialog Browse button now puts XBoard's
519 DATADIR amongst the shortcuts in the 'Places' list, so you can navigate
520 there with a single mouse click.
521
522 2016-04-09 20:12:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
523 Fix browsing for folders, and allow starting in DATADIR
524
525 The previous path seemed to cause a segfault when browsing for a folder
526 with an empty text-edit. In addition there existed a bug for browsing
527 from the Engine Settings dialog, where the value of the option was taken
528 as a filter. Both are fixed now.
529  The Option.textValue field, which for FileName Options holds the filter,
530 for PatName Options could be NULL or "". The latter is now taken to
531 mean that browsing should start in DATADIR, and is only used when
532 browsing for sound files or pieceImageDir with empty pathname field.
533
534 2016-04-09 17:29:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
535 Start button-activated browse near old field contents GTK
536
537 The file chooser activated by Browse buttons for filling a File or Path
538 text edit started in the last directory it visited for that file type.
539 But for the initial browse after startup it started in the current
540 directory. Now it starts in the directory derived from the filaname
541 currently in the text edit, if there is one, and only in the last-
542 visited directory for the file type if the text-edit was empty.
543
544 2016-04-09 16:30:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
545 Extend full-board textures by periodic tiling (XB)
546
547 Texture images with an -NxM suffix to their name are scaled to match
548 that number of squares before cutting squares out of them. But if the
549 actual board was larger than NxM the remaining squares fell outside the
550 image and remained white. Now the cutting area is mapped back into
551 the image, effectively behaving as if it is periodically tiling the
552 entire plane.
553
554 2016-04-07 22:14:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
555 Mention support for Arena960 protocol with USI/UCCI checkbox WB
556
557 Normally the -uxiAdapter option would be configured to use UCI2WB,
558 and in the binary distribution of WinBoard it certainly will be.
559 As UCI2WB now supports the UCI dialect Arena uses to play Chess960,
560 people can use the USI/UCCI checkbox also for Chess960 engines that
561 use that protocol, and the checkbox label now points that out.
562
563 2016-04-07 19:34:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
564 Finish castling and e.p. rights for Edit Position
565
566 In stead of faking rights based on corner positioning of Rooks and
567 e-file King, EditPositionDone now interprets the rightsBoard that
568 recorded 'promotion clicks' on King, Rooks or Pawns to toggle their
569 rights. This rightsBoard is initialized from the castling rights in
570 the position that is being edited, and the clear and piece-pallette
571 boards now also set these castling rights correctly.
572
573 2016-04-06 18:22:46 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
574 Describe Common Engine dialog item-by-item in texi file
575
576 This had not been done yet, so that help clicks in the dialog did
577 not retrieve any help.
578
579 2016-04-06 16:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
580 Fix history/eng.out font setting on sizing and other bug
581
582 The coord font was set with the historyFont value, and when a valid
583 font was taken from the fontTable, fontIsSet was not set.
584
585 2016-04-06 16:08:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
586 Apply fonts in 'other windows' after sizing
587
588
589 2016-04-06 15:45:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
590 Store fonts changed by font dialog in fonts table
591
592 The fonts table holds fonts per type and size that should be saved
593 in the settings file because they were either read from it, or explicitly
594 specified by the user on the command line. This now also holds for
595 fonts altered through the Fonts dialog, without waiting for the saving
596 of settings, because by that time the boardSize might already be different.
597
598 2016-04-06 14:38:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
599 Only save fonts that are not defaults
600
601 When the font in use is a (size-adapted) default, we don't save
602 it in the settings file.
603
604 2016-04-06 14:25:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
605 Conditionally replace 'other-window' fonts on sizing
606
607 Fonts not used in the main window (i.e. other than clock, coord and
608 message) are now also adjusted on sizing, but not when this would
609 mean replacing an explicitly specified font by a default one.
610 If we size to a boardSize for which a font was specified earlier,
611 we always switch to the latter, and if we were merely using the
612 default font for the old size we switch to the default font for
613 the new size rather than keeping it.
614
615 2016-04-06 14:08:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
616 Reset fontIsSet when sizing causes change to default font
617
618 The array fontIsSet now tracks whether the fonts in actual use are
619 from a (possibly size-adapted) default, or were specified by an option
620 (also through a fontIsValid entry in the fontsTable) or the Fonts dialog.
621 For changing a font on sizing a subroutine is now used.
622
623 2016-04-06 14:08:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
624 Fix bold button fix
625
626
627 2016-04-06 13:03:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
628 Lock board size when clock changes to two lines
629
630 First writing in the clock widget will usually increase its height
631 because the clock font is bigger than default. And for two-line
632 clocks as used with logos this will even be more pronounced. This
633 did cause the extra size to be taken from the board, ending up with
634 a smaller square size than originally requested. Which again would
635 cause any font changes to be saved as belonging to that smaller board
636 size. So starting next time with the originally requested size (as
637 opposed to the saved board size) would then not use those fonts!
638 The board size is now locked during the first write to the clocks,
639 or writes that change the number of lines.
640
641 2016-04-06 12:13:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
642 Fix Bold button and application of commentFont
643
644 Oops! The B button in the Fonts dialog had disappeared with the
645 suppression of the B(lue) button in the Board dialog! The comment
646 font was applied to the wrong widget in the Edit Comment dialog.
647
648 2016-04-06 11:56:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
649 Only adjust fonts that are actually changed
650
651 OK-ing the Fonts dialog now checks which fonts have been changed,
652 and only applies those to the widgets that use them. In addition it
653 sets a flag to indicate that the changed font no longer is a default.
654  A bug that did not apply the gameListFont for preview is now also
655 fixed.
656
657 2016-04-06 10:49:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
658 Put fonts in font table in allocated memory after sizing
659
660 To make it possible to change the font later it should always be
661 put in allocated memory.
662
663 2016-04-06 09:38:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
664 Fix explosion of clocks for large board size GTK
665
666 When packing things in a hbox for getting them on the same row,
667 the hbox was made vertically expandable when the height of the first
668 element was requested > 80 (assuming it would be a text memo). At
669 square sizes > 81 the logos would require a height > 80, though,
670 and would be the first element on the logo + clocks row. This would
671 make them expandable, so that the window height would be equally divided
672 between board and logos (which again would leave preciously little for
673 the board). Now the expandability is reserved for TextBox Options only.
674
675 2016-04-05 23:40:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
676 Suppress menubar text clipping on resize in OSX App
677
678 The menu bar is not in the window in OSX, so the menu texts should
679 always remain full length.
680
681 2016-04-05 22:07:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
682 Fix clipping of menu texts after sizing
683
684 When tinyLayout = 0 the texts should not be clipped at all, rather
685 than to a single letter.
686
687 2016-04-05 21:05:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
688 Enlarge background of startup message
689
690 Because of rounding of the character size the message width exceeded
691 the background for some square sizes.
692
693 2016-04-05 20:23:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
694 Adapt clock and message font after board-window sizing
695
696 The clock and message font are now adapted to the new -boardSize value
697 determined after sizing of the board window. When a valid font for the
698 new size was already available (e.g. read from the settings file), it
699 uses that. If not it uses the hard-coded default font name. In both
700 cases a %d in the name is expanded based on the size-table indication
701 for that font. This makes the clock font adpat even without prior history.
702
703 2016-04-05 20:19:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
704 Prevent message text widening window GTK
705
706 Removing the size request from the label widget of the message field
707 made the width of this field grow with the text displayed in it, and
708 with it the entire board window. This could be prevented by setting
709 an ellipsize mode for it.
710
711 2016-04-05 18:52:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
712 Pick -boardSize on window width rather than square size
713
714 For boards with other than 8 files the squares will be scaled different
715 from what the sizeDefaults say, so that the font and menu clipping
716 determined by the latter will match the total board width. We now pick
717 the boardSize after sizing such that popup with an 8-wide board next time
718 would reproduce the board width.
719
720 2016-04-05 18:40:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
721 Adjust menu-text clipping to square size
722
723 After window sizing has adjusted the square size the text on the menu
724 bar are now clipped to a length that would make the menu bar not exceed
725 the width of the board, similar to what is done at startup.
726
727 2016-04-05 16:49:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
728 Make user-adjusted board size quasi-persistent (GTK)
729
730 After adjusting the board-window size the newly calculated square size
731 will be used to derive a new -boardSize for saving in the settings file,
732 by rounding it down to the nearest standard size. (But the size actually
733 used for display will not be rounded!) This will cause the board to pop
734 up with approximately the same size next time. The remembered initial
735 square size will also be adapted to the rounded value, so that the fonts
736 will start to apply to the new -boardSize as well on saving settings.
737 This will only be done if the old -boardSize value did not contain
738 commas (meaning it specified more than just square size).
739
740 2016-04-05 16:36:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
741 Unlock width requests in board window GTK
742
743 The message field and clocks had a specified width to force them as
744 wide as the board irrespective of their text content. This prevented
745 the user to size the board window below the initial width. The size
746 requests are now removes after initial pop up, as they already were
747 for Graph widgets. This means the width of the window can now be
748 decreased, although we quickly run into the point where the texts
749 on clock or menu bar prevent further shrinking. (Which could only
750 be prevented by clipping the menu texts more, or decreasing the clock
751 font.)
752
753 2016-04-05 14:32:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
754 Adjust window height after clock-font change
755
756 A routine LockBoardSize are added, and called to protect the board's
757 Graph widget from absorbing the height change pf clock and message field.
758 Enlarging these now forces the top-level window to expand, and after the
759 change we try to reduce this window size to tightly fit the board to
760 squeeze out empty area after shrinking.
761
762 2016-04-04 12:04:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
763 Fix help clicks in Engine Settings dialogs
764
765 A previous patch had broken recognition of the .IX Item "..." lines.
766
767 2016-04-04 12:00:57 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
768 Ignore stderr when reading from man command
769
770 BufferCommandOutput was using StartChildProcess also used for engines,
771 which combines the output from stdout and stderr on the pipe. On FreeBSD
772 "man -w" produces spurious error messages, however, which would append
773 to the path of the man file. To work around this we now use popen()
774 to collect the output of the man command during help clicks.
775
776 2016-04-04 10:53:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
777 Silence Clang warnings
778
779 The assignment of the variant number to appData.variant was a real bug.
780 The signedness of EP_STATUS looked like one, but seemed to work in practice.
781
782 2016-04-13 14:22:35 -0400 Joshua Pettus <jshpettus@gmail.com>:
783 Update nl.po Translation
784
785
786 2016-04-10 08:32:47 -0400 Joshua Pettus <jshpettus@gmail.com>:
787 Update es.po translation
788
789
790 2016-04-06 17:29:37 -0400 Joshua Pettus <jshpettus@gmail.com>:
791 Update de.po translation
792
793
794 2016-04-05 23:59:50 -0400 Joshua Pettus <jshpettus@gmail.com>:
795 Update fr.po translation
796
797
798 2016-04-05 15:11:25 -0400 Joshua Pettus <jshpettus@gmail.com>:
799 Update zh_CN.po translation
800
801
802 2016-04-04 13:41:23 -0400 Joshua Pettus <jshpettus@gmail.com>:
803 Update uk.po translation
804
805
806 2016-04-03 13:55:34 -0700 Arun Persaud <arun@nubati.net>:
807 new developer release; updated po/pot
808
809
810 2016-04-03 21:25:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
811 Start implementing rights control in Edit Position mode
812
813 Clicking on an already selected Rook or King will toggle its virginity,
814 displaying the new state in the message field.
815
816 2016-04-03 16:28:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
817 Fix erroneous use of @itemx
818
819 The offending @itemx directives were changed to @item. This does mean
820 an unwanted empty line will appear above the corresponding headers.
821
822 2016-04-03 10:23:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
823 Save font settings based on initial square size
824
825 Font settings were saved by the square size as it was at the time of
826 saving, which could have been altered compared to the reading of the
827 fonts from the settings file by interactive sizing of the window, or
828 by switching to a variant with other board dimensions. Now the initial
829 square size is remembered and used for this.
830 BEWARE: we might want to undo this when window sizing would affect font
831 selection, rather than just sizing the board.
832
833 2016-04-02 19:12:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
834 Let color-pickers start at current color
835
836
837 2016-04-01 22:01:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
838 Use GTK color picker instead of R, G, B and D buttons
839
840 By an awful hack in the generic dialog constructor ever Button Option
841 with the name R, G or B is now completely ignored, while Buttons with
842 name D will be replaced by GtkColorButtons. Instead of catching the
843 "clicked" signal these will respond to the "color-set" signal, invoking
844 a handler private to the GTK front end, which will set the color text
845 and colorof the reset button as the platform-independent handler of the
846 RGBD buttons would normally have done.
847 Unfortunately this had to use deprecated GTK2 stuff, as the recommended
848 GTK3 equivalents are not understood on Ubuntu 10.04.
849
850 2016-04-01 16:34:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
851 Use the official GTK font selector
852
853 A gtk_font_button is now put in the Fonts dialog to allow selection
854 of a general font. The individual window fonts got a button marked *
855 to assign this font to them. To implement the selector button some
856 kludgy code had to be added in the generic dialog constructor, to
857 recognize these Button Options by name, and use the special GTK
858 widget to implement them, or assign an unusual callback.
859
860 2016-04-01 11:13:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
861 Describe Fonts dialog in texi file
862
863
864 2016-04-01 10:30:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
865 Silence warning due to missing prototype
866
867
868 2016-04-01 10:28:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
869 Fix translation of dialog texts GTK
870
871 When using the Option names during the creation of GTK widgets,
872 the gettext macro _() was not applied to them, so they remained
873 untranslated even though they were marked with N_() in the Option
874 tables.
875
876 2016-04-01 10:19:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
877 Fix Xaw for font damage
878
879 A dummy for ApplyFont is added in the Xaw front end to allow compiling it,
880 and the Fonts dialog refuses to pop up when it recognizes an X-font setting
881 for the message font, with an apology.
882
883 2016-04-01 10:08:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
884 Silence warnings
885
886
887 2016-04-01 09:50:46 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
888 Replace coord font control for ICS font control
889
890 In the Fonts the control to set the coord font is removed, as the Cairo
891 version currently ignores the -coordFont setting. Instead a control to
892 set the font in the ICS Console is added. As the fonts there are controlled
893 by tags, and would ignoe the global font setting of the widget, the font
894 tag is redefined through a kludgy call of AppendColorized with a NULL
895 string as text. This is now interpreted as a signalfor recreating the font
896 tag based on the current icsFont, which will then only be applied to
897 future messages.
898
899 2016-04-01 09:13:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
900 Let font entries show preview of their own setting
901
902 The font settings are now applied to the text entries in the Fonts dialog
903 that control them, at popup of the dialog as well as when changing them
904 through the buttons.
905
906 2016-04-01 00:46:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
907 Add Fonts dialog
908
909 A dialog is added to set the various window fonts, either by typing or by
910 operating buttons for Bold, Italic, or adjusting the point size.
911
912 2016-03-29 21:23:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
913 Add headers for <<, <, > and >> buttons in texi file
914
915
916 2016-03-29 21:20:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
917 Fix help search
918
919 The help search was ignoring the last character of the searched string.
920 Which almost neven mattered, except when the searched string was only
921 1 or 2 characters, like for the buttons in the button bar.
922
923 2016-03-29 20:20:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
924 Fix disambiguation for one-click moving
925
926 The test in the DisambiguateCallback to ignore duplicate moves (as
927 sometimes generated by Betza descriptions) was only testing for the
928 same from square. This is good enugh if the to-square is always given
929 (as in SAN), so that moves with different to-square would always be
930 rejected anyway. But to determine if a piece has only a single move
931 we disambiguate with unknown to-square. So all moves but the first
932 of a piece would be ignored, making it always pass the only-move test.
933 We now test both from- and to-square, and only ignore moves that
934 have both of these equal to that of an already matching move.
935
936 2016-03-29 16:33:30 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
937 Fix exposing of premove highlight and move exclusion XB
938
939 Now that drawHighlights does not trigger an expose event itself, it is
940 essiential that DrawPosition is called after every SetPremoveHighlight()
941 call. But it wasn't after entering a premove, and after a drag-drop move
942 exclusion the old position was not redrawn at all, leaving the dragged
943 piece 'floating'.
944
945 2016-03-29 16:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
946 Fix erasing of premove highlights XB
947
948 The to-square premove highlight was not marked for erasure (but
949 the from-square was marked twice if the to-square higlight  changed),
950 leading to accumulation of highlighted squares during PV walking.
951
952 2016-03-28 22:31:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
953 Describe New Shuffle dialog item by item in texi file
954
955
956 2016-03-28 22:24:20 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
957 Fix New Shuffle Game dialog
958
959 The insertion of the Fischer-castling option had broken the operation
960 of the 'randomize' and 'pick fixed' buttons.
961
962 2016-03-28 21:56:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
963 Describe -epd option in texi file
964
965
966 2016-03-28 21:44:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
967 Describe divide-by-60 option of TC dialog in texi file
968
969
970 2016-03-28 21:37:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
971 Suppress participation of second engine in EPD mode
972
973 Starting the second engine, and initializng it for the next game in
974 TwoMachineEvent() is now suppressed in EPD mode, so that the latter
975 even works with a non-existent second engine.
976
977 2016-03-28 09:56:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
978 Also copy -sd from -fd when no second engine defined
979
980 If the second engine defaults to the first, and the first needs to
981 be run in a specific directory, the second engine would not start
982 if we do not copy its directory too.
983
984 2016-03-27 18:17:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
985 Only let second engine default to first when of same type
986
987 When the first engine is UCI, making the second engine equal to the
988 first without setting the corresponding protocol flag, is a certain
989 recipe for causing trouble. So copy the flag too.
990
991 2016-03-27 17:27:30 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
992 Change EPD reporting
993
994 The individual positions now get "time: move" printed when solved,
995 and "move?" or "move???" when not solved (the latter when it was an
996 avoid move). The total time is now reported also, at the end.
997
998 2016-03-27 13:21:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
999 Clear total solving time at start of match
1000
1001 When multiple EPD suites are launched interactively, the time should be
1002 calculated separately for each of them.
1003
1004 2016-03-27 12:59:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1005 Allow a list of best moves in EPD
1006
1007 All characters upto a semicolon (rather than space) are now read as bestMove
1008 string. For checking the correctness of a solution all moves in this string
1009 are parsed and compared.
1010
1011 2016-03-27 12:02:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1012 Internationalize EPD messages
1013
1014
1015 2016-03-27 11:58:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1016 Print average solving time of EPD suite
1017
1018 The number of good solutions and average thinking time on them are
1019 now printed in the 2nd engine-output pane.
1020
1021 2016-03-27 11:22:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1022 Fix determination of EPD solving time
1023
1024 Repeating an already found solution would increase the solving time
1025 like the repetition was the first good solution.
1026
1027 2016-03-26 23:35:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1028 Add more EPD code
1029
1030 The -epd option now causes color assignment such that the first engine
1031 plays all moves. Extraction of the bm field from the EPD is fixed,
1032 and clearing of the second engine-output pane is suppressed.
1033
1034 2016-03-24 23:46:01 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1035 Add -analysisBell option to use move sound in analysis mode
1036
1037 The persistent integer option -analysisBell can be used to let the
1038 move sound play in analysis mode for every PV that arrives after the
1039 dely (in seconds) it specifies has elapsed since the current analysis
1040 search started.
1041
1042 2016-03-24 17:25:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1043 Fix crash on loading variant engine after changing variant
1044
1045 The New Variant dialog did not store the variant name (and in fact
1046 several other option values, such as nick names) in allocated memory,
1047 but just by pointing to it, which made XBoard crash when the options
1048 were parsed again (as part of an engine load), and it tried to free()
1049 the old value.
1050
1051 2016-03-24 16:15:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1052 Fix variant switch on engine load
1053
1054 When an engine was installed with an engine-defined variant, selecting
1055 that engine through the Load Engine dialog did not properly switch to
1056 the intended variant. Now doing this at the start of a game forces an
1057 extra New Game event. This event now also remembers the name of any
1058 unknown variant, in the hope the engine will define it.
1059
1060 2016-03-24 14:40:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1061 Describe Board Options dialog in texi file
1062
1063 The Board Options dialog is described item by item, so that the help
1064 clicks on it will work.
1065
1066 2016-03-23 22:54:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1067 Reorganize texi file
1068
1069 For the help clicks to work universaly, it is necessary that all dialog
1070 items are described separately, with headers exactly equal to the label
1071 they have in the dialog. This is a first step in that direction.
1072
1073 2016-03-23 20:25:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1074 Allow help-clicks on Label Options with linefeeds
1075
1076 Some of the LabelOptions in dialogs do have linefeeds. (In particular,
1077 those in the Load Options dialog.) So we allow help clicks on them,
1078 but add linefeed with the termination characters. Except that a leading
1079 linefeed will be clipped off.
1080
1081 2016-03-23 20:16:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1082 Make sizing more robust (GTK)
1083
1084 On sizing we now do not immediately replace the buffer canvas, but set
1085 a flag in the Graph Option to indicate the canvas is invalid. Instead
1086 of taking the canvas handle from a global variable (csBoardWindow) we
1087 now obtain it in every drawing call from a function, which first tests
1088 if the canvas is still valid. If it is not, we replace it by one of
1089 the size specified in the Option (which was obtained from the window
1090 size the moment the flag was set).
1091  The GraphExpose requests now bypass the general GraphEventProc, by
1092 calling the drawing of the exposed area (which was relocated to a
1093 separate function) directly. This avoids the overhead of checking for
1094 resizing through requesting the window geometry.
1095
1096 2016-03-23 11:07:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1097 Improve behavior of secondary board on sizing main window
1098
1099 Resizing the main window now immediately orders corresponding resizing
1100 of the secondary board window, plus an immediate redraw, rather than
1101 waiting for a move to occur on that board.
1102
1103 2016-03-22 22:37:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1104 Prevent FICS bell character fro printing in ICS Console XB
1105
1106 FICS sends bell characters (ascii 7) at the start of many messages.
1107 We now strip a leading bell off the message before appending it to
1108 the text memo of the ICS Console, and ignore the message altogether
1109 if it was just bell + linefeed (to prevent each move of an observed
1110 game adding an empty line).
1111
1112 2016-03-22 20:59:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1113 Fix erasing and exposing of arrow on secondary board
1114
1115 For the second board the damage flags set for exposing a freshly drawn
1116 arrow are left for the next draw to erase that arrow again.
1117
1118 2016-03-22 15:40:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1119 Remove debug printf
1120
1121
1122 2016-03-22 15:38:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1123 Pop up warning when engine manual is not available
1124
1125 Help clicks on the engine dialog pop up a warning when the manual is
1126 not found. It seems useful to alert the user that this info has to
1127 come from the manual of the engine' rather than XBoard's.
1128
1129 2016-03-22 15:10:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1130 Add -men option for changing piece moves
1131
1132 A volatile string option -men allows the user to change the moves of
1133 the pieces from the command line similar to what the VariantMen tag
1134 does from a PGN file. Using the New Variant dialog resets the option.
1135
1136 2016-03-22 14:56:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1137 Add -fen option
1138
1139 A volatile string option -fen can now be used to set the initial position
1140 of the initial variant through the command line, removing the need to
1141 prepare a position file for this. Otherwise the effect should be the same
1142 as when using -lpf: New games will be started from the specifoed  positon
1143 until the New Variant dialog is used. The position is 'auto-sizing', i.e.
1144 the FEN is used to set the board geometry as well.
1145
1146 2016-03-22 12:04:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1147 Make startup announcement self-disappearing
1148
1149 The startup message is now configurable through an option -startupMessage,
1150 and the master config file sets this to announce the help clicks.
1151 The message can contain multiple lines. The display of lines that are a
1152 sub-string of the option -messageSuppress is suppressed, however.
1153 Using a help-click sets this latter option to the help-click announcement,
1154 so that people who have used help clicks won't see this message anymoe.
1155 Displaying the startup message is now only considered on board draws
1156 that ordered a full repaint.
1157
1158 2016-03-22 10:36:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1159 Forget piece redefinitions before loading game
1160
1161 The effect of a VariantMen tag in a previous game of the same file
1162 was also applied to later games that did not have such a tag.
1163
1164 2016-03-22 09:41:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1165 Prevent crash on loading empty game file
1166
1167 The parser code is made resistant to loading a file with 0 characters in it.
1168
1169 2016-03-21 23:50:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1170 Silence warning WB
1171
1172 No prototype for SendToICS was in a sufficiently shared header.
1173
1174 2016-03-21 23:44:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1175 Fix replay of multi-leg move
1176
1177 Replaying multi-leg moves made the moving piece reappear on the
1178 from-square during continuation legs in WinBoard.
1179
1180 2016-03-21 23:39:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1181 fix2
1182
1183
1184 2016-03-21 23:37:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1185 fix
1186
1187
1188 2016-03-21 22:30:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1189 Implement 3-leg animation in WinBoard
1190
1191 Move animation in WinBoard now also pays attention to the kill2 square.
1192 Besides a bug was fixed that made the animated piece re-appear on the
1193 from-square during the second leg, and the victimes are made to disappear
1194 when the animated piece passes over them.
1195
1196 2016-03-21 21:51:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1197 Move dataDir definition to args.h so WB can also use it
1198
1199
1200 2016-03-21 20:24:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1201 Fix exposure of square highlights
1202
1203 The exposure of highlighted squares assumed the line gap was 1 pixel,
1204 and thus failed for wider grid lines.
1205
1206 2016-03-21 13:16:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1207 Fix built-in Lion move
1208
1209 The 3-leg patch had uncovered a latent bug in the built-in move generation
1210 for Lions/Falcons/Eagles, which would qualify moves as FirstLeg even when
1211 the kill-square was already set.
1212
1213 2016-03-21 12:25:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1214 Repair flashing of moved piece (XB)
1215
1216 The flashing was not working (at least in GTK), because the redraw of
1217 the square needed even processing to show something. So the draw/erase
1218 loop that does the flashing needs to call DoEvents() to make things
1219 visible. This however could lead to recursive processing of LeftClick,
1220 as the press of a click-click move already enters the move and starts
1221 the flashing, so that the release usually comes before the press
1222 processing has finished. Which would cause it to be interpreted as
1223 a second move identical to the first. A static flag inside LeftClick
1224 now makes it ignore clicks during flashing, which is just what we had
1225 to do with the release anyway. Flashing should be suppressed during
1226 sweep-selection under-promotion.
1227
1228 2016-03-21 11:33:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1229 Streamline XBoard board drawing
1230
1231 XBoard was drawing in a very inefficient way. To improve efficiency
1232 alteration of highlights will not immediately be exposed, but be
1233 marked as damage so that a subsequent DrawPosition call will show them.
1234 Squares touched by a to-be-erased arrow will be treated likewise.
1235 The drawing now has three passes: repairing damage (which erases
1236 highlights and arrow), emptying the from-square, and drawing new
1237 pieces and highlights.
1238
1239 2016-03-21 11:14:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1240 Improve board drawing
1241
1242 The erasing of target-square markers could lead to flashing of the
1243 moved piece. It was also ugly when the piece was slipped under a marker.
1244 The actual display of the marker change on erasing can now be deferred
1245 to a later position draw, and this is used when erasing after a drag-drop
1246 move to do it after the move was accepted (so the piece would not be
1247 flashed on the from-square, but still displayed without marker on it
1248 after the drop). For click-click the erasure is shown before animation
1249 starts. A problem with showing deselection when target-square marking
1250 was off is now also fixed.
1251
1252 2016-03-17 22:13:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1253 Cleanse help texts of some common TeX escape codes
1254
1255 The TeX escapes \s-1, \s0 around all-capital words, \*(L, \*(R for
1256 distinguishing left/right quoting, a mysterious \& and a \ in general
1257 (e.g. for \- as forced hyphen) occur quite often in the man-page text.
1258 They now no longer clutter the help popups.
1259
1260 2016-03-17 12:04:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1261 Also provide help on adapter options
1262
1263 Adapters often add their own options to thoso of the engine in the
1264 Engine Settings dialog. Polyglot, for instance, has many options,
1265 their names all starting with "Polyglot ...". We adopt this as a
1266 convention, so that XBoard can compare the adapter name (the name
1267 of the program actually run, if that is different from the name
1268 of the engine binary) with the start of the option name for which
1269 help is requested. If there is a match it will conclude we are dealing
1270 with an adapter option, and will consult the adapter manual (for an
1271 option without the adapter-name prefix) instead of the engine manual.
1272
1273 2016-03-17 11:32:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1274 Also buffer engine man page
1275
1276 The path to the engine man file, and possibly its unzipped text, are now
1277 also buffered, together with the name of the engine they are for, so that
1278 they can be re-used when the engine has not changed.
1279
1280 2016-03-17 00:01:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1281 Also recognize .IX lines in man file for help clicks
1282
1283 Beside .B and .SS directives, which tend to mark item headers in the
1284 XBoard manual page, ".IX item" lines are now also recognized.
1285 Such lines are produced by pod2man for =item directives in the .pod file.
1286
1287 2016-03-16 14:40:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1288 Implement XBetza iso modifier
1289
1290 An 'i' modifier on a continuation leg will force it to be of equal length
1291 (measured in steps) as the latest sliding leg (i.e. of maximum length != 1)
1292 before it. This is useful for defining rifle captures of sliding pieces.
1293 On initial legs it still means the move is for virgin pieces only.
1294
1295 2016-03-15 15:15:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1296 Allow access to gzipped man files
1297
1298 For *.gz man files we run gunzip to buffer the unzipped version in
1299 memory. For engines this buffer is not saved, because the engine might
1300 change. (A bit course...)
1301
1302 2016-03-15 12:36:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1303 Fix reading of long man files
1304
1305 The low-level read call to read from the spawned process did not
1306 always return as many characters as we asked for, so we now use fread.
1307
1308 2016-03-15 11:29:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1309 Obtain name of XBoard's man file from external command
1310
1311 Rather than hard-coding the path to the man file, it is now obtained
1312 by running "man -w xboard".
1313
1314 2016-03-15 11:08:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1315 Add routine to run daughter process and collect its output
1316
1317 The routine BufferOutputCommand can run an arbitrary command in a
1318 separate process, and collects its output in a buffer of the requested
1319 size. It will kill the process when it doesn't terminate spontaneously,
1320 and return the allocated buffer.
1321
1322 2016-03-22 20:56:08 -0400 Joshua Pettus <jshpettus@gmail.com>:
1323 Update es.po translation
1324
1325
1326 2016-03-19 00:03:20 -0400 Joshua Pettus <jshpettus@gmail.com>:
1327 Mark the gtk browse button for translation
1328
1329
1330 2016-03-18 16:45:16 -0400 Joshua Pettus <jshpettus@gmail.com>:
1331 Update nl.po translation
1332
1333
1334 2016-03-16 20:58:07 -0400 Joshua Pettus <jshpettus@gmail.com>:
1335 Update fr.po translation
1336
1337
1338 2016-03-16 20:56:42 -0400 Joshua Pettus <jshpettus@gmail.com>:
1339 Update de.po translation
1340
1341
1342 2016-03-15 23:00:17 -0400 Joshua Pettus <jshpettus@gmail.com>:
1343 Update zh_CN.po translation
1344
1345
1346 2016-03-15 22:54:36 -0400 Joshua Pettus <jshpettus@gmail.com>:
1347 Update uk.po translation
1348
1349
1350 2016-03-14 19:36:44 -0700 Arun Persaud <arun@nubati.net>:
1351 configure.ac: add pangocairo to list of needed libraries
1352
1353
1354 2016-03-14 15:18:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1355 Display message on the board at startup
1356
1357 Drawing the board in the first second of running will display a short
1358 message on top of it, to alert the user to the help-click possibility.
1359
1360 2016-03-14 15:07:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1361 Fix expansion of ~~ in OSX App
1362
1363 The ~~ expansion was still using the configured DATADIR rather than
1364 the dynamic one.
1365
1366 2016-03-14 13:59:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1367 Print dynamic Datadir/Mandir on --show-config
1368
1369 Instead of printing the directories from the congigure process,
1370 we print those actually in force, so that the info is valid in the
1371 OSX App (which changes it) too.
1372
1373 2016-03-13 23:25:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1374 Use dataDir/manDir variables always
1375
1376 The DATADIR and MANDIR string constants obtained from the configure
1377 process are now stored in variables, which are then used everywhere
1378 instead of them. The OSX App overwrites these variables, so the
1379 directory location can be made dynamic.
1380
1381 2016-03-13 10:34:08 -0700 Arun Persaud <arun@nubati.net>:
1382 new developer release; updated po/pot
1383
1384
1385 2016-03-13 10:51:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1386 Uncomment line commentized for debugging purposes
1387
1388 The call attaching help clicks to Label Options was still commented out.
1389
1390 2016-03-13 09:21:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1391 Fix popdown of Error/Help dialog through window-close button
1392
1393 Closing an Error popup that was a daughter of another dialog (as Help
1394 dialogs would often be) through the window-close button instead of 'OK'
1395 would permanently block popdown of the parent dialog, because the info
1396 that the Error dialog was still up would not have been reset by the Error
1397 dialog's OK function. GenericPopDown now calls the OK function of such
1398 a dialog (actually FatalDlg) even on a REJECT response.
1399
1400 2016-03-12 23:32:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1401 Make help clicks resistent to NULL-pointer Label names
1402
1403 This should be needed, but just in case...
1404
1405 2016-03-12 23:30:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1406 Silence two warnings
1407
1408
1409 2016-03-12 16:51:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1410 Make help clicks also work for UCI engines
1411
1412 The help clicks were using the engine command to find the manual,
1413 but this would not work for engines with parameters or using adapters.
1414 Now it used the -fcp/scp arguments, and tidies these to stripp off
1415 directory path and arguments. (cps->tidy could not be used, because
1416 it is overwritten by the name reported by the engine itself, which
1417 usually contains version numbers not in the manual name.)
1418
1419 2016-03-12 16:41:38 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1420 Make location of man file dynamic for OSX
1421
1422 MANDIR is redefined in the case of an OSX App to be a variable, in a
1423 similar way as DATADIR, so it can be determined at startup, and the App
1424 can be 'portable'. The way to concatenate it with the rest of the file
1425 name hd to be made variable-proof.
1426
1427 2016-03-12 14:33:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1428 Suppress empty label at top of Edit Tags dialog
1429
1430 There is a Label Option above the text memo of the Edit Tags dialog
1431 that can display a message, but it is only used in cmail mode, and
1432 is passed as a NULL pointer otherwise. (On which GenericPopup then
1433 crashed when it wanted to attach a help click.) Now we simply suppress
1434 display of that widget when there is no message.
1435
1436 2016-03-11 23:43:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1437 Also try to get help for engine options
1438
1439 Help clicks in the Engine Settings dialogs will try to scan the man page
1440 of the corresponding engine for info about the option. This is a bit
1441 tricky, as it must assume the name of the engine is the same as that
1442 of the engine command and the manual for it is in section 6. In addition
1443 it must look in both /usr/share/man and /usr/local/share/man, as it cannot
1444 know whether the engine was installed from source or repo. Finally it
1445 must hope the man page isn't gzipped.
1446
1447 2016-03-11 16:59:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1448 Fix recognition of .SS lines in manual
1449
1450 The logic for recognizing .SS headers was reversed, and .SS lines were
1451 also not tested for to decide whether display should end.
1452
1453 2016-03-11 16:54:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1454 Let configure supply path to manual file
1455
1456 A new macro MANDIR is passed fro the configure process to the compiler
1457 in a -D option to inform XBoard where to find its manual page.
1458
1459 2016-03-11 15:54:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1460 Fix segfault on single-line help text
1461
1462 The help text itself is displayed in the ErrorPopUp as a label,
1463 and allowing help clicks on a label would apparently trigger some
1464 nfinite recursion of event handlers. Making labels in the ErrorDlg
1465 not sensitive to help clicks solved this.
1466
1467 2016-03-11 15:19:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1468 Mention item in title bar of help dialog
1469
1470
1471 2016-03-11 15:02:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1472 Make dialog labels and comboboxes also accept help clicks
1473
1474 Combobaoxes and bare labels had their own code for creating the label,
1475 nd were not yet made sensitive to help clicks. (Which is a bit cumbersome,
1476 as GTK does not allow attaching callbacks to label widgets, so that you
1477 have to wrap them first into something that does.) The bare labels could
1478 furthermore already have a callback specified (used for the clocks);
1479 in this case, and the case of multi-line labels, no help handler is
1480 attached.
1481
1482 2016-03-11 14:25:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1483 Do not save ICS password in command history
1484
1485 Blanking out the password while typing it would have little effect if
1486 the arrow keys could recall is. So we don't save any lines in the
1487 history when echo is off.
1488
1489 2016-03-11 13:46:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1490 Fix file-type combobox of Xaw file-selector dialog
1491
1492 The list of combobox labels got out of phase with the list of values
1493 after 'Images', because the value for the latter was missing.
1494
1495 2016-03-10 16:28:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1496 Allow hyphen in name of help item
1497
1498 Some dialog items have names with hyphens in them, such as 'Auto-save',
1499 and these would all be confusedif the true name was taken to end before
1500 the hyphen.
1501
1502 2016-03-10 13:03:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1503 Suppress echo of password in ICS Chat window (GTK)
1504
1505 The GTK version uses the set_visibility GTK call to switch echoing
1506 of the ICS input widget. In Xaw this is a dummy. EchoOn/Off had to
1507 be moved to dialogs.c for this.
1508
1509 2016-03-10 10:41:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1510 Fix popdown of menus on help click
1511
1512 Because menus by default also react to button3 clicks, using those
1513 clicks for help popup needs to suppress the default action. But this
1514 action was also reponsible for the popdown of the menu, so that it
1515 stayed up, covering the help dialog. Now we do allow the default action,
1516 but flag to the generic menu handler that it should not execute the
1517 menu function.
1518
1519 2016-03-09 23:15:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1520 Implement rough help popup
1521
1522 A routine is added that searches a given text header in the man file,
1523 and then displays the following text until the next header (after
1524 skipping additional headers that come before any text) in a message
1525 box. The text uses a simple fill and wrap to line length > 80, and
1526 ignores all control characters, except empty lines. Both .B and .SS
1527 directives are recognized as headers.
1528
1529 2016-03-09 17:47:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1530 Implement help clicks
1531
1532 A button3 click on the text labels of text-edit, spin, checkbox and
1533 button controls, as well as menu items, now pops up an alert box
1534 with the name of the clicked item. This as a first step to making an
1535 interactive help that would use that name to look up information on the
1536 item in the texi file, and display that.
1537
1538 2016-03-09 10:53:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1539 Logout from ICS after fatal error
1540
1541 Exiting of XBoard after a fatal error such as crashing of the engine
1542 could be delayed by popping up an exit message, which then had to be
1543 confirmed first. This would leave XBoard in zippy mode open for new
1544 challenges, which it would even accept, and lose by forfeit. Now
1545 we send a 'logout' command to the ICS before popping up the exit
1546 message.
1547
1548 2016-03-09 09:44:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1549 Deprecate -defaultPathEGTB option
1550
1551 The value of the -defaultPathEGTB option is now automatically cleared
1552 at startup, after appending it as "nalimov:" format to -egtFormats.
1553 We also no longer preconfigure a (dummy) value for -defaultPathEGTB,
1554 but instead one for -egtFormats, (which will show up in the EGT path
1555 field of the Common Engine Settings dialog now -defaultPathEGTB is
1556 empty) to serve as an example for the syntax of -egtFormats.
1557
1558 2016-03-08 23:26:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1559 Make EOF error conditionally non-fatal (XB)
1560
1561 When the ICS Chat window is open, an EOF fromkeyboard is ignored.
1562
1563 2016-03-08 23:26:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1564 Fix braces problem in texi file
1565
1566
1567 2016-03-08 21:55:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1568 Describe ICS Text Menu in texi file
1569
1570
1571 2016-03-08 20:41:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1572 Fix WinBoard compile errors
1573
1574
1575 2016-03-08 20:36:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1576 Fix dressed-letter IDs in VariantMen PGN Tag
1577
1578 Due to sign extension the ID suffxes would never be printed.
1579
1580 2016-03-08 20:11:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1581 Make texi file sub-section free
1582
1583 Because the sub-sections did not work, all subsections (which occurred
1584 mainly in the Options Menu section, to describe the various menu dialogs)
1585 are now upgraded to sections.
1586
1587 2016-03-08 19:20:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1588 Describe choice command in protocol specs
1589
1590
1591 2016-03-08 19:14:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1592 Improve highlight-arrow pointing and fix its erasure
1593
1594 The code to calculate whether the arrow shoud endnear an edge or corner
1595 of the to-square was buggy, leading to orientation-dependent decisions.
1596 In addition the damage trace wasnot exactly following the arrow, so that
1597 sometimes parts of the arrow were not displayed or erased.
1598
1599 2016-03-08 17:20:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1600 Improve triple-leg-move animation
1601
1602 When both locust squares (kill and kill2) are set, animation now takes
1603 place in three stages. As kill2 is not retreived when stepping through
1604 the game history, this works only for moves just entered or played by
1605 the engine. Replayed moves are still animated in 2 stages, though, which
1606 does look pretty good on 2-out-1-in moves.
1607
1608 2016-03-08 11:51:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1609 Implement triple capture
1610
1611 Moves can now have two locust squares (and promote even when they are
1612 locust captures). This applies to move entry (but only through click-
1613 click; buttonless dragging does not yet work), as well as sending or
1614 receiving from engine, and generating and parsing SAN.
1615
1616 2016-03-07 16:16:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1617 Allow use of context menu in text memos GTK
1618
1619 Attaching a user handler for button3 events to text memos would suppress
1620 the normal context menu, so you could copy/paste in those  only through
1621 the keyboard. Now a button3 event while there is a non-empty selection,
1622 or through a click behind all text, will pop up the normal context menu.
1623
1624 2016-03-07 13:46:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1625 Show moves in Edit Book window as SAN
1626
1627 The opening moves in the GUI book for the current position shown in the
1628 Edit Book window are converted to SAN before showing them, when they have
1629 the simple form fromSqr toSqr promoChar. (This excludes drop moves and
1630 double moves.)
1631
1632 2016-03-07 12:26:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1633 Cleanup Edit Tags/Book/EngineList a bit
1634
1635 The Tags dialog is also used for two other functions, and this hack
1636 causes some problems. This patch ameliorates these a bit. The Edit
1637 Engine List now displays its own title (instead of "Tags"), and popping
1638 it up pops down which other function was in use first. (Unfortunately
1639 this can result in data loss for uncommitted changes.) The name of the
1640 "save changes" button has been changed to "commit changes", to suggest
1641 less strongly that a change in the Engine List would be immediately
1642 saved to file (which in reality requires Save Settings Now as well).
1643
1644 2016-03-07 11:50:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1645 Make OK and Cancel buttons appear in top-level dialogs GTK
1646
1647 The OK and Cancel buttons are created in GTK as part of the
1648 dialog_with_buttons call, but to get top-level windows another call
1649 had to be used, which does not automatically provide them.
1650 We now explicitly add the buttons as requested by the EndMark Option,
1651 paying attention to the SAME_ROW requests. (The code for that is currently
1652 a bit messy, as one suspects that the cumbersome testing on Option.type
1653 was done exactly to make the SAME_ROW request of EndMarks ignored.)
1654 The GTK "clicked" signal is translated to a "response" in a kludgy way,
1655 through a PopDownProxy routine.
1656
1657 2016-03-06 23:52:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1658 Fix spurious clearing of Engine Output during PV walk
1659
1660 Due to messing with forwardMostMove during PV walking the Engine Output
1661 panes couldbe cleared when a new PV arrived.
1662
1663 2016-03-06 23:45:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1664 Prevent out-of-turn grabbing of piece in analysis mode
1665
1666 In Analyze modeit was possible to grab pieces for dragging of the side
1667 that did not have the move.
1668
1669 2016-03-05 22:59:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1670 Fix parent dialog of Error Popup
1671
1672 If the parent dialog of the Error Popup is wrong, the OK button in it
1673 will not manage to pop it down. Migrating the Tourney Options to their
1674 own DialogClass had changed testing for a parent other than the board
1675 window from TransientDlg to MasterDlg, but Toerney Options was not the
1676 only such dialog throwing up errors. (E.g. New Variant coulddo it too.)
1677 So we now test if MasterDlg or TransientDlg is up, and use those as
1678 parent if they are.
1679
1680 2016-03-05 22:42:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1681 Beef up variant detection in New Variant dialog WB
1682
1683 In WinBoard the enabling of radio buttons was still done when the
1684 variant nameon the button was a sub-string of the variants feature,
1685 without requiring a match of the full name (so that 'grande-acedrex'
1686 would enable the 'grand' button of Grand Chess).
1687
1688 2016-03-05 22:33:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1689 Fix crash in New Variant dialog Xaw
1690
1691 The earlier patch to beef up variant recognition couldnot handle it
1692 that some buttons has -1 as variant value.
1693
1694 2016-03-05 09:02:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1695 Remove warning from About box against GTK build
1696
1697 It was still mentioned that the GTK build is unstable.
1698
1699 2016-03-03 11:11:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1700 Suppress underscores in Xaw menus
1701
1702 The underscores that indicate shortcut keys in GTK menu items were
1703 showing up in the Xaw menus. Now we remove them when creating the menu
1704 button.
1705
1706 2016-03-03 10:40:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1707 Fix another Xaw compile error
1708
1709 This is what you get when changing code without testing if it at least
1710 compiles...
1711
1712 2016-03-02 23:42:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1713 Silence warning
1714
1715 Conversion to use of strncpy had led to the length of a (char*) being
1716 tested, and atypically we got away with that so far because the copied
1717 string was only 2 characters long. Now we use length limit 4, which also
1718 renders the use of strncpy instead of strcpy useless, but at least
1719 does notproduce a warning.
1720
1721 2016-03-02 23:39:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1722 Fix recognition of title in small layout
1723
1724 The title handle was set based on invalidation of Options by making
1725 their type -1, while this nowadays is done by setting them to Skip
1726 (as enum types are unsigned).
1727
1728 2016-03-02 23:27:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1729 Fix compile error in SetComboChoice Xaw
1730
1731
1732 2016-03-02 15:18:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1733 Fix crash on changing piece directory
1734
1735 The loop for deleting the old pieces in ActivateTheme was still assuming
1736 the four promo-Golds were stored behind the normal set, which for the
1737 new piece ordering isn't the case anymore.
1738
1739 2016-03-02 11:14:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1740 Fix black border around saved diagrams (WB)
1741
1742 The 'Save as Diagram' function of WinBoard produced bitmaps with a black
1743 border, because the buffer bitmap used for drawing the board (which was
1744 flushed to file to create the diagram) had a size larger than the board,
1745 including somemargins of the main window. Now we copy it to a board-sized
1746 bitmap first, and flush that.
1747
1748 2016-03-01 21:09:49 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1749 Preserve flip on pasting game when auto-flipView is off
1750
1751 Normally starting a new game would restore the orientation as given by
1752 the -flipView option on the command line, which might flip the view even
1753 when -autoFlipView is off. A new game started through Paste Game now
1754 always preserves the current orientation when -autoFlipView is off.
1755
1756 2016-03-01 20:39:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1757 Describe engine grouping in texi file
1758
1759 The paragraph on the Edit Engine List menu item now contains a description
1760 of the method for organizing engines in groups by adding "# GROUP" and
1761 "# end" lines.
1762
1763 2016-03-01 10:35:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1764 Add 'divide by 60' checkbox in Time Control dialog XB
1765
1766 The TC could not be set to fractional minutes (base time) or seconds
1767 (increment) in the GTK version, as the spin controls there do not allow
1768 you to type such numbers. An added checkbox 'Divide entered times by 60'
1769 allows you to enter base time in seconds, and increment in 1/60 sec.
1770 The dialog always pops upwith this checkbox unticked.
1771
1772 2016-03-05 16:30:45 -0800 Arun Persaud <arun@nubati.net>:
1773 updated copyright for 2016
1774
1775
1776 2016-03-05 13:03:04 -0800 Arun Persaud <arun@nubati.net>:
1777 fixed configure script: GTK default was enabled even with --with-Xaw
1778
1779
1780 2015-10-26 23:08:31 -0700 Arun Persaud <arun@nubati.net>:
1781 update Russian translation
1782
1783
1784 2016-02-29 22:54:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1785 Print score with same sign in message and engine output
1786
1787 There are two options that affect the score POV (always or analysis only),
1788 but they were only working on the score in the Engine Output window, and
1789 not in the message field of the board window. Now they work for both.
1790
1791 2016-02-29 22:24:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1792 Fix bugs in previous 3 commits
1793
1794 The commits before this were pushed a bit prematurely, inspired by
1795 the wish tosee if I could push from my new laptop.
1796
1797 2016-02-29 14:24:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1798 Add configure-options section to texi file
1799
1800 The options data, saveDate, addMasterOption, installEngine, installTheme
1801 and autoClose are now described in the manual.
1802
1803 2016-02-29 13:15:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1804 Update texi file
1805
1806
1807 2016-02-29 12:53:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1808 Add -installTheme option
1809
1810 A new option of type ArgInstall is added, which will add its argument
1811 to the -themeNames list (under the usual restriction it is not already
1812 in there, and that it was not seen before). By appending such a (time-
1813 stamped) option to the master settings file with -addMasterOption,
1814 newly installed themes can be made to trickle their way into the user's
1815 private settings file. All the theme package has to is call XBoard with
1816 the applicable -addMasterOption "-installTheme ...." arguments in its
1817 install script, and copy any associated files to XBoard's datadir.
1818
1819 2016-02-28 12:01:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1820 Fix disappearance of premoved piece
1821
1822 When a premove was done by dragging, (which for expected recaptures would
1823 be the only way, as click-click moving selects the intended target),
1824 the moved piece would disappear from view. This because the from-square
1825 would not be redrawn (in normal move execution it would remain empty).
1826 This could have been an XBoard-only problem. In any case We now force a
1827 complete redraw of the board, which is not very elegant, but should always
1828 fix it.
1829
1830 2016-02-28 11:34:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1831 Fix bug #43792 (no highlights after rejection of premove)
1832
1833 If the sending of a premove fails to add a move to the game, because
1834 XBoard itself judges the move illegal (which could only be determined
1835 after arrival of the opponent move, not when it was entered), XBoard
1836 now re-applies the move highlights for that opponent move.
1837  This does not solve the problem yet with legality testing off,
1838 when it later turns out the ICS rejects the move.
1839
1840 2016-02-27 21:59:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1841 Fix bug #45599 (inclusion of keysym.h in Xaw)
1842
1843
1844 2016-02-27 20:50:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1845 Fix bug #45773 (needless #inclusion of cairo-xlib.h)
1846
1847 As this header no longer exists this was causing a compilation error.
1848 In the GTK version they are of course never needed, and the draw.c
1849 that is also part of an Xaw build also does not call any function to
1850 draw on an Xaw surface directly.
1851
1852 2016-02-27 20:45:01 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1853 Fix bug #45775 (Infinite loop on nonexistent texture file)
1854
1855
1856 2016-02-27 20:37:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1857 Fix bug #45774 (GTK compile bug with ENABLE_NLS)
1858
1859 The declaration of an XFontSet function was not protected by
1860
1861 2016-02-27 17:06:33 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1862 Move Common Engine dialog to Engine menu (WB)
1863
1864 The item is renamed to "Common Settings", whith shortut 'C'.
1865 The "Edit Engine List" item is also assigned a shortcut ('E').
1866
1867 2016-02-26 23:35:39 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1868 Use mouse wheel for selecting piece in Edit Position mode (XB)
1869
1870 Rather than calling ForwardEvent() and BackwardEvent() directly from the
1871 mouse-wheel handler, we now call a backend routine Wheel(), which gets
1872 the pointer coordinates passed to it (which we must remember during
1873 mouse move events). This then calls the Forward/Backward event, except
1874 in EditPosition mode, where it changes the piece in the square below the
1875 pointer.
1876
1877 2016-02-17 20:55:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1878 Allow promotion choice in engine-defined variants
1879
1880 When variant shatranj, courier or makruk, which normally do not have
1881 promotion choice, are used as parent for an engine-defined variant,
1882 we now invoke the piece-selection routine. This to make these variants
1883 also suitable as parent for variants that do have choice (e.g. to give
1884 them the baring rule, which is unique for Shatranj).
1885
1886 2016-02-17 12:47:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1887 Fix erasing of arrow highlight (XB)
1888
1889 On large board with long-range oblique moves (like in Grande Acedrex)
1890 the head of the arrow was not always erased (and not always drawn either).
1891 This was partly due to the arrow pointing to a corner of the target square
1892 even if the path was nearly orthogonal, while the damage trail is always
1893 assumed to connect the square centers. Having the arrow point more
1894 precisely and widening the damage trail a bit solved the problem.
1895
1896 2016-02-09 10:59:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1897 Allow promotion on two-leg move
1898
1899 After a second-leg of a SAN move the parser now checks for apromotion
1900 suffix, and if any is found this is used by ParseOneMove / LoadGameOneMove
1901 to set the promoChar. In converting to SAN for the parseList the promoChar
1902 is now appended to the second leg, rather than the first, and the Edit Book
1903 window will also show it. The promochar is written behind the kill square
1904 in the moveList, and when sending the move there to the engine it is
1905 appended to the second move of the multi-move pair.
1906
1907 2016-02-09 10:25:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1908 Fix type-in of hit-and-run captures
1909
1910 Processing of the move in ParseOneMove (which basically duplicates
1911 the code of LoadGameOneMove) was not yet adapted to ignore ';' as a
1912 promotion character when it is internally used to append 'kill squares'
1913 where locust capture should take place..
1914
1915 2016-02-09 09:53:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1916 Allow setting of piece nicknames from pieceToChar string
1917
1918 A piece IDs in the pieceToChar string can now be suffixed by "=L",
1919 with L an arbitrary single letter, to define a nickname for the piece.
1920 Such a nickname would make it possible to specify a complex ID like +I'
1921 as promotion choice, and by indicating this in the pieceToChar string
1922 the engine can configure that through the 'setup' command. This facility
1923 is needed to force promotion after capture of a contageous piece in
1924 variants with Shogi promotion, such as Maka Dai Dai Shogi.
1925
1926 2016-02-09 09:31:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1927 Slight speedup of parsing promotion suffix
1928
1929
1930 2016-02-08 13:21:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1931 Fix printing of 'x' in position diagram
1932
1933 The times where 'x' was used as PieceToChar result for an empty square
1934 are long behind us; 'x' now is a valid piece ID.
1935
1936 2016-02-07 22:48:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1937 Improve variant recognition for enabling buttons (XB)
1938
1939 Buttons for variants were enabled when the name of the variant they
1940 selected was a sub-string of waht the engine could play, so that
1941 Grand Chess (variant grand) would be enabled by Fairy-Max' grande-acedrex.
1942 Now we test if the matched sub-string of the engine's variants feature
1943 is immediately followed by a comma (or at the end).
1944
1945 2016-02-06 18:18:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1946 Fix using VariantMen PGN tag for both colors
1947
1948 Black pieces were not recognized as the same as white pieces.
1949
1950 2016-02-06 16:19:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1951 Always assume FEN in variant-fairy PGN game is initial position
1952
1953 As variant fairy is a catch-all without a defined initial position,
1954 the FEN tag n a PGN game for this variant must be considered an initial
1955 position. So we copy over the FEN position to the initial one in this
1956 case. Otherwise castling would always be thought illegal in fairy games
1957 loaded from PGN.
1958
1959 2016-02-06 15:12:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1960 Process VariantMen PGN tag
1961
1962 On loading a PGN game the VariantMen tag is now parsed, and the
1963 move definitions are assigned to the mentioned pieces.
1964 This only works when the pieceToCharTable is defined in advance!
1965
1966 2016-02-06 13:46:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1967 Let VarianMen PGN tag work with dressed letters
1968
1969 The internal 'character' codes > 127 are now printed as letter + suffix.
1970
1971 2016-02-06 10:25:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1972 Remove debug printf
1973
1974
1975 2016-02-06 10:21:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1976 Fix spurious promotion partners
1977
1978 When defining a new promotion pairing through ^L the default partners
1979 of L and +L must be made partnerless, or they would still promote to +L
1980 or demote to L.
1981
1982 2016-02-05 11:26:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1983 Fix printing of piece ID in illegal SAN moves
1984
1985 Illegal SAN moves did not add ' or ! suffixes to the piece ID,
1986 and printed shogi-promoted pieces as a '+' without ID.
1987
1988 2016-02-05 10:06:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
1989 Fix clipping of GTK menu-bar labels for broad boards
1990
1991 The number of characters kept in the menu-bar labels was dependent on
1992 square size, but did not take into account the number of files of the
1993 board. So when there were more than 8 files, the label texts were often
1994 clipped while there was in fact plenty of room to display them fully.
1995 Now the adjustment of square size based on number of board files is done
1996 after the other window parameters have been picked based on the window
1997 width calculated as 8*squareSize. Only the default line gap is then
1998 adapted to the actual square size (consistent with what is done during
1999 user sizing of the board later).
2000
2001 2016-02-04 19:43:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2002 Change the piece order again
2003
2004 The internal piece encoding is now altered such that the uninteresting
2005 ones (promoted Shogi pieces and symmetry partners) are all at the end,
2006 just before King. These now start with the PromoBishop. A slash in the
2007 pieceToChar string skips to this new 'promoted series', so that strings
2008 can be made 'future proof' (for when new pieces are added before it).
2009 The promoted Chu pieces all get new book keys by this, but as it is
2010 unlikely that they occurin opening lines, this was considered acceptable.
2011 The +L, +T in Chu are now represented by Pegasus and Gnu rather than
2012 Knight and Chancellor, but the latter two are defined as fall-backs to
2013 remain compatible with old Chu themes.
2014 The +N, +L, +S replacements in Shogi are now also taken from amongst the
2015 regular pieces, rather than extra images stored beyond King.
2016
2017 2016-02-03 10:24:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2018 Adapt Chu-Shogi pieceToCharTable to new piece order
2019
2020
2021 2016-02-03 09:34:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2022 Fix demoting in Edit Position mode
2023
2024 A click on an already selected demotable piece will now cause demotion,
2025 rather than disappearance of that piece, similar to how clicks on a
2026 selected promotable piece will promote it.
2027
2028 2016-02-03 09:23:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2029 Clear highlights after moving piece in Edit Position
2030
2031 When moving a piece during Edit position the from-square remained
2032 highlighted, but the to square was not highlighted, which would
2033 create the erroneous impression that the (now-empty) from-square
2034 was selected (and ready to obliterate a piece on the next click).
2035 Now this highlight is cleared. This was preferred over also highlighting
2036 the to-square, because this is not really a move in a game.
2037
2038 2016-02-02 19:18:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2039 Fix aborted detour under-promotion XB
2040
2041 When a dragged Pawn was released before the promotion piece was fixed,
2042 this would fake a release on the from-square. But the repair of animation
2043 damage would take place on the to-square derived from the actual mouse
2044 coordinates. When this was different from the from-square, the animation
2045 damage (consisting of removalof the piece) would thus not be repaired
2046 by redrawing that square, as normally (when the to-square is different)
2047 it should remain empty. Now we mark the from-square as damaged when the
2048 detour under-promotion changes the dragged piece.
2049
2050 2016-02-02 17:34:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2051 Fix default piece in Shogi promotions
2052
2053 In Shogi the default should be promotion, but it was using Queen like
2054 the other variants. As the +/= issue was decided based on comparing this
2055 default promotion piece with the moved piece, the Lance (which internally
2056 is represented by Queen) would by default defer. Now the up-click of
2057 a drag-drop move (which would bypass sweep selection) sets the default
2058 choice to the promoted partner if the pieceToCharTable specifies one.
2059
2060 2016-02-02 17:31:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2061 Fix sweep promotions to Tokin
2062
2063 Sweep promotions of multiple pieces to Tokin were not working, because
2064 once the promoted version was shown it would always demote to Pawn.
2065 Now the toggle always demotes to the selected piece.
2066
2067 2016-02-02 13:10:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2068 Fix setting default piece from 'choice' command
2069
2070 PieceToCharwas used instead of CharToPiece. In addition it is important
2071 to deduce the color from currentMoe rather than forwardMostMove, as
2072 one could be entering a move in the middle of a game (e.g. when editing
2073 or starting a variation).
2074
2075 2016-02-02 12:09:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2076 Fix two compiler warnings
2077
2078
2079 2016-02-02 09:27:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2080 Allow pieces with dressed-letter ID as promotion choice
2081
2082 Testing for the occurrence of a piece in the promotion set specified
2083 through the 'choice' command now takes dressing of the piece IDs into
2084 account.
2085
2086 2016-02-01 21:51:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2087 Fix castling rights
2088
2089 The expansion of the number of piece types to > 64 had broken the
2090 accounting of castling rights, because the code for NoRights is also
2091 a piece code (as it is stored in the board), and had gotten a value
2092 so high that it could no longer be stored as signed char. This is
2093 solved by declaring the initialRights array as unsigned char instead.
2094
2095 2016-02-01 20:45:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2096 Implement engine-requested settings-popup WB
2097
2098
2099 2016-02-01 17:32:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2100 Allow O1 as Betza castling descriptor
2101
2102 The notation On is now also recognized as castling for n=1, but this
2103 uses the same system as non-royal castling ('guarding'), which is
2104 performed as hit-and-run capture of the Rook (or whatever you want to
2105 castle with) while moving to the destination (one square away here).
2106 This to avoid the ambiguity with normal King moves (which for the
2107 guarding always existed).
2108
2109 2016-02-01 00:12:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2110 Allow engine to force popup of its settings dialog
2111
2112 An engine can now force popping up of its settings dialog by sending
2113 'feature done=3' to the GUI. It can clear its option list (e.g. for the
2114 purpose of resending it because of altered settings) by sending
2115 'feature done=0'. Such resending would cause the dialog to be updated
2116 when it was already open, or close it and pop up a new one when the
2117 engine specifies it has to be redesigned by ending the list with
2118 'feature done=2'.
2119
2120 2016-01-31 17:28:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2121 Change pieceToCharTable order of pieces beyond Lion
2122
2123 The positions in the pieceToCharstring no longer correspond to internal
2124 piece type, but are remapped such that more useful symbols reside near
2125 the beginning. The piece types themselves could not be re-ordered,
2126 as this would alter the calculation of the opening-book hash key.
2127
2128 2016-01-31 15:53:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2129 Expand numer of new piece types to 2 x 11
2130
2131 The number of pieces added between basic and promoted series, and between
2132 the latter and King is increased to 11, and they are ordered differently.
2133 The image used for the Chu-Shogi White-Horse piece,which was a duplicat
2134 of the Knight, is now replaced by a winged Knight.
2135
2136 2016-01-30 09:09:03 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2137 Use flexible promotion assignment
2138
2139 The promoted partner now comes from an array, rather than by adding
2140 a constant (11, or 27 in chu) to the base type. The array is initialized
2141 so the first 11 pieces (the old 'base pieces') point to the second 11
2142 (the old 'promoted series'), and the latter point back (so the array
2143 also contains the demotions!). The pieces above 21 (= Lion) point to
2144 themselves.
2145   Parsing of the pieceToChar string now considers ^, - and * prefixes
2146 rather than independent IDs. Nevertheless it is the - and ^ that get
2147 stored in the pieceToCharTable (the latter as '+') for the corresponding
2148 piece. But the ID that follows them specifies what other piece they are
2149 the demoted or promoted partner of, rather than their own ID, and is
2150 thus used to update the promoPartner array for both of them.
2151   A * prefix does mean the following ID is the ID assigned to the piece,
2152 but that the piece promotes to Tokin (if the latter is assigned a '+').
2153   The default pieceToChar string for varaint chu is adapted to use this
2154 new assignment mechanism of promotion partner. (Chu is so far the only
2155 variant that needed other pairing than the default.)
2156
2157 2016-01-29 23:15:28 -0500 Joshua Pettus <jshpettus@gmail.com>:
2158 Bit more accelerator stuff
2159
2160 Bit of code didn't do what I wanted it to and took away to many 'alt'
2161 flags
2162
2163 2016-01-29 22:01:25 -0500 Joshua Pettus <jshpettus@gmail.com>:
2164 oops, accidentally added a .orig file from a patch
2165
2166
2167 2016-01-29 21:32:58 -0500 Joshua Pettus <jshpettus@gmail.com>:
2168 Change accelerators again to be more mac like
2169
2170 After playing around with the beta quite a bit, it really bothered me
2171 to have half be â€˜cmd’ and half be â€˜ctrl’, to the point where it almost
2172 made me want to do away with â€˜cmd’ altogether  (really non-standard on
2173 OSX). This way is a little smarter and only changes the conflicting
2174 accelerators to alt-cmd which while being a little more mac standard,
2175 as well as be acceptable ascetically when combined with other
2176 accelerators that are just cmd.
2177
2178 2016-01-29 17:41:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2179 Let PROMOTED and DEMOTED macros use argument
2180
2181 These macros were expanding to offsets added to what followed them.
2182 Now the thing that followed them is passed to them as an argument.
2183 This will allow them to expand the prmomotion or demotion to a table
2184 lookup, rather than just an addition. Where PROMOTED appeared in a case
2185 label, though, it was just a readability enhancement for the fixed
2186 assignment, and a new macro PROMO equal to the old PROMOTED is introduced
2187 for that.
2188
2189 2016-01-29 10:32:02 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2190 Fix Chu promotion with added pieces
2191
2192 There were still some hard-coded 22s in the code, which no longer described
2193 the difference between Pawn and Tokin and the number of promotable pieces,
2194 now that new pieces have been added.
2195
2196 2016-01-28 17:58:00 -0500 Joshua Pettus <jshpettus@gmail.com>:
2197 Remove added pango modules to coincide with macports package
2198
2199 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.
2200
2201 2016-01-28 17:55:56 -0500 Joshua Pettus <jshpettus@gmail.com>:
2202 H.G.Muller's patch to avoid collisions with built-in OSX text  edit accellerators
2203
2204 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.
2205
2206 2016-01-28 17:52:27 -0500 Joshua Pettus <jshpettus@gmail.com>:
2207 H.G.Muller's patch to fix argument related spurious instances
2208
2209 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.
2210
2211 2016-01-28 17:50:36 -0500 Joshua Pettus <jshpettus@gmail.com>:
2212 Check for gettext before installing localization files
2213
2214 Probably a good idea to check if gettext is enabled before attempting to install localization files.
2215
2216 2016-01-28 17:48:04 -0500 Joshua Pettus <jshpettus@gmail.com>:
2217 back to the old header names for gtkosxapplication.h
2218
2219 They seemed to have gone back for compatibility’s sake, hopefully they don't change it again
2220
2221 2016-01-28 17:43:04 -0500 Joshua Pettus <jshpettus@gmail.com>:
2222 Fix for launching on case-sensitive systems
2223
2224 Forgot to take case-sensitive journaled systems into account…
2225
2226 2016-01-28 17:55:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2227 Make move to own piece a swap rather than capture
2228
2229 This is useful for Tamerlane Chess, where you can one time during the
2230 game have your King swap places with a friendly piece.
2231
2232 2016-01-28 17:32:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2233 Implement 'choice' engine->GUI command
2234
2235 A new CECP command is implemented: With 'choice XYZ' in reply to a
2236 'lift' or 'put' command an engine can redefine the promotion choice
2237 of the promotion move that emitted these to X, Y or Z. (Always capitals!)
2238 For now only affects sweep & detour promotions, not the promotion
2239 popup.
2240
2241 2016-01-28 14:08:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2242 Let target-square highlighting prevail over legality test
2243
2244 For engine-defined variants the highlight command is accepted even
2245 with legality testing on. If an engine explicitly marks a square as a
2246 legal destination for the picked-up piece, XBoard now always accepts
2247 the move, even when according to its own move generation, even when based
2248 on the engine's supplied 'piece' commands, going there would be illegal,
2249 and legality testing is on.
2250
2251 2016-01-28 12:32:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2252 Add support for Multi-PV Margin
2253
2254 An engine option with a name containing multi, PV and margin is now
2255 recognized, and will lead to printing of a multi-PV header (during
2256 analysis in the Engine Output pane) even in absence of a MultiPV option.
2257 Right-clicking the part of that header between 'fewer' and 'more'
2258 allows tuning of the option value through horizontal mouse moving.
2259 During this tuning the value is displayed in the message field of the
2260 main window. When there is no MultiPV option to specify the number of
2261 PVs, the margin value will be displayed in the header instead of the
2262 number of PVs.
2263
2264 2016-01-28 09:51:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2265 Fix highlighting in text memos (GTK)
2266
2267 The yellow highlighting as used in Engine Output to indicate the
2268 walked PV, or in Move History to show the current move, was only
2269 working the first time that text would be highlighted. Apparently
2270 to unhighlight it the yellow tag had to be removed, rather than a
2271 white tag applied.
2272
2273 2016-01-27 20:14:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2274 Fix pasting of moves after starting from position file
2275
2276 When starting from a position file boards[0] would be set to the position,
2277 but initialPosition was not. In LoadGame() initialPosition would then be
2278 copied to boards[0] before loading the game, and without FEN or variant
2279 PGN tag would not be corrected.
2280
2281 2016-01-27 16:49:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2282 Move Common Engine menu item to Engine menu
2283
2284 The new name of this menu item is 'Common Settings'.
2285
2286 2016-01-27 16:03:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2287 Fix double-clicks for copying in Edit Position mode
2288
2289 The time measurement between clicks on the same square in Edit Position
2290 mode was seeing presses as well as releases, so that a fast click would
2291 be mistaken for a double click on that square. Only presses should be
2292 judged this way. In addition the piece should be grabbed for dragging
2293 again on the second press, as the first release had ended the drag.
2294
2295 2016-01-27 11:22:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2296 Fix book probing
2297
2298 The Zobrist key for Kings had been inadvertantly changed in the patch that
2299 assigned new keys to the pieces added for Chu Shogi (the 'chu-promoted
2300 series'), because the King would be considered as a chu-promoted piece.
2301
2302 2016-01-20 21:30:51 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2303 Fix crash on pasting garbage FEN
2304
2305 The auto-size patch had made XBoard crash-prone on pasting pure garbage
2306 with Paste Position, because this would set the number of files or ranks
2307 to values <= 0. Which would cause a floating pont exception during
2308 drawing of the board in XBoard.
2309
2310 2016-01-20 20:37:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2311 Prevent changing time control during game (XB)
2312
2313 An attempt to pop up the Time Control Options dialog during a game
2314 will now be met with an Error popup to say it cannot be done, like
2315 in WinBoard. Before it would reset the game.
2316
2317 2016-01-20 20:31:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2318 Fix Error popup in Tournament Options
2319
2320 Since Tournament Options has been assigned its own DialogClass (MasterDlg)
2321 instead of being one of the TransientDlg, the Error popup should really
2322 test if MasterDlg is already up, to know if its parent window is th
2323 main window or not.
2324
2325 2016-01-15 22:30:08 -0500 Joshua Pettus <jshpettus@gmail.com>:
2326 Update xboard.conf with renamed xq board textures
2327
2328
2329 2016-01-15 14:12:23 -0500 Joshua Pettus <jshpettus@gmail.com>:
2330 Update makefile.am for renamed xq board images
2331
2332
2333 2016-01-15 13:19:22 -0500 Joshua Pettus <jshpettus@gmail.com>:
2334 Change name of xq board images to fit with handling code
2335
2336
2337 2016-01-14 19:16:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2338 Use ii in Betza notation for 3rd-rank Pawn push
2339
2340 The 'i' modifier specifies the move is only for virgin pieces. We now
2341 use 'ii' to indicate a move that can be made when the piece is standing
2342 on the square in front of that were such a piece starts in the initial
2343 setup. This is intended for Pawns that can still be pushed extra far
2344 after they have made a first single step, such as in Wildebeest Chess,
2345 where pawns on 2nd rank can move 1, 2 or 3 squares ahead, and on 3rd rank
2346 can still move 1 or 2 (fmWifmW3iifmW2).
2347
2348 2016-01-14 16:49:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2349 Fix spurious undo at game start
2350
2351 For ping-supporting engines the logic in handling unexpected moves
2352 is completely changed. Such moves can occur when an engine think is
2353 interrupted by a 'force' command, which in many engines is only
2354 processed after the think completes naturally with a move, and could
2355 cross such a move anyway in engines that would abort the search promptly.
2356 If the 'force' is the result of the user switching to EditGame mode,
2357 such a move should be undone, if it occurs at game end or start,
2358 the moves can be ignored, as the following 'new' will erase all memory
2359 of them. So in EditGameEvent, if the engine was thinking, a flag is set
2360 to indicate its upcoming move should be undone, and ping is sent after
2361 'force'. The 'pong' response would arrive after the move (if any), and
2362 clears the flag. In all other cases of ping imbalance, incoming moves
2363 are ignored.
2364  While waiting for a pong after EditGameEvent the user interface is
2365 frozen, and a message is displayed to keep the user quiet.
2366
2367 2016-01-14 14:36:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2368 Send ping in EditGameEvent
2369
2370 An EditGameEvent can interrupt tinking of an engine, and the engine
2371 might or might not send back a move as a result of that thinking.
2372 To solve this, a "force" command sent to an engine playing white or
2373 black will now be followed by a "ping". (If supported, of course.)
2374
2375 2016-01-13 22:23:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2376 Fix variant recognition in ICS mode
2377
2378 The patch that made recognizing variant names of the 'exotic variants'
2379 (i.e. those beyond Shogi) more strict, by requiring an exact match,
2380 had broken variant recognition on the Variant ICS. In that case it
2381 has to act on strings like "ICS unrated xiangqi game", and this now
2382 defaulted to variant normal. The requirement that the variant name
2383 should be the first word of the string is now dropped in ICS mode.
2384
2385 2016-01-13 20:35:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2386 Let FENs handle Betza initial rights in castlingless variants
2387
2388 When a variant has no castling, or is redefined to have no castling
2389 through a 'piece' command for the King, the FEN castling field of a
2390 written FEN will now contain the file ID of all pieces with initial
2391 ('i') moves in their Betza definition. On reading the virginity of
2392 pieces not thus mentioned in the castling field will get their
2393 virginity revoked.
2394
2395 2016-01-13 16:07:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2396 Fix setting of initial virginity on PGN read
2397
2398 The back-rank virginity bitmaps were not cleared in ParseFEN.
2399
2400 2016-01-12 14:48:57 -0500 Joshua Pettus <jshpettus@gmail.com>:
2401 Update zh_CN.po translation
2402
2403
2404 2016-01-12 00:01:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2405 Increas number of engine-defined variants to 15 (WB)
2406
2407 The number of engine-defined variants that can be selected in WinBoard's
2408 New Variant dialog is increased from 9 to 15 by adding some radio buttons.
2409
2410 2016-01-11 22:58:50 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2411 Fix parsing of OO castling when redefined
2412
2413 A 'piece' command can redefine the castling stride of a King,
2414 and OO castling for non-Fischer castling is internally encoded as the
2415 King step, and thus has to know this.
2416
2417 2016-01-11 22:44:04 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2418 Fix writing FEN castling rights for non-edge 'Rooks'
2419
2420 Non-Fischer castling rights were only recognized on FEN writing when
2421 the castling partner was in the corner. Now it can be anywhere on the
2422 correct side of the King.
2423
2424 2016-01-11 21:05:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2425 Fix reading FEN FRC castling rights when King not on last rank
2426
2427 There was still a hard-coded rank 0 / BOARD_HEIGHT-1 there.
2428
2429 2016-01-11 20:21:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2430 Fix Makefile for Dragon and minor Lion image
2431
2432 These new pieces were not mentioned in the list of SVG data.
2433
2434 2016-01-11 20:13:41 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2435 Add Wolf, Camel and Zebra bitmaps to WB
2436
2437 Built-in images for some of the new pieces are added for WinBoard.
2438 These are Wolf, Camel and Zebra, but also the duplicat Lion is defined.
2439
2440 2016-01-11 16:03:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2441 Fix white Iron General image
2442
2443 The white background of this image was not entirely filled.
2444
2445 2016-01-11 16:01:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2446 Flip Unicorn image
2447
2448 There are now too many Knight-like piece images, that are too similar.
2449 So the Unicorn from now on will look to the right.
2450
2451 2016-01-11 11:39:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2452 Add white Zebra piece image
2453
2454 This image had not made it into git with the other new pieces.
2455
2456 2016-01-11 11:35:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2457 Correct backup pieces for addition of minor Lion
2458
2459 The added piece type was not put in the list of backup pieces, so that
2460 the pieces beyond it got out of phase, and no backup for the Prince
2461 would be found, leading to an error popup about missing default pieces.
2462 The error message on this has now been improved to mention the piece
2463 casing the trouble.
2464
2465 2016-01-10 23:54:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2466 Never castle when King has other initial moves
2467
2468 The ApplyMove routine assumed that any lateral King step of more than
2469 a single square was a castling, and then swung the nearest piece in
2470 that direction around the King. This failed in Grande Acedrex, where
2471 the King can (amongst others) jump 2 squares sideways as an initial move.
2472 So we now first check if the King has its moves redefined in a way that
2473 does specify no castling but does specify other initial moves, and perform
2474 any move as just a simple King move in that case.
2475
2476 2016-01-07 23:32:47 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2477 Fix edit command for double-digit ranks
2478
2479 Rank numbers above 9 were printed as their internal 1-character
2480 representation.
2481
2482 2016-01-06 20:12:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2483 Add duplicat of Lion (and Flying Dragon)
2484
2485 Two more piece types are added: a duplicat of the Lion in the unpromoted
2486 series, and a Flying Dragon as its promoted counterpart. This Lion does
2487 not suffer from the Lion-trading restriction of Chu Shogi, and can be used
2488 as a general piece. Its pictogram is somewhat smaller than that of the
2489 Chu Shogi Lion.
2490
2491 2016-01-03 14:09:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2492 Fix typos in winboard.c
2493
2494
2495 2016-01-03 12:38:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2496 Let parsing of O-O castlings pay attention to castling rank
2497
2498 The parser assumed O-O and O-O-O castlings would always take place
2499 on the back rank, even when the newly introduced castlingRank array
2500 specified differently.
2501
2502 2016-01-03 12:22:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2503 Fix FEN castling rank for Knightmate
2504
2505 The newly introduced castlingRank array was not correctly set on reading
2506 a FEN for Knightmate, because it was looking for Kings rather than
2507 Unicorns.
2508
2509 2016-01-02 19:53:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2510 Replace Flying Dragon piece image by Gnu
2511
2512 How could we not think of this before!
2513
2514 2015-12-29 23:37:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2515 Also define Lance image for Amazon in WB
2516
2517
2518 2015-12-29 23:33:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2519 Use hoplit helmet for Copper General in Chu Shogi
2520
2521
2522 2015-12-29 22:46:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2523 Skip in pieceToChar to Tokin always
2524
2525 The piece after the skip symbol '/' in the pieceToCharTable was
2526 defined as CHUPROMOTED Pawn, which only is a Tokin in variant chu,
2527 but a Cannon in other variants. The intension was to always skip
2528 to Tokin, though.
2529
2530 2015-12-29 22:20:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2531 Assign new images to the new pieces
2532
2533 The 5 new pieces behind Lion, and their chu-promoted versions,
2534 are assigned the 9 new images. The 10th piece gets the Lance image,
2535 to povide a duplicate for this that will not be considered a Pawn
2536 in any variant (so it can be used for Amazon).
2537
2538 2015-12-29 22:13:03 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2539 Add 2x9 new piece images
2540
2541 Wolf, Camel, Zebra, Dragon, Wizard, Viking, Iron, Copper and Tower
2542 images are added.
2543
2544 2015-12-29 20:43:39 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2545 Fix parsing of pieceToChar strings
2546
2547 The skipping to the chu-promoted series was not working. The character
2548 that triggers the skipping has been changed from : to /, because : is
2549 a narrow character potentially useful as ID suffix.
2550
2551 2015-12-29 18:02:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2552 Fix color of white SVG pieces
2553
2554 The newer SVG pieces were bright white, rather than the ivory default color.
2555
2556 2015-12-19 11:10:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2557 Fix piece command after ID-suffix patch
2558
2559 Piece IDs without suffix or & behind them to make them count for both
2560 colors were no longer recognized in 'piece' commands, because there
2561 was a null character behind the extracted piece-name field. And this
2562 null character was seen as occurring in the suffix string.
2563
2564 2015-12-17 12:44:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2565 Fix bare-king adjudication in Atomic
2566
2567 In Atomic a bare King cannot win, but it can already have won, when
2568 the last piece of that side captured or destroyed the opponent King
2569 when exploding. The win-to-draw correction now recognizes this
2570 situation, so that the win is uphold there.
2571
2572 2015-12-02 12:53:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2573 Erase old logo before drawing new one (XB)
2574
2575 In case of an invalid or absent logo, the previous logo kept being
2576 displayed. Now the area is painted grai first.
2577  Also fixes a bug in the expose area.
2578
2579 2015-11-27 21:01:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2580 Allow debug output to go to child process (WB)
2581
2582 A -debugfile name starting with tree slashes will not be interpreted
2583 as a file to write on, but (after stripping the slashes) as an executable
2584 to run, and send the output to. This could be used by an external
2585 broadcasting agaent.
2586
2587 2015-11-27 17:55:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2588 Fix DarkSquare bug in piece counting
2589
2590 When counting pieces for adjudication purposes, a DarkSquare on the
2591 board caused an out-of-bounds access to the counter array.
2592
2593 2015-11-26 22:12:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2594 Fix piece commands for suffixed piece IDs
2595
2596 Due to signed-/unsigned-char problems piece IDs suffixed with ' or !
2597 would not be recognized. In addition a & behind it would not be correctly
2598 recognized diue to the alignment problem the suffix character caused.
2599 Both issues are fixed now.
2600
2601 2015-11-25 19:26:54 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2602 Allow skipping over black squares
2603
2604 'Skip pieces', defined with a 'j' prefix on a slider(asopposedto rider),
2605 which skip the first square(s)of their path irrespective of occupation
2606 should also be able to skip over holes in the board.
2607
2608 2015-11-24 20:10:27 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2609 Display new user logo when username is entered
2610
2611 When the Edit->Enter Username type-in was used, a new user logo was
2612 loaded, but not immediately displayed. While the old user logo could
2613 already be up, during a man-machine game. Now it is also immediately
2614 displayed.
2615
2616 2015-11-24 20:00:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2617 Try to load bitmaps for all pieces (WB)
2618
2619 WinBoard only contains build-in bitmaps for the first 22 piece types,
2620 and also only associated filenames with those that can be used to
2621 provide external images. Now a new naming convention for piece images
2622 is introduced, like piece22_49s.bmp for a 49x49 bitmap for solid piece 22.
2623 All pieces that were not loaded according to the old convention now
2624 try to find images with this naming convention if a -pieceImageDirectory
2625 is defined.
2626
2627 2015-10-20 17:30:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2628 Fix sortng of mate scores
2629
2630 With the new convention for mate scores (100000+DTM), lower numbers
2631 represent faster mates and thus better scores, and the sorting of PVs
2632 in the Engine Output window now takes that into account.
2633
2634 2015-10-20 17:22:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2635 Print mate scores as #N in message field
2636
2637
2638 2015-10-20 15:05:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2639 Start implementing EPD test suites
2640
2641 An option -epd is added that can be used in combination with matchMode
2642 to let XBoard do a test suite on a file of EPDs with a "bm" qualifier.
2643 It would record the time to solution. Reporting still has to be implemented;
2644 as yet unsolved problem is that currently black-to-move EPDs would
2645 be presented to the second engine.
2646
2647 2015-10-20 14:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2648 Slip in 10 more piece types
2649
2650 Five new piece type without a defined image are added to increase the
2651 length to the unpromoted series from 11 to 16. They all map behind
2652 the Lion, which remains the 11th piece. Five promoted types are added
2653 as well, just before King. No images are defined for these pieces (yet),
2654 not even image-file names, so they can only be used with the 'Tile'
2655 fallback and a user-defined inscription.
2656
2657 2015-10-19 18:50:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2658 Fix grayout
2659
2660
2661 2015-10-16 14:40:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2662 Fix exclusion header fix
2663
2664
2665 2015-10-15 23:41:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2666 Grayout Machine Match menu when aborting match
2667
2668 Clicking the Machine Match menu item when a match or tourney is in
2669 progress will make XBoard drop out of match mode when the game finishes.
2670 The check mark will remain on the item until that moment. But now we
2671 gray out the item to show that the match is scheduled for termination.
2672
2673 2015-10-15 20:57:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2674 Base tinyLayout decision on total board width
2675
2676 The decision whether to include system menu and use one-letter main menus
2677 is now taken based on the total board width, rather than the square size,
2678 to account for boards that do have other than 8 files.
2679
2680 2015-10-15 20:45:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2681 Use intermediate width menu bar in sizes 37 & 40 (WB)
2682
2683 Due to the increased number of main menus the menu bar wrapped to two lines
2684 in sizes slim and small (which did not use the single-letter 'tinyLayout'
2685 menu texts). An intermediate menu-bar format with 3-letter texts is now
2686 provided as well.
2687
2688 2015-10-15 17:25:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2689 Display exclusion header only for engines supporting exclusion
2690
2691 The display of the exclusion header in the Engine Output window is made
2692 dependent on the engine having emitted feature exclude=1 at startup.
2693
2694 2015-09-19 19:35:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2695 Fix periodic updates GTK
2696
2697 Only the first periodic update event would occur, because the clock function
2698 did not retun True to encourage timer events to keep coming.
2699
2700 2015-08-11 09:38:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2701 Make -inscriptions a volatile option
2702
2703 Saving unicodein the settings file does not work, and leads to an
2704 octal escape sequence for non-ascii characters, which is not correctly
2705 read back. For now saving thus is avoided.
2706
2707 2015-08-07 18:45:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2708 Make inscriptions somewhat smaller and non-bold
2709
2710
2711 2015-08-06 23:49:02 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2712 Fall back on Tile SVG in pieceImageDirectory
2713
2714 If a -pieceImageDirectory is given, but a needed piece is not found,
2715 and -inscriptions are specified, we first fall back on a general
2716 image White/BlackTile.svg. This can then serve as a background for the
2717 various inscription glyphs, using the latter to distinguish the pieces.
2718 E.g. the Tile image could be a shogi tile, and the inscriptions an utf8
2719 string of kanji, to create Shogi pieces on the fly.
2720
2721 2015-08-06 19:41:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2722 Take account of glyph size when positioning inscriptions
2723
2724 We calculate the position of the inscription from its pango extents.
2725
2726 2015-08-06 19:14:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2727 Also write inscription on dragged piece
2728
2729
2730 2015-08-06 19:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2731 Use pango to draw inscriptions
2732
2733 The cairo 'toy fort' interface apparently cannot handle kanji. So we
2734 switch to renderingthe the inscriptions via pango.
2735
2736 2015-08-05 22:40:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2737 Let color of inscription depend on piece ID
2738
2739 Only shogi-promoted piece types (with ID defined as +) will get their
2740 inscription rendered in red.
2741
2742 2015-08-05 20:37:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2743 Render inscriptions upside-down for black pieces (XB)
2744
2745 The -inscriptions option is intended to supply the kanji on images of
2746 blank Shogi tiles, and thus have to be flipped for the pieces that play
2747 downward. Depending on the -flipBlack setting and -flipView this can be
2748 either white or black.
2749
2750 2015-08-03 21:59:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2751 Prevent printing in non-existing Chat dialog (XB)
2752
2753 The Xaw build of XBoard crashed in -ics -zp mode when the opponent was
2754 kibitzing. According to a stack trace OutputChatMessage() tried to change
2755 the color of a non-existent button. Although it was not clear how printing
2756 there could be attempted if no chats were defined, the routine now is made
2757 a no-op when the Chat dialog does not exist, by an immediate return.
2758
2759 2015-08-03 21:07:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2760 Ignore Continue Later when match already in progress
2761
2762 We have to prevent the user from changing the tournament file or parameters
2763 for a tourney in progress through pressing 'Continue Later'.
2764
2765 2015-08-03 20:55:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2766 Remember tourney-file changes after Continue Later
2767
2768 After leavingthe Tournament dOptions dialog with Continue Later,
2769 the tournament file would not be set to the entered value, and re-opening
2770 the dialog would keep using the previous value, or a newly generated one.
2771
2772 2015-08-03 20:39:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2773 Correctly remember checkboxes on Continue Later (WB)
2774
2775 The WinBoard tournament dialog could be left in an inconsistent state
2776 on Continue Later, when the user untickedthe checkboxes for auto-stepping
2777 and two games per line, after on an earlier attempt their ticking had
2778 already resulted in settng the line/position index to a negative value.
2779 Negative values left in the numeric entriesare now reset to 0 when the
2780 chackboxes are unticked.
2781
2782 2015-07-24 23:55:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2783 Fix bridge capture of Lions
2784
2785 Clearing the kill square for the check test had broken the test for it
2786 being empty or containing a Pawn. We now also test for Go Between,
2787 which was not done at all.
2788
2789 2015-07-24 23:48:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2790 Fix Shogi promotion popup
2791
2792 With the new promotion defaults Shogi was using the Chess promotion
2793 popup rather than the Shogi (yes/no) one.
2794
2795 2015-07-24 23:47:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2796 Fix disappearance of a1 on double capture
2797
2798 The triple-capture patch did indicate a1 as initial second e.p. victim.
2799
2800 2015-05-16 23:35:46 -0700 Arun Persaud <arun@nubati.net>:
2801 Updated copyright notice to 2015
2802
2803
2804 2015-04-28 11:15:22 -0400 Joshua Pettus <herecomethej@sbcglobal.net>:
2805 make install from macports part 2
2806
2807 Oops, forgot a line..
2808
2809 2015-04-28 10:05:53 -0400 Joshua Pettus <herecomethej@sbcglobal.net>:
2810 Make install from macports more robust
2811
2812 better to search for the macports prefix then assume /opt/local
2813
2814 2015-03-24 16:52:22 -0400 Joshua Pettus <jshpettus@gmail.com>:
2815 Change Copyright year in info.plist.in
2816
2817
2818 2015-03-11 17:42:49 -0400 Joshua Pettus <jshpettus@gmail.com>:
2819 renaming fics logo
2820
2821
2822 2015-03-11 17:38:12 -0400 Joshua Pettus <jshpettus@gmail.com>:
2823 Logo Updates
2824
2825
2826 2015-03-11 17:04:15 -0400 Joshua Pettus <jshpettus@gmail.com>:
2827 moving part2
2828
2829
2830 2015-03-11 16:40:52 -0400 Joshua Pettus <jshpettus@gmail.com>:
2831 A little reorganizing
2832
2833
2834 2015-03-10 16:02:05 -0400 Joshua Pettus <jshpettus@gmail.com>:
2835 Remove unused directory
2836
2837
2838 2015-03-10 15:33:05 -0400 Joshua Pettus <jshpettus@gmail.com>:
2839 GTK OSX theme reimplemented
2840
2841 This is a new theme that was included with the GIMP OSX app.  It is
2842 much simpler with no pixbuffs, so there should be no chance of missing
2843 images.  Also had to reimplement the murrine engine.
2844
2845 2015-03-10 15:19:53 -0400 Joshua Pettus <jshpettus@gmail.com>:
2846 gtkmacintegration localization updates
2847
2848 With the update to the gtkmacintegration library, localization strings
2849 have been fixed, so there is no need for us to have separate ones, and
2850 we can pull from the macports install.
2851
2852 2015-03-10 15:16:10 -0400 Joshua Pettus <jshpettus@gmail.com>:
2853 gtkmacintegration name change
2854
2855 with the last update the gtkmacintegration lib was renamed
2856 gtkmacintegration-gtk2 to differentiate from gtk3
2857
2858 2015-03-10 15:14:09 -0400 Joshua Pettus <jshpettus@gmail.com>:
2859 OSX master conf changes
2860
2861 Make OSX app masterconf more in line with the default one, where it was
2862 unnecessary.  Also it was a mistake to use the ip address for FICS as
2863 they changed it.
2864
2865 2015-03-10 14:27:20 -0400 Joshua Pettus <jshpettus@gmail.com>:
2866 Include Pango Modules
2867
2868 Before I was using a special macports variant that had the pango
2869 modules built into the library.  Now that I know a little bit more,
2870 it’s really not necessary to require a special variant here.
2871
2872 2015-03-10 14:21:36 -0400 Joshua Pettus <jshpettus@gmail.com>:
2873 Man and Info Page Fix
2874
2875 Terminal.app doesn’t accept command line arguments. Rather then use OSX
2876 feature of using .command scripts to launch the man and info pages
2877 (which is problematic with gatekeeper),  it is much better to open them
2878 directly with applescript.   Had to move infoProc to xboard.c to do
2879 this though.
2880
2881 2014-12-20 20:47:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2882 Implement -positionDir option GTK
2883
2884 This volatile option determines where Load Position starts browsing.
2885
2886 2014-11-17 22:51:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2887 Allow promotion choice in variant asean
2888
2889 Apparently the rules of this game are changed since the first draft
2890 from 2011, and now you cannot just promote to Ferz ('Queen'), but pick
2891 any piece. Meaning the Rook has to be the default, being the strongest.
2892
2893 2014-11-11 14:40:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2894 Fix crash on using Browse buttons in Tournament dialog Xaw
2895
2896 The Xaw file browser assumes the text entries it is browsing for are
2897 all in dialogs of the class TransienDlg, but the Tournament Options
2898 dialog has been altered to MasterDlg, to allow it to co-exist with
2899 Time Control and Common-Engine dialog (which can be opened through
2900 buttons in it). Xaw did not like that, and the true DialogClass is
2901 now used when setting the widget text.
2902
2903 2014-11-10 14:29:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2904 Fix -addMasterOption option
2905
2906 The comparison of the date stamps in master and user settings file
2907 was broken, because the date stamps were declared as unsigned, so that
2908 the difference would never be negative.
2909
2910 2014-11-02 15:52:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2911 Fix premature disappearence of Lion victims
2912
2913 The check test did not correctly undo a Lion e.p. capture, which
2914 would make the victim already disappear after entry of the first leg,
2915 which potentially could affect the second leg move generation.
2916 (Not in Lions, though, but in Betza castlings it manifested itself.)
2917
2918 2014-10-30 15:01:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2919 Connect OSX Quit menu to ExitEvent
2920
2921 The Quit menu item provided by OSX was not equivalent to the original
2922 XBoard menu item, as it did not automatically call ExitEvent. (Which
2923 closing the window did.) This meant a hard kill, without saving settings
2924 or the last game, and not properly shutting down the engine(s).
2925 We now catch the OSX 'WillTerminate' event to perform these tasks.
2926
2927 2014-10-28 22:37:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2928 Add USI/UCCI checkbox to Load Engine dialog
2929
2930 Assign a default command to the -uxiAdapter when it was not yet defined,
2931 as this will be used after ticking the checkbox, and the compile-time
2932 default for it was an empty string, and will have found its way in
2933 the user settings files of most users (making configuring through
2934 the master settings file pointless).
2935
2936 2015-04-18 11:09:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2937 Allow promotion to piece with letter ID in Chu
2938
2939 Normally all promoted versions in Chu have ID '+', but it could be
2940 useful to allow piece promotion always, as long as the promoted piece
2941 participates.
2942
2943 2015-04-18 11:07:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
2944 Implement triple capture (not finished)
2945
2946
2947 2015-03-13 22:58:15 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2948 Make Claws glyph available in non-Chu variants
2949
2950 The variant-dependent replacement glyphs for promotable pieces in Chu
2951 are now assigned to pieces that reuse the replaced glyphs to represent
2952 promoted pieces, rather than to unused promoted pieces. This means that
2953 in Chu they now must be replaced by swapping, which avoids occurrence
2954 of duplicats both in Chu and other variants. And thus frees piece types
2955 that now can be used for new glyphs. As a result the Nightrider remains
2956 available in Chu, and the Claw glyph in other variants. Other freed
2957 pieces are for now used for the promotion Golds of variant shogi.
2958
2959 2015-03-13 21:42:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2960 Also allow Princess SVG piece to be diversify
2961
2962 The image for the Grasshopper has a copy in the Chu-promoted series.
2963 The unpromoted image (not needed in Chu) is now preferentially taken
2964 from a Crown image rather than Princess, allowing distinction between
2965 the promoted and unpromoted piece in kanji themes for Wa Shogi.
2966 Any piece between Grasshopper and chu-promoted Marhall can now in principle
2967 use a backup.
2968
2969 2015-03-11 13:44:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2970 Allow Lion double-moves in opening book
2971
2972 Double moves can now be encoded in a Polyglot es promoType = 2, and
2973 a code for two King steps in the to-square. The moves are retrieved
2974 in the Alien Edition protocol format (i.e. comma-separated LAN).
2975 HandleMachineMove had to be adapted to handle the two legs coming as one,
2976 but otherwise the book code can just send the retrieved line directly
2977 to the engine.
2978  For Edit Book the format has to be converted to TSA-like for display,
2979 to make the move parser that will read it on saving understand the move
2980 as a single one.
2981
2982 2015-03-10 17:57:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2983 Fix reading of pieceToChar string and piece command
2984
2985
2986 2015-03-09 22:04:17 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2987 Fix printing of book moves for double-digit ranks
2988
2989 The book-code move_to_string was not adapted to double digits,
2990 and printed ':' in stead of 10.
2991
2992 2015-03-09 20:35:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
2993 Fix display update during Edit Book
2994
2995 When moves were deleted from the book, this was only shown after
2996 quitting and restarting XBoard, because the stream that was used for
2997 reading the book was a different one as the stream writing it.
2998
2999 2015-03-09 20:26:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3000 Remove chu theme file from XBoard install
3001
3002 This file should come with the Chu Shogi piece images, not with XBoard.
3003 In addition the file was obsolete, and used an erroneous option name.
3004
3005 2015-03-08 17:46:08 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3006 Fix probing of GUI book for board with more than 10 ranks
3007
3008 The move-to-text code was not yet adapted to the convention that rank
3009 counting only starts at 0 for boards of exactly 10 ranks.
3010
3011 2015-03-05 15:58:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3012 Implement piece suffixes
3013
3014 The piece ID can now be suffixed with an 'ornament', which then
3015 is considered part of the piece ID. This expands the number of pieces
3016 that can be indicated in FEN or SAN to several times the alphabet.
3017 This does not yet work in a promotion suffix, as it is mainly intended
3018 for the large Shogi variants, which only use + as promotion suffix.
3019 It also does not work on King (which deserves an unadulterated letter).
3020 Currently the ornaments ' (single quote) and ! (exclamation point) are
3021 defined, (through a macro SUFFIXES in moves.h), increasing the number
3022 of piece types that can be represented to 78.
3023
3024 2015-03-04 09:09:28 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3025 Fix crash XBoard on changing Game List Tags
3026
3027 When the Game List was not up, the attempt to immediately update its
3028 contents after changing the game-header format through the Game List Tags
3029 dialog would result in a segfault.
3030
3031 2015-03-04 09:08:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3032 Fix shift-JIS codes for N, P, +B, +R
3033
3034
3035 2015-03-03 22:44:32 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3036 Change book Zobrist key for Chu promoted pieces
3037
3038 Promoted pieces for Chu (i.e. above Lion, with the exception of King)
3039 now get keys derived from their base type, by XORing in a square-dependent
3040 'promoted' key. This makes it possible to extend the unpromoted series
3041 with new pieces without altering the keys for the promoted pieces.
3042 So that the current book code works upto 48 unpromoted piece types,
3043 rather than 48 piece types total.
3044
3045 2015-03-03 22:17:26 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3046 Fix book encoding of Chu promotion moves
3047
3048 The Shogi promotion suffix had promotion code 8, which was not available
3049 in Chu at all, due to the large board size. So in stead we use code 1 now.
3050 Code 10 (or 2 in Chu) is reserved for encoding Lion moves, which currently
3051 do not work at all.
3052
3053 2015-03-02 22:14:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3054 Remove debug printf for kanji
3055
3056
3057 2015-03-02 22:12:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3058 Wrap kif comments in braces
3059
3060 The parser assumes that a text that parsed as comment contained
3061 enclosing braces, but in kif files we have to apply those ourselves,
3062 to prevent a bare comment (starting with '*'!) to appear between the moves.
3063
3064 2015-03-02 19:59:18 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3065 Improve reading of pieceToCharTable
3066
3067 The piece-to-char string can now contain ' and ! suffixes on pieces,
3068 which are taken together with the preceding piece ID. An encountered : will
3069 cause the assigning to skip to the chu-promoted series of pieces, however
3070 these are numbered.
3071
3072 2015-03-02 19:16:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3073 Extend book to 48 piece types and 256 squares
3074
3075 Before the Zobrist key could only handle 24 piece types and 128 squares.
3076
3077 2015-03-02 13:15:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3078 Fix reading of startposition FEN starting with *
3079
3080 When laoding a position file, a FEN starting with * would not be recognized
3081 as FEN, and parsed in an alternative way that did not like the * either,
3082 and caused a segfault.
3083
3084 2015-03-02 12:49:36 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3085 Implement -rankOffset option
3086
3087 This option is useful on boards with blacked-out ranks, to force rank
3088 number one to be a higher up.
3089
3090 2015-03-02 12:04:58 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3091 Use PGN result in Game List build to supply tag
3092
3093 If a PGN tag was missing (as in loading of non-PGN game collections)
3094 the game would be marked as unfinished ('*') in the Game List, even
3095 when it contained a result. The kif-format resign messages are now cast
3096 in a form that also recognizes the result-detail message.
3097
3098 2015-02-28 11:05:21 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3099 Implement kifu move disambiguation
3100
3101 For sliders the Japanese disambiguation clues cannot be translated
3102 to PSN-like disambiguators, so the problem had to be resolved in the
3103 Disambiguate callback, at the time when the second piece of the
3104 requested type is identified, so that the relative position of the pieces
3105 is known.
3106
3107 2015-02-27 17:13:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3108 Make move parser understand kif-format Shogi moves
3109
3110 For now only utf-8 kanji are recognized. The recognition of '*' as an
3111 unfinished game end had to be suspended for this, based on encountering of
3112 bare kanji (from the kif header), and is only regained after reading
3113 of a PGN tag!
3114
3115 2015-02-21 20:08:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3116 Do not call illegal moves ambiguos
3117
3118 When legality testing is off, an illegal SAN move would be interpreted
3119 as if the mentioned piece type could move anywhere, which lead to an
3120 'Ambiguous Move' message if there were multiple pieces of that type.
3121 This should not be done if the piece moves are known through engine piece commands.
3122
3123 2015-02-21 20:02:06 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3124 Fix parsing of illegal drops from PGN
3125
3126 These were parsed as if the first two characters were the from-square.
3127
3128 2015-02-20 20:27:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3129 Fix spurious promo-suffixes on drop moves
3130
3131 The promo-suffix from the previous move would be left on drop moves,
3132 and could even be set to the engine.
3133
3134 2015-02-20 15:46:35 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3135 Let promotion zone be 3 ranks on 8-rank shogi boards
3136
3137 For the benefit of Euro-Shogi the rule that the depth of the promotion
3138 zone is the board height divided by 3, rounded down (which works so well
3139 for mini-, Judkins, Tori and regular Shogi) is given an exception when
3140 the numer of ranks is 8.
3141
3142 2015-02-20 14:07:40 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3143 Fix illegal-drop fix
3144
3145
3146 2015-02-18 22:54:12 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3147 Suppress lift command on deselecting piece
3148
3149 A click on the selected piece deselects it, and thus should not
3150 result in a lift command to prompt highlighting of its moves.
3151
3152 2015-02-18 22:49:20 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3153 Suppress appearance of promotion popup when sweep-selecting
3154
3155 In highlight-induced promotions the popup would appear even when it
3156 should have been off.
3157
3158 2015-02-18 22:47:30 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3159 Fix illegal drops
3160
3161 Even white was dropping black pieces on those!
3162
3163 2015-02-15 23:17:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3164 Fix click-click sweep-select
3165
3166 If the up-click of the second click of a sweep-select would occur in the
3167 from-square, the whole move would be ignored, and de-select the promoting
3168 piece instead.
3169
3170 2015-02-15 23:12:14 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3171 Fix promotion sweep of black Pawns in Shogi
3172
3173 The wrap-around when we run past white King should not be done in
3174 toggle mode, where it is guaranteed we won't run out of range.
3175
3176 2015-02-09 10:09:55 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3177 Fix deselection of piece
3178
3179 The patch to allow entering of friendly capture (intended as a kludge
3180 for entering non-standard castling) had broken the ability to change
3181 the selected piece by clicking another piece, as this was now always
3182 interpreted as a friendly capture (which was then rejected as illegal).
3183 By testing marker[][] in stead of legal[][] this can be avoided; legal[][]
3184 was not a good measure, because in absence of a highlight command it
3185 is completely filled with 1, to make everything legal. No friendly squares
3186 will ever get marked unless a highlight command does it, though.
3187
3188 2015-02-09 10:01:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3189 Fix highlight-induced promotions
3190
3191 A purple square in the highlight color FEN triggered the promotion
3192 procedure, but the chosen promotion piece would not be suffixed to
3193 the move.
3194
3195 2015-02-09 10:01:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3196 Castling fix 1
3197
3198
3199 2015-02-06 13:01:44 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3200 Take heed of mnemonic indicator when clipping menu texts
3201
3202 An underscore in the menu text should not be counted when deciding where
3203 to clip the text to make the menu bar fit the window width. If clipping
3204 would occur immediately after an underscore, just clip off the first
3205 character to get the mnemonic back in view. (This makes _n from the
3206 Engine menu.)
3207
3208 2015-02-05 23:01:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3209 Let Betza jO mean castling with non-edge piece
3210
3211 This is useful in Omega Chess, where the Rooks are not on the edge.
3212 The number of j tell how many pieces have to be between edge and castling
3213 partner.
3214
3215 2015-02-05 20:09:53 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3216 Castle with nearest rather than corner piece
3217
3218 An oversized sideway King step is recognized as castling, but instead
3219 of using the piece closest to the board edge on that rank (ignoring dark
3220 squares) we now use the piece that the King is looking at in that direction.
3221 This fixes castling in Omega Chess.
3222
3223 2015-02-05 19:44:10 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3224 Allow friend-trampling format also for royal castlings
3225
3226 The restriction that the trampling piece should not be King is lifted.
3227 That the piece has an O atom in its Betza string is enough to qualify.
3228
3229 2015-02-05 19:34:32 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3230 Recognize castling double-moves from engine
3231
3232 An engine could already send double-moves of the Alien protocol,
3233 where the same piece moved twice, which were then glued into a single
3234 step, with the intermediate square as trampled piece. Now when the
3235 second leg is whith a different piece, it keeps the first leg as overall
3236 move, and tramples the second mover. This translates castlings sent
3237 as two-piece moves to the kludge format of trampling the own 'Rook'.
3238
3239 2015-02-05 17:35:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3240 Fix drops
3241
3242
3243 2015-02-05 17:33:24 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3244 Print castlings as double move
3245
3246
3247 2015-02-05 12:24:00 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3248 Fix illegal drops
3249
3250 For illegal drops the 'from-square' was subjected to an on-board test,
3251 which of course always failed, after which the move was reclassified
3252 as an ImpossibleMove after all. (Leading to rejection even when legality
3253 testing was off, and error messages like "Could not parse move".)
3254
3255 2015-02-03 12:49:11 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3256 Fix width of dual board GTK
3257
3258 The message field here was too wide, because it was attached to a
3259 non-existing table column.
3260
3261 2015-02-03 10:14:56 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3262 Fix Tab in ICS command mode
3263
3264 Tab was not working to open a chat after oborting opening a new one,
3265 when only one chat was open.
3266
3267 2015-02-02 16:29:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3268 Fix sending of messages from kibitz or c-shout chat
3269
3270 Kibitz messages and c-shouts could be captured in their own chat window.
3271 like shouts and whispers, but sending messages from such chats did not
3272 get the proper prefixing, but were treated as tells to nonexistent players
3273 'kibitzes' and 'c-shouts'.
3274
3275 2015-01-29 11:20:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3276 Ignore Tab in ICS Interaction if no chats assigned
3277
3278 Thuis used to open a new chat, but Ctl-N exists for that now.
3279
3280 2015-01-29 11:12:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3281 Use Ctl-E in ICS chat to end chat
3282
3283
3284 2015-01-29 10:56:45 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3285 Use Ctrl-H in ICS Chat to close chat pane
3286
3287 This used to be done by <Esc>, but that now focuses board instead.
3288
3289 2015-01-28 23:17:23 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3290 Let <Esc> transfer focus from Board to ICS Input
3291
3292 <Esc> in the input field of the ICS Interaction window transfers focus
3293 to the board, but there was no way to transfer focus back without actually
3294 typing something in the input field. <Esc> now does that. Unlike typing
3295 printables, it does not close the chat pane, though. In addition, <Esc>
3296 when the chat pane is open now also transfers focus to the board, rather
3297 than closing the chat pane. This makes quick transparent switching between
3298 board and Chat / ICS Interaction possible. It is no longer possible to
3299 simply hide the chat pane, though. But this was usually done for typing
3300 a command, and swicthing to the board with <Esc> and typing the command
3301 there has the same effect.
3302
3303 2015-01-20 12:02:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3304 Define mnemonics for main menu bar
3305
3306
3307 2015-01-20 11:54:52 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3308 Set position dir to handicap positions in shogi theme
3309
3310
3311 2014-12-21 23:09:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3312 Let file selecor remember last used directory (GTK)
3313
3314 The file selector now starts in the directory that was last used
3315 to load a file of the type we are now browsing for. (Supported types:
3316 pgn, fen, trn, bin, png.)
3317
3318 2014-12-20 20:47:05 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3319 Implement -positionDir option GTK
3320
3321 This volatile option determines where Load Position starts browsing.
3322
3323 2014-11-17 13:00:37 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3324 stash
3325
3326
3327 2014-11-13 20:23:57 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3328 Fix click-click moving with -monoMouse
3329
3330 A to-click should never be interpreted as button 3.
3331
3332 2014-11-13 18:33:42 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3333 Implement -monoMouse option (XB)
3334
3335 With the monoMouse option button-3 is no longer needed in Edit-Position
3336 mode, but a button-1 click on an empty square will automatically behave
3337 as if it was button 3. It can only be used with -pieceMenu false,
3338 as it does not communicate the coordinates of the clicked square.
3339
3340 2014-11-11 14:40:43 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3341 Fix crash on using Browse buttons in Tournament dialog Xaw
3342
3343 The Xaw file browser assumes the text entries it is browsing for are
3344 all in dialogs of the class TransienDlg, but the Tournament Options
3345 dialog has been altered to MasterDlg, to allow it to co-exist with
3346 Time Control and Common-Engine dialog (which can be opened through
3347 buttons in it). Xaw did not like that, and the true DialogClass is
3348 now used when setting the widget text.
3349
3350 2014-11-10 14:29:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3351 Fix -addMasterOption option
3352
3353 The comparison of the date stamps in master and user settings file
3354 was broken, because the date stamps were declared as unsigned, so that
3355 the difference would never be negative.
3356
3357 2014-11-03 21:59:09 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3358 Allow creation of DarkSquares in EditPosition mode
3359
3360 Dragging an EmptySquare off board will make it a DarkSquare. Dragging
3361 anything else off board (incl. DarkSquares) makes it empty, as before.
3362
3363 2014-11-03 21:56:29 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3364 Let Clear Board respect DarkSquares
3365
3366 Usually we will clear the board to set up a new position. Not to
3367 redesign the board shape.
3368
3369 2014-11-03 21:51:46 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3370 Fix sweep promotions for Lance on deeper zones
3371
3372 Unlike Pawns, Lances always assumed a zone depth of 1 in deciding on
3373 activating sweep promotion. (Because they did not naturally occur in
3374 any variant that had a deeper zone.)
3375
3376 2014-11-03 21:49:07 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3377 Fix two-sided non-royal castling
3378
3379
3380 2014-11-02 21:44:48 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3381 Fix e.p. capture
3382
3383
3384 2014-11-02 15:52:25 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3385 Fix premature disappearence of Lion victims
3386
3387 The check test did not correctly undo a Lion e.p. capture, which
3388 would make the victim already disappear after entry of the first leg,
3389 which potentially could affect the second leg move generation.
3390 (Not in Lions, though, but in Betza castlings it manifested itself.)
3391
3392 2014-11-02 15:31:34 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3393 Implement non-royal castling
3394
3395 The Betza move generator allows castlings to be specified on non-royal
3396 pieces, and indeed the Omega-Chess 'guarding' castles Q with R. To
3397 prevent ambiguity this is implemented as a two-leg move QxR-s (with 's'
3398 the target square specified in the O atom). This automatically takes care
3399 of removal of the 'Rook', so that in ApplyMove() we only have to put it
3400 back on the proper side of the 'King'.
3401
3402 2014-11-02 12:24:16 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3403 Also set e.p. rights on move of Lance
3404
3405 The Lance is intended as Pawn alternative (because of its slim shape),
3406 except in Superchess (where it represents Amazon) and Chu. (In regular
3407 Shogi the Lace is represented by Queen disguised as Lance!) So it would
3408 be logical to also make its double-Pushes set e.p. rights. Except in
3409 Spartan Chess, which has no e.p. capture.
3410
3411 2014-11-02 11:29:31 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3412 Allow e.p. capture on triple-Push
3413
3414 Some variants (like Omega Chess) have an initial triple-Push on Pawns,
3415 wich can then e.p.-captured on both of the squares they skip. To allow
3416 the Betza move generator to supply such e.p. captures, a bit flag is
3417 kludged into the EP_RANK state indicator on triple pushes, while the
3418 main value there is that of the rank directly behind the pushed Pawn.
3419 The Betza generator then also matches the square behind it with the
3420 e.p.-capture to-square when the falg is set.
3421  ApplyMove() also had to be adapted, to remove the Pawn two squares
3422 behind the capturing one, rather than straight behind it, when this
3423 flag is set.
3424
3425 2014-10-31 23:46:13 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3426 Make the promotion zone always 3 deep in Elven Chess
3427
3428 The promotion zone in Eleven Chess was treated as in Shogi, and set
3429 to the board height divided by 3. It is better to always make it 3.
3430 This only makes a difference when the boardHeight is overruled,
3431 but Elven Chess is a very useful parent variant when a 3-deep promotion
3432 zone is needed. (Makruk would only allow promotion to Ferz, and Grand
3433 Chess would need holdings and allow only promotion to captured pieces.)
3434
3435 2014-10-31 22:59:23 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3436 Locate corner piece in presence of DarkSquares
3437
3438 The 'Rook' move implied by a castling indicated through an obver-sized
3439 King step uses the corner pieces. But the corner isn't necessarily
3440 the edge file if the board is not rectangular, but irregularly shaped
3441 like in Omega Chess. So we have to ignore the DarkSquares, which are
3442 not caounted as belonging to the board.
3443
3444 2014-10-31 14:26:19 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3445 Allow Betza castling with piece next to DarkSquare
3446
3447 In variants like Omega Chess the board edges are not really the first
3448 and last file, because of the Wizzard squares. So castling has to be
3449 allowed not only with the piece on those files, but also when the square
3450 beyond them is not part of the board anymore.
3451
3452 2014-10-31 13:54:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3453 Let Betza generator respect DarkSquares
3454
3455 DarkSquares are not pieces, and should not be moved. When landing
3456 on them they should be considered as off-board.
3457
3458 2014-10-30 15:01:59 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3459 Connect OSX Quit menu to ExitEvent
3460
3461 The Quit menu item provided by OSX was not equivalent to the original
3462 XBoard menu item, as it did not automatically call ExitEvent. (Which
3463 closing the window did.) This meant a hard kill, without saving settings
3464 or the last game, and not properly shutting down the engine(s).
3465 We now catch the OSX 'WillTerminate' event to perform these tasks.
3466
3467 2014-10-28 22:37:22 +0100 H.G.Muller <hgm@hgm-xboard.(none)>:
3468 Add USI/UCCI checkbox to Load Engine dialog
3469
3470 Assign a default command to the -uxiAdapter when it was not yet defined,
3471 as this will be used after ticking the checkbox, and the compile-time
3472 default for it was an empty string, and will have found its way in
3473 the user settings files of most users (making configuring through
3474 the master settings file pointless).
3475
3476 2015-05-02 20:30:08 -0700 Arun Persaud <arun@nubati.net>:
3477 make GTK the default version
3478
3479
3480 2015-05-02 20:26:48 -0700 Arun Persaud <arun@nubati.net>:
3481 updated Dutch translation
3482
3483
3484 2015-05-02 20:26:38 -0700 Arun Persaud <arun@nubati.net>:
3485 updated German translation
3486
3487
3488 2015-04-26 13:31:29 -0700 Arun Persaud <arun@nubati.net>:
3489 fix typo in configure
3490
3491
3492 2015-04-26 12:49:09 -0700 Arun Persaud <arun@nubati.net>:
3493 updated French translation
3494
3495
3496 2015-04-26 12:49:01 -0700 Arun Persaud <arun@nubati.net>:
3497 updated German translation
3498
3499
3500 2015-04-19 20:26:20 -0700 Arun Persaud <arun@nubati.net>:
3501 added French translation
3502
3503
3504 2015-04-19 20:19:18 -0700 Arun Persaud <arun@nubati.net>:
3505 updated German translation
3506
3507
3508 2014-11-22 09:22:37 -0800 Arun Persaud <arun@nubati.net>:
3509 Added Serbian translation
3510
3511
3512 2014-10-24 22:27:31 -0700 Arun Persaud <arun@nubati.net>:
3513 remove OS X theme folder
3514
3515
3516
3517 2014-10-24 00:04:22 -0700 Joshua Pettus <jshpettus@gmail.com>:
3518 removed gtk theme from OSX app
3519
3520 2014-10-23 23:33:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3521 Add persistent Boolean option -fixedSize
3522
3523 When set, this option suppresses sizing of the board and clocks when
3524 the window is sized by the user. This is achieved by wrapping the entire
3525 dialog in a non-expanding hbox.
3526
3527 2014-10-23 21:23:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3528 Also do dual-royal test in variant shogi
3529
3530 For the benefit of Sho Shogi we also have to be prepared to find a
3531 Crown Prince in variant shogi, so it can be used as a parent variant
3532 for Sho Shogi with legality testing on.
3533
3534 2014-10-23 16:22:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3535 Fix promotion in Betza move generator
3536
3537 The Betza move generator was geenrating allmoves as NormalMove, but in
3538 that case XBoard would not allow the move to have a promotion suffix.
3539 Now Pawns and Lances reaching last rank will be assumed to promote.
3540
3541 2014-10-22 13:06:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3542 Attempt to make GTK sizing work with tiling WM
3543
3544 The Rezise routine now takes the size of the entire dialog table
3545 (for me always equal to the outer-window size), and checks if the
3546 actual outer window is smaller. If it is, it shrinks the board to fit,
3547 under the assumption that a tiling window manager offers only a limited
3548 'viewport' to our dialog, and we want everything to be visible inside that.
3549
3550 2014-10-22 11:04:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3551 Fix -xbuttons window width GTK
3552
3553 Because Label options not followed by a SAME_ROW element were only
3554 packed into the first two columns of the dialog table, the board window
3555 reserved space for a third column behind the message window if there
3556 was no button bar.
3557
3558 2014-10-21 20:37:41 -0700 Arun Persaud <arun@nubati.net>:
3559 mac: only use gtk compile flag, if osxapp is enabled
3560
3561
3562 2014-10-21 22:40:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3563 Prevent unknown variant getting button in -ncp mode
3564
3565 Normally we fake the engines play the requested variant, for the benefit
3566 of engines that do not send a variants feature (e.g. v1 engines). But this
3567 should not be done if there is no engine, as it would lead XBoard to
3568 believe an unknown variant name is an engine-defined variant supported
3569 by a currently loaded engine, and create a button for it in the New Variant
3570 dialog.
3571
3572 2014-10-21 22:07:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3573 Fix variant-name recognition
3574
3575 StringToVariant did recognize whether the name to recognize had suffuxes
3576 compared to the tabulated name, but not if it had prefixes. So 'shoshogi'
3577 would be recognized as 'shogi'.
3578
3579 2014-10-21 21:52:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3580 Suppress duplicat autoInstalls
3581
3582 If the engine line constructed for -autoInstall already occurs in
3583 the engine list, we should not install it again.
3584
3585 2014-10-21 18:41:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3586 Base new square size on board widget allocation GTK
3587
3588 No longer pay attention to the size of the top-level window, but base
3589 everything on the size of the board widget itself.
3590
3591 2014-10-21 13:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3592 Ignore first configure event
3593
3594 The first configure event will be the one that adds the window decorations
3595 to the board window, and must not be used to calculate a new square size,
3596 but to expand the outer window instead.
3597
3598 2014-10-21 11:35:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3599 Let GTK dialogs open with actual-size Graph widgets
3600
3601 The Graph Option size values are now uses as size_request, to give
3602 proper dialog sizing at popup. But the size_request is then reset
3603 so that free sizing by the user becomes possible.
3604
3605 2014-10-19 13:16:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3606 Fix display of Spin Options with negative range
3607
3608
3609 2014-10-17 21:35:25 -0700 Arun Persaud <arun@nubati.net>:
3610 line numbers in PO got updated
3611
3612
3613 2014-10-17 21:23:47 -0700 Arun Persaud <arun@nubati.net>:
3614 updated ChangeLog, DIFFSTAT and SHORTLOG
3615
3616
3617 2014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>:
3618 updated NEWS
3619
3620
3621 2014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>:
3622 forget a few __APPLE__ ifdefs; changed to OSXAPP
3623
3624
3625 2014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>:
3626 fix typo and prefix
3627
3628 AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching?
3629 Using just prefix=... seems to work though
3630
3631 2014-10-16 23:34:22 -0700 Arun Persaud <arun@nubati.net>:
3632 USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE
3633
3634
3635 2014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3636 Fix loading of engine-defined PGN games
3637
3638 Somehow there could be disagreement over what the official opening
3639 position of an engine-defined variant was during loading of the game.
3640 It then refused Betza-defined castling, which tests the corner pieces
3641 based on this initial position. We now assume the FEN tag, which such
3642 a PGN game will always contain, holds the official opening position,
3643 so that castling will always be assumed possible (if there is a corner
3644 piece).
3645
3646 2014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3647 Preserve parent variant for PGN of engine-defined game
3648
3649 Rather than decoding an unknown variant name, (which will result in
3650 'normal'), we keep the currently set (parent) variant when an
3651 engine-defined variant is currently set that matches the name in
3652 the PGN variant tag of the loaded game.
3653
3654 2014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3655 Fix some uninitialized variable bugs
3656
3657 The writing of Seirawan castling rights in FEN was still dependent on a
3658 now unused variable, and encountering a VariantMen tag in a PGN file
3659 could have created the misconception the memory was full.
3660
3661 2014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3662 Update Game List after tag selection changed
3663
3664 When the Game List Options dialog changes the tags to be displayed in
3665 the Game List lines, we now automatically redo the entire Game List.
3666
3667 2014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3668 Always accept piece commands in variant great
3669
3670 Great Shatranj belongs to the variants XBoard does not know the rules of,
3671 and should thus always accept engine piece commands.
3672
3673 2014-10-15 21:28:36 -0700 Arun Persaud <arun@nubati.net>:
3674 make all tests for strings in configure use the same scheme
3675
3676
3677 2014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>:
3678 updated Changelog, DIFFSTAT, and SHORTLOG
3679
3680 2014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>:
3681 fix osxapp enable option in configure.ac
3682
3683
3684 2014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>:
3685 remove experimental from gtk build option
3686
3687
3688 2014-10-15 21:02:38 -0700 Arun Persaud <arun@nubati.net>:
3689 only enable osxapp build target on apple systems, clean up configure.ac a tiny bit
3690
3691
3692 2014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>:
3693 update NEWS file
3694
3695
3696 2014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3697 Don't switch to engine-defined variant on game loading
3698
3699 When loading a game from PGN the variant tag will have been decoded as
3700 'normal' in case of an engine-defined variant, and we certainly would
3701 not want to switch to that. Better stay in the variant the user had
3702 selected before, and hope for the best.
3703
3704 2014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3705 Implement displaying of variant tag in Game List
3706
3707 The variant tag was displayed as an empty string in game-header lines.
3708 Processing it during PGN load was not able to handle engine-defined
3709 variants anyway; they were recognized as 'normal'. A new field in the
3710 GameInfo struct now holds variantName in text form, and this is the
3711 primary place from which it is displayed in the Game List.
3712
3713 2014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3714 Update Game List when setting new Game List Tags
3715
3716 Using the Game List Tags dialog to alter the gae header lines now
3717 automatically causes an update of the Game list according to the new
3718 tags specification.
3719
3720 2014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3721 Reset move entry on Clear Board
3722
3723 The board markers would stay on when the board was cleared, and a
3724 no-longer-present piece would stay selected, leading to deletion of the
3725 first piece that you tried to select.
3726
3727 2014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3728 Split Tournament dialog in side-by-side panes
3729
3730 This seems to cure a sickness in some Xaw versions, which refused
3731 to display text in the text widgets, or make them sensitive for mouse
3732 clicks if the last three buttons were added. It also helps keeping
3733 the 'OK' button on-screen in the GTK version.
3734
3735 2014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3736 Remember position obtained from setup
3737
3738 When the engine sends a setup command, it should be remembered as
3739 initialPosition, in order for the castling 'rook' test of the Betza
3740 move generator to work.
3741
3742 2014-09-13 12:35:12 -0700 Joshua Pettus <jshpettus@gmail.com>:
3743 Add build script to configure for a XBoard.app for OS X
3744
3745 This relies on the the gtk build and adds some special code in
3746 gtk/xboard.c so that XBoard can be installed inside the app directory
3747 independ on where the app file is located.
3748
3749 2014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>:
3750 replaced hardcoded pngdir with built-in ~~
3751
3752 don't need to create xboard.conf from xboard.conf.in anymore
3753
3754 2014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3755 Some improvement on new Shogi SVG pieces
3756
3757
3758 2014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>:
3759 updated spanish, ukranian, and dutch translation
3760
3761
3762 2014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3763 Fix logos Xaw
3764
3765 The patch for logo standard left a typo and an excess line in the Xaw
3766 version. This is fixed, and also implements the user-logo cascade for
3767 the Xaw version.
3768
3769 2014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3770 Try also /home/<user>/.logo.pgn for user logo
3771
3772 The user logo now also has a cascade, first looking in the user's home
3773 folder for a file .logo.png, and then in the -logoDir for <user>.png.
3774
3775 2014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3776 Fix ICS logo display
3777
3778
3779 2014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3780 Show current variant on New Variant buttons GTK in bold
3781
3782 If an engine-defined variant is selected, we compare its name to the
3783 inscription on the button, otherwise we compare the variant numbers.
3784 (Test to trigger this is a bit awkward, to not inadvertantly apply it
3785 to the ICS Text Menu, which also has colored buttoms.)
3786
3787 2014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3788 Increase number of engine-defined-variants Buttons XB
3789
3790 An third column is added to the New Variant dialog when necessary.
3791
3792 2014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3793 Force GTK logo size to quarter board width
3794
3795 This is what GTK will do anyway, because clocks and logos are in a hbox
3796 that equally divides space, so telling XBoard different just misinforms it.
3797
3798 2014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3799 Replace default Shogi pieces
3800
3801 The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus.
3802 This set also contains and Elephant and Crown Prince.
3803
3804 2014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3805 Implement new logo standard
3806
3807 XBoard now looks in the system directories for plugin logos,
3808 /usr/(local/)share/games/plugins/logos, according to the cascade
3809 -logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/...
3810
3811 2014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3812 Relocate OS X' LOCALEDIR
3813
3814
3815 2014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3816 Fix check test with multi-leg moves
3817
3818 The check test after a multi-leg move was still using the same kill
3819 square in the opponent's reply, making it blind to King captures in
3820 a second leg. So far we got away with that because the Shogi multi-leg
3821 pieces also can reach all their potential victims in a single step,
3822 but with engine-defined multi-leg moves there is no guarantee this
3823 will always be the case.
3824
3825 2014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3826 Fix infinite loop in cylinder moves
3827
3828
3829 2014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3830 Let t on final leg in Betza notation forbid checking
3831
3832 To allow approximate definition of pieces that are too difficult to
3833 describe exactly, we can revoke their capture rights on Kings,
3834 to prevent imagined moves that happen to threaten a King forces the
3835 opponent to evade this imagined check, making most of his moves illegal.
3836 Then the piece can be safely replaced by an upward-compatible one,
3837 leaving rejection of the extra moves to the engine.
3838
3839 2014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3840 Implement Betza hr and hr as chiral move sets
3841
3842 To easily separate right- and left-handed moves on oblique atoms
3843 (which needs opposite use of l and r in their multi-leg continuations),
3844 the direction sets hr and hl are added.
3845
3846 2014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3847 Preserve other Betza mode bits on setting default modality
3848
3849
3850 2014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3851 Switch to new Betza orth-diag conversion standard
3852
3853 The interconversion from orthogonal to diagonal atoms is now possible
3854 for any 4-way atom, based on specification of an 'in-between' direction,
3855 irrespective of modality. Also take backward out of default continuation
3856 direction-set.
3857
3858 2014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3859 Implement Betza t modifier for hop-own
3860
3861 The 't' modifier will restrict any form of hopping as specified by
3862 p or g modifiers to friendly pieces. This only works on non-final legs.
3863
3864 2014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3865 Implement directional modifiers on KQ, and let y&g upgrade
3866
3867 The Betza y and g modifiers now not only change range, but also upgrade
3868 the directional capabilities of the atom to full non-degenerate 8-fold.
3869 Directional modifiers can now be used in that symmetry too, to maximally
3870 exploit this, and implement 4-fold pieces that make 45-degree turns.
3871 Let oblique continuation legs also use the non-degenerate system.
3872
3873 2014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3874 Implement Betza y modifier
3875
3876 The non-standard modifier 'y' is the spontaneous counterpart of 'g',
3877 changing the range of the atom, and upgrading its directionality.
3878
3879 2014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3880 Implement Betza g modifier for non-final legs
3881
3882 The g modifier is implemented as a p that turns a rider into the
3883 corresponding leaper when it hops, and vice versa. This is done by
3884 stripping off any existing range indicator, and making the range
3885 infinite by suffixing '0' when the old range was 1 (whether implied
3886 or explicitly written). Except that for sliders/steppers this is done
3887 by atom-name conversion after stripping off the range. Limited range
3888 thus in general turns into leaper (D -> D0, Dn -> D), but with FWK
3889 W3 -> R and R3 -> W, etc.
3890
3891 2014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3892 Implement Betza a modifier
3893
3894 This is pretty complex, and might overload the current primitive two-leg
3895 legality testing when pieces are defined that can reach squares only in
3896 two legs.
3897
3898 2014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3899 Implement Betza j on W,F as skip first square
3900
3901
3902 2014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3903 Always accept piece commands for Falcon and Cobra
3904
3905 The wild-card pieces Falcon and Cobra do not have any moves assigned to
3906 them, and XBoard would accept any move for them even when legality
3907 checking is on. So for these pieces it is always better to trust the
3908 engine's piece definition.
3909
3910 2014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3911 Fix pieceToCharTable of Falcon Chess
3912
3913 This variant was using the Falcon piece, but defining ID F for the
3914 unused Lance instead.
3915
3916 2014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3917 Don't preserve setup position on board-size change
3918
3919 Normally the setup command sent by an engine is ignored if the user
3920 already has set up a position, to not render it impossible to do the
3921 latter. But if the setup command orders a different board size nothing
3922 the user has set up can possibly remain valid.
3923
3924 2014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3925 Reset move entry on stepping through game
3926
3927 A forward or backward step through the game after selecting a from-square
3928 did not erase the latter, so that it became impossible to select a
3929 from-square for an opponent move, as it would be interpreted as the
3930 to-square for the patially entered move. This was especially annoying
3931 with legality testing off, as the legality test there, based on the
3932 square markings, does not reset the entry state either, but waits
3933 until you do click a legal to-square, so that you had to attempt
3934 moving with pieces of the side not to move to get out of this state.
3935 Now stepping through another position will reset the move-entry state
3936 completely, always considering the first click a from-square selection.
3937
3938 2014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3939 Fix engine-defined variant as startup
3940
3941 Non-standard names were all recognized as 'normal' in InitBackend1().
3942 Now if the -variant argument was not "normal", it is assumed to be an
3943 engine-defined variant if we run with engine.
3944
3945 2014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3946 Fix clipping of board GTK
3947
3948 ResizeBoardWindow now measures the with of the window dressing by
3949 brute force, interrogating GTK both for the width of the top-level
3950 window and the board widget, and subtracting the two.
3951
3952 2014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3953 Fix writing of Seirawan960 virginity in FEN
3954
3955 When variant seirawan was played with Fischer castling, only the
3956 castling rights were written, and not the virginity of other pieces.
3957 Now all virgin files are dumped in Shredder-FEN style.
3958
3959 2014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>:
3960 update po/pot files
3961
3962
3963 2014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>:
3964 new version number for release 4.8.0
3965
3966
3967 2014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>:
3968 fixed whitespace error in configure.ac for os x
3969
3970
3971 2014-09-20 10:06:17 -0700 Arun Persaud <arun@nubati.net>:
3972 update gettext configuration to not include any generated files in git
3973
3974 before we had a somewhat mixed setup, which seems to create problems
3975 when a different gettext version was installed on the users machine compared
3976 to the version used to generate the files in git. This should solve
3977 the problem. The user will now have to generate these files using autopoint,
3978 which we call from autogen.sh.
3979
3980 2014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3981 Configure XBoard for -size 49 in master settings
3982
3983 Now the code for auto-sizing works, it turns out this does more harm than
3984 good in the GTK build, as it takes maximum size that fits the screen as
3985 initial size, and the board window then cannot be shrunk below that.
3986 So we configure a hard -size 49 for a cold startup.
3987
3988 2014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3989 Implement ff etc. in Betza parser
3990
3991 Dupliacated directional modifiers can be needed with oblique moves
3992 to unambiguously specify a direction set, e.g. ffrrN.
3993
3994 2014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
3995 Rename PGN Pieces tag to VariantMen
3996
3997 Following a suggestion from Steven Edwards, this indeed makes a much
3998 clearer name. Also add code to skip the tag on reading, rather than
3999 allowing it to end up with the 'extra tags', as the latter could lead
4000 to duplication of the tag on subsequent saves.
4001
4002 2014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4003 Suppress use of promo-Gold bitmaps in Tori Shogi (WB)
4004
4005 In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use
4006 of a Gold General pictogram would only be confusing. So we stick to
4007 the regular fairy bitmaps in Tori, which is recognized by the board
4008 having 7 ranks in Shogi.
4009
4010 2014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4011 Prevent board-size oscillations
4012
4013 It could happen that after resize there was room for enlarging the
4014 squares by one pixel, but that this crossed the boundary where the line
4015 gaps also become wider, and there is no room for making both squares
4016 and line gap. This would cause perpetual oscillations of the window size.
4017 Resizing is now suppressed when a 1-pixel square-size increase would also
4018 result in a line-gap increase.
4019
4020 2014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4021 Allow use of second-row pieces for non-promoted in drop games
4022
4023 Second-row pieces were automatically demoted on capture, but this
4024 should really happen only when the piece-to-char table says it is a
4025 shogi-promoted piece (assigned a '+' there). Pieces assigned a letter
4026 should really stay themselves.
4027  PieceToNumber had to be adapted to skip '+' pieces in order to count
4028 correctly for second-row pieces, as did the code in UserMoveEvent() that
4029 mapped the from-square onto the piece type. (Why do we do that anyway?
4030 The piece type was displayed on the from-square!)
4031
4032 2014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4033 Fix reset of 50-move counter on FRC castling
4034
4035 The FxR internal representation was taken a bit too seriously!
4036
4037 2014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4038 Fix abort of machine game on variant mismatch
4039
4040 When the second engine did not support the current variant, and we clicked
4041 Two Machines, there was an error popup, but the Two Machines menu item
4042 stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame
4043 mode.
4044
4045 2014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4046 Make unsupported variant on loading 1st engine non-fatal
4047
4048 Like in the startup code, when the loaded engine does not play the
4049 currently selected variant, we now figure out what the engine does play,
4050 and switch to that. The error message still pops up, but not non-fatal.
4051
4052 2014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4053 Print PGN Piece tag listing engine-defined pieces
4054
4055 A newly defined PGN tag is printed, which summarizes all non-standard
4056 pieces. Black copies of identically named white pieces are suppressed.
4057 In the future also non-standard naming should be reported here.
4058
4059 2014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4060 Always accept piece commands in partly supported variants
4061
4062 Normally piece commands are ignored when legality checking is on, as
4063 XBoard's idea of legality should obviously overrule the engine's.
4064 In variants that are not or only partly supported, however, XBoard has
4065 no own idea of what is legal, so it is better to take the engine's
4066 advice than enforcing wrong rules.
4067
4068 2014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4069 Size seek graph to also cover board rim WinBoard
4070
4071 The seek graph always used the plain board size, but in WB it is
4072 possible to diplay a rim around the board, and the seekgraph would
4073 then be positioned in the upper-left corner of the rim, leaving the
4074 lower and right board edge and rim uncovered. Its size is now increased
4075 to fill the entire window (as leaving a rim around it seems not useful).
4076
4077 2014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4078 Reparse ambiguous move under built-in rules
4079
4080 When a move parses as ambiguous under engine-defined piece locomotion,
4081 we re-parse it with XBoard's native idea of the pieces, just in case
4082 it is a move from a game that was saved without the engine having
4083 redefined the pieces. This keeps games created before the introduction
4084 of the 'piece' command loadable.
4085
4086 2014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4087 Prevent multi-path moves from parsing as ambiguous
4088
4089 In Cylinder Chess the MovesFromString() generator might generate duplicate
4090 moves, one wrapping, the other direct. When they were both counted as
4091 matching the SAN input move, Disambiguate() would think it an ambiguous
4092 move. So a move that came from the same square as the one we already
4093 have must not be counted.
4094
4095 2014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4096 Fix cross-edge e.p. capture in Cylinder Chess
4097
4098 ApplyMove() did not remove the e.p. victim when an edge-crossing e.p.
4099 capture was made, because e.p. rights are only set to neighboring files
4100 (after checking there is a Pawn there to capture). The e.p. heuristic
4101 has now been changed to also assume e.p. on file-changing Pawn moves
4102 that span a large number of files, assuming that these will be wrapping
4103 moves. Eventually we should change to better e.p. logic that can be
4104 integrated with engine-configured move generation, as the current system
4105 would fail for any Pawn that captures more than just neighbor ranks.
4106
4107 2014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4108 Implement Betza o modifier for cylinder boards
4109
4110
4111 2014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4112 Improve virginity test for engine-defined pieces
4113
4114 Two squares in the board are now reserved for flags that indicate
4115 whether back-rank pieces have been touched. This allows MovesFromString()
4116 to accurately test virginity of these pieces, rather than having to assume
4117 it when the piece matches that in the opening position. For other ranks
4118 the latter test is still used, as these are normally (irreversible) Pawns,
4119 which cannot return there (and in drop games, when they would, would again
4120 be considered virgin enough for the purpose of double-pushing!).
4121
4122 2014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4123 Implement Betza p and g modifiers in piece command
4124
4125
4126 2014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4127 Repair piece defs with showTargetSquares off
4128
4129 The proxy legality checking based on marking of target square was
4130 rejecting all moves when target squares were not highlighted.
4131
4132 2014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4133 Allow definition of castling in piece command
4134
4135 Castling is defined by the O atom, with a suffix indicating the number
4136 of steps the King must step in the direction of the corner. Kings keep
4137 their normal castling unless overruled by this. Can currently only be
4138 used on the variant's royal piece, as XBoard's ApplyMove() is not smart
4139 enough to understand displacing the corner piece is implied when it is
4140 used on other pieces.
4141
4142 2014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4143 Update description of piece command in protocol specs
4144
4145
4146 2014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4147 Improve SAN of Pawn moves and allow Betza e.p. definition
4148
4149 The move descriptions in 'piece' commands can now use 'i' and 'n'
4150 modifiers to define a blockable double push. ('n' only work for moves
4151 of stride 2!) The test for initial moves now is based on comparison with
4152 the opening position, rather than on a way-to-generous heuristic. (This
4153 still does not prove in generak the piece did not move, though, but it
4154 does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement
4155 this the rank and file of the e.p. square are now stored in the board.
4156 (EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess
4157 is not the file of the e.p. square!)
4158  The generation of SAN moves for Pawns can now reliably distinguish between
4159 captures and non-captures even in Berolina, when the move generator informs
4160 it whether the move was e.p. capture.
4161
4162 2014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4163 Retune -stickyWindows GTK
4164
4165 This still does not work well, and in particular windows refuse to stick
4166 to the top of the board window.
4167
4168 2014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4169 Fix detection of screen size GTK
4170
4171 A gdk call that can get the screen without there first being a window
4172 mapped to it is used now. This fixes initial sizing of the board window
4173 on a cold start.
4174
4175 2014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4176 Configure a size for the Eval Graph
4177
4178 If no size for the Eval Graph window is configured in the master
4179 settings file, the window will pop up as 2x4 pixels.
4180
4181 2014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4182 Prevent crash on specifying non-existent texture XB
4183
4184 By setting the texture width to 0 when the texture could not be loaded,
4185 XBoard will never attempt to draw it.
4186
4187 2014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4188 Configure some themes in XBoard master settings
4189
4190 The -themeNames option is set to contain some themes that could be
4191 defined with the default pieces and textures that come with XBoard.
4192
4193 2014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4194 Remove debug printf
4195
4196
4197 2014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4198 Control Eval Graph with mouse
4199
4200 Let mousewheel control evalZoom, and right-click toggle between
4201 normal view and differential view ('blunder graph').
4202
4203 2014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4204 Add extra font field to Option struct
4205
4206 Storing the font in the textValue field was too kludgy, as this field
4207 is already heavily used in the various Option types, for storing handles,
4208 or defining colors and callbacks. A 'font' field is now added at the end,
4209 so that it can be optionally initialized in the rare case it is needed.
4210
4211 2014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4212 Repair damage done by merging with v4.7.x
4213
4214
4215 2014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4216 Sort fail lows and fail highs below others
4217
4218 Every more recent line should always float up aove lines that were
4219 indicated to be fail lows or fail highs through ? or ! PV suffixes.
4220
4221 2014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4222 Describe the new texture conventions in manual
4223
4224 The exact rules for how textures are scaled in response to their
4225 filename is described in the manual.
4226
4227 2014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4228 Force exactly overlayed texture scaling through filename
4229
4230 A filename suffix -NxM.png on a texture image will cause XBoard to scale
4231 the image as if it were the image of a complete board of N files and M
4232 ranks, to make the square size equal to that of the current board,
4233 and adjust the cutting parameters such that contiguous squares are cut
4234 out of it. (If the current board format is larger than NxM, the remaining
4235 space will be padded with white!)
4236  If N=M=0, N and M are assumed to correspond to the current board size,
4237 and the bitmap will be scaled to fit the height of the board.
4238  If no suffix is present, the old cut-and-tile algorithm is used. It will
4239 be assumed the texture bitmap is intended for a single square, unless the
4240 pathname contains a file that starts with "xq", in which case it is assumed
4241 that the file contains a Xiangqi board.
4242
4243 2014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4244 Allow two Pawns per file in Tori Shogi
4245
4246 When the board has 7 ranks it is assumed to be Tori Shogi, and the
4247 requirement for maximally one Pawn per file is relaxed to two.
4248
4249 2014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4250 Test legality even when off if engine defined pieces
4251
4252 After reception of a piece command XBoard will mark target squares
4253 even when legality testing is off, and now also will require the lifted
4254 piece to land on a marked square (like when the engine highlighted them
4255 through a highlight command).
4256  A problem is that this does not work for drops, as drops do not mark
4257 target squares. So drops are always accepted. Which of course is bad
4258 for Pawn drops. But there really is no way yet for an engine to specify
4259 how pieces can be dropped, similar to the 'piece' command.
4260
4261 2014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4262 Fix texture scaling
4263
4264
4265 2014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4266 Implement engine-defined pieces
4267
4268 When legality testing is off, XBoard now listens to 'piece' commands
4269 to redefine its move generator. After such a piece command is received,
4270 target-square marking also can be used when legality testing is off.
4271 The engine keeps in charge of legality testing, though.
4272  Only a very basic version of Betza notation is currently understood for
4273 the move description: mode modifiers have to appear in the order mcd,
4274 and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not
4275 implemented at all. A leading i modifier limits the moves to the first
4276 two ranks, which is no good at all. (But XBoard does not keep track of
4277 which pieces have moved, and this at least would work for Pawns in a
4278 FIDE-like setup, in particular Berolina.)
4279
4280 2014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4281 Scale texture bitmaps that are not large enough
4282
4283 Texture bitmaps are now sized up by an integer factor to be at least
4284 as large as the board (if they seem intended for a full XQ board, which is
4285 assumed when they are larger than 256x256) or the square. This necessitated
4286 the textures to be re-initialized in InitDrawingSizes whenever the window
4287 size changes.
4288
4289 2014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4290 Ignore color arguments not starting with #
4291
4292 Old settings files from xpm-using version might still contain color
4293 designations like 'white' or 'red'. Since Cairo would interpret these
4294 as black, it is better to ignore them, so the default color is used.
4295
4296 2014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4297 Implement -autoInstall option
4298
4299 When -autoInstall is a non-empty string, XBoard will scan the system's
4300 plugin specs directories for UCI and WB protocol, to see if new engines
4301 were added since the last settings save. If so, they are added to the
4302 list of installed engines.
4303  The variants listed in the plugin-spec files are currently ignored,
4304 but the option is already configured to install engines for all variants.
4305
4306 2014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4307 Fix typo
4308
4309
4310 2014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4311 Make inlined functions static
4312
4313 Clang apparently chokes on non-static inline functions,
4314 and they were not used from other files anyway.
4315
4316 2014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>:
4317 updated spanish translation, added new polish translation
4318
4319
4320 2014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4321 Look for logo in engine dir first (GTK)
4322
4323 When setting engine logos, we look for a file logo.png in the engine
4324 directory, before trying <enginename>.png in the -logoDir. This is useful
4325 on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir,
4326 when using the latter (also in Xaw).
4327
4328 2014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4329 Fix checkmarking of OS X menu items
4330
4331 The routine MarkMenuItem() was moved to xboard.c, where it can see
4332 the OSX-specific #defines, and calls to sync_menu_bar were added
4333 to it, and to EnableNamendMenuItem().
4334
4335 2014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4336 Fix crash of tournament dialog GTK
4337
4338 The font/color disambiguation of the Option.textField in Label and
4339 ulti-line TextBox options cannot stand it if unused elements are
4340 initialized as "" rather than NULL.
4341
4342 2014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4343 Let OS X display dock icon
4344
4345
4346 2014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4347 Fix Xaw button color error
4348
4349 The textValue field, now also used to indicate font, was used in two
4350 places when popping up buttons, and the font patch only addressed one.
4351
4352 2014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4353 Make SVGDIR a variable
4354
4355 Replace all occurrences of SVGDIR in the source by svgDir, a char array
4356 that is initialized to SVGDIR, so that it can be altered at run time.
4357 This is needed to make portable apps. Where SVGDIR was used in string
4358 concatenation, the code had to be re-written to use snprintf to do the
4359 concatenation at run time, through a new function LoadIconFile.
4360 The extension of image files used there is now made dependent on the
4361 __APPLE__ switch, so that it can use .png in OS X (which does not seem
4362 to understand SVG icons).
4363
4364 2014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4365 Fix warning in dead code Show
4366
4367
4368 2014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4369 Reorder variants, to comply with Polyglot book specs
4370
4371 XBoard's variant number is used as a key to access Polyglot opening
4372 books, and thus cannot be changed without consequences. (As it was when
4373 we introduced ASEAN and Chu Shogi.)
4374   We also renamed Chu Chess to Elven Chess (under which name it is now
4375 described on chessvariants.org).
4376
4377 2014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4378 Reserve piece command in protocol specs
4379
4380
4381 2014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4382 suppress Alien Edition standard variants
4383
4384 Variants that are standard in the Alien Edition should not be
4385 recognized as engine-defined variants: the engines that announce
4386 them will not respond with the required setup command, so allowing
4387 the user to select them just leads to trouble.
4388
4389 2014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4390 Fix SetWidgetFont GTK
4391
4392 This was testing for an empty font spec in the wrong way, with as a side
4393 effect that some pointers to font strings would be interpreted as colors.
4394
4395 2014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4396 Update protocol specs
4397
4398
4399 2014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4400 Let message field and button bar use GTK -messageFont
4401
4402 The -messageFont spec (using the default coordFont pixel size, like the
4403 others) is now used to modify the fonts of message field and buttons
4404 in the button bar. They pass a pointer to the appData font variable in
4405 their Option's textField. This conflicts with the use of this field in
4406 buttons for specifying a color, as done in the New Variant buttons.
4407 This is resolved by checking if the first byte of the pointed-to value
4408 is a #. The Xaw version must ignore the textField if it does not
4409 specify a color.
4410
4411 2014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4412 Fix GTK fonts
4413
4414
4415 2014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4416 Use coordFont default pixel size for other fonts
4417
4418 The message-font is way too large for the dialogs. A better solution
4419 would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as
4420 this file is front-end-specific anyway.
4421
4422 2014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4423 Use -gameListFont in Game List
4424
4425 Not implemented in a very generic way, but hacked into the code that
4426 added the handler. There aren't many other listboxes that would need
4427 adjustable font.
4428
4429 2014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4430 Fix Chat window for Xaw build
4431
4432 The ICS output field and Hide button are removed from the ICS Interaction
4433 window, to make it similar to the old Chat window. This required adding
4434 some tests in the handlers of this window, to prevent segfaults due to
4435 accessing it.
4436
4437 2014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4438 Fix infinite-regression problem on OS X
4439
4440 Apparently the OpenFile handler can already be called during
4441 gtkosx_application_ready (or gtk_signal_connect), so we have to make
4442 sure 'suppress' is set before we call those.
4443
4444 2014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4445 Correct for .Xresources form->paneA renaming in manual
4446
4447 In the Xaw build the name of the form widget of dialog.layout.form...
4448 hierarchy was changed to paneA, paneB, ... when allowing multi-pane
4449 dialogs through the Break Option (such as the Engine Output window).
4450
4451 2014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4452 Use GTK fonts in Engine Output and Move History
4453
4454
4455 2014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4456 Include some conditional OS X fixes
4457
4458 DATADIR must be corrected to ~~ in the OS X app, and the info command
4459 must be started in a different way.
4460
4461 2014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4462 Fix WB DoEvents error
4463
4464
4465 2014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4466 Limit auto-extending to click on first move of PV
4467
4468 Even when auto-exted on clicks on the tail of a PV will no longer cause
4469 any moves to be added to the game. Only clicks on or before the first
4470 move can do that now.
4471
4472 2014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4473 Animate multi-leg in auto-play and forward event
4474
4475 Replaying multi-leg moves is now also done by animating both legs.
4476 In addition, the highlights are set on final and intermediate square,
4477 rather than from-square.
4478 (There seems to be a great deal of code duplication here. Why doesn't
4479 AutoPlayOneMove simply call ForwardInner?)
4480
4481 2014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4482 Fix key bindings for non-menu functions
4483
4484 The accelerator keystrokes for next game, previous game and debug mode,
4485 which don't have menu items, and are grouped in the menu table 'noMenu',
4486 were not treated in the building of the translation table, as 'noMenu'
4487 does not occur on the menu bar. An extra iteration is done now to
4488 treat this menu group.
4489
4490 2014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4491 Fix Xaw key bindings
4492
4493 The routine to automatically construct the translation table for
4494 accelerator keys did not respect the rule that more specific keystrokes
4495 (like :Meta<Key>Home:) have to be defined before more general ones
4496 (like :<Key>Home:). As a result Alt+Home would activate the Revert
4497 item, intended for plain Home.
4498
4499 2014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4500 Define default font names
4501
4502
4503 2014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4504 Fix MSVC problems
4505
4506 Book.c did not include config.h, and thus missed the redefinition of
4507 snprintf (which is not known in MSVC). The use of 'inline' in parser.c
4508 also needed an MSVC redefinition, now added to winboard/config.h.
4509
4510 2014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4511 Fix GTK font patch
4512
4513
4514 2014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4515 Replace strcasecmp by StrCaseCmp
4516
4517 The MicroSoft compiler does not know strcasecmp, so we better use
4518 our own function for this everywhere.
4519
4520 2014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4521 Let GTK build pay attention to font arguments
4522
4523 Multi-line text edits now use the initial value of the Option.textValue
4524 field as a pointer to a (char*) holding a font name, to be used for
4525 the text displayed in it. (After which they overwrite the field with
4526 the textView handle.) The font options -tagsFont, -commentFont, icsFont,
4527 -moveHistoryFont and -gameListFont are now activated in the GTK build,
4528 to control the corresponding memos.
4529
4530 2014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4531 Fix auto-display comment option in General Options
4532
4533 This options had the same ID as auto-Queen, making it ignored.
4534
4535 2014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4536 Call DoEvents during time-consuming operations
4537
4538 Processing of a game file for reading it, searching positions, saving
4539 selected games or creating a book from them can take minutes. To keep
4540 the application responsive during that time, the main loops of those
4541 tasks calls DoEvents(). A possible risk is that the user can now do
4542 too much, and will initiate actions that interfere with the tast in
4543 progress.
4544
4545 2014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4546 Fix GameListHighlight WB
4547
4548 The routine to highlight a game line in the Game List listbox of WinBoard
4549 used an extremely inefficient linear search to find the game amongst the
4550 selected games. This has now been replaced by bisection, after finding
4551 an upper limit to the number of entries in the listbox by doubling
4552 a trial size.
4553
4554 2014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4555 Provide DoEvents function in front-ends
4556
4557 A routine to process all pending events in a non-blocking way is now
4558 provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming
4559 tasks (such as PGN loading or opening-book creation) can call it to keep
4560 the user control over the application alive.
4561
4562 2014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4563 Fix syntax error in bitbase code
4564
4565
4566 2014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4567 Describe Save Selected Games menu in manual
4568
4569
4570 2014-09-06 22:29:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4571 Let Save Games as Book only use selected games
4572
4573 The book-creation code now only takes games into account that are
4574 selected for display in the Game List.
4575
4576 2014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4577 Rewrite key-binding section of manual
4578
4579 This section still wrongly described the key-binding procedure from
4580 before the rewrite of the XBoard front-end.
4581
4582 2014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4583 Connect scroll event to Graph Option in GTK
4584
4585 The mouse wheel is now detected in graphics widgets, and passed to
4586 the user handler as button 4/5 mouse events.
4587
4588 2014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4589 Make sure node count is positive
4590
4591 Engines that print the node count as an int overflow into negative values
4592 when the count exceeds 2G. This is really an engine bug, but as it
4593 interferes extremely annoyingly with the alignment of the Thinking Output
4594 XBoard now repairs it by adding 4G to undo the overflow.
4595
4596 2014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4597 Connect mousewheel to Forward/BackwardEvent (XB)
4598
4599 The mouse buttons 4 and 5 are now processed in the handler for the
4600 board widget.
4601
4602 2014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4603 Fix size of time in Engine Output window
4604
4605 When the thinking time exceeds an hour, the format hr:min:sec is now used,
4606 in stead of min:sec.cents. This prevents the field from extending beyond
4607 the tab stop when thr hours kick in, and should work upto 100 hrs.
4608 (Going beyond that at the moment does not seem useful.)
4609
4610 2014-09-04 22:57:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4611 Verify if font-spec looks like one in Xaw
4612
4613 To make XBoard resistant to mixed use of Xaw and GTK builds, which
4614 would not understand each others font specs stored in the settings
4615 file (they have in common), we now determine if the value looks like
4616 an X-font. If it doesn't, the Xaw version ignores it. The GTK build already
4617 ignored it if it did lool like an X-font spec.
4618
4619 2014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4620 Fix alignment in Engine Output window
4621
4622 Numbers above 1000M would become too wide for their field. This is
4623 solved by introducing the abbreviation 'G'. Values below 10M or 10G
4624 now get an extra digit in their fraction, so that the precision is
4625 at least 1%.
4626
4627 2014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4628 Add Save Selected Games menu item
4629
4630 A menu item to save all selected games in the Game List on a single
4631 file is added.
4632
4633 2014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4634 Add final piece count to search criteria
4635
4636 The Load Options dialog now has a text field in which a range can be
4637 entered (like 8-10). Position search will then only select games that
4638 had their final number of pieces in this range.
4639
4640 2014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4641 Fix castling rights on using -lgf
4642
4643 The dummy InitPosition to force loading pieces was taking place after
4644 InitBackend2(), while the latter could have already loaded a game
4645 from an -lgf argument (which would then be spoiled by the InitPosition).
4646 It has been moved to before InitBackend2() now.
4647
4648 2014-07-29 15:03:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4649 Fix crash on double-click in Game List Tags
4650
4651 A double-click in the Game List Tags listbox has no function, but it
4652 crashed XBoard, because the textValue field of teh ListBox Option definition,
4653 supposed to contain a pointer to the user-supplied handler, contained a
4654 pointer to an empty string.
4655
4656 2014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4657 Fix typing of null moves
4658
4659 Entering a null move through the move type-in could fail because the
4660 to-square coordinates (not used in its encoding) could have invalid values,
4661 which would reject the move in an early stage of UserMoveEvent().
4662 Null moves are now exempted from this vaidity test, while variants where
4663 null moves are legal now accept them in any gameMode.
4664
4665 2014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4666 Fix adjusting clocks in Xaw version
4667
4668 The handler attached to Label options failed to flip the sign of the
4669 option number when a button other than Button1 was pressed, so that time
4670 would always be subtracted on Shift + ClockClick and never added.
4671 Shift now also suppresses interpretation as null move when playing.
4672 (In Analyze / EditGame mode it is still null move starting a variation.)
4673
4674 2014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4675 Fix null-move entry during play
4676
4677 Null moving by clicking the clock was only accepted in Edit Game and Analyze
4678 mode, while in Chu Shogi and spin-offs it is also allowed during play.
4679 An F_NULL_MOVE flag was introduced to make it easy to test for such variants,
4680 and Machine White/Black mode now also interpret clock clicks as a null move
4681 if the opponent's flag has not yet fallen.
4682
4683 2014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4684 Let EditPosition double-click on piece promote it
4685
4686 For pieces with Shogi-like promotion (i.e. if the promoted piece has
4687 pieceToChar defined as '+'), let a second click on it in Edit Position
4688 mode promote or demote it (as the case requires) when the piece menu is off,
4689 rather than remove it (as was the old behavior.
4690
4691 2014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4692 Make EditPosition pallette work in Asian variants
4693
4694 Construction of the pallette position was not working in variants that
4695 did not have Pawns start on 2nd rank, or that had multiple ranks of pieces.
4696 Now the algorithm is applied to all ranks.
4697
4698 2014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
4699 Fix crash on opening Tags window Xaw
4700
4701 Suppressing the optional book button made the Xaw generic popup crash,
4702 because the following button had the SAME_ROW modality, and was thus
4703 positioned w.r.t. a non-existent widget.
4704
4705 2014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4706 Fix writing of Chu-Shogi FENs
4707
4708 Promoted pieces were getting the wrong ID letter, of the piece demoted
4709 by 11, rather than 22.
4710
4711 2014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4712 Allow pseudo-engines to adjust the clocks
4713
4714 Implement new options -first/secondPseudo, which declare the corresponding
4715 engine to be a pseudo-engine, which will then be granted super-powers
4716 through some new engine->GUI commands. For instance, to adjust the time
4717 remaining on the GUI clocks through wtime and btime commands (using msec).
4718
4719 2014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4720 Fix piece inscriptions
4721
4722
4723 2014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4724 Fix reading Chu Shogi FENs
4725
4726 The X (for Phoenix) was interpreted a 10 empty squares.
4727
4728 2014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4729 Fix loading positions in engine-defined variant
4730
4731 Paste Position did not work when an engine-defined variant had redefined
4732 the pieceToCharTable, as the position would be interpreted and sent to the
4733 engine before receiving the setup command. Copying the pieceToCharTable
4734 received from an earlier game to appData cures this, because it will then
4735 be used by InitPosition, which would reset the table to default otherwise.
4736  Another problem was that setupSpoiledMachineBlack would not be reset
4737 after a game with no moves, leading to a spurious 'go' command to the engine.
4738
4739 2014-03-17 23:05:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4740 Render inscriptions on Chu-promoted pieces in red
4741
4742
4743 2014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4744 Allow writing text on pieces
4745
4746 A new persistent string option -inscriptions allows the user to define
4747 characters to be written on the various piece types. The string is
4748 interpreted as UTF-8. This option is useful for on-the-fly synthesis
4749 of Shogi pieces, where the string can contain the various kanji in
4750 the canonical pieceToCharTable order. Except that only a single color
4751 has to be given.
4752
4753 2014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4754 Fix initial sizing of board
4755
4756 Previous patches had destroyed the ability to obey the -size option.
4757
4758 2014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4759 Fix width of menu bar
4760
4761 The truncated name might not have been terminated with '\0'.
4762 TinyLayout now specifies the number of characters kept in the menu names.
4763 In the OS X version truncating is never needed, as the menu bar is
4764 at the top of the screen, independent of board size.
4765
4766 2014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4767 Fix warnings fonts patch
4768
4769
4770 2014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4771 Implement (clock-)font handling in GTK
4772
4773 The options -clockFont, -coordFont and -messageFont are activated,
4774 and supposed to have string values like "Sans Bold 12". The default
4775 values have the point size as 'wild-card' %d, however "Sans Bold %d",
4776 and are expanded by a printf with the point size taken from the defaults
4777 table. The expanded versions are saved back into the settings file,
4778 prefixed with a size tag, as usual.
4779  So far -clockFont is the only font that is actually applied while
4780 writing.
4781  The 'clock kludge' was interfering with the initial sizing, as for some
4782 sizes the initial clock-widget height happened to be equal to the final
4783 height. It was therefore abandoned, and we seem to be able to live without
4784 it.
4785  Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar.
4786 Therefore tinyLayout now uses single-letter menu labels.
4787
4788 2014-03-02 20:45:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4789 Also search indirection files in user's .xboard tree
4790
4791
4792 2014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4793 Fix error Engine Output text highlighting
4794
4795 In wengineoutput.c higeTextStart and End where decalred both static and
4796 extern, which somecompilers justifiably don't like.
4797
4798 2014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4799 Fix Board-dialog bug WB
4800
4801 The drawing code for the sample square did ot restore the correct brush.
4802
4803 2014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4804 Fix various warnings
4805
4806 Mostly written but never read errors. Also removed a debug printf that was
4807 causing a format warning.
4808
4809 2014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4810 Kludge repair of expose after startup resize
4811
4812 Redraw of the main board after resize is delegated to DragProc, which is
4813 scheduled after a delay, to make sure the user is done sizing (mainly to
4814 reposition docked windows). But at startup the program-requested resize when
4815 an engine does not support variant normal and needs a different board format
4816 takes so long that the finale size expose occurs after the DragProc timeout.
4817 As a result, the board was never drawn on the resized canvas.
4818   This is quite hard to fix in a satisfactory way. For now the suppression
4819 of board redrawing during resize is disabled during the first 10 seconds
4820 after startup, as any resize during that time is likely to be the result
4821 of a program request.
4822
4823 2014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4824 Use first engine as default for second
4825
4826 Rather than having the same fixed default for both engines, we noww only
4827 have a fixed default for the first, and use the actual first as default
4828 for the second. One advantage is that this guarantees the second engine
4829 plays the same variants as the first by default.
4830
4831 2014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4832 Allow adding played move to book
4833
4834 A button is added in the Edit Book dialog to prime XBoard for adding the
4835 next move entered through the user interface to the book window, without
4836 actually playing it.
4837
4838 2014-02-23 22:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4839 Play move right-clicked in Edit Book dialog
4840
4841 A handler for button-3 down-clicks is added to the Edit Tags dialog,
4842 which fakes the clicked word was typed in the move type-in box.
4843
4844 2014-02-23 19:23:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4845 Fix pop-down of ChatDlg and TextMenuDlg from menu
4846
4847 Unlike other windows these two would not react to clicking the menu item
4848 once they were up. Now they pop down in that case.
4849
4850 2014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4851 Preserve window width on board-format change
4852
4853 When a variant switch would cause recalculation of the board window,
4854 we now first recalculate square size to keep the window width fixed.
4855 Also adapt initial width on high boards.
4856
4857 2014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4858 Equip Board Options dialog with themes listbox
4859
4860 The option -themeNames is made persistent for XBoard, and its value is
4861 displayed in a listbox added to the View -> Board dialog. The user
4862 can select themes from this, and manipulate the contents similar to
4863 the engine list in Load Engine. A textedit allows the user to define a
4864 theme name for the current settings, and doing so adds the theme to the
4865 -themeNames list.
4866
4867 2014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4868 Implement copy function in ICS Text Menu
4869
4870 A command consisting of the word $copy will place the clicked word on
4871 the clipboard. When there was already text selected during the click,
4872 that selected text will be used for $copy and $name, rather than the
4873 right-clicked word.
4874
4875 2014-02-07 09:48:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4876 When ICS Console open EOF from keyboard is no error
4877
4878 In case the user started without a terminal, we just close the input source,
4879 and suppress future writing to the xterm.
4880
4881 2014-02-06 18:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4882 Leave xterm at start of new line after quitting XBoard
4883
4884
4885 2014-02-06 18:36:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4886 Also display channel tell in ICS Console during private chat
4887
4888 Channel tells of players for which a chat wa opened were displayed in that
4889 chat, as well as in the channel chatbox, if the latter was open. But when
4890 there was no channel chatbox it would not appear as colorized channel tell
4891 in the console. This is now fixed, and in the private chat box such a
4892 message is indicated as 'broadcast'.
4893
4894 2014-02-05 23:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4895 Write broadcasts also to private chatbox of talker
4896
4897 The shouts or channel chatboxes capture messages first, but if a private
4898 chat with the talker is opened, it now goes there too. Prefixed with
4899 the type of broadcast.
4900
4901 2014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4902 Fix Xaw Chat Console
4903
4904
4905 2014-02-05 22:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4906 Let Ctrl-O key open chat for last talker
4907
4908
4909 2014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4910 Add End Chat button
4911
4912 This button clears the current chat, so that it becomes free for
4913 assignement to another partner.
4914
4915 2014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4916 Ctrl-N in chat opens empty chat
4917
4918 This key isequivalent to pressing the left-most New Chat button.
4919 If no unused chat present, it the command will be ignored.
4920
4921 2014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4922 Preserve unfinished input lines during chat switch
4923
4924 This is problematic, as apparently we cannot write in widgets that are
4925 active with key hits, so attempting to write it back in response to Tab
4926 did not work. This is now done with a delay, for lack of a better method.
4927
4928 2014-02-04 13:57:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4929 Recognize Esc and Tab in ICS Console input
4930
4931 Esc is used to close the chat, or transfer focus to the board window.
4932 Tab is used to navigate between chats (or open the first). Priority
4933 is given to dirty chats.
4934
4935 2014-02-03 20:35:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4936 Let ICS Console pop up GTK in stead of ICS Input Box
4937
4938
4939 2014-02-03 19:45:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4940 Add context menu to ICS console XB-GTK
4941
4942 A right-click handler is added to the output memos of the ICS Interaction
4943 window. It pops up the ICS text menu. It is remembered whether the menu
4944 was already up; if not, it will be popped down after a command is selected
4945 from it. Like the WinBoard context menu, the commands will be able to use
4946 the clicked word.
4947 The -icsMenu 'command' $chat is now recognized as a special case, not to
4948 be sent to the ICS, but executed by XBoard. It will assign one of the
4949 five chats to the clicked name. If no empty chat is available, the last
4950 chat will be used (but not cleared).
4951  The -icsMenu in the master config file is now configured to contain
4952 this command, but unfortunately this will not become effective for users
4953 that already have a settings file.
4954 The Text Menu now puts $input commands in ICS Console Input field when the
4955 ICS Input Box is not up.
4956  The text placed in the input field for completion (as per $input directive)
4957 turned out to be selected in GTK, so that when you stated typing, it was
4958 erased again!
4959  By making the Text menu dialog subject to WindowPlacement control,
4960 and interrogating the poition of the ICS Console window, the Text Menu
4961 can be popped up such that the mouse pointer is on the bottom-left button.
4962
4963 2014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4964 Integrate ICS output into Chat Window
4965
4966 An extra pane has been added to the Chat Window to display the ICS output.
4967 In GTK this output is colorized just as in the xterm. For Xaw this is not
4968 possible. This pane is always visible, and the chat output can be hidden,
4969 to double its size. Entered input will go to the selected chat (when not
4970 hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner
4971 field is hidden together with the chat pane and the Hide button. Each of
4972 the five chats now has a dedicated button; for unused chats (empty Chat-
4973 Partner field) these now gets the text 'New Chat' inscribed on it.
4974 Focussing is made more intelligent (to the Partner field when shown and
4975 empty, otherwise to the input field).
4976 The Up and Down arrows now work in the input field to recall old input.
4977  ScrollToCursor() was broken in GTK, because a mark was made for only
4978 a single buffer. Now each buffer has its own end mark.
4979  Another problem was that using ScrollToCursow immediately after a memo
4980 was shrunk (because a neighboring one expanded) it would still use the
4981 old memo size, so that the bottom part remained out of view. Delaying it
4982 50 ms solved that problem.
4983  A new option -icsUp was added to store the visibility in the settings.
4984 It is updated only in ICS mode. The ICS Console pops up automatically
4985 when the stored parameters say so. It is also made sticky.
4986  Unlike the xterm the textView does not extend background color to unwritten
4987 positions behind the line. A separate GTK call is now added to set the
4988 unwritten part to the same color as the background in normal text.
4989  A  control was added in the ICS Options dialog for setting the colors
4990 of normal text (-colorNormal).
4991
4992 2014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4993 Add logo-size control XBoard
4994
4995 This is mainly for the benefit of OS X useres who cannot find their
4996 settings file. It requires a restart to become effective, which is
4997 really sub-standard.
4998
4999 2014-02-02 17:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5000 Add Edit Engine List menu item to XBoard
5001
5002 In OS X the settings file is hard to find...
5003
5004 2014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5005 Fix warnings
5006
5007 Some unread variables are commented out, rather than removed, because they
5008 can be useful for future development.
5009
5010 2014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5011 Fix moves of Spartan Captain
5012
5013 The rewrite of the move generator did no longer pay attention to rookRange,
5014 so that the Spartan Captain moved like a Rook.
5015
5016 2014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5017 Add Option type 'Skip'
5018
5019 The value -1 used to suppress rendering of option controls was drawing
5020 error messages, because enums are unsigned. So a new member Skip was added
5021 to the enum.
5022
5023 2014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5024 Detect Fischer castling in FENs
5025
5026 Castling rights with unorthodox piece placement imply Fischer castling.
5027 Make sure shuffling is done after detecting this, because it means K & R
5028 can also be shuffled (as long as K remains between both R).
5029
5030 2014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5031 Allow shuffling indicators in FEN
5032
5033 If the back ranks are enclosed by < > in a FEN, the route to shuffle
5034 initial positions is invoked on it.
5035
5036 2014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5037 Allow wild-cards in FEN
5038
5039 A question mark in a FEN will now be interpreted as a piece randomly
5040 chosen from the holdings. (From which it will be removed.) Intended
5041 for use in symmetric black/white pairs; when used on asymetric locations
5042 or with non-identical holdings the results will be undefined.
5043
5044 2014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5045 Fix Seirawan reverse-castling animation
5046
5047 In Chess960 animation of castlings is suppressed, because the move is encoded
5048 as KxR, so that the to-square in general is not the final destination of the
5049 King. So it is just confusing to the eye to see the King slide to the Rook,
5050 and then jump to an entirely different square. In S-Chess castlings can
5051 similarly be encoded as RxK (to indicate gating at the Rook square), and
5052 animation of those moves should be suppressed for the same reason. But it
5053 wasn't, and in Fischer castlings denoted as RxK this even caused the Rook
5054 to disappear when it didn't need to moved.
5055  Perhaps one day a smart method of animating Fischer castlings can be
5056 designed. (E.g. remove Rook, animate King move to true to-square, place Rook?
5057 But what if the King doesn't move at all? Animate Rook then? Normal castlings
5058 now animate the King, and then just displace the Rook.)
5059
5060 2014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5061 Make Fischer castling generally available
5062
5063 A new volatile option -fischerCastlings allows every variant to be played
5064 with Fischer castling, which so far was only allowed in variants FRC/CRC.
5065 This only makes sense in shuffle variants, where King and Rooks might not
5066 be in their orthodox locations. But even when they are, it has consequences
5067 for the user interface, which will require dragging King on Rook as the only
5068 way to enter castling. Like -shuffleOpenings the setting will be cleared
5069 as soon as you switch variant (unless you switch to FRC/CRC, where they
5070 Fischer castling is on by default). It can be set from the New Shuffle dialog.
5071
5072 2014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>:
5073 updated po/pot files
5074
5075
5076 2014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>:
5077 new version number for developer release
5078
5079
5080 2014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>:
5081 updated Dutch translation
5082
5083
5084 2014-01-19 20:44:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5085 Put ponder checkbox in Common Engine dialog WB
5086
5087 This is yet another duplicate of the one in General Options and Adjudiactions.
5088
5089 2014-01-19 20:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5090 Expand %s in -openCommand to DATADIR and fix OSX settings-file name
5091
5092 This can be used in OS X to biggy-back a cd to a directory in the App
5093 on the open command.
5094
5095 2014-01-18 23:42:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5096 Add some checkboxes in General Options dialog WB
5097
5098 Checkboxes are added for -variations, -memoHeaders and -autoExtend.
5099
5100 2014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5101 Fix warning in CheckTest
5102
5103
5104 2014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5105 Fix printing of engine-output headers
5106
5107 They were not printed on analyis of the first position after opening
5108 the Engine Output window.
5109
5110 2014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5111 Fix sticky windows on Win8
5112
5113
5114 2014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5115 Drag touching edges together (WB)
5116
5117 When an auxiliary window is dragged by an edge, the snap code now checks
5118 if that edge was touching another window. If so, that other window is sized
5119 to keep touching the dragged edge. Unless it was also touching the main
5120 window.
5121
5122 2014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5123 Implement new mate-score standard
5124
5125 Matescores are now indicated in the protocol as +/- 100000+DTM,
5126 and in the Engine Output window as #DTM or #-DTM.
5127
5128 2014-01-15 21:28:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5129 Put fail-high/fail-low indicators in protocol specs
5130
5131
5132 2014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5133 switch to new tbhits protocol
5134
5135 The extended info is now expected as 3 bare integers, the last one
5136 separated from the PV by at least one tab character.
5137 The protocol extension is described in the CECP specs document.
5138
5139 2014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5140 Fix sorting of Engine Output
5141
5142 The moveKey of the top line was never stored, so that more recent
5143 lower scores could not pass it even if they had the same move.
5144
5145 2014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5146 Handle fali-low & fail high
5147
5148 A ? or ! at the end of the PV are now also written behind the score.
5149
5150 2014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5151 Implement extended thinking output
5152
5153 The PV field can now start with three quantities, selective depth,
5154 engine speed and tablebase hits, disguised as PGN comment. XBoard will
5155 strip that off, and allow them to be displayed in separate columns of
5156 the engine-output window.
5157
5158 2014-01-14 14:46:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5159 Allow hide/show of columns in Engine Output
5160
5161 A new persistent Boolean option -memoHeaders enables a new feature:
5162 text headers are shown above the depth, score, nodes, time columns in the
5163 engine output. Right-clicking them will subsequently hide the corresponding
5164 data, and move the column header to above the PV in a 'not shown' list,
5165 where it can be clicked again to re-open the column.
5166 Configure maseter settings to switch -memoHeaders on by default.
5167
5168 2014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5169 Fix ManProc for OS X
5170
5171
5172 2014-01-14 10:02:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5173 Fix access to ~~/themes/conf for OS X
5174
5175 In OS X DATADIR is a variable.
5176
5177 2014-01-13 19:23:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5178 Add 'Continue later' button to Tournament dialog XB
5179
5180 To do GenericReadout without triggering a call to the OK function,
5181 we introduced a new value for the option-number parameter, -2.
5182
5183 2014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5184 Fix Tournament Options dialog
5185
5186 Deleting a Label option had renumbered the remaining Options, breaking
5187 the dialog and causing a crash when an engine was selected. A considyency
5188 check is now added to catch this condition, and throw an error popup
5189 when we mess up again.
5190
5191 2014-01-13 17:09:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5192 Allow popup of TC and Common Engine from Tournament dialog
5193
5194 A new dialog class MasterDlg was added, similar to TransientDlg,
5195 but to allow two dialogs to be up simultaneously. The Tournament Options
5196 dialog was migrated to this class, so it can now get buttons to pop up
5197 the Time Control and Common Engine dialog, like WinBoard. It even has
5198 a button for the General options dialog.
5199 Special care had to be taken to prevent popdown of the MasterDlg when
5200 a Transient child is still up (similar to browser or error childs).
5201
5202 2014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5203 Add --show-config special option
5204
5205 This prints a list of configure parameters, and then exits. If a second
5206 argument is given, it only prints the value of that config parameter,
5207 so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu
5208 can be used in install scripts of packages with piece images.
5209
5210 2014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5211 Overhaul kill code
5212
5213 Engines were not always forcefully killed in XBoard, which could make
5214 the tournament manager hang when an engine became unresponsive to "quit".
5215 The various levels of killing are now revised, and the -delayAfterQuit
5216 is absorbed in DestroyChildProcess(). There is a hard killing mode 9,
5217 which immediately sends SIGKILL, intended for engines that have already
5218 proven to malfunction or could not start at all. In other cases SIGTERM
5219 is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1
5220 sec later just in case the SIGTERM would be ignored.
5221
5222 2014-01-13 13:38:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5223 Fix name of master settings file in OS X
5224
5225 The name needs to be relative to the bundle path, but ~~ expansion
5226 did not work for compiled-in defaults, as the expansion takes place
5227 when parsing an option. The dataDir is now also kept in an array rather
5228 than as a pointer, to allow it to appear in statically initialized tables.
5229
5230 2014-01-08 16:25:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5231 Fix Chu promotion of L, HM and GB
5232
5233 The promotion popup would not be shown for HM and GB with legality testing
5234 on because the piece types used for them were wild-card pieces. The Lance
5235 was treated as a Pawn in HasPrmotionChoice().
5236
5237 2014-01-08 16:09:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5238 Remove redefine of DATADIR that leaked in from v4.7.x
5239
5240 2014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>:
5241 updated po/pot files
5242
5243
5244 2014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>:
5245 new version number for release 4.7.3
5246
5247
5248 2014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>:
5249 updated copyright to 2014 in menu.c
5250
5251
5252 2014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>:
5253 removed .DS_Store file from git
5254
5255
5256 2014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>:
5257 Updated copyright notice to 2014
5258
5259
5260 2014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>:
5261 cleanup some trailing whitespaces
5262
5263
5264 2013-12-29 13:46:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5265 Fix crash on use of dialog Browse buttons GTK
5266
5267 The code to set a filter did not expect multiple extensions, and would
5268 cause a buffer overrun when there were.
5269
5270 2013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5271 Make building of Windows .hlp file optional
5272
5273 By using && and || operators in the build recipe, the building of WinBoard
5274 with Cygwin is now not aborted whe the Help Compiler is not installed.
5275
5276 2014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5277 Use __APPLE__ compile switch for OS X
5278
5279 It seems that on Apple machines the compiler will always define the
5280 symbol __APPLE__, so this is now used instead of OSX, which had to
5281 be defined with a -DOSX compiler flag. The gtkmacintegration header
5282 is now using <> in stead of "" in its #include. (Strange enough both
5283 were working.)
5284
5285 2014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5286 Expand ~~/ to bundle path (OSX)
5287
5288 DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op
5289 there. Same for Linux compiles. For OS X it is #defined as a variable,
5290 obtained from GTK-OSX at startup.
5291
5292 2013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5293 Activate ManProc in GTK
5294
5295
5296 2013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5297 Remove use of strndup
5298
5299 The use of strndup was actually unsafe, as the length was passed using
5300 an ordinary strlen. strndup was not availableon OS X 10.6, and is now
5301 replaced by an ordinary strdup, which should be save enough.
5302
5303 2013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5304 Put some OSX code into gtk version
5305
5306 Under control of #ifdef OSX code is added to integrate the GTK front-end
5307 into OS X. This involves moving the menu bar to outside the window, and
5308 catching the signal that OS X sends to running applications when opening
5309 another instance was requested. Som files are renamed to conform to the
5310 file tree of the OS X App package.
5311
5312 2013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5313 Cure weirdness when dragging outside of board
5314
5315 Dragging outside the board (when people maximized the window) did not
5316 properly restore background, (leaving a trail of dragged piece). Filling
5317 the canvas with white when it is creatd cured this. The problem most likely
5318 was that unitialized cairo surfaces had transparancy, and writing back
5319 transparancy doesn't helpmuch to erase things.
5320
5321 2013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5322 Fix sorting of lines in Engine Output
5323
5324 Lines tat were fail-lows or fail-ighs should get the scores on the basis
5325 of wich they are sorted corrected to that of te line (for the same move)
5326 superceding them, so that other moves can rise to above them, when they
5327 score higher than the corrected score.
5328
5329 2013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5330 Make filler variant button inactive
5331
5332
5333 2013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5334 Fix packing of FRC castlings
5335
5336 The routine for packing moves to the internal database format was not
5337 working for FRC castlings, totally messing up position search for FRC
5338 and CRC.
5339
5340 2013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5341 Fix Xaw file-browser New Directory
5342
5343 Prevent people from using the error messages that will be printed here
5344 as directory name by pressing New Directory a second time after first
5345 pressing it with an empty or existing name.
5346
5347 2013-12-05 16:14:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5348 Widen Xaw text entries for larger square sizes
5349
5350 Presumably people will use larger fonts if they use larger board squares.
5351 (And in any case te default fonts would be larger.) This means they need
5352 more space to see what is the current value of text options.
5353
5354 2013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5355 Remove width limiting of shuffle checkbox
5356
5357
5358 2013-11-28 13:30:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5359 Allow castling and e.p. to be edited in opening book
5360
5361
5362 2013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5363 Repair FRC A-side castling legality testing
5364
5365 XBoard allowed A-side castling when a rook started on the a-file,
5366 and the b-file was blocked.
5367
5368 2013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5369 Repair XBoard from node-count patch
5370
5371 u64 was #defined in backend.h, which unfortunately was almost alwats
5372 (Not sure why WinBoard did not suffer from this!) This, and related
5373 definitions have now been moved to common.h (which is always #included
5374 first).
5375
5376 2013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5377 WinBoard multi-monitor support
5378
5379 A patch provided by Tim Kosse
5380
5381 2013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5382 Fix node count range
5383
5384 The node count was still clipped to 32 bit because one of the structs
5385 it passes through (FrontEndProgramStats) had the nodes field declared
5386 as an unsigned long.
5387
5388 2013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5389 Fix adjudication of Giveaway stalemates
5390
5391 The case where the side-to-move would win by stalemate was not treated
5392 in the Adjudicate switch.
5393
5394 2013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5395 Fix buffer overflow in parser
5396
5397 When a line ended with a comment, the parser had to read a line ahead
5398 to check if there was a PGNresult following, without being able to
5399 throw away the previous line yet. This could lead to buffer overflow
5400 in a long game where every line ended in a comment. The buffer now is
5401 cleansed of already parsed data when starting on a new syntactical unit.
5402
5403 2013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5404 Fix -zippyVariants option
5405
5406 Due to the change of cps->variants from (char []) to (char *), copying
5407 zippyVariants to it on behalf of v1 engines would no longer work. This
5408 is fixed by using ASSIGN() in stead of safeStrCpy().
5409
5410 2013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5411 Fix initial board sizing WB
5412
5413 The initial board size was based on the assumption the board would be 8x8.
5414 This could push auxiliary windows off screen if the board was smaller,
5415 after which EnsureOnScreen would undock them and park them in the upper-
5416 right corner before the board assumed its true size. InitPos() is now called
5417 before the initial sizing to et the board format correctly, InitDrawingSizes()
5418 had to be made resitant to calling before a board size was picked for this
5419 (because InitPos() might call that too).
5420   ActivateTheme() now uses the new board size, not the previous one (as was
5421 indicated by size -2), so that -boardSize specifications inside a theme
5422 will take effect.
5423   Board size petite should not be forbidden for Shogi; all pieces exist there.
5424
5425 2013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5426 Fix grabbing of selected piece
5427
5428 A second static click on a selected piece should deselect it, but an attempt
5429 to drag an already selected piece should not 'bounce off'. It was already
5430 possible to move a selected piece to another square, but the dragging was
5431 not animated. This is now fixed, by only skipping the code to start dragging
5432 when the second click is part of the only-move double-click for only capture.
5433 (Before it was skipped on any second click.)
5434
5435 2013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5436 Allow entry of negative numbers in spin control (WB)
5437
5438 Windows numeric controls do not accept negative numbers, so in case the
5439 range of a spin option can go negative, the style ES_NUMBER should not be
5440 set on the control.
5441
5442 2013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5443 Allow drops / promotions/ deferrals to be edited into book
5444
5445 For no real reason only NormalMove would be accepted when parsing the list
5446 of book moves.
5447
5448 2013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5449 Fix GUI book after setup position
5450
5451 The routine to send move to the engine would automatically append a 'go'
5452 is a preious setboard had put the engine in force mode, but this should
5453 not happen on a book hit, where the engine should even be put in force mode
5454 if it was not yet there.
5455
5456 2013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5457 Fix book creation
5458
5459 Due to duplicate use of the same file pointer variable the game file would be
5460 closed before any games were read from it.
5461
5462 2013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5463 Make PGN parser immune to unprotected time stamps
5464
5465 The parser choked on time stamps of the form dd:dd or dd:dd:dd if one
5466 of the fields happened to be 00, because it wouldmistake that for a
5467 non-compliant king-side castling. By excluding this interpretation when
5468 the 00 is immediately preceded or followed by ':' this is now prevented.
5469
5470 2013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>:
5471 updated po files for new release (make distcheck)
5472
5473
5474 2013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>:
5475 new version number for release 4.7.1
5476
5477
5478 2013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>:
5479 updated Changelog, NEWS, etc.
5480
5481
5482 2013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5483 Update zippy.README
5484
5485 It is explained how to generate multi-line commands for -zipyGameEnd.
5486
5487 2013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5488 Fix Xaw file browser
5489
5490 The 'next page' entry of the Xaw file browser contained a \177 character
5491 to keep at sorted at the bottom. This caused trouble for gettext.
5492 Now the sorting range is adapted so the 'next page' is never part of it.
5493   More seriously, the listbox fill code had a wrong cast when testing for
5494 an empty listbox on the first element, so that it only tested the low byte
5495 of the pointer, in stead of the entire pointer for NULLness. As a result
5496 the contents of the listboxes could suddenly disappear when even when it
5497 was non-empty, because the first filename was allocated at an unlucky address.
5498
5499 2013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5500 Make Chat Box window obey -topLevel option
5501
5502 It was always popping up as a dialog of the main board, covering it.
5503 One could argue it should always be to-level.
5504
5505 2013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5506 Fix scrolling of Chat Box
5507
5508 Seems the problem is that scroll_to_iter does not work until after some time,
5509 needed to calculate line heights. Use scroll_to_mark instead, after clumsily
5510 adding a text_mark.
5511
5512 2013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5513 Fix GTK SetInsertPos
5514
5515 SetInsertPos() was not yet ported to GTK, with as a result that the cursor
5516 was positioned at the start of a line recalled in the ICS Input Box,
5517 rather than at the end. The code also called SetInsertPos to force scrolling
5518 to that point in the text (which in Xaw is an automatic side effect). So for
5519 multi-line text edits this function calls ScrollToCursor(). For some reason
5520 this does not work when replacing texts in the Chat Box memo, when switching
5521 chat, although it does work in the same memo when a line is added to the
5522 existing text.
5523
5524 2013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5525 Print score of final position in Analyze Game
5526
5527 The score/depth of the final position of the analyed game is added
5528 (as an explicit comment) behind the PV of the forelast position.
5529 To make this work, a new 'addBraces' mode (3) had to be added to
5530 AppendComment, which suppresses stripping of the score/depth from
5531 the comment.
5532
5533 2013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5534 Fix horrible bug in reading scores from PGN
5535
5536 Reading scores like -0.94 flipped the sign, because the integer part
5537 -0 would read as 0, and thus was no reason for sign flipping.
5538
5539 2013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5540 Fix disappearence of pieces that were moved illegally
5541
5542 Dragging damages the from-square, but it is not marked as such, because
5543 selective board redraws to update highlights and such would draw the piece
5544 that is really still there, making it flash on the from-square before
5545 the position after the move is drawn. This, however, backfires when the
5546 move was illegal, as then there is no draw of a new position, and the
5547 from-square stays empty. For now this is solved by making DisplayMoveError()
5548 order a total redraw. (As this is rare, only done in case of an error,
5549 and might even throw up a pop-up, the performance cost of this is acceptable.)
5550
5551 2013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5552 Fix quoting of book name in tourney file
5553
5554 The argument of -polyglotBook was written to the tourney file unquoted,
5555 which effectively made it disappear if it was an empty or blank string.
5556
5557 2013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5558 Provide compatibility with Alien Edition setup command
5559
5560 The setup command of the Alien Edition has a board-size specifier
5561 (possibly as prefix on a parent-variant name) between pieceToCharTable
5562 and FEN. The regular version would choke on that, precluding engines
5563 designed for the Alien protocol extension to have their setup processed
5564 when running under regular XBoard. This patch makes it skip the extra info.
5565
5566 2013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5567 Fix saving of analyzed game
5568
5569 Anotated games after batch-mode Analyze Game were not auto-saved,
5570 because the GameEnds() call supposed to do that was called with a NULL
5571 argument for resultDetails. Now it is called with the resultDetails as
5572 pre-existing in the gameInfo, or an empty string if none exist. This bug
5573 was masked by the fact that in standard game ends (mate, etc.) the
5574 analyzing engine would declare game end and supply a message.
5575  Also makes a distinction between Analyze Game and regular Analyze mode
5576 when resuming analysis after loading a game; only the former now would
5577 trigger a batch analysis.
5578
5579 2013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5580 Fix spurious popup after batch-mode Analyze Game
5581
5582 A batch analysis of games was not properly terminated, because the game
5583 mode was tested after it had already been changed. No oldGameMode is
5584 tested in stead.
5585
5586 2013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5587 Let XBoard -autoBox option also affect move type-in
5588
5589
5590 2013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5591 Fix GTK box popup
5592
5593 Key values > 255 are used for PgUp, PgDown etc., so to pop up only on
5594 printables needs a two-sided test.
5595
5596 2013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5597 Fix fatal error on unsupported board size
5598
5599 When a board size unsupported by the engine was requested through the
5600 New Variant dialog, this was discovered while the dialog was still up,
5601 causing the error message to pop up as a child of the New Variant dialog,
5602 so that it would immediately be taken down as the latter closed.
5603 As a result it could not be confirmed, so that XBoard would not exit, and
5604 was left in a pathologic state (ignoring window-close). This is fixed
5605 by performing Reset (which detects the error) after PopDown of New Variant.
5606
5607 2013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5608 Accept setup command for non-standard board size
5609
5610 The code to test if board-size is standard for the current variant
5611 has been moved to a subroutine, to allow its calling when receiving
5612 a "setup" command from the engine.
5613
5614 2013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5615 Fix buffer overflow in feature parsing
5616
5617 String features (variants, egt, myname and option) relied on a buf[MSG_SIZ]
5618 for processing their value. The Nebiyu engine had combobox options that
5619 required more than that. All string features are now stored in allocated
5620 memory rather than in static arrays, and StringFeature allocates a buffer
5621 of sufficient size for them. Only limitation now is the low-level input
5622 buffer in the InputSource threads, whih is a static buffer of 4096
5623 (=INPUT_SOURCE_BUF_SIZE) characters.
5624
5625 2013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5626 Fix vertical sizing of GTK board
5627
5628 The clipping of the boad at the bottom was due to resizing of the clock
5629 height when we first write it with a big font. This patch delays calculation
5630 of the final size until after the clock height changes.
5631
5632 2013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>:
5633 Updated German translation
5634
5635
5636 2013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>:
5637 Updated Ukrainian translations
5638
5639
5640 2013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5641 Fix of argument error
5642
5643 Oops. Pevious patch for skipping unknown multi-line arguments
5644 was still buggy.
5645
5646 2013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5647 Let popping up of WinBoard chatbox for channel open it
5648
5649 WinBoard now issues a +ch command for a channel when you pop up a chatbox
5650 for that channel. A work-around is added for the fact that the public
5651 FICS seems to ignore the first such command.
5652
5653 2013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5654 Make skipping of unknown option smarter
5655
5656 To make XBoard better resistant to the presence of disbanded or future
5657 options in its settings file, encountering those is no longer a fatal error.
5658 But the error recovery only consisted of skipping the rest of the line.
5659 This fails badly on string options with a multi-line value, which is
5660 enclosed by {braces}. We now detect that case, to skip to } instead.
5661
5662 2013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5663 Add -backupSettingsFile option
5664
5665 For better configurability of WinBoard, an option is added to optionally
5666 read a settings file, namely if no other settings file (other than the
5667 master file) was read so far. This can be used to import settings from
5668 a previous version, without destroying its settings file.
5669
5670 2013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5671 Repair WinBoard compile error
5672
5673 __GITVERSION was not defined in WinBoard, as it was only defined with a
5674 compiler flag by ./configure, which WinBoard does not use.
5675
5676 2013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5677 Work-around for Xt selection bug
5678
5679 In some Xt implementations calling extend-end with 0 params causes a crash,
5680 although the mmanual specifies this should default to a call with 'PRIMARY'.
5681 The default selection is now explicitly mentioned in all extend-end calls.
5682
5683 2013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>:
5684 fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change)
5685
5686 xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like
5687 ./xboard.texi:1026: @itemx must follow @item
5688 makeinfo seems right, @itemx is not used as described in the texinfo manual.
5689 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.
5690
5691 2013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>:
5692 updated po/pot files
5693
5694
5695 2013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>:
5696 new version number for developer release
5697
5698
5699 2013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5700 Try to make life more bearable in Xaw menus
5701
5702 The alignment still sucks, but not as much as before.
5703
5704 2013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5705 Fix -topLevel option
5706
5707 This option was copletely ignored, after the refactorig.
5708
5709 2013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5710 Fix testing for valid window placement Xaw
5711
5712
5713 2013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5714 Suppress printing of status line in dual-board mode
5715
5716
5717 2013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5718 Fix sizing of slave board GTK
5719
5720 For lack of a known method to specify a default size for Graph widgets,
5721 we have to use the same system as for the main board: create with 0x0 size,
5722 and measure the size of the outer window to determine margins.
5723 After every popup we then resize to the required board size plus these
5724 margins. (Awful...)
5725
5726 2013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5727 Better handling of undefined window parameters
5728
5729 Repositioning and resizing a newly created dialog was based on the width
5730 parameter of the stored sizing info being valid. Now it is separately
5731 tested if the position is valid, so that sizing and moving can be done
5732 independently. This allows us to store position info, but not size info
5733 for the slave board, so that it automatically will use the size of the
5734 main board when first opened.
5735
5736 2013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5737 Limit debug print to debug mode
5738
5739
5740 2013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5741 Fix repositioning of GTK windows
5742
5743 After 'hide' and 'show' GTK would not position the window in the same place,
5744 but center it on the parent. Now we reposition the window after 'show' based
5745 on the WindowPlacement data (if available).
5746
5747 2013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5748 Remember window params of slave board
5749
5750 The slave board now has been assigned a WindowPlacement, which is also
5751 saved in the settings file, through new options -slaveX/Y/W/H.
5752
5753 2013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5754 Fix repairing of arrow damage
5755
5756 The '2' bit in damage[][] to indicate the arrow was erroneously cleared,
5757 rather than kept.
5758
5759 2013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>:
5760 fix OK-response in gtk dialogs, see c7f8df124
5761
5762 the fix in c7f8df124 needs to be applied to both of those if cases
5763
5764 2013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>:
5765 removed two more translations from debug output
5766
5767
5768 2013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>:
5769 fixed segfault of g_markup_printf_escaped which needs utf-8 strings
5770
5771 defined text-domain as utf-8 solved this
5772
5773 2013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>:
5774 fixed gtk-warning
5775
5776
5777 2013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>:
5778 removed some translation calls for messages in the debug log
5779
5780
5781 2013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>:
5782 add keyboard shortcuts back into Xaw version
5783
5784
5785 2013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>:
5786 in debug mode also print the git-version if available during build
5787
5788
5789 2013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5790 Print game-list timing messages only in debug mode
5791
5792
5793 2013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5794 Fix title of top-level windows
5795
5796
5797 2013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5798 Cure GTK warning in top-level windows
5799
5800 There is no OK button in top-level windows, so the 'response' signal is
5801 not defined, and should not be connected.
5802
5803 2013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5804 Fix graying of Revert menu item
5805
5806 The new code was checkmarking it in stead of enabling it!
5807
5808 2013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5809 Add -onlyOwnGames option
5810
5811 This suppresses auto-saving of ICS observed games.
5812
5813 2013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5814 Allow display of 50-move counter in zippy mode
5815
5816 No chance it could be considered cheating there.
5817
5818 2013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5819 Add new vertical pixel fudge
5820
5821 With the new GTK window type the board is 13 pixels too small.
5822
5823 2013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5824 Don't add PV moves on board clicking in AnalyzeMode
5825
5826 Playing PV moves by right-clicking the PV was only intended for clicks
5827 in the engine Output window, selecting from multi-PV analysis output,
5828 where by default it plays only the first move. PV walkig by right-clicking
5829 the board, however, would start the walk at the end even in AnalyzeMode,
5830 and thus add the entire PV. Which is probably not useful. So adding moves
5831 in that case has now completely been suppressed, so it can be used for
5832 harmless viewing of the latest PV.
5833  The behavior has also been made subject to a persistent Boolean option
5834 -appendPV, configured to true, with a checkbox in General Options.
5835  A checkbox has also been added there for controlling the -variations option,
5836 which is now also configured to true.
5837
5838 2013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5839 Remove checkbox for 'Move Sound'
5840
5841 This function is better controlled from the Sounds dialog.
5842
5843 2013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5844 Make switching between board windows absolute
5845
5846 Selecting the window in which to draw the board when the slave board for
5847 -dualBoard was up was done by a toggle. For unknown reason this could cause
5848 a situation where the drawing took place in the other window than the
5849 intended one. The code is made more robust by explicitly specifying which
5850 window to draw in, based on the partnerUp flag.
5851
5852 2013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5853 Warn about experimental nature of dual board
5854
5855 The message field, which for now is unused, now contains a warning message.
5856
5857 2013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>:
5858 add close buttons to gtk windows
5859
5860 use windows instead of dialogs for toplevel elements
5861
5862 2013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>:
5863 keyboard accelerators for both front ends.
5864
5865 moved them out of the string definition, so that gtk can add them automatically.
5866 Also wrote a function that loads them for X11.
5867
5868 TODO: add them again when creating X11 menu names
5869
5870 2013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>:
5871 added rotated shogi pieces for -flipback option and moved them to the themes directory
5872
5873
5874 2013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>:
5875 add test for pkg-config
5876
5877 exit configure in case we can't find it.
5878
5879 2013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5880 Only perform e.p. capture if there are rights
5881
5882 The heuristic for e.p. capture was such that any non-forward move with
5883 a Pawn to an empty square would delete the piece behind its new location
5884 (Xiangqi exempted). This is now limited to cases where EP_STATUS indicates
5885 that the deleted piece was a Pawn that performed a double-push on the
5886 previous move. (Or if there is unknown EP_STATUS.)
5887  This makes XBoard more generally suitable for use with variants that have
5888 non-conventional Pawn moves (with legality testing off). To guarantee this
5889 will not have any unexpected effects in normal Chess, this patch will only
5890 be active if legality testing is off.
5891
5892 2013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5893 Unreserve tourney game on exit during engine load
5894
5895 While waiting for the feature timeout we are not yet in TwoMachines mode,
5896 so quitting XBoard at that stage would not unreserve the upcoming game.
5897 A global flag 'startingEngine' similar to 'waitingForGame' now signals
5898 this condition.
5899
5900 2013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5901 Better fix of feature timeout
5902
5903 The previous fix of the 2nd engine's done=1 aborting the 1st engine's
5904 feature timeout by starting the game caused problems with v1 engines,
5905 or other engines that would never send done=1. It is now fixed by
5906 explicitly testing for a pending feature timeout after resurrecting
5907 the 1st engine, rather than having TwoMachinesEventIfReady wait for
5908 initDone to be set by reception of done=1.
5909  Also refrain from freezing the UI between match games, as in TwoMachines
5910 mode the UI is mostly disabled anyway.
5911
5912 2013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5913 Connect Ctrl key in WinBoard
5914
5915 The Control key is now checked during move entry, for excluding moves
5916 during analysis, or for copying pieces when editing a positions. But the
5917 WB front-end did not read it out yet!
5918
5919 2013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5920 Fix Makefile for install of Xiangqi pieces
5921
5922
5923 2013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5924 Add Xiangqi piece images to project
5925
5926 Let the images install in themes/xiangqi.
5927
5928 2013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5929 Revive -flipBlack option
5930
5931 The -flipBlack option in the cairo version is now implemented the same
5932 way as it was in XBoard, swapping white and black pieces in filpView mode.
5933 This requires a set black piece images that are the upside-down versions
5934 of the white ones.
5935
5936 2013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5937 Remove empty-square SVG images from project
5938
5939
5940 2013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5941 Add desktop stuff for .xop MIME type.
5942
5943 Icons and desktop file were missing, as was the automake code to package them.
5944
5945 2013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5946 Update NEWS file
5947
5948
5949 2013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5950 Add boolean -autoBox option
5951
5952 This option controls the automatic popup of the ICS Input Box on typing
5953 a printable character, which was annoing to some. The option can be
5954 set from the ICS Options dialog.
5955
5956 2013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5957 Draw both coords in a1
5958
5959 The lower-left board square needed two inscriptions, but DrawOneSquare()
5960 only allowed one, so that the file ID would not be written. Now two strings
5961 can be passed, and when align > 1 to indicate the alignment of the top
5962 string, it is still checked if a bottom string is present as well, which
5963 then is drawn with alignment 1 (= bottom right).
5964  The rank coord or piece count can now also be double digit.
5965
5966 2013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>:
5967 updated po files for new release (make distcheck)
5968
5969 2013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>:
5970 updated Changelog, NEWS, etc.
5971
5972 2013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>:
5973 new version number for release of 4.7.0
5974
5975 2013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5976 Let initial setting of Twice checkbox reflect current state
5977
5978 The Twice checkbox in the Tournament dialog of WinBoard was by default
5979 starting unticked. It is more convenient to have it preserve the current
5980 state, however, based on the -lpi or -lgi value. Like the auto-incremet
5981 checkbox already did.
5982
5983 2013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5984 Put GTK warning in about-box
5985
5986
5987 2013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5988 Fix warnings of build server
5989
5990
5991 2013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5992 Fix GTK error auto-raising board
5993
5994 The variable mainwindow is not set in the gtk2 version. Unfortunately
5995 it is still used to determine default board size...
5996
5997 2013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5998 Update Dutch WB translation
5999
6000
6001 2013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6002 Add some new strings to WB translation template
6003
6004
6005 2013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6006 Assign shortcut char to WB menu item
6007
6008 The new Save games as Book item did not have a shortcut yet.
6009
6010 2013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6011 Let WinBoard start in its installation folder
6012
6013 The current directory in WinBoard was not automatically the same as the
6014 installDir returned by SearchPath. Especially not if used without shortcut
6015 by file association.
6016
6017 2013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6018 Fix warning in WinBoard
6019
6020
6021 2013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6022 Fix expose of to-square with grid off
6023
6024 The code relied on drawHighlight to request an expose evet for the entire
6025 square, but when lineGap = 0, drawHighlight is a no-op.
6026
6027 2013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6028 Fix library order
6029
6030 On OS X dialog windows could not get focus if -lXaw appeared after
6031 -lX11 -lXt in the linker command. This was cured by moving
6032 @FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter
6033 of the automake file.
6034
6035 2013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6036 Preserve PGN tags when loading engine
6037
6038 Switching to EditGame mode would normally erase the tags, but when analyzing
6039 a loaded game this would be undesirable. When the engine is playing, keeping
6040 the tags is dubious, but it is not obvious what to put in a new name tag,
6041 so we leave that for now.
6042
6043 2013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6044 Preserve mode on engine loading (sometimes)
6045
6046 That the mode always switched to EditGame after engine loading was
6047 particularly annoying at the start of a game (where leaving BeginningOfGame
6048 mode would disablethe Time Control dialog, and the engine would not
6049 automatically reply if you start playing) and AnalyzeMode. These two
6050 modes are now preserved, BeginningOfGame by refraining from calling
6051 EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode
6052 be calling AnalyzeModeEvent() after the engine is loaded and repositioned.
6053
6054 2013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6055 Catch unknown engine in tourney games
6056
6057 When an XBoard instance is playing on a tourney it can happen that it is
6058 using a settings file with an engine list not yet containing a certain
6059 participant, because that participant was just installed in the instance
6060 that created the tourney file, but it did not save those modifications yet.
6061 This error is now caught, and leads to an error popup and stopping of the
6062 tourney play. This error was made non-fatal to allow the user to decide
6063 if he wants to quit with or without saving the settings (which, after all,
6064 does not seem up-to-date).
6065
6066 2013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6067 Adjudicate pawn-drop mate as loss in Shogi
6068
6069 Mating with a Pawn drop is illegal in Shogi, but rather than burdoning
6070 the legality-testing by this complex rule, we simply invert the result
6071 for such a mate. After all, Shogi customs are such that everything illegal
6072 leads to an immediate loss.
6073
6074 2013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6075 Adjudicate perpetual checks as loss also in Shogi
6076
6077 The Xiangqi code for recognizing perpetual checks is now also activated for
6078 Shogi, but in this case we bail out before checking for perpetual chases.
6079 The mini-Shogi case is then recognized as a win for gote.
6080
6081 2013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6082 Stalemate is a win in Shogi
6083
6084 In regular Shogi this never occurs, but in the mini variants it happens
6085 often enough.
6086
6087 2013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6088 Fix engine timeout problem in match mode
6089
6090 Reload of a reuse=0 engine would cause a done=1 event which would be
6091 abort the feature timeout of the other engine in the first game.
6092
6093 2013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6094 Enforce -popupMoveErrors
6095
6096 One move error was using DisplayError(), in stead of DisplayMoveError(),
6097 and thus did not obey the -popupMoveErrors option.
6098
6099 2013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6100 Update texi file
6101
6102
6103 2013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6104 Fix some warnings
6105
6106
6107 2013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>:
6108 Updated German translation
6109
6110
6111 2013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6112 Do delayed board draw also with -stickyWindows false
6113
6114 Only CoDrag needs to be suppressed on a configure event with
6115 -stickyWindows false, not the board redraw.
6116
6117 2013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6118 Let tellothers command add comment to PGN in local mode
6119
6120
6121 2012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6122 Allow use of ~ in pieceToChar for shadow pieces in any variant
6123
6124 The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and
6125 Bughouse. But this is not necessary, and in fact undesirable, as it made
6126 it impossible to implement Crazyhouse960, which combines shadow promotions
6127 with Fischer castling (only available in variant fischerandom)s, and thus
6128 has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable.
6129
6130 2012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6131 Resend engine-defined options after reuse=0 reload
6132
6133 When the engine process is re-spawned for a new game under -xreuse setting,
6134 any alteration of engine settings brought about through the Engine Settings
6135 dialogs would be lost, and revert to the engine's default. This is now fixed
6136 by re-sending all options (known from the previous load of the same engine)
6137 with the current settings immediately after "protover 2", and ignoring the
6138 engine's option features. Rather than clearing the option list, and
6139 redefining it from the option features.
6140
6141 2012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6142 Implement aborting of games on engine request.
6143
6144 A new game-end command is added. For bakward compatibility it is disguised
6145 as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails
6146 are recognized as special, and rather than ending the game in a draw (which
6147 GUIs not implementing this), the game will be completely 'expunged' from
6148 the match or tourney it is part of, leaving no trace in the saveGameFile.
6149
6150 2012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6151 Store some more tourney params in tourney file
6152
6153 The hash and threads settings, as well as ponder and book options are now
6154 also saved in the tourney file, so that tournaments can be played in
6155 parallel where these parameters differ, and no mess up can occur on
6156 restarting a touney after doing something else.
6157
6158 2012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6159 Do not automatically save aborted games in tourney PGN
6160
6161 When the game result is 'unfinished', we prompt for a filename rather
6162 then using the specified saveGameFile if a tourney is in progress.
6163
6164 2013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>:
6165 fix configure bug that showed up on OS X (couldn't find X11/Dialog.h)
6166
6167 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.
6168
6169 2013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>:
6170 Updated Ukrainian translations
6171
6172
6173 2013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>:
6174 removed trailing whitespace
6175
6176
6177 2013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>:
6178 Updated copyright notice to 2013
6179
6180
6181 2012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6182 Do not move to forwadMostMove when unpausing AnalyzeMode
6183
6184
6185 2012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6186 Use Ctrl key in AnalyzeMode to exclude entered move
6187
6188
6189 2012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6190 Implement insufficient mating material for Knightmate
6191
6192 KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
6193
6194 2012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6195 Fix rep-draw detection in drop games
6196
6197 In games like Crazyhouse every move is reversible, as captured pieces
6198 can eventually change sides again, and be dropped back on the board.
6199 So we have to search back a full 100 ply for repetitions, passing captures
6200 and Pawn moves.
6201
6202 2012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>:
6203 updated po/pot files
6204
6205
6206 2012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>:
6207 new version number for developer release
6208
6209
6210 2012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6211 Prefer pause mode on pondering engine over 'easy'
6212
6213 If the thinking engine is stopped after its move because it does not
6214 support pause, is is still better to use pause on the pondering engine
6215 than to switch of its pondering with 'easy', as the latter might not
6216 be instantaneous. Also switch off pondering in the thinking engine before
6217 it gives the move, just in case it does not respond immediately to
6218 easy / hard.
6219
6220 2012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6221 Update WinBoard translation template
6222
6223
6224 2012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6225 Fix min-Shogi promotion zone
6226
6227 In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
6228 that the white promotion zone was 2 ranks deep on 5x5 boards. This only
6229 happened in LegalityTest, but because this would classify all moves to
6230 4th rank an non-promotions, they would be printed with a faulty
6231 deferral (=) sign as promochar in SAN.
6232
6233 2012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6234 Do not clear PGN tags on Analyze File
6235
6236
6237 2012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6238 Fix -fSAN in AnalyzeFile mode
6239
6240 The exception that a PV relates to currentMove rather than forwardMostMove
6241 applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
6242 PvToSan did not properly restore the pushed game tail in this case.
6243
6244 2012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6245 Improve scaling of border bitmap (WB)
6246
6247 The StretchBlt mode is set from dither to delete.
6248
6249 2012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6250 Implement use of pause / resume protocol commands
6251
6252 Engines that implement feature pause=1 will be paused during their move
6253 on a pause event; pondering engines will be controlled either through
6254 'pause' or (if they don't support that) 'easy', which both should work
6255 instantaneously. If the thinking engine does not support 'pause', the pausing
6256 will be deferred to when it produces its move, and is implemented by not
6257 relaying the move, and switch off pondering for both.
6258
6259 2012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6260 Fix Loop-Chess promotions
6261
6262 Loop Chess is not a supported variant, but hould be playable as Crazyhouse
6263 with an altered pieceToCharTable, not defining the shadow promotion pieces.
6264 But with legality testing on promotion to shadow piece would take place
6265 even if the shadow piece was not defined.
6266
6267 2012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6268 Fix move highlighting with animation off
6269
6270 In WB the moving of SetHighlights to after the animation had broken the
6271 highlighting of engine moves, because it was also moved after DrawPosition.
6272 While it is DrawPosition that actually draws the highlights. Now it has been
6273 moved to just before DrawPosition.
6274
6275 2012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6276 Start browsing in currently-selected folder (WB)
6277
6278 The folder-browse dialog always started at My Computer, while file browsing
6279 started in the globally last-used folder (which might not be related at all
6280 to the file entry we are now browsing for).
6281
6282 2012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6283 Implement book-creation functions
6284
6285 A new menu item triggers conversion of the currently loaded PGN file
6286 to a Polyglot book, saved with the GUI-book filename. A (volatile) option
6287 -mcBookMode alters the probing algorithm to build a book from scratch by
6288 playing games (and using a form of learning).
6289
6290 2012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6291 Use colors in Board-Options dialog also for font pieces (WB)
6292
6293 The piece color settings now control the pieceColor or fontPieceColor
6294 settings, depending on the setting of -usePieceFont.
6295
6296 2012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6297 Implement auto-creation of ICS logon file
6298
6299 Under control of the new option -autoCreateLogon (which can be set from
6300 the ICS Options dialog) the first two lines in response to the ICS "login:"
6301 pompt will be saved on a newly created logon file (if logon from such
6302 an existing file failed).
6303
6304 2012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6305 Add Themes dialog (WB)
6306
6307 This dialog, done by the generic popup, contains controls for many settings
6308 that so far could only be controlled by options. It also introduces the
6309 concept of 'themes', sets of options stored in the multi-line option
6310 -themeNames.
6311   Add some dummy routines to suppress compile errors in functions that
6312 cannot be called yet in XBoard.
6313
6314 2012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6315 Allow external piece bitmaps and board border (WB)
6316
6317 The -pieceImageDirectory is now also used for WinBoard, to indicate
6318 a directory of .bmp files, used to replace the built-ins. The outline
6319 and solid bitmaps can be full-color. This allows winBoard to use the
6320 WinBoard-zeta graphics. A new option -border can indicate a bitmap file
6321 used to draw a half-square-wide border around the board.
6322   A white background has to be drawn underneath the black pieces, to avoid
6323 color-interference with the board, just like happens for the white pieces.
6324 These backgrounds now always use bright white, rather than -withePieceColor.
6325
6326 We still have to work on the scaling of the zeta (600x600) bitmaps to
6327 the actual board size, as for some bitmaps the stratchblt is ugly.
6328
6329 2012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6330 Add 'Continue Later' button in Tournament dialog (WB)
6331
6332 This button makes it possible to accept the values specified in the
6333 dialog without immediately starting the tournament (as OK does),
6334 so you can re-open the dialog later, and OK it then.
6335
6336 2012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6337 Load opponent logo based on handle in ICS play (WB)
6338
6339 The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
6340 etc. If no logo for the handle is found there, the logo of the ICS is
6341 displayed as usual.
6342
6343 2012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>:
6344 Fix configure script for --enable-zippy  (tiny change)
6345
6346 reported and patch by Daniel.
6347
6348 edited by Arun Persaud:
6349 - also fixed #ifndef ZIPPY -> #if !ZIPPY
6350 - didn't change #if -> #ifdef
6351
6352 2012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>:
6353 don't define X_LIBS when using gtk-frontend
6354
6355
6356 2012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>:
6357 updated po/pot files; added new frontend files
6358
6359
6360 2012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>:
6361 fix configure script for --with-Xaw and --with-gtk
6362
6363 made Xaw the default and included xaw or gtk sources as extras
6364 in case the other frontend is selected for make distcheck
6365
6366 2012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>:
6367 new version number for developer release
6368
6369
6370 2012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6371 Draw frames around memos and listboxes
6372
6373
6374 2012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6375 Adapt lineGap during sizing
6376
6377
6378 2012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6379 Fix clock highlighting
6380
6381
6382 2012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6383 Fix Chat Box
6384
6385 The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
6386 handler for special keys in one-liner text edits.
6387
6388 2012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6389 Pay attention to NO_CANCEL dialog flag
6390
6391
6392 2012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6393 Fix clock clicking with GtkEventBox
6394
6395 Like in WinBoard the button-3 case is now handled in the primary
6396 event handler (and communicated to it in a kludgy way). It would be
6397 better if this was absorbed in ClockClick().
6398
6399 2012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6400 Fix logo placement
6401
6402 Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
6403 FIXED_H (which only the logos did) is now packed into a (borderless) aspect
6404 frame.
6405
6406 2012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6407 Add window positioning
6408
6409 Sticky windows now sort of works, but needs unexplained fudge factors.
6410 Reopening a persistent dialog centers it on the board, and disobeys
6411 the positioning command. The WindowPlacement of the BoardWindow was
6412 again added (it was commented out during development).
6413
6414 2012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6415 Make board sizing work through subtracting fixed height
6416
6417 There is now no attempt to give a size to the board drawing area, so it
6418 can later be sized as small as we want. The frame width is determined
6419 by subtracting the nominal board size from the actual window size,
6420 (because the clocks will have that width, and the board will startas 1x1),
6421 while the vertical margin is determined as the difference between the
6422 bactual window height, the drawing-area height minus a fudge of 25 pixels
6423 to compesate for the erroneously allocated blank space below the board.
6424
6425 2012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6426 Fix warnings
6427
6428 The highTextStart/End are now declared in engineoutput.h, shared between
6429 nengineoutput.c and xengineoutput.c. Unused variables were removed.
6430 Also fix warnings in xboard.c and xoptions.c.
6431
6432 2012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6433 Delete emptied front-end files, and move rest to gtk directory
6434
6435 Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
6436 and xhistory have been completely cleared off content, and were removed.
6437
6438 2012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6439 Add copy-paste
6440
6441 The code from gtk-xt could be used with almost no modification.
6442
6443 2012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6444 Some experimenting with sizing
6445
6446 Does not work as intended yet.
6447
6448 2012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6449 Add task-bar icon
6450
6451 Funny enough it was necessary to swap the two svg icons to make this work!
6452
6453 2012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6454 Make some tall dialogs multi-column
6455
6456 A dummy button was added to the last row of New Variant to make the
6457 number even. A legality-test warning as put in the New Variant dialog
6458 Fix width of tourney-file in Match dialog
6459
6460 2012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>:
6461 updated some icons to SVG
6462
6463
6464 2012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6465 Add displaying of icons
6466
6467 A new Option type, 'Icon', was added for this as in GTK Icons and Labels
6468 need different types of widget. The icons are now svg, so we could
6469 remove the icon pixmaps.
6470
6471 2012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6472 Fix button bar
6473
6474
6475 2012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6476 Add BarBegin, BarEnd options
6477
6478 This makes the button bar display correctly. Also fix v-sizing of menu bar.
6479
6480 2012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6481 Add listbox double-click callback
6482
6483 This function was formerly performed by WheelProc.
6484
6485 2012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6486 Add hiding / showing second Engine Output pane
6487
6488 The handle of the GTK table for the second engine is stored in the
6489 EndMark handle by GenericPopUp, so it can be used later to hise/show
6490 that table.
6491
6492 2012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6493 Use different tables for different dialog columns
6494
6495 Making the same table wider (in steps of 3) to get multiple columns
6496 does not work, because it forces options to align vertically. This
6497 wrecks dialogs like Load Engine, where one column contains a very
6498 high option (listbox). Now differnt tables are created for each column,
6499 packed in a new itermediate hbox. In case of the Engine Output window,
6500 a vbox is used instead to cause vertical stacking.
6501   Only multi-line text-edits and listboxes are now allowed to take up
6502 vertical space changes, while only the middle colum of the table
6503 can take up horizontal size changes. Within packing boxes space is
6504 equally distributed.
6505   The labels above the particiant-selection widgets had not the same width
6506 as the textview / listbox, leading to misplacement of the second label.
6507   For Engine Settings the spontaneous breaking into columns did not
6508 involve a SAME_ROW flag, so the 'columns' were stacked vertically.
6509 In addition the columns were too tall for GTK. They are now 20 options max.
6510
6511 2012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6512 Deselect first char in Move Type-in and ICS Input Box
6513
6514 After popup the Move Type-In had the typed character in it, but it was
6515 selected, so that typing a second character would erase it again.
6516 Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.
6517
6518 2012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6519 Close Move Type-in on Enter
6520
6521 The code is squeezed into the ICSKeyEvent callback.
6522
6523 2012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6524 Add access routines to checkboxes and FocusOnWidget
6525
6526 The <Enter> handler of the filter field needs it to return focus to
6527 the listbox.
6528
6529 2012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6530 Add game-list callbacks
6531
6532 The callbacks for listbox and filter text are treated by the same callback,
6533 which does both key presses and button double-clicks.
6534 Giving focus back to the listbox after filtering does not yet work!
6535
6536 2012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6537 Add optional callback to Label Options
6538
6539 For some reason this does not work. The callback isn't called!
6540
6541 2012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6542 Add type-in event to board for popping up box
6543
6544
6545 2012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6546 Add Shift detection
6547
6548 The state of Shift and Ctrl was only probed on button clicks, so it
6549 is now read out of the button-event struct in the relevant button handlers.
6550 For backwad compatibility, they store it in a global, so the routine
6551 ShiftKeys can take them from there.
6552
6553 2012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6554 Remove some unneeded low-level X11 code
6555
6556 Things like tabbing between controls, mouse-wheel scolling etc. are all
6557 automatic in GTK, and thuse don't need to be ported.
6558
6559 2012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6560 Add file browser
6561
6562 The gtk-xt code for browsing in response to menu items rather than dialog
6563 browse buttons) was grafted. It seems desirable to merge the two browsing
6564 functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
6565 The code was altered to use DelayedLoad.
6566
6567 2012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6568 Fix ListBox, and add some support routines
6569
6570 The srolled-window for the listbox used a uninitialized variable for its
6571 width, causing a crash. Now it pays attention to the Option.max and .value
6572 size hints. The access routines were copied from gtk-xt. HighlightWithScroll
6573 could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.
6574
6575 2012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6576 Connect CommentClick handler
6577
6578 This can make use of generic memo callback, so it could be entirely
6579 backend. Therefore it was moved to dialogs.h. As it shared a global with
6580 some other back-end popup routines to remember the current move, these
6581 could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
6582 so it has now been put in a header. :-( )
6583
6584 2012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6585 Fix animation
6586
6587 Because FrameDelay does block the event loop, even though it releaes the
6588 CPU, expose events start to lag behind the actual drawing. By combining
6589 expose events for overlapping squares, rather than decompose them into
6590 3 rectangles, this problem seems to go away. But only if there is an
6591 extra exposure on the squares to be drawn also non-overlapping frames
6592 will be properly drawn (?!).
6593
6594 2012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6595 Implement highlighting in engine output by through generic method
6596
6597 HighlightMove was made generally available for all text. It is now just a
6598 wrapper for the generic HighlightText, and could be moved to the back-end.
6599 (This requires the initialization to be widget specific, and the flag
6600 indicating it has been done is now stored in the Option.min field.)
6601
6602 2012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6603 Let engine-output memos use new generic callback
6604
6605
6606 2012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6607 Add scrolling of Move History
6608
6609 To have access to the textview, its handle is now stored in the
6610 Option.textValue field.
6611
6612 2012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6613 Add highlighting in move list
6614
6615 For now it is assumed the normal background will be white (for clearing
6616 the highlight).
6617
6618 2012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6619 Make generic memo-event handler, and connect history callback
6620
6621 Large text widgets can now define a user handler in their Option.choice
6622 field. If they do, agneric callback is added tothem, which catches mouse
6623 events. Button release and pointer motion pass their coordinate and type
6624 to the specified user routine. Button presses in addition retrieve
6625 the text from the widget, set the cursor in it to the clicked point,
6626 and convert it to a character position, also passed to the user.
6627   The user is responsible for ignoring events he is not interested in.
6628
6629 2012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6630 Add key-handler for ICS Input Box
6631
6632 In contrast to the X11 code, all intercepted keys are now treated by
6633 the same callback. The ICS Input Box callback triggers on Up, Down and
6634 Return key, and refers to these symbolically.
6635
6636 2012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6637 Highlight Pause button
6638
6639
6640 2012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6641 Better cleansing of xboard.c from X11 types
6642
6643 The #includes for X11 files were still in there.
6644
6645 2012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6646 Add text insertion in engine-output memos
6647
6648
6649 2012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6650 Append recent engines to engine menu
6651
6652 This is now entirely moved to the back-end, by doing it in the table
6653 from which the menus are later generated. The special callback for engine
6654 items is abandoned, and the euProc for such items is left NULL to flag
6655 that RecentEngineEvent should be invoked with the applicable engine number.
6656 To calculate the latter a global variable firstEngineItem is dynamically
6657 set to the length of the regular engine menu.
6658
6659 2012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6660 Transfer more gtk-xt code, and add some new
6661
6662 Add input-source handling
6663 Graft color picker (<Enter> callbeack in the text field is still missing!)
6664 Handle contents of label widgets (store handles in Option for access)
6665 Add printing of clocks
6666 Add printing of window title
6667 Pay attention to BORDER attribute of Label Options (pack in frame)
6668 Delete ReadBitmap code (also remove #including of bitmap files for icons)
6669 Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll)
6670 Support vertical stacking in Break Option (no table widening when !SAME_ROW)
6671 Make default horizontal scroll policy automatic (for engine-output window)
6672 Fix disabling of unused spinners in TC dialog
6673
6674 2012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6675 Connect dialog Browse buttons to GTK browser
6676
6677
6678 2012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6679 Implement menu checkmarking and enabling
6680
6681 odes in the (later over-written) handle field specify which items
6682 are to be checkmarked, and by what style button.
6683
6684 2012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6685 Attach expose handler and connect to mouse events
6686
6687 The GraphExposeProc is conected to the Graph widgets. A gdk draw routine
6688 is used to copy the buffer bitmap to the display. It is also connected
6689 to button and motion-notify events.
6690   In this version the board can be fully operated with the mouse.
6691
6692 2012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6693 Transfer most available gtk-xt code to xoptions.c
6694
6695 GenericPopUp and PopDown are grafted from gtk-xt into gtk2.
6696 The version compiles, but segfaults before doing anything, with error
6697 messages about unexpected cases in GenericPopup for Graph and PopUp Options
6698 of the main board. The spin options need special treatment in GetWidgtText.
6699
6700 2012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6701 Give LoadListBox two extra parameters
6702
6703 It often occurs that we just want to swap two elements, and reloading
6704 the entire listbox would be a very inefficient way to do this in widget
6705 sets that allow access to a single element.
6706
6707 2012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6708 Remove all X11 code by #ifdeffing it out
6709
6710 With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling
6711 X11-free version. The disabled sections can then be replaced by code
6712 for another widget set, the X11 version still showing what it was supposed
6713 to do.
6714
6715 2012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6716 Move timer functions to new file xtimer.c
6717
6718 The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
6719 go into a separate file.
6720
6721 2012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6722 Make xevalgraph.c backend
6723
6724 The only front-end stuff left in xevalgraph.c was an unnecessary reading
6725 of the window size (which could be obtained from the WindowPlaceent struct),
6726 and drawing (all cairo now). The drawing was moved to draw.c, and the
6727 remaining part renamed nevalgraph.c.
6728
6729 An attempt to list them in a less chaotic way.
6730
6731 2012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6732 Cleanse back-end code of all references to X11 types
6733
6734 When compiling for X11, common.h #included X11/Intrinsics.h so that
6735 X11-specific data types could still be used throughout the back-end part
6736 not shared with WinBoard. By temporarily disabling this, error messages
6737 could be generated on all such occurrences, and were then solved. This
6738 included the following:
6739   The InputSource struct is not uses in usystem.c at all, and its definition
6740 could be moved to xboard.c. InputSourceRef, which logically should heve been
6741 defined as (InputSource *), is in reality (void *), so the back-end can
6742 pass it around.
6743   Some non-platform-dependent stuff of general interest had prototypes
6744 (or external vars) in xboard.h. This is now moved to a new header xboard2.h,
6745 to allow it to be shared without bringing in X11 dependence.
6746   The EngineOutputProc was defined inconsistently, but the header was not
6747 sufficiently shared to flag this error. This has been repaired now, by moving
6748 the template to menus.h.
6749
6750 2012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6751 Remove xedittags.c, .h from project
6752
6753 The tiny bit of code that was left was absorbed in dialogs.c, the one
6754 prototype to menus.h.
6755
6756 2012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6757 Remove inclusion of frontend.h from backendz.h
6758
6759 This did not seem to serve any purpose at all.
6760
6761 2012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6762 Split xhistory.c in front-end and middle-end part
6763
6764
6765 2012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6766 Move MarkMenuItem to xoptions.c
6767
6768 This to make xoptions.c completely independent from the inclusion of
6769 frontend.h. The prototype is moved to menus.h.
6770   Loose end: DrawPosition in board.c does not see the prototype.
6771 Very suspect that it wants to see it. Why would it have to correct the
6772 flipView setting??? Better se to it that it is correct to start with!
6773
6774 2012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6775 move testing for no options to back-end
6776
6777 The test if an engine has options and display a note instead of
6778 the Engine Settings dialog when this is not the case is moved
6779 to outside of GenericPopUp, to make the later independent of calling
6780 other routines.
6781
6782 2012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6783 Remove some unnecessary header includes
6784
6785
6786 2012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6787 Move ICS-engine analyze and AnalyzeGame code to shared back-end
6788
6789 This code was still duplicated between WB and XB in the front-ends.
6790 Because of its incorporation in AnalyzeModeEvent the 'middle-end'
6791 function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made
6792 to return an int to flag its success, and keep the JAWS code based
6793 on it out of XBoard.
6794  The AnalyzeGame code  is now incorporated in AnalyzeFileEvent().
6795
6796 2012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6797 Add configure switches for Xaw vs GTK.
6798
6799 This patch is an adapted version of the one Arun made at the end of the
6800 gtk2 branch. It uses the exact same version of his configure.ac, but the
6801 Makefile.am is adapted to the situation in master at the beginning of it,
6802 after duplication of the X11 front-end files in the xaw directory for
6803 preserving them, while the versions that will be modified to GTK front-end
6804 are still in the xboard directory.
6805
6806 2012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6807 Prepare xoptions.c for middle-end changes
6808
6809 Some changes that can be pre-empted, such as the splitting of Label
6810 into Label and Icon Option type, and some dummy wrappers are already
6811 implemented, so they can be used when needed by GTK.
6812
6813 2012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6814 Preserve copies of the X11 front-end in xboard directory
6815
6816 The X11 front-end has been moved to the xaw directory, but copies
6817 are retained for modifying them to gtk versions.
6818
6819 2012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6820 Move X11 front-end to directory xaw
6821
6822
6823 2012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6824 Fix initial enables in TC dialog
6825
6826
6827 2012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6828 Fix image extension used for browsing to .pgn
6829
6830
6831 2012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6832 Fix WinBoard compile error on enum PEN
6833
6834
6835 2012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6836 Fix crash in promotion popup
6837
6838 There were not enough entries for Capablanca Chess with legality-testing off,
6839 where King is also presented as a choice.
6840
6841 2012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6842 Fix message in New Variant dialog
6843
6844 Even in -ncp mode the message was referring to the 'current engine'.
6845
6846 2012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6847 Fix crash on animation after resizing
6848
6849 The animate buffers were still holding pointers to a discarded cairo surface.
6850
6851 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6852 Fix variant-dependent pieces
6853
6854 The code to select the actually used piece images from the available ones
6855 (from InitDrawingSizes) is now made into a subroutine, and also called
6856 after resizing the pieces.
6857
6858 2012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6859 Replace marble texture pixmaps by png
6860
6861
6862 2012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6863 Replace xiangqi board pixmaps by png images
6864
6865
6866 2012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6867 Remove the texture pixmaps from project
6868
6869 These were already replaced by png textures.
6870
6871 2012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6872 Fix re-rendering of svg on resize
6873
6874 The previously prepared bitmaps were retained if we resized, rather then
6875 rendering the svg atthe new size.
6876
6877 2012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>:
6878 update po/pot files
6879
6880
6881 2012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>:
6882 new version number for developer release
6883
6884
6885 2012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>:
6886 we still need a few bitmaps, so the directory needs to be included in Makefile.am
6887
6888 make distcheck complained about this
6889
6890 2012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6891 Rename svg shogi pieces, so they become usable
6892
6893 Only white pieces are present. For black they would have to be flipped.
6894
6895 2012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6896 Fix bug in resizing on variant switch
6897
6898 The fix of the garbage pixels had unfortunately broken this.
6899
6900 2012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6901 Fix bug in fallback mechanism
6902
6903 After failure to load a piece from a specified -pieceImageDirectory
6904 the default theme was not tried, because the cairo function to load
6905 from a pgn file returns a valid handle even if the file does not exist.
6906
6907 2012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6908 Get svg error message
6909
6910
6911 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6912 Fix variant-dependent pieces
6913
6914 The code to select the actually used piece images from the available ones
6915 (from InitDrawingSizes) is now made into a subroutine, and also called
6916 after resizing the pieces.
6917
6918 2012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6919 Remove caveat on available pieces fromNew Variant dialog
6920
6921 In the cairo version all pieces are available at all board sizes.
6922
6923 2012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6924 Remove some unused images from png directory
6925
6926 Currently only the three board texture files are used. But the piece
6927 images are still left, because they might be useful if we ever want
6928 to mae XBoard configurable for not using librsvg.
6929
6930 2012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6931 Fix bug in resizing
6932
6933 The nominal size of the window was not set in the correct Option struct.
6934
6935 2012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6936 Prevent odd-width line shift in length direction
6937
6938
6939 2012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6940 Print missing-pieces error message to console
6941
6942 The GUI might not yet be up at this point.In addition, suppress
6943 the rest of the code, because it could give segfaults.
6944
6945 2012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6946 Fix garbage pixels on the right of the board
6947
6948 The extra pixel that is requested in sizing the board window back to
6949 an available size because we ofte get one less pixel than we ask for
6950 can lead to a line of garbage pixels next to the board. This is combatted
6951 by limiting expose events to the true board area, remembering that in the
6952 Graph Option rather than the actual window size, and suppressing resizing
6953 when the latter only exceeds the stored width by more than 1 pixel.
6954
6955 2012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6956 Trim board-window size
6957
6958 The board window will sometimes be a pixel larger than requested.
6959 The ReSize routine will now reset the size values in the Graph Option
6960 to what they were supposed to be, to prevent expose events will
6961 draw nonsense in the extra space.
6962
6963 2012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6964 Adapt docs for svg/png in stead of bitmap/pixmap
6965
6966
6967 2012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6968 Spontaeous changes in gettext stuff
6969
6970
6971 2012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6972 Move Shogi svg pieces to own directory
6973
6974
6975 2012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6976 Remove unnecessary Xt colors and call to MakeColors
6977
6978
6979 2012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6980 Code cleanup: move expose redraw to draw.c
6981
6982
6983 2012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6984 Suppress warning for InitDrawingHandle
6985
6986
6987 2012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6988 Make fallbackPieceImageDirectory hardcoded
6989
6990
6991 2012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6992 Increase drag delay too 200 msec
6993
6994 On my slow laptop it can take more than 100 msec to reallocate bitmaps
6995 in the generic expose, with as a consequence that the DelayedDrag event
6996 is not processed before the timeout expires. The timeout event then triggers
6997 a redraw, which again takes so long that the timeout expires before the
6998 event to reset the timer could be processed, and this just perpetuates
6999 itself, leading to a large series of queued redraws, and a long waiting time
7000 for an image to appear after the sizing stops.
7001
7002 2012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7003 Fix segfault on faulty command-line option
7004
7005
7006 2012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7007 Suppress anti-aliasing in -monoMode
7008
7009 In the color-substitution code, always use bi-level alpha and color.
7010
7011 2012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7012 Remove piece pixmaps from project
7013
7014
7015 2012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7016 Implement proper fallback cascade
7017
7018 Try in order cached svg, cached bitmap, user png, user svg, default svg.
7019
7020 2012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7021 Cache svg handles
7022
7023
7024 2012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7025 Install svg pieces in themes/default
7026
7027 The svg pieces are installed with the XBoard data in the directory
7028 .../xboard/themes/default . A new option -fallbackPieceImageDirectory
7029 is added, and is configured in the master settings file to point to
7030 these pieces. This options, which replaces -svgDirectory, is volatile,
7031 and the menu control to set it is removed. The -pngDirectory option
7032 is renamed to -pieceImageDirectory (-pid).
7033
7034 2012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7035 Remove bitmaps from project
7036
7037
7038 2012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7039 Install the wood textures as png
7040
7041 The xboard.conf has to be edited to set these as default textures,
7042 in stead of the .xpm files.
7043
7044 2012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7045 Add hatched board texture
7046
7047 A png file with hatching is added, so it can be used for dark squares
7048 in a monochrome theme. It is installed in a new data directory
7049 .../xboard/themes/textures.
7050
7051 2012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>:
7052 added a black and white theme to replace the mono option
7053
7054
7055 2012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>:
7056 added SVGs to dist files in automake
7057
7058
7059 2012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7060 Fix exposure of atomic captures
7061
7062 The grid lines had to be repaired too, so damage marker 2 had to be used.
7063
7064 2012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7065 Fix animation with textures off
7066
7067 The blank square was not shifted to (0,0) when drawing the animation buffer.
7068
7069 2012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7070 Fix 1-pixel offset of grid lines on some cairo implementations
7071
7072
7073 2012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7074 Solve odd lineGap problem
7075
7076 Not all cairo versions seem to round the same when an odd-width line
7077 is to be drawn at integer coordinates. So now we explicitly ask it
7078 to be drawn centered on half-odd-integer coordinates.
7079
7080 2012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7081 Add -trueColors option
7082
7083
7084 2012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7085 Always render svg pieces anew on size change
7086
7087 The svg pieces are now unconditionally rendered to supply the pngPieceImage
7088 master source otherwise read from png file. This is then fed into the
7089 original png code (so that if for some reason it fails, we fall back on png
7090 pieces, and finally on built-in pixmaps).
7091
7092 2012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7093 Fix rsvg version in configure.ac
7094
7095
7096 2012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>:
7097 initial svg rendering
7098
7099
7100 2012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>:
7101 added cairo and librsvg to configure process
7102
7103
7104 2012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>:
7105 added SVGs
7106
7107 converted from inkscape SVG to plain SVG before adding
7108
7109 2012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7110 Adapt Eval Graph code to new drawing system
7111
7112 The eval graph now triggers an expose after drawing, and gets its size
7113 from the Option fields.
7114
7115 2012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7116 Fix expose requests seek graph
7117
7118
7119 2012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7120 Make draw handle for board globally available
7121
7122
7123 2012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7124 Let expose requests pay proper attenton to widget
7125
7126 So far, expose requests were always assumed to be for the board widget,
7127 preventing display of the labels.
7128
7129 2012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7130 Fix initial display of logos
7131
7132 The logos were selected and printed during the initialization,
7133 before the main event loop was started. So the expose events during
7134 widget creation, which created the drawing surfaces, were only processed
7135 after the initial drawing of logos, so that there was nothing to draw on!
7136
7137 2012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7138 Fix alignment of highlight expose
7139
7140
7141 2012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7142 remove NewSurfaces
7143
7144
7145 2012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7146 Make expose handler generic
7147
7148 The Graph Option now returns two handles in hitherto unused fields of its
7149 Option struct: Option.choice is a cairo handle of a memory buffer the user
7150 must draw to, while Option.textValue is the handle to the widget.
7151 Expose events copy the memory buffer to the display for the exposed area.
7152 A routine DrawExpose() is supplied to let the user generate expose events.
7153
7154 2012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7155 Reload piece images when pngDirectory is changed
7156
7157 The OK function of the board options dialog now tests for a change
7158 in pngDirectory and passes a parameter to InitDrawingParams to tell
7159 it to destroy the old images. This cause a reload on scaling the pieces.
7160
7161 2012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7162 Suppress redraw during sizing
7163
7164
7165 2012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7166 Fix bug in resize trigger
7167
7168 Even if the square size does not change, the window has to be shrunk
7169 back to fit the board.
7170
7171 2012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7172 Make Piececolor options work on png pieces
7173
7174 The scaled, antialiased bitmaps are now colored according to the option
7175 settings. This is done by decomposing every pixel in a white, black and
7176 transparency component, which is possible because the opacity is
7177 directly give in the alpha channel, and black originally was a hard zero.
7178 So what you se in the red channel must be white (as the original white
7179 was #FFFFCC), and the rest of the opacity must be due to black.
7180   The color to be replaced (white for the white pieces, black for the black
7181 pieces) is then replaced by the original weight of this color times the
7182 color from the option.
7183
7184 2012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7185 Plug resource leak on rezising with pixmaps
7186
7187
7188 2012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7189 Fall back on built-in pixmaps if png pieces unreadable
7190
7191
7192 2012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7193 Do coordinate text alignment with cairo
7194
7195
7196 2012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7197 Some cleanup
7198
7199
7200 2012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7201 Clean up drawing code
7202
7203 Now all routines only draw through cairo, the destination surface can
7204 be passed to them, making it possible to do the duplicate drawing
7205 to the memory board image in a cleaner way.
7206
7207 2012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7208 Check in draw.c, draw.h
7209
7210
7211 2012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7212 Remove all bitmap & pixmap drawing
7213
7214 All Xt code for drawing the board is now removed, as are the
7215 -pixmapDirectory and -bitmapdirectory option. This version is now
7216 completely dependent on cairo for handling of all graphics anywhere.
7217 (The build-in pixmaps are still left, though, for later use as an
7218 alterative cairo source when no png files are found.)
7219
7220 2012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7221 Separate off drawing routines from xboard.c
7222
7223 A new source file draw.c is created to hold all code associated with
7224 board drawing. The routines for loading bitmaps and creating colors
7225 were left in xboard.c, though, as they are also used for handling
7226 icons and colors of widgets.
7227
7228 2012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7229 Fix erasing dots in seek graph
7230
7231 The cairo dots were just a little bit bigger than the old ones, so they
7232 were not properly erased, but left a remnant.
7233
7234 2012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7235 Cleanup CairoOverlayPiece
7236
7237
7238 2012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7239 Draw arrow also on backup image
7240
7241
7242 2012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7243 Fix highlight clearing
7244
7245
7246 2012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7247 Remove acceleration trick
7248
7249
7250 2012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7251 Implement variant-dependent png piece symbols
7252
7253
7254 2012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7255 Fix clearing of markers dots with promo popup
7256
7257
7258 2012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7259 Also render coordinates to backup board
7260
7261
7262 2012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7263 Remove debug print
7264
7265
7266 2012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7267 Let cairo also do evenly colored squares.
7268
7269
7270 2012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7271 Make dragged piece for excluding moves transparent
7272
7273
7274 2012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7275 Fix DrawSeekText
7276
7277
7278 2012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7279 Redo coordinate / piece-count printing ith cairo
7280
7281
7282 2012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7283 Also use cairo on slave board
7284
7285 With dual-board observing the drawing should be redirected to the
7286 slave board, so SwitchWindow should also switch the xlib-surface to
7287 one for the slave window.
7288
7289 2012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7290 Cure flashing of piece on from-square
7291
7292 In a drag-drop move the piece was flashed on the from square after the
7293 user dropped it on the to-square, because highlights were set before the
7294 move had updated the board. And highlighting with arrow can cause a redraw
7295 of the last board. Same with setting or clearing marker dots.
7296
7297 2012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7298 Specify proper condition for using cairo animation
7299
7300
7301 2012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7302 Allow resizing of board window
7303
7304 In full png mode the size of the board window is no longer locked.
7305 After resizing, the square size is calculated as the largest one that
7306 would fit the window, and the window is then shrunk around it. To prevent
7307 excessive redrawing during sizing, the redraw is delayed by putting it
7308 in DragProc.
7309
7310 2012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7311 Switch to using 64x64 png images
7312
7313 The bitmap scaling works better when the needed factors are not too large,
7314 as the svg rendering's anti-aliasing did not blur more than 1 pixel.
7315 So after shrinking too much the images are not effectively anti-aliased
7316 anymore.
7317
7318 2012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7319 Maintain in-memory copy of the board image
7320
7321 As reading back from the xlib-surface proves incredibly slow (cairo probably
7322 converts the entire image from Xt format to cairo format when we set it
7323 as a source, even though we only want to read a few dozen pixels), we now
7324 keep an exact copy of the board image as a cairo bitmap in memory. This
7325 restores the speed of the animation, but unfortunately leads to awful code.
7326
7327 2012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7328 Do animation with cairo
7329
7330 Unfortunately this is incredibly slow.
7331
7332 2012-10-04 18:36:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7333 Allow back-texture files to be PNG, (drawn with cairo)
7334
7335
7336 2012-10-04 15:10:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7337 Add png pieces
7338
7339 A new directory with 256x256 png piece images is added to the source tree.
7340
7341 2012-10-04 15:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7342 Add mode to draw PNG piece images through cairo
7343
7344 The PNG images have to be supplied as files in a -pngDirectory (a new
7345 option) with a 256x256 bitmap. They are then scaled by cairo to the
7346 desired square size. This does not work very well for the smaller sizes.
7347
7348 2012-10-03 14:45:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7349 Redo marker dots with cairo
7350
7351
7352 2012-10-03 14:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7353 Redo highlights with cairo
7354
7355
7356 2012-10-03 14:07:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7357 Make convenience routine SetPen globally available
7358
7359 The routine to set a pen as specified by  a color string that was used
7360 in xevalgraph is moved to xboard.c, where there also is lots of demand
7361 for it. The arrow drawing now uses it for setting the highlightSquareColor.
7362
7363 2012-10-03 12:28:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7364 Redo grid with cairo
7365
7366
7367 2012-10-03 12:00:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7368 Redo arrow highlighting with cairo
7369
7370
7371 2012-10-03 11:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7372 Redo seek graph with cairo
7373
7374 New front-end services DrawSeekOpen() and DrawSeekClose() have been
7375 added, and are called from the back-end to enclose any drawing activity.
7376 In WinBoard these had to be defined as dummies.
7377
7378 2012-10-02 15:31:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7379 Redo logos with cairo
7380
7381 The logos must now be .png files, and are internally handled as their
7382 filenames. (So no preparation of a drawable from it at startup.)
7383 Cairo allows them to be scaled to the requested logoSize.
7384
7385 2012-10-02 14:02:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7386 Fix Eval Graph resolution problems
7387
7388 Anti-aliasing had to be switched off to get a crisp graph. A second problem
7389 was that the dashed lines were drawn in both directions, with interfering
7390 dashes.
7391
7392 2012-10-02 10:54:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7393 Redo Eval Graph drawing with cairo
7394
7395
7396 2012-10-21 10:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7397 Fix button-border-width bug in monoMode
7398
7399 The kludge of signalling we are dealing wih a button rather than a label
7400 was wrongly implemented in case of momoMode.
7401
7402 2012-10-21 10:14:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7403 Reserve more space for button bar
7404
7405 In some board sizes the button bar was wider than the code guessed,
7406 so the window width would be determined by the message + buttons row rather
7407 than the board.
7408
7409 2012-10-21 11:24:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7410 Fix WinBoard compile errors
7411
7412
7413 2012-10-13 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7414 Fix non-NLS compile error for XFontStruct
7415
7416
7417 2012-10-12 12:04:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7418 Fix browsing for path
7419
7420 A pathname was still prefixed with the cuurent directory.
7421
7422 2012-10-07 21:00:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7423 Use Pause state in AnalyzeMode to imply move exclusion
7424
7425 The pause state was not used in AnalyzeMode so far. Now it is used to
7426 imply all entered moves are for exclusion/inclusion.
7427
7428 2012-09-30 18:55:13 -0700 Arun Persaud <arun@nubati.net>:
7429 new version number for developer release
7430
7431
7432 2012-09-30 22:16:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7433 Fix broken -ics and -cp options
7434
7435 The patch to specify engines and ICS by nickame broke the use of the
7436 regular options to do this, because they could also reset them. Now
7437 this is fixed by only setting them (through |= in stead of =).
7438
7439 2012-09-30 22:01:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7440 Update texi file
7441
7442 The description of exclude-moves, multi-game ananalysis and duo-analysis
7443 is added.
7444
7445 2012-09-30 10:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7446 Resolve conflict between -mps and -inc options
7447
7448 The age-old problem that a persistent valid -inc value will cause -mps
7449 to be ignored is solved by the kludge of storing these two as a single
7450 option (-mps) in the settings file, and declaring the other (-inc) volatile.
7451 The range of negative numbers (invalid as -mps value) was available for
7452 that, and now is used to store the negated value of -inc in msec.
7453 For backward compatibility, specification of -inc causes interpretation
7454 of -mps in the old way. The forcing of -inc to -1 in the master settings file
7455 could be safely removed because of this change, so that the time increment
7456 now is a persistent option.
7457
7458 2012-09-29 23:13:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7459 Allow entry of fractional increment in WB time-control dialog
7460
7461 The numeric edit is changed to a general text edit, and code is added
7462 to convert the text it contains to and from float, with proper error check.
7463
7464 2012-09-29 23:05:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7465 Preconfigure -icsNames in xboard.conf
7466
7467 Although XBoard has no startup dialog with an ICS combobox, the -icsNames
7468 option is now used to select lines from with the -is option, and in
7469 interpretation of positional arguments. The most common ICS are configured
7470 together with a short nickname, so that commands like "xboard fics" will work.
7471
7472 2012-09-29 22:58:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7473 Allow ICS nickname as positional argument
7474
7475 If an argument is encountered that is not preceded by an option name,
7476 it is now first checked if it corresponds to the nickname of an ICS
7477 in -icsNames. If so, it is assumed to be the value of an -is option,
7478 selecting -ics mode with that ICS and all the options installed with it.
7479
7480 2012-09-28 20:28:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7481 Cure some sick behavior in XBoard Engine Output right-clicks
7482
7483 When a PV-walk is in progress, the PV is highlighted by selecting it,
7484 and this focuses the attention of the scroll bar on it, so it remains in
7485 view. But after release, that line was kept in view, rather than scrolling
7486 back to the top of the window (where the header line bust be available
7487 for clicking)
7488
7489 2012-09-28 13:28:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7490 Allow Analyze Game to auto-step through entire game file
7491
7492 If the game index is set to auto-increment (-lgi -1), the Analyze Game
7493 function will automatically load the next game of the current game file
7494 (starting to auto-play/annotate that) when the end of the current game is
7495 reached. This flushes the annotated game if auto-saving was set,
7496 so that eventually all games in the file will be annotatd and saved.
7497   The game index is automatically set to auto-increment when we load
7498 a file while in Analyze Game mode, but switching this mode on while a game
7499 is already loaded will stop at the end of that game, as usual (if -lgi was
7500 not explicitly set).
7501
7502 2012-09-28 13:24:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7503 Let second engine move in lockstep during dual analysis
7504
7505 When the second engine is also analysing (as indicated by its stat variable
7506 second.analyzing), we send all moves / undos / positions /  in&excludes that
7507 go to the first engine also to second.
7508
7509 2012-09-27 19:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7510 Allow second engine to analyze too
7511
7512 Clicking the Analysis menu when analysis is already in progress will
7513 now toggle the secon engine to analyze the same position. For now,
7514 this lasts only until the position changes (or you leave analyze mode),
7515 after which the second engine is always switched off, and the Engine
7516 Output window returns to single pane. Each pane now has its own header
7517 line; the exclude header is suppressed in the second pane.
7518
7519 2012-09-27 18:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7520 Add options -fe, -se, -is to load installed engines/ics from list
7521
7522 The volatile string options -fe, -se ('first/second engine') load the first
7523 and second engine of the given nickname in the -firstChessProgramNames list,
7524 including all options that were installed with it (similar to when in
7525 WinBoard the that engine line had been selected through the Startup Dialog's
7526 combobox). The option -is is similarly used to retrieve the line for an
7527 ICS in the -icsNames list.
7528
7529 2012-09-27 18:02:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7530 Add check on validity of tourney participants
7531
7532 Before allowing OK of the Tournament Options dialog, it is now checked
7533 whether all participants (which are given as nicknames) can be found
7534 in the list of installed engines, so that no problems will occurr with
7535 non-existing engines during the tourney (if typos crept in after hand-
7536 editing the list).
7537
7538 2012-09-25 16:21:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7539 Implement --help option
7540
7541 The list of options is printed before exiting. Some attempt is made
7542 to do it in a nice way.
7543
7544 2012-09-23 20:10:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7545 Implement variant seirawan in -serverMoves option
7546
7547 Write the gating moves such that the ChessLive! viewer will understand them.
7548
7549 2012-09-23 20:05:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7550 Workaround for FICS bug
7551
7552 FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move.
7553 This broke 'Upload to examine', because that uploaded in SAN. In case the
7554 SAN starts with Bx or bx, it now uses long algebraic (with = before the
7555 promo char).
7556
7557 2012-09-20 18:17:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7558 Define XOP mime type for XBoard
7559
7560 Supply a white-knight icon for this mime type, called application/x-xboard-opt,
7561 and a sesktop file to associate it with running XBoard with this settings file.
7562
7563 2012-09-20 17:24:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7564 Pay attention to extension of 'positional' arguments
7565
7566 An argument without preceding option name was assumed to be an -lgf argument.
7567 This patch still does that by default, but if the argument ends in .fen, .epd,
7568 .trn, .ini or .xop it is considered an -lpf, -tf or -opt argument.
7569   In addition, an implied -lpf or -lgf argument also imply the option -viewer,
7570 which inserts the -viewerOptions string into the command line, and proesses it
7571 as options. A new option -tourneyOptions is similarly inserted for an implied
7572 -tf argument. These strings should contain all options needed to start XBoard
7573 fully configured as game viewer or tourney playing agent on the mentioned file.
7574
7575 2012-09-20 15:29:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7576 Let windows stick to right display edge (WB)
7577
7578 Auxiliary windows docked to the board window from below or to the right, which are
7579 pushed out of view when the board window resizes, will be trimmed to just touch the
7580 diplay edge (if sufficient width or height remains). When the board window shrinks,
7581 auxiliary windows touching the edge will be resized so they remain touching it.
7582
7583 2012-09-20 15:20:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7584 Round board size to one where piece images available (WB)
7585
7586 When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not
7587 available, the size is temporarily rounded to one of the sizes where they are.
7588
7589 2012-07-03 17:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7590 Fix bug in Edit Position
7591
7592 Due to = in stead of == the variant was always set to S-Chess in
7593 EditPositionDone().
7594
7595 2012-08-28 21:24:51 -0700 Daniel Macks <dmacks@netspace.org>:
7596 bug #37210: Mishandling of X11 -I flags (tiny change)
7597
7598 AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"'
7599
7600 2012-06-02 14:31:18 -0700 Arun Persaud <arun@nubati.net>:
7601 bug #36229: changed ICS_* from define to enum
7602
7603
7604 2012-05-28 13:58:00 -0700 Arun Persaud <arun@nubati.net>:
7605 bug #36229: changed STATE_* from define to enum
7606
7607 enabling better compiler checks
7608
7609 2012-05-28 13:50:50 -0700 Arun Persaud <arun@nubati.net>:
7610 bug #36229: changed PEN_* from define to enum
7611
7612 This should allow better checks by the compiler
7613
7614 2012-05-28 13:01:15 -0700 Arun Persaud <arun@nubati.net>:
7615 fix bug #36228: reserved identifier violation
7616
7617 variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards.
7618 See link in bug report.
7619
7620 2012-05-28 12:36:37 -0700 Arun Persaud <arun@nubati.net>:
7621 Updated German translation
7622
7623
7624 2012-04-30 20:06:00 -0700 Arun Persaud <arun@nubati.net>:
7625 new version number for developer release
7626
7627
7628 2012-04-24 11:23:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7629 Decapitalize promoChar in move parser
7630
7631
7632 2012-04-23 14:12:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7633 Keep track of virginity of back-rank pieces in variant seirawan
7634
7635 The forelast rank of the Board array is now used in VariantSChess to
7636 contain flags that indicate virginity of the back-rank pieces, one bit
7637 for white, the other for black. Legality checking of gatings now makes
7638 use of this info. FENs mention all virgin pieces not implied by castling
7639 rights in the castling field, by printing the corresponding file IDs,
7640 as long as holdings are non-empty. The FEN reader now also understands
7641 this format. EditPositionDone fakes virginity for all pieces that are
7642 on their starting square.
7643
7644 2012-04-17 19:49:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7645 Suppress clear-board message after pasting FEN
7646
7647 The message field is now always cleared when you leave EditPosition mode.
7648
7649 2012-04-17 19:45:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7650 Fix faking of castling rights after editing position with holdings
7651
7652 The queen-side rook was always imagined at X=0, which is in the holdings
7653 when these exist, so that Q-side castling in such games was never allowed
7654 after EditPosition.
7655
7656 2012-04-20 10:29:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7657 Fix WB Engine Settings window
7658
7659 The listbox patch has broken this window, by making it only list the
7660 first option of the engine, by switching to the next column based on a >=
7661 test rather than == test. Fixed by using 1000 as invalid value for the
7662 break point, rather than -1.
7663
7664 2012-04-20 00:01:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7665 Fix key binding of DebugProc
7666
7667 The name used for binding was DebugProc, while the ite was named Debug.
7668
7669 2012-04-16 20:51:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7670 Fix ICS Text Menu popup
7671
7672 The space for the option names needed to be allocated.
7673
7674 2012-04-16 20:37:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7675 Fix disabling of Load Engine menu
7676
7677
7678 2012-04-15 22:53:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7679 Port chat boxes to XBoard
7680
7681 A new menu item Open Chat Window is added to the View menu. It opens a
7682 window that can handle 5 chats. A row of buttons on top selects which is
7683 the foreground chat partner, to which we type, and whose incoming messages
7684 will be displayed in the memo. The leftmost 'button' is not really a button,
7685 but a text edit, and the active partner is displayed there (so it can be
7686 altered). Selecting another chat partner through a button, moves that partner
7687 to the text-edit, and reshuffles the buttons. Incoming messages in a chat
7688 that is not foreground make the corresponding button color orange.
7689
7690 2012-04-16 20:27:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7691 Allow chaining of single-line text-edits to top
7692
7693 For the benefit of the chat window, a text-edit plus leading description
7694 can now also be chained to the top edge of a dialog. The chaining of the
7695 (degenerate) multi-line ICS Input Box and Move Type-In was entirely to the
7696 bottom, which has now been corrected.
7697
7698 2012-04-12 09:30:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7699 Add logo widgets in main board window
7700
7701 New options -logoSize and -logoDir are added. The former enables logo display,
7702 when non-zero and not too big. The latter is used by -autoLogo. The options
7703  -firstLogo and -secondLogo also work. Problem is that the clock height
7704 is larger than the logo height, and for now a nasty trick in GenericPopUp
7705 is used to position the next element (message field) w.r.t. the clocks,
7706 rather than the last element of the row above (the logo): in case of a
7707 SAME_ROW Graph element, 'last' is kept at the previous element.
7708
7709 2012-04-19 10:48:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7710 Fix crash on time forfeit with -st option
7711
7712 When fixed time per move was set from the command line, the time-control
7713 strings were not set. This let to a crash when an engine forfeited.
7714 The GetTimeQuota function is now made resistant to a NULL pointer here.
7715
7716 2012-04-19 10:39:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7717 Solve WinBoard name clashes, fix zippy-analyze menu graying
7718
7719 Some of the function names used in the refactored X11 front-end collided
7720 with Windows system names from winboard.h, or with names of internal routines
7721 in WinBoard front-end files (so they could not be declared in frontend.h).
7722 These were renamed. Some prototypes in engineoutput.h contained X11 types,
7723 and they were moved to xboard.h.
7724   In addition, two menu-item names were corrected to two-part names.
7725
7726 2012-04-18 12:00:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7727 Offer primitive paging in file browser
7728
7729 If there are more than 1000 files that would have to be displayed,
7730 the number will be limited to 999, and a 'next page' entry will appear
7731 at the bottom. Clicking that will give you the next group.
7732  This is an emergency measure only, as it interferes with sorting
7733 (grouping is based on order inside the directory, i.e. kind of arbitrary,
7734 and sorting is only done within a group.) There is no such thing for the
7735 folder list yet. There is no way to go back to a previous page, other
7736 than closing and re-opening the browser, or selecting another file type.
7737
7738 2012-04-18 11:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7739 Add pixmap as file type known to browser
7740
7741 Users can browse for a pixmap to set the board texture.
7742
7743 2012-04-17 15:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7744 Fix warning about signedness
7745
7746 Note: the promoChar in ExcludeMoves was explicitly defined to make
7747 sure the kludge promoChar = -1 for indicating best move works. But it
7748 should be equivalent to casting the promoChar to (signed char) just
7749 before the comparison.
7750
7751 2012-04-17 15:44:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7752 Fix warnings about character index
7753
7754
7755 2012-04-17 15:37:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7756 Move ManProc to xboard.c
7757
7758 It calls ManInner, which requires X11 data types, even if the values are NULL.
7759
7760 2012-04-17 15:27:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7761 Move FileNamePopUp to dialogs.c
7762
7763
7764 2012-04-17 15:15:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7765 Fix readout of numeric combobox
7766
7767 As currently no numeric comboboxes are used, this bug was silent.
7768
7769 2012-04-17 15:10:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7770 Shuffle prototypes to correct header, or add them there
7771
7772
7773 2012-04-17 14:15:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7774 Fix MenuNameToItem
7775
7776 This function could crash when called with ann argument that did not
7777 contain a period, while the idea was that it should handle this as if the
7778 item is in noMenu (for user-specified key binding to non-menu funtions).
7779
7780 2012-04-16 19:43:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7781 Fix click-click under-promotion animation save
7782
7783
7784 2012-04-17 11:02:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7785 Define TOPLEVEL in winboard.c
7786
7787
7788 2012-04-17 10:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7789 Add two new strings to WinBoard language file
7790
7791
7792 2012-04-17 10:51:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7793 Fix second-engine variant test
7794
7795 The test whether the second engine supports the selected variant took place
7796 before the second engine was loaded, thus always coming to the conclusion
7797 that the variant was not supported, and aborting the TwoMachines command.
7798 The test is now moved to after second-engine loading (but before its
7799 initialization, where non-supporting would become a fatal error).
7800
7801 2012-04-16 12:11:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7802 Fix clearing of ICS input box after send
7803
7804
7805 2012-04-16 19:08:10 -0700 Arun Persaud <arun@nubati.net>:
7806 enable -Wall -Wno-parentheses for all compilers that understand them
7807
7808
7809 2012-04-16 13:18:37 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7810 Remove 5 unused variables from zippy code
7811
7812
7813 2012-04-16 13:14:06 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7814 Remove unused static function ShowTC
7815
7816
7817 2012-04-16 13:10:58 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7818 Remove unused static function MenuBarSelect
7819
7820
7821 2012-04-16 13:07:01 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7822 Remove unused variable first_entry from function find_key
7823
7824
7825 2012-04-16 13:01:09 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7826 Remove unused variable tm from function SaveGamePGN
7827
7828
7829 2012-04-16 12:56:46 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7830 Remove unused variable delayedKing from function QuickScan
7831
7832
7833 2012-04-16 12:52:57 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7834 Remove unused variable pdown from function UserMoveEvent
7835
7836
7837 2012-04-15 04:25:59 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7838 Change some double literals to floats.
7839
7840 To avoid unnecessary implicit promotions of float variables to double.
7841
7842 2012-04-15 11:12:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7843 Remove debug printf
7844
7845
7846 2012-04-14 22:43:03 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
7847 Translate "NPS" also in engine output window
7848
7849
7850 2012-04-14 16:19:34 -0700 Arun Persaud <arun@nubati.net>:
7851 removed unused variables (-Wunused-variable)
7852
7853
7854 2012-04-14 15:37:05 -0700 Arun Persaud <arun@nubati.net>:
7855 added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh
7856
7857
7858 2012-04-14 23:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7859 Fix Eval Graph scale in drop games
7860
7861
7862 2012-04-14 23:16:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7863 Fix ArrowDamage out-of-bounds access on drop moves
7864
7865
7866 2012-04-14 21:33:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7867 Implement automatic partner observe
7868
7869 Starting a game, or starting to observe one, now automatically issues a
7870 'pobserve' command if dual-board is switched on, so that the partner game
7871 will pop up in the secondary board (assuming it is bughouse).
7872  The secondary board now displays the players in the title. (This (lightly)
7873 breaks WinBoard again.) When the primary game ends, the secondary board
7874 closes automatically. Initial sizing of the board is repaired, and now uses
7875 the actual current board size, rather than the initial size of the main board.
7876
7877 2012-04-14 15:43:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7878 Fix crash due to empty PV
7879
7880 Reception of a stat01 command before the first PV could cause a crash,
7881 as apparently the parser cannot handle this.
7882
7883 2012-04-14 13:27:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7884 Suppress testing for availability in bughouse drops
7885
7886 Give up on testing legality of bughouse drop moves; this only causes problems,
7887 because the move list sent by the ICS is not accompanied by holdings updates.
7888 So XBoard parses it thinking the holdings are empty, making every drop move
7889 an ImpossibleMove. Bughouse can only be played on ICS, and we might as well
7890 trust the ICS that it will only pass us legal moves. A user should not be
7891 able to enter illegal drops; unavailable pieces cannot be grabbed from the
7892 holdings, and typing is diverted to the ICS directly (which would reject the
7893 illegal drop without XBoard even knowing about it).
7894   Also improve switching to bh/zh, based on drop move in initial board.
7895
7896 2012-04-14 09:11:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7897 Fix some compile errors / warnings
7898
7899
7900 2012-04-13 19:06:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7901 Fix promotionPopDown on new move entry
7902
7903 The promotion popup is non-modal, and old XBoard versions popped it down
7904 as soon as the user clicked the board, so he could just enter a new move
7905 to abort the promotion. This was broken in the new version, because the code
7906 to do the PopDown and abort in HandleUserMove had not been ported.
7907
7908 2012-04-13 18:38:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7909 Use in-place sweep-selection for click-click under-promotion
7910
7911 With detour under-promotion a piece cycles through all possible choices
7912 during backwards dragging. But in a click-click move there is no dragging.
7913 This used to be solved by letting the second click start a drag event of
7914 the default promotion choice, which you could accept by immediately
7915 releasing the mouse button, or drag around to change it first.
7916  The dragging in this case seemed a little unnatural, because the to-square
7917 was already indicated by the down-click. So it has been changed now to the
7918 promo choice appearing on the down-clicked to-square, followed by
7919 EditPosition-like sweep-selection on that square when one wants to under-
7920 promote. The move is always accepted no matter where the up-click takes
7921 place, except when it takes place on the from-square (which offers a last-
7922 resort abort possibiliy).
7923  Note that click-click promotion is essential in variants where it is not
7924 obvious from the from-square alone that a promotion is imminent, but where
7925 it depends on the to-square. (Such as Shogi.) There drag-drop detour under-
7926 promotion is not possible.
7927
7928 2012-04-13 16:05:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7929 Improve arrow drawing
7930
7931 The arrow is now erased together with the border highlights, by marking
7932 the damage it did, and then doing a selected redraw of the board to let
7933 the damaged square be re-drawn. Highlights of a previous move are now
7934 cleared on the down-click that selects a new piece, so there never is an
7935 arrow to infavorably interact with animation of dragging.
7936
7937 2012-04-13 14:57:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7938 Also do selective redraw with showTargetSquares on
7939
7940 The XBoard DrawPosition now also keeps track of the previous marker state,
7941 and redraws squares for which thi shas changed. As a result, the routine
7942 MarkTargetSquares does no longer have to force to complete redraw.
7943 (Breaks WinBoard?)
7944
7945 2012-04-13 00:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7946 Fix click-click sweep promotions to empty square
7947
7948 These did not work, because DragPieceBegin would fail on an EmptySquare.
7949
7950 2012-04-12 23:58:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7951 Move clearing of target squares to after drag end
7952
7953 A dragged piece that would partly overshoot its destination into a square
7954 with a marker would effectively protect that marker from erasing, when the
7955 erasing was done before the piece was released, because redrawal after the
7956 move only would draw the target square. (Unlike erasing, which forces a full
7957 redraw.)
7958
7959 2012-04-12 23:49:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7960 Fix double promotion popup
7961
7962 Only the up-click of a click-click move gives a promotion popup now.
7963
7964 2012-04-12 23:32:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7965 Fix promotion popup
7966
7967 The new GenericPopUp did not like it if the first button had 'SAME_ROW' set.
7968
7969 2012-04-12 17:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7970 Allow clearing of marker dots in any mode
7971
7972 There might already be dots when you change to a mode where there should
7973 be none, and you don't want them to stay on forever in that case...
7974
7975 2012-04-12 17:00:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7976 Fix redraw of secondary board on flipping view
7977
7978
7979 2012-04-12 10:30:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7980 Let clocks of secondary board count down
7981
7982 The back-end now remembers what is the active clock, and the time left on it.
7983 This is then decremented and updated together with the clocks of your own
7984 game, using the partnerUp flag to divert the clock display to the secondary.
7985
7986 2012-04-12 09:47:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7987 Fix 3 forgotten symbolic widget references
7988
7989
7990 2012-04-11 19:24:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7991 Add sound files to browser menu
7992
7993
7994 2012-04-11 13:04:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7995 Add New Directory button to file browser
7996
7997
7998 2012-04-11 09:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7999 Detect engine exit during startup
8000
8001 The case where engine startup failure does not result in a fatal protocol
8002 message, like "No such file", but where it simply exits, is now also covered.
8003
8004 2012-04-10 22:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8005 Suppress popup for fatal error after tellusererror
8006
8007 For cooperating better with Polyglot, and allowing more to-the-point
8008 error messaging, the (awful) default message will be suppressed if the
8009 dying engine already provided an explanation for its demise to the user.
8010
8011 2012-04-10 20:28:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8012 Fix Engine Output icon heights in international versions
8013
8014 The text in a label option could not be an empty string, or it would be
8015 'translated' to something of enormous size. So it is set to a space now.
8016
8017 2012-04-10 20:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8018 Fix internationalization
8019
8020 The internationalization was broken by moving the XtSetLanguageProc
8021 to behind 'bindtextdomain'.
8022
8023 2012-04-10 20:03:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8024 Make reference to board widgets symbolic
8025
8026
8027 2012-04-10 18:39:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8028 Don't strip path from engine name if directory given
8029
8030
8031 2012-04-10 17:54:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8032 Fix vertical chaining of Buttons and browser ListBoxes
8033
8034
8035 2012-04-10 15:53:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8036 Fix auto-play
8037
8038 The 'narrow search' modification had broken auto-play, because all selected
8039 games were marked as matching position 0, so that they would all start in
8040 thr opening position.
8041
8042 2012-04-10 13:30:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8043 updated po/pot files
8044
8045
8046 2012-04-10 11:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8047 new version number for developer release
8048
8049
8050 2012-04-10 13:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8051 Update POTFILES.in
8052
8053
8054 2012-04-10 13:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8055 Fix Makefile EXTRA_DIST
8056
8057
8058 2012-04-02 17:53:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8059 Use Ctrl key in EditPosition mode to copy pieces
8060
8061
8062 2012-03-28 23:51:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8063 Fix bug in FRC castling for position search
8064
8065 In FRC it is essential that both pieces are taken off the board before
8066 any of them is put back, lest they obliterate each other.
8067
8068 2012-03-28 12:25:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8069 Fix bug on loading engine
8070
8071 A newly loaded engine was put at the end of the game, rather than at the
8072 current position, (which is required in EditGame mode).
8073
8074 2012-04-06 17:02:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8075 Add 'Narrow' function to position search
8076
8077
8078 2012-04-06 10:52:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8079 Reorganize main() a bit
8080
8081 The font stuff goes into a separate routine, and the X11 stuff is
8082 moved backwards as far as possible.
8083
8084 2012-04-04 21:55:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8085 Give the dual-board option a separate board window
8086
8087 The second board window pops up whenever an alien board is received
8088 during your game. Moves in it are highlighted by an arrow, irrespective
8089 of the 'Highlight with Arrow' setting. The clocks are displayed, but do
8090 not count down.
8091
8092 2012-04-05 11:23:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8093 Port engine grouping to Match Options dialog
8094
8095
8096 2012-04-05 15:18:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8097 Change default directory in Load Engine to "."
8098
8099
8100 2012-04-05 10:49:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8101 Port grouping to XBoard Load Engine Add highlight to Load Engine grouping
8102
8103
8104 2012-04-06 17:19:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8105 Fix default file types for browse buttons
8106
8107
8108 2012-04-03 09:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8109 New browser
8110
8111 Redo file browser with GenericPopUp
8112
8113 This had to solve quite some problems, because it wanted to use a ComboBox
8114 option while a transient dialog could be up, was a non-engine dialog
8115 while an engine dialog is up, and XRaiseWindow does not work properly.
8116   Sorting is done alphabetically, or for digit groups by numeric value.
8117
8118 2012-04-02 14:43:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8119 Use ListBox in stead of ComboBox in Match-Options dialog
8120
8121
8122 2012-04-02 14:09:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8123 Use ListBox in stead of ComboBox in Load Engine dialog
8124
8125 Make Load Engine listbox sensitive to double-clicking
8126
8127 2012-03-26 17:06:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8128 Add message about enabling in New Variant dialog
8129
8130
8131 2012-03-31 20:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8132 Move LoadGamePopUp to menus.c
8133
8134
8135 2012-03-31 20:25:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8136 Move DisplayMessage to dialogs.c
8137
8138 Use the wrapper SetWidgetLabel to make it back-end.
8139
8140 2012-03-31 15:23:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8141 Fix switching debug option during session.
8142
8143 Switching on debug mode during the session did not create the requested
8144 debug file.
8145
8146 2012-03-31 15:22:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8147 Correct texi file for use of .Xresources
8148
8149
8150 2012-04-02 19:19:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8151 Fix recent-engines menu
8152
8153 A new primitive to create an item in a given menu was added to do this.
8154
8155 2012-03-31 10:54:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8156 Switch back two two-part menu names
8157
8158 The menu code is again completely changed; a handle field is added
8159 to the MenuItem tables to store the widget for the item, and this info
8160 is used to alter sensitivity or marking. MenuToNr is replaced by
8161 MenuNameToItem, which looks up the two-level name directly in the
8162 menu tables. Put all currently unused MenuProcs in noMenu table,
8163 so they are available for key binding through the new method.
8164
8165 2012-03-24 18:36:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8166 Redo main board window with generic popup
8167
8168 Some of the improvements in GenericPopUp (committed earlier) were added
8169 especiall for this (menu and box Option types), and the commits that used
8170 them to make a fully functional board, listed below, were collapsed into
8171 this one.
8172
8173 This uses the new box and menu features of the Generic popup.
8174 Make option table shadow board consistent with refactor
8175 Do main menus in shadow board
8176  The board made by GenericPopUp now also has (functional) menus. The Expose
8177  callback now also uses the new format (passing coordinates).
8178 Use BoxEnd callback to decide about smallLayout
8179  The shadow board now dynamically decides whether it should use smallLayout
8180  positioning of the title-in-window widget, using a callback in the BoxEnd
8181  option for the menu bar: If no reasonable amount of space is left behind
8182  the menu bar, the title is forced under the clocks (smallLayout).
8183 Do some mouse handling on shadow board
8184  Only button 1 events for now. We have to keep track if the button is down!
8185 Connect button 3 to shadow board
8186  For now only for piece and PV manipulation: no context menus yet
8187 Symbolic reference in option formatting
8188 choice <-> textValue xboard.c
8189 Improve expose callback shadow board
8190 Implement context menus of shadow board
8191  This uses the new generic PopUp option
8192 TopLevel xboard.c
8193 Make mock-up board available through menu item
8194 Make clocks of shadow board sensitive to clicking
8195 Make button bar of shadow board operational
8196  The back-end Event functions are specified as user callbacks directly;
8197  this is not very clean, as they are parameterless, but called with an int
8198  argument. This should have no bad consequences, though.
8199 Switch to using shadow board as main board
8200  The menu marking and enabling had to b switched off for this, as it
8201  only worked on the old menus. Remove HandleUserMove.
8202 Deleting of unused shell variables, clocks to dialogs.c
8203 Move BoardPopUp to dialogs.c
8204  This required passing on fome front-end vars as parameters, and returning
8205  apointer to the option list, to make the handles available in xboard.c.
8206 Simplify InitDrawingSizes
8207  Now that all widgets of the main window are properly chained, there is
8208  no need to resize them when the board format changes: setting a new width
8209  for the shell suffices.
8210 Cleanup some unused Xt Args
8211
8212 2012-03-31 10:53:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8213 Remove unnecessary menu unmarking for Edit Tags
8214
8215
8216 2012-03-29 19:09:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8217 Split sync-after options in Match dialog into checkbox + label
8218
8219 Now the checkbox texts are highlighted on hovering, we don't want the
8220 explanatory text behind it to be highlighted with it.
8221
8222 2012-03-26 17:12:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8223 Make variant-unsupported-by-second error non-fatal
8224
8225
8226 2012-03-23 20:06:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8227 Redo Eval Graph with generic popup
8228
8229 The Graph option of the GenericPopUp is used to implement the Eval Graph.
8230 Compared to the previous implementation, which was drawing directly in the
8231 form widget, the new one has one extra widget layer, but that did not
8232 affect the code anywhere. Adapt eval title to width of eval graph.
8233
8234 2012-03-23 15:17:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8235 Redo Engine Output window with generic popup
8236
8237 A new file nengineoutput.c holds the X-independent code. This makes use
8238 of new capablities of GenerciPopup, for having Label widgets on same row,
8239 stacking panes after a Break, and chaining Label and Text widgets.
8240
8241 2012-03-21 23:00:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8242 Redo Game List with generic popup
8243
8244 Check in ngamelist.c
8245 Redo Game List with generic popup
8246  The X-independent code (i.e. almost all) is moved to a new file
8247  ngamelist.c.
8248 Make button in Game List to pop up Game List Options
8249 Fix scrolling game list
8250 Fix popup of existing Game List after loading file
8251 Wheel-scroll game list
8252 Symbolic reference game list
8253 TopLevel game list
8254 Put format flags with listbox options
8255
8256 2012-03-21 17:58:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8257 Redo Game List Options with generic popup
8258
8259
8260 2012-04-05 21:56:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8261 Add -dialogColor and -buttonColor options
8262
8263 These only override system defaults if they are non-empty strings.
8264
8265 2012-03-28 15:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8266 Add -topLevel option
8267
8268 This persistent Boolean option determines if the auxiliary windows
8269 (Game List, Move List, Engine Output, Eval Graph, Tags and Comment)
8270 use top-level shells (with their own icon on the task bar, and
8271 independently closable). Other dialogs will always use transient shells.
8272 (Also he modal Error and Promotion dialogs, for which the modality
8273 presumably only serves to pop them down without special attention.)
8274 A control for this was added in the General Options dialog.
8275
8276 2012-03-20 15:30:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8277 Redo ErrorPopUp with generic dialog
8278
8279 <Enter> keeps popping down error popup.Multiple Error popups remeain tricky;
8280 add comment to describe problem with multiple ErrorPopUps.
8281
8282 2012-03-20 10:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8283 Redo PromotionPopUp with generic dialog
8284
8285 The dialog is no longer modal.
8286
8287 2012-03-19 21:56:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8288 Redo AskQuestion dialog with generic popup
8289
8290
8291 2012-03-19 21:55:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8292 Major refactoring of GenericPopUp
8293
8294 Allow more transient dialogs in GenericPopUp
8295 Remove grab from promotion popup
8296 Fix other generic popup over transient popup
8297  To use the generic dialog generator for 'asynchronous' popups (Ask Qustion
8298  or Error popup caused by engine), the currentOptions setting has to be
8299  restored for the combo and checkbox callbacks of the transient to still
8300  work after the asynchronous dialog returns. Note that only transient dialogs
8301  can have check and combo controls.
8302 Make generic calcel button suppressible
8303  Also #define some more symbols for Option.min flags,
8304  and move them to dialogs.h.
8305 Change TypeInProc to general OK handler
8306  The move type-in now has its own option list, to distinguish it from
8307  the ICS input box, and give it its own OK handler. Rather than having
8308  the translation for <Enter> on the text widget call TypeInEvent directly,
8309  we let it call GenericCallback, which calls GenericReadout, which calls
8310  the OK proc, which does the job.
8311   To be able to call GenericCallback from the TypeInProc, the recognition
8312  of OK and cancel buttons had to be changed. This because it was too difficult
8313  to arrange the calling widget had label OK or cancell. So these buttons are
8314  no longer recognized by name, but by the option number passed as client data.
8315  (This solves the problem that a user could not make buttons named 'cancel'
8316  or 'OK'.)
8317 Make Cancel button optional
8318 Fix closing multiple popups of same kind
8319  The GenericCallback figures out its own shell, so all buttons of
8320  multiple dialogs keep working. External calls to PopDown only work
8321  on the lastcreated instance of that kind, though (including those from
8322  the Delete Window button, which can do 'cross-closing'). shellUp is now
8323  a counter, and PopDowns are only prevented when it reaches 0 or the
8324  current shell does not exist. (To know this, PopDown now resets shells[n]
8325  to NULL when is shell is destroyed.
8326   Beware of double PopDowns (through OK procs); they wreck the system.
8327 Fix Delete Window button of multipe ErrorPopUps
8328  The action routine for handling the Delete Window now pays attention
8329  to the shell widget that the system passes to it, and temporarily
8330  replaces shells[n] by it to let PopDown act on the proper instance.
8331 Add ListBox dialog type to GenericPopUp
8332 Fix vert sizing of ListBox
8333 Put listbox widgets in viewport
8334 Put listbox in viewport
8335 Improved xoptions.c support for focussing and listboxes
8336 Fix OK-row button positioning
8337 Let GenericPopUp take parent and modality as arguments
8338  This makes the code a bit more explicit and less kludgy. It also becomes
8339  possible to call the same dialog (e.g. Load Options) from the main menu
8340  and from another dialog (e.g. the Game List).
8341 Support scroll function for generic popup listboxes
8342 Fix scrolling
8343 Move HighlightWithScroll to xoptions.c
8344 Change scroll algorithm
8345 Add mouse-wheel scroll to generic list boxes
8346 Implement tabbing between text edits
8347 Implement same-row text labels in generic dialog
8348 Allow labels to specify their chaining in generic popup
8349  The opt.min variable is used to specify the chaining: 0xF0 are the bits
8350  for (left, right) chaining of the left side (0xC0) and right side (0x30).
8351  The 0xC bits determine top or bottom chaining of the entire label.
8352  Without anything spcified (0), the chaining is XtRubber.
8353  TextBox options can also specify top-chaining of their top. All this was
8354  needed to allow decent implementation of the Engine Output window with
8355  the generic popup. (Although tags and comment popup ca benefit from the
8356  latter feature.)
8357 Let GenericPopUp support a Graph option
8358  The Graph option results in an area where one can draw something. It is
8359  positioned / chained similar to Label options. A handler for expose events
8360  can be specified in the textValue field of the option.
8361 Implement box widgets and menu buttons in GenericPopup
8362  To enhance the capabilities of GenericPopUp such that it could create the
8363  main window, it needs to be able tha packaging of controls into a box widget
8364  (for mennu and button bar). Menu buttons are also required elements
8365  (although they do look a lot like comboboxes?) Option types BoxBegin and
8366  BoxEnd can now be used to bracket a group of controls that will be put
8367  in a box widget. (Cannot be used recursively!) The positioning of the box
8368  is similar to that of a Label, and is specified in the BogBegin option.
8369   The code to shrink the menu buttons to fit is also incorporated, to act
8370  on any box widget: if the BoxBegin option specifies a width, the elements
8371  in it are shrunk to meet the requirement. Otherwise the box just gets the
8372  size of the sum of its children (plus spacings).
8373   Label options can now specify a font, casted into their textValue field.
8374  (This is needed to get the proper size for the clock widgets.)
8375 Implement callback in BoxEnd options
8376  BoxEnd is a pseudo-option, to trigger packing the preceeding ones in
8377  an earlier-opened box widget. In the process it calculates the size of
8378  the box widget (and trims it if a size was specified for it in the
8379  corresponding BoxBegin). The Option.target field of BoxEnd is now
8380  interpreted as a callback, which can be use to take decisions based
8381  on the determined size for the remaining options in the list, before
8382  these are processed b GenericPopUp.
8383 Refactor xoptions.c
8384  Make a subroutine to set args shared by almost all widgets. Swap meaning
8385  of '1'-bit in option.min flag of Break option, to be consistent with
8386  SAME_ROW interpretation in other option types.
8387 Make option tables consistent with refactored GenericPopUp
8388  The flag for stacking in the Break option needed to be inverted, and
8389  the BoardPopUp needed to pass the font in another field. Better use was
8390  made of the improved chaining options too.
8391 Improve Graph-option event handling
8392  The user-supplied callback now gets 3 arguments passed: the event type
8393  (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose),
8394  and two coordinates. For ouse events these are the pointer (x,y), while
8395  for expose events they are the window size (w,h). The callback is now
8396  specified in the option.target field of the Graph option.
8397 Store engine options in malloc'ed memory
8398  The Option.name field has been re-declared as (char*),  from (char[MSG_SIZ]).
8399  There are still MSG_SIZ chars allocated irrespective of actual size, because
8400  the field is also supposed to store the textValue, which can be changed by
8401  the user. But at least it means that unused options of the generous list
8402  now don't waste much space. (And the prparated Option tables in dialogs.c
8403  will shrink by a large factor as well.)
8404 Improve GenericPopUp ComboBox handling.
8405  The dialog type is now passed to the combobox callback as well, and this is
8406  used to really figure out what option it is called for.
8407 Allow numeric comboboxes
8408  When no list of strings is given in Option.choice, the target is assumed
8409  to be (int), and the number of the slected entry is stored there. Also
8410  adapts the Label options that act as fillers to the new method for making
8411  dummies (namely NULL in the Option.name field).
8412 Put comboCallback in Option struct
8413  Rather than having a general comboCallback variable for the entire current
8414  dialog, each ComboBox option can now specify its own callback in the
8415  target field of the option: the COMBO_CALLBACK bit of Option.min indicates
8416  whether the target is a variable to be set or a callback. The callback can
8417  still fetch the choice from the values array.
8418 Allow generic CreateComboPopup also to do main menus
8419  An extra parameter to CreateComboPopup determines if the menu texts
8420  should be taken from a list of strings (the old method with engine-
8421  supplied choices), or from a menu table of MenuItems. It can now also
8422  recognize "----" as a menu break, and keeps margins (for the marking).
8423 Make subroutine for determining curren combo selection
8424 Various fixes to GenericPopUp
8425 Delete one border-width setting
8426 Fix max nr of args in GenerocPopUp
8427 Fix button release events of Graph options
8428 Fix generic Graph callback pointer motion coordinates
8429 Make all format referencing in Option tables symbolic
8430 Let Option.choice define menu texts, rather than Option.textValue
8431  This is more logical than ussing textValue for it, because choice already
8432  has the correct (char**) type, while textValue was (char*), and needed
8433  casting everywhere. Note that for engine options, the fields were the
8434  same anyway, so no back-end change was required. The textValue now
8435  contains the (casted) list of actual string values, where these are
8436  needed. (But for numeric and function menus they aren't.)
8437 Add PopUp Option type
8438  An new pseudo-Option is defined, to add a popup menu to a previous Graph
8439  option. The actual popping up is done by the expose handler.
8440  The function XUngrabPointer is the key to success here. A PopUp option
8441  specifies a callback for handling the selection from the menu, which will
8442  be called with the option number, exacty as with ComboBox options.
8443 Update option explanation in dialogs.h
8444 Make Spin and CheckBox callbacks pass dialog number
8445  No longer rely on 'currentOptions' for getting the option belonging to
8446  the callback, but get it out of the dialogOptions array indexed by dialog
8447  type. This way things cannot be messed up by an asynchrounous error popup.
8448  It also means that it is now save for non-modal dialogs to use these options.
8449 Use button widget for text behind checkbox
8450 Let listboxes use general formatting hints
8451 Let GenericPopUp option always finish last pane after Break
8452 Allow LisBox to specify select callback in Option.textValue
8453 Use double-click to trigger ListBox callback
8454 Make ListBox callback re-entrant
8455 Fix multi-line Label options
8456 Separate CreateMenuItem out from CreateComboPopup
8457 Chain checkbox texts entirely left
8458 Allow a user-specified callback to Label options
8459  This is needed to implement the clocks. Let the CheckBox callback handle
8460  it. For now ther is no distinction between different mouse buttons.
8461
8462 2012-03-21 11:15:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8463 Prevent double PopDowns
8464
8465 Some DialogOK functions ordered an early PopDown themselves. This,
8466 however, resulted in PopDown being called twice when they returned TRUE.
8467 This interfered with the new system for allowing multiple instances of
8468 the same dialog. So these functions are now fixed to suppress the
8469 standard PopDown by always returning FALSE.
8470
8471 2012-03-20 19:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8472 Split usounds.c and usystem.c from xboard.c
8473
8474 X-independent code was moved to separate files. The nef file usound.c
8475 contains the sound handling, which in XBoard is trivial, because it uses
8476 an external player, but could be replaced by a complex one on platforms
8477 that have to handle the sound themselves.
8478   The usystem.c file contains all non-X Unix-like stuff, such as fork,
8479 pipe, system, getenv. I also contains some color parsing for the xterm
8480 colors. This stuff could be useful on platforms that support Unix-like
8481 system calls.
8482
8483 2012-03-26 19:03:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8484 Make routine to probe shift keys
8485
8486 The code to probe Alt keys was taken out of MoveTypeInProc, and extended
8487 to probing Ctrl and Shift keys too. These are now returned in the 6 LSB
8488 of an int by ShiftKeys().
8489
8490 2012-03-19 13:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8491 Remove one level of indirection on ICSInputBoxPopUp
8492
8493
8494 2012-04-10 10:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8495 Cleanup of xboard.c
8496
8497 Remove AskQuestionProc
8498 A bit of cleanup on xboard.c prototypes
8499 Remove dead file-browser code
8500 Delete vestigial jail code
8501  All the stuff about jailColor was deleted. Only one fishy thing remains:
8502  xpmJailSquare seems under some conditions used in BlankSquare to draw a
8503  'neutral' square. it is set to a copy of a light square image. But in the
8504  current design 'neutral' means blacked out between board and holdings,
8505  and even with image use, it should not resemble a light square...
8506 Remove registering of CommentPopDown and TagsPopDown
8507 Merge CopyGameSelection into CopyPositionSelection
8508
8509 2012-03-19 11:38:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8510 Move some back-endish routines from xboard.c to dialogs.c
8511
8512 Move ICS input-history handling to dialogs.c
8513 Move ICS Input Box text handling to dialogs.c
8514 Move DisplayXxxx routines to dialogs.c
8515 Move DisplayTitle to dialogs.c
8516  A wrapper SetWindowTitle remains in xboard.c.
8517
8518 2012-03-18 20:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8519 Split back-endish part off xoptions.c, and move to dialogs.c
8520
8521 Some MenuProcs for dialogs were also moved to dialogs.c from menus.c.
8522 MoveTypeInProc which is an event handler for the board widget,
8523 was moved to xboard.c, where it can be static.
8524
8525 Identify dialogs by enum type
8526  A new header dialogs.h is created, which defines an enum type DialogClass
8527  that is now used to identify the various dialogs done by GenericPopUp.
8528  The prototypes for GenericPopUp/PopDown, and other globals shared by the
8529  dialogs code and other modules can go in here as well.
8530 Remove ClearTextWidget
8531  This did the same as SetWidgetText with an empty string.
8532 Split X-code from PutText
8533 Split back-end part from MoveTypeInProc
8534 Take set-title out of comment popup
8535 Sort MenuProcs in dialogs.c with their support functions
8536 Declare globals in dialogs.c with functions where they belong
8537 Add prototypes to dialogs.h
8538 Move prototypes and globals from xoptions.c to dialogs.h
8539 Make accessor DialogExists for dialog shells
8540 Add dialogs.c to makefile: compiles and runs!
8541 Combine 3 calls into front-end to InitDrawingParams
8542 Move EditCommentProc and ICSInputBoxProc to dialogs.c
8543 Pass option list as argument to GenericUpdate and GenericReadOut
8544 Shorten argument name from currentOption to opts
8545  This to prevent confusing it with the global variable of that name.
8546
8547 2012-03-18 15:33:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8548 Declare some shared global variables in backend.h
8549
8550 The vlobals twoBoards and partnerUp were only shared through an extern
8551 declaration in xboard.c
8552
8553 2012-03-18 12:34:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8554 Split back-endish part off drawing code and move to board.c
8555
8556 Split DrawSquare in front-end and back-end part
8557 Back-endize DrawHighlights and DrawPosition
8558  The already existing wrapper FlashDelay is used as a kludge to do an XSync.
8559  We now pass a code for the line color GC to the highight routine. New
8560  wrappers are DrawGrid() and DrawBorder().
8561 Back-endize atomic explosions
8562 Back-endize DrawArrow and DrawDragPiece
8563  DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead
8564  of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes
8565  DrawArrowBetweenPoints.
8566 Move board-drawing logic to new file board.c
8567  All X-independent drawing logic (board, squares, arrows, highlights,
8568  some animation stuff) has been extracted from xboard.c, and moved to
8569  a new file board.c, which is back-end (but unshared with WinBoard).
8570  A new header board.h defines the cross-references (which of course
8571  required some functions to be no longer declared as static).
8572   A bit of code was moved from DragPieceBegin to BeginAnimation, which
8573  now has an extra argument to indicate which piece should appear from
8574  under a dragged piece. This makes DragPieceBegin free of XCopyArea calls,
8575  so it could be moved too.
8576 Make board.c truly back-end
8577  Get rid of all X data types. For this the AnimState struct had to be
8578  redefined: the GC and Pixmap was taken out and put in front-end arrays
8579  indexed by anim agent (game and player). For this indexing a new enum
8580  was defined. The XPoint type was also replaced by our own type of an
8581  int pair (which is nasty, because the int size could be different).
8582 Move more animation code to board.c
8583
8584 2012-03-18 10:08:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8585 Contract some awful code replication
8586
8587 The code for making an X-color was replicated 6 times, and is now made
8588 into a subroutine. The code for creating GCs was quite repetitive as well.
8589
8590 2012-03-18 08:34:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8591 Move more back-endish menu-related stuff from xboard.c to menus.c
8592
8593 Move menu enabling to menus.c
8594  Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper
8595  EnableButtonBar was necessary, because Training mode wants to enable/disable
8596  that too.
8597 Move all back-endish MenuProcs to menus.c
8598  Many if the MenuProcs that could not be eliminated by listing the
8599  corresponding back-end MenuEvent function as handler directly, are
8600  still completely plactform indpendent. (E.g. when the MenuEvent needs
8601  a parameter.) These are all moved to menus.c now.
8602 Convert all dead MenuProcs to using MarkMenuItem
8603  The MenuProcs for the option items that no longer exist were also
8604  converted for check-marking their item in the new way, because we
8605  might revive them for key binding.
8606 Move the dead MenuProcs also to menus.c
8607 Revive dead menu procs
8608 Move GreyRevert to menus.c
8609 Move ModeToWidgetName to menus.c
8610 Move initial menu marking to menus.c
8611
8612 A new function InitMenuMarkers was split off from main() to do this.
8613
8614 2012-03-18 08:17:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8615 Switch to use of short menu references
8616
8617 The prefixes menuXxxx. for the item names are abolished. This made it
8618 necessary to also add a MarkMenuItem function that can handle short names
8619 for putting the xMarkPixmap on the items, as the names returned by
8620 ModeToWidgetName are used for both enabling and check-marking.
8621 Let MarkMenu use MarkMenuItem wrapper
8622
8623 2012-03-17 10:47:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8624 Refactor menu code, and move it to menu.c
8625
8626 Supply new method for key binding
8627  It is annoying that every menu item needs its X-specific handler routine,
8628  because this handler has to be registered to X for becoming eligible as
8629  a key binding. Another disadvantage of this method is that the user wanting
8630  to make the binding has to know the name under which the menu function
8631  is registered (e.g. FlipViewProc).
8632   A new method is now made available, which uses only a single (X-specific)
8633  routine, registered with X as "MenuItem", as generic key-binding handler.
8634  The bindings can then be made by the user specifying "MenuItem(FlipView)".
8635  This requires a new list of potential bindings, which should be filled
8636  by the menu-creation routines. (Currently only contains only a predeficed
8637  example.)
8638 No longer register all MenuProcs with X
8639  The list with available menu procs is moved to the user-maintained
8640  menuItemList. Only QuitProc had to stay registered with X, because it is
8641  used in CatchDeleteWindow. (So it is in both lists now.) In the future,
8642  most of the list can be built automatically from the menu tables.
8643 Alter type of MenuProcs to void(void)
8644  By getting rid of the argument list with X-types, most menu procs can
8645  become back-end. In the cases of ManProc and QuitProc the original
8646  version had to be kept as well, because in ManProc the argument was
8647  actually used (with key binding), while QuitProc is used for delete window.
8648 Remove now unnecessary menu wrappers
8649  Now the MenuProc have an empty argument list, those that also call a
8650  single 'MenuEvent' without arguments have become completely redundant,
8651  and have been taken out of the loop by calling the corresponding MenuEvent
8652  directly.
8653 Build menuItemList from menu tables
8654  Rather than having an initialized table of name-proc associations (which
8655  used to be the X registrations) for the menu items, we now build the list
8656  during menu cration from the menu tables. The menu "ref" is now used as
8657  proc name. This means the old MenuProc names used in the predefined
8658  key bindings had to be changed to conform to this. Note that the bindings
8659  would slice up names containing spaces in several parameters, so in the
8660  translations the spaces were squeezed out of the item names. This requires
8661  a hand-written comparison routine Equal() to identify the binding.
8662 Remove prototypes of deleted MenuProcs
8663 Move prototypes of platform-independent MenuProcs to menus.h
8664  Create a new header file for the menu stuff, so that we can move
8665  the corresponding handler routines out of xboard.c to a back-end file.
8666 Extract back-end code from menu creation
8667  The menu tables and code to interpret them is moved to a new file menu.c.
8668  Only basic fuctions for creating a pop-down list and for adding an item
8669  to it remain in xboard.c.
8670
8671 2012-04-07 15:59:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8672 Remove some unused (exclude-moves) variables
8673
8674
8675 2012-04-07 15:57:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8676 Install engine within current group
8677
8678
8679 2012-04-07 15:53:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8680 Switch to using listboxes for engine-selection in WinBoard
8681
8682
8683 2012-04-07 15:36:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8684 Implement Narrow button in WB Game List
8685
8686
8687 2012-04-05 15:15:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8688 Silence unjust warning
8689
8690
8691 2012-04-04 12:18:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8692 Fix memory corruption through InitString and second-engine loading
8693
8694 The InitString and ComputerString options were not swapped when replacing
8695 the second engine, so that the ChessProgramStates of the first engine
8696 could point to an invalid (already freed) init string. Also make sure
8697 that appData.directory contains its value in allocated memory, even
8698 when hand-loading engines.
8699   Some of the rare options were not swapped either, and would thus
8700 always be loaded for the first engine when -singleEngineList was true.
8701 They are now also all reset to their default, before engine load,
8702 to prevent options of one engine to linger on for a next that does
8703 not specify them. The intentional exception is -firstHost.
8704
8705 2012-04-01 20:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8706 Fix PV sorting during fail low
8707
8708 When an engine reports a fail low as thinking output, and then re-searches
8709 the same move with larger window, it now gets a lower score. This line
8710 would then be sorted below the earlier fail low, because it was mistaken
8711 for a multi-PV line for an inferior move. This patch suppresses PVs
8712 overtaking each other if they start with the same move.
8713
8714 2012-03-30 20:09:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8715 Extend smallLayout regime up to size Medium
8716
8717 Because of the increase number of menus, there is not enough space for a
8718 title next to the menu bar at smaller sizes. In fact it is questionable if
8719 the title should ever go on the same line as the menu bar.
8720
8721 2012-03-30 10:38:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8722 Fix parsing crazyhouse promotions with legality testing off
8723
8724 With legality testing off, any promotion suffixes in a move are taken
8725 'on faith'. But in crazyhouse the piece ID for normal pieces is used as
8726 promotion suffix for promoted pieces, so this would Loop Chess rather than
8727 Crazyhouse. Now attention is payed to presence of ID-less promotion pieces
8728 (indicated by ~ in the pieceToCharTable), and if there are, these prevail
8729 ovr the specified type.
8730
8731 2012-03-30 10:07:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8732 Fix browsing for save file in WB
8733
8734 The generic popup browse buttons used the wrong flavor of browser,
8735 which would only accept existing files. This was inconvenient when browsing
8736 for a save file. The other flavor of browser is now used by default (so that
8737 engine options also use it), and a new flag is added in the option.max field
8738 (which was already indicating file type) to request readonly browsing for a
8739 save file.
8740
8741 2012-04-02 10:18:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8742 Let clicking on header line exclude moves
8743
8744 The exclude header in the Engine-Output window can now be clicked, to
8745 toggle the exlusion of the listed move. Clicking on 'none' resets all
8746 exclusions, clicking on 'best' excludes the first move of the latest PV.
8747 The pseudo-move 'tail' represents all non-listed moves.
8748
8749 2012-04-01 22:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8750 Keep list of excluded moves in Engine Output header
8751
8752 As long as there is still space, excluded or included moves are added
8753 to a new header line in the Engine Output window (prefixed with + or -
8754 depending on whether they are currently excluded or included). Future
8755 in/exclusions of that same move then alter the prefix.
8756
8757 2012-03-21 23:12:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8758 Fix focus of Game List
8759
8760 After focus was transferred to the filter text-edit, it was impossible
8761 to get it back on the game list (to make the arrow keys working again).
8762 A translation to left down-click is now used to assign focus, just as
8763 it would for text edits. For unknown reason this only worked if the
8764 translations were instated by Overriding, rather than Augmenting,
8765 which again required the normal translation of downclick, Set(), which
8766 selects the clicked item, to be explicitly mentioned as well.
8767
8768 2012-03-16 22:41:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8769 Fix taking effect of some option changes
8770
8771 This fixes a bug reported at Ubuntu: when switching off move highlighting
8772 in Two Machines mode, the last move before the switch stayed highlighted.
8773 The GeneralOptionsOK() now clears any remaining highlights when highlighing
8774 is off. Similar problems with blind-fold mode and coordinates, which require
8775 a total board redraw to take effect, are now solved by also forcing such a
8776 redraw in GeneralOptionsOK() when they change.
8777
8778 2012-03-16 21:58:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8779 Add exclude and setscore to protocol specs
8780
8781
8782 2012-03-16 14:47:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8783 Fix clock stop after dragging
8784
8785 DelayedDrag always cancelled the previous drag timeout event, even when
8786 this was no longer pending because it had already taken place, and the
8787 event ID was resused by some other timeout (usually a clock tick).
8788
8789 2012-03-14 21:06:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8790 Implement exclude moves
8791
8792 Dragging a piece by double-clicking it on the from-square in analysis mode
8793 will not perform the entered move, but send an exclude or include command
8794 to the engine for that move (provided the engine enabled this with
8795 feature exclude=1), depending on if the move was already excluded or not.
8796 To this end a map of excluded moves is kept, and cleared when we move to
8797 another position through moving, undo, setboard or new. The user can see
8798 whether he included or excluded the move, as exclude uses premove highlights.
8799   Commands "exclude|include all" are sent when we throw a double-clicked
8800 piece off board (vertically or horizontally, respectively), but after
8801 exclude all the most recent PV move is included again.
8802   Remaining problem is that promotions can only be excluded.
8803
8804 2012-03-14 15:13:18 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8805 Mark new text "Click clock to clear board" for translation
8806
8807
8808 2012-03-13 21:46:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8809 More thorough switch to -ncp on engine failure
8810
8811 The ProcRef and InputSource are now also cleared, and just to be sure there
8812 are no surviving adapters, the child is killed when engine startup fails.
8813
8814 2012-03-13 21:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8815 Install engines as ./exefile in XBoard
8816
8817 When a path name is split into directory and filename, the latter in Linux
8818 must be preceded by ./ in order to make it executable in the directory
8819 XBoard starts it in.
8820
8821 2012-03-13 14:11:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8822 Inform user in EditPosition mode how to clear board
8823
8824 With -pieceMenu false the board is cleared by clicking the clock, but
8825 since this is impossible to guess, it is now printed in the message field.
8826
8827 2012-03-13 14:06:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8828 Fix fall-back on -ncp mode
8829
8830 When the requested engine could not be started, the user still had to
8831 wait for the feature timeout to expire before the UI was re-enabled,
8832 and the now-useless loading action would continue. In stead we now
8833 cancel any scheduled continuation, thaw the UI immediately, and switch
8834 the menus and gameMode to ncp straight away.
8835
8836 2012-03-10 18:55:24 -0800 Arun Persaud <arun@nubati.net>:
8837 updated po/pot files
8838
8839
8840 2012-03-10 18:54:32 -0800 Arun Persaud <arun@nubati.net>:
8841 new version number for developer release
8842
8843
8844 2012-03-06 16:37:02 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8845 Fix typo (seach) in string. It is already fixed in branch v4.6.x
8846
8847
8848 2012-03-04 14:52:34 -0800 Arun Persaud <arun@nubati.net>:
8849 added some documentation about what's need to be done for a release and a bash-release script
8850
8851
8852 2012-02-28 21:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8853 Fix suspected bug in Makefile
8854
8855
8856
8857
8858 2012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>:
8859 add information about our webpage and were to report bugs into the help menu
8860
8861
8862 2012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>:
8863 fixed "make install-pdf": missing target for recursive make in po directory
8864
8865
8866 2012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8867 Suppress recent-engines menu items in ICS mode
8868
8869
8870 2012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8871 Fix 50-move counter in ICS mode
8872
8873 Marking irreversible moves in the EP_STATUS did not work in ICS mode,
8874 as ApplyMove,which did that is never executed there. Only the boards
8875 sent by ICS are displayed,especially in observing mode. Now the status is
8876 derived from the ICS mov strings (x in the SAN move, or P in the long move.
8877
8878 2012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8879 Fix two 64-bit warnings
8880
8881 Passing the engine number in a pointer variable to the callback needed
8882 a two-step cast.
8883
8884 2012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8885 Fix piece symbols on switch back to variant normal
8886
8887 Variant switches were not properly detected, meaning the variable pieces
8888 could keep a form belonging to a previous variant. (E.g. Queen remained
8889 a Lance image after switching from shogi to normal.)
8890
8891 2012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8892 Keep XBoard windows attached on resize
8893
8894 Windows attached to bottom or right are displaced with the size increase.
8895 Their perpendicular dimension is also scaled, to keep their edges at the same
8896 fraction of the main window, unless they stick out. In the latter case the
8897 fraction is clipped to 1, so that edge moves with the full size increase.
8898
8899 2012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8900 Implement -stickyWindows in XBoard
8901
8902 This makes the auxiliary windows  move with the main window when they were
8903 touching, as in WinBoard. A control is added in the General Options dialog.
8904
8905 2012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8906 Use more reliable X-call for getting window position
8907
8908 XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems
8909 to give more reliable results, and automatically accounts for the width
8910 of window dressing. The -frameX/Y options are no longer needed bcause
8911 of this, and were removed.
8912
8913 2012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8914 Make frame width configurable in XB
8915
8916 New persistent options -frameX, -frameY now can be used to specify
8917 the amount by which Xt lies about the window coordinates.
8918
8919 2012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8920 Use combobox line for recent engines when available
8921
8922 The entry made in the -recentEngineList for the startup engine was
8923 derived from the -fcp value, but this would ignore a possible nickname.
8924 In WinBoard we now use the full combobox line to derive the entry.
8925
8926 2012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8927 Fix translation of EngineOutputTitle WB
8928
8929
8930 2012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8931 Updated Danish translation
8932
8933
8934 2012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8935 One missed translation of cps->which
8936
8937
8938 2012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8939 Undo translation of cps->which = first/second
8940
8941 The string in cps->which should not be translated, because it goes into
8942 the debug file to label engine I/O, and many tools for processing
8943 debug files (broadcasters, PGN extractors) rely on this being "first" or
8944 "second". In all contexts where "first" and "second" need to be translated,
8945 cps->which itself is already enclosed in _().
8946
8947 2012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8948 Implement -serverFile option
8949
8950 This writs an extra debug file with only engine communiation on it,
8951 for the benifit of programs like TLCS.
8952
8953 2012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8954 Implement -autoCopyPV
8955
8956 This option causes automatic copying of the last position of a PV walk
8957 to the clipboard.
8958
8959 2012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8960 Delete some load-game debug printing
8961
8962 The debug printing in Disambiguate was no longer needed. The printing
8963 of the started process in XBoard that went to stderr is now diverted
8964 to debugFP, so it ends up in the debug file.
8965
8966 2012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8967 Move change of debug file to before game load
8968
8969 Loading a game from -lgf is done before TwoMachinesEvent is called,
8970 but logically belongs to the game. So the code to switch to the new
8971 debug file for the game is moved to NextMatchGame now.
8972
8973 2012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8974 Fix button grab for sweep selection
8975
8976 The piece-menu initialization limited the grab of button events to those
8977 occurring inside the board window (presumably intended to limit them to
8978 the piece menu, but that does not pop up in sweep-selection mode).
8979 This is now suppressed when -pieceMenu is off, so that selection continues
8980 outside the the board. (Which is very convenient for pieces pu close to the
8981 edge.)
8982
8983 2012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8984 Don't leave piece selected after piece menu
8985
8986 PieceMenuEvent left the just introduced piece selected, which is almost
8987 never what one wants, as it makes it jump to the next square when selects.
8988 Which is especially annoying if it captures the piece you wanted to grab...
8989
8990 2012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8991 Fix use of middle button for position setup
8992
8993 With sweep selection the actual drop is made on releasing the button,
8994 and this event was not caught for button 2. Button-2 motion events were
8995 also not caught by the sweep-selection handler.
8996
8997 2012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
8998 Fix one more typo in the translator comments explaning "first" and "second"
8999
9000
9001 2012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9002 Fix typo in translator comments explaning "first" and "second"
9003
9004
9005 2012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9006 Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string
9007
9008 Having msg as a format string will ease translations because then
9009 badArg doesn't have to come last.
9010
9011 2012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9012 Mark the strings "first" and "sencond" for translation.
9013
9014 ... and assign the translated strings to cps->which in function InitEngine()
9015
9016 2012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9017 Use ngettext() instead of gettext() for a string to allow better translation.
9018
9019
9020 2012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>:
9021 translation: updated uk.po
9022
9023
9024 2012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>:
9025 modified configure and makefile for handling mimedb update
9026
9027 the default configure will install them using the xdg commands (if they exist on the system)
9028
9029 2012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>:
9030 add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms
9031
9032 in case the target system doesn't have the xdg-programs available, we test for them.
9033 Distributions often have their own macros to install these, so we add an enable option to configure
9034
9035 2012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9036 Remove a debug printf
9037
9038 The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN,
9039 so it was deleted.
9040
9041 2012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>:
9042 new developer release
9043
9044
9045 2012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>:
9046 updated po/pot files
9047
9048
9049 2012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>:
9050 updated Changelog, NEWS, etc.
9051
9052
9053 2012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>:
9054 translation: updated uk.po
9055
9056
9057 2012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9058 Leave height of row that only contains buttons free
9059
9060 All elements of the GenericPopUp are still scaled to the text height,
9061 including buttons appended behind them (browse or color buttons).
9062 But we now make an exception for a row that only contains buttons,
9063 as there is no harm in it being a little higher (and the buttons look
9064 prettier that way).
9065
9066 2012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9067 Fix OK button of error popup
9068
9069 The error dialog popped up as a child of the board window, even when
9070 DisplayError was called from a dialog. Now it checks if a transient
9071 dialog is up, and if so, it pops up as a child of that, grabs focus,
9072 and suppresses the system popdown of the transient dialog through a flag
9073 dialogError until it is popped down itself.
9074
9075 2012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9076 Update texi file
9077
9078
9079 2012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>:
9080 added some comments for translators
9081
9082
9083 2012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>:
9084 fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file
9085
9086
9087 2012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9088 Also configure sweep selection
9089
9090 To make sure this feature is tested, we set -pieceMenu false in the
9091 master settings file.
9092
9093 2012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9094 Fix date in copyright notice about-box
9095
9096
9097 2012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9098 Fix switching animation masks on variant switch
9099
9100 The masks for variant-dependent piees (E,H in Seirawan, promoted Golds
9101 in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes
9102 because of the patch to reduce X-server calls.
9103
9104 2012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9105 Configure wider game list
9106
9107 The game list was by default too small, so that there was no room for the
9108 filter field. Now a width of 500 is specified, whcih works at -size 49
9109 as well as 72.
9110
9111 2012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9112 Fix button chaining and combo/textbox label height
9113
9114 Previous patches forgot to specify the height for the text labels on
9115 -combo and -text options, so they were still too high. Buttons that go
9116 on the same line as the previous element should be chained right, not rubber.
9117
9118 2012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9119 Make -pgnNumberTag option setable from menu
9120
9121 The Save Options dialog now containes a checkbox for this.
9122
9123 2012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9124 Configure some new features switched on
9125
9126 The master settings file switches -showTargetSquares, -sweepPromotions
9127 and -seekGraph on, so that they will get more testing.
9128
9129 2012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9130 Fix heigth of multi-line labels
9131
9132 The previous height patch overlooked that some labels are multi-line,
9133 and need more height.
9134
9135 2012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9136 Fix popdown seekgraph on forward-event XB
9137
9138 Only the grid was drawn when the > or >> button were operated, because
9139 a full redraw was not forced by ForwardInner. The recent patch to take
9140 the seek graph down on such events did not account for that. (BackwardInner
9141 always seems to do full redraw, however?)
9142
9143 2012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9144 Put front-end support for -recentEngines in XBoard
9145
9146 The engines are added to the menu. Problem is still that in XBoard
9147 startup engines are given by command, rather than selected by combobox,
9148 so the command rather than the nickname ends up in the menu. If this is
9149 then selected, it cannot be found in the list. To limit the damage,
9150 Fairy-Max is now pre-installed without nickname. -recentEngines is now
9151 configured to 4.
9152
9153 2012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9154 Better solution to button-height problem
9155
9156 In stead of adapting the height of text widgets to that of buttons,
9157 (as represented by the message widget), we now do the opposite, and
9158 adapt the button & label heights. This is made safe by obtaining textHeight
9159 from the fontSet's max_logical_extent, though an XExtendsFontSet() call.
9160 Turns out the default height of text widgets is not exactly that, but
9161 4 pixels larger for borders and margin.
9162   The parameter XtNvertDistance is now used to align the checkboxes with
9163 the following text widget, and their size is derived from textHeight as
9164 well.
9165   The XtNvertDistance is set to -1 for the lower spin button, so that it
9166 its border coincides with that of the upper spin button. Their height is
9167 set to textHeight/2. This makes their combined height just 1 pixel more
9168 than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for
9169 other buttons we use that too (i.e. textHeight = font_extent + 5).
9170
9171 2012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9172 Fix warning
9173
9174 Deleting debug printing had made a variable unused.
9175
9176 2012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9177 Fix sleeping bug
9178
9179 The text-edit-height patch introduced a bug that did not have any consquences
9180 (yet), as the extra arg erroneously included leftover from a previous
9181 SetValues call happened to be the same as one of the intended args.
9182
9183 2012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9184 Fix unloading of first engine on tourney start
9185
9186 Because NextTourneyGame was loading a new engine before ReserveGame was
9187 called to unload it with dummy game nr = -1), the first engine proc kept
9188 hanging.
9189
9190 2012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9191 Remove some of the most verbose debug output
9192
9193
9194 2012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9195 Delete some unused WinBoard bitmaps
9196
9197 There waere up-side-down knight icons that apparently hid by mistake
9198 in the bitmaps directory: they were not part of WinBoard
9199
9200 2012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9201 Cosmetic: change 4.5 to 4.6 in xboard.conf comment
9202
9203
9204 2012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9205 Fix crash on empty combobox menu XB
9206
9207 XBoard crashed when a combobox without items was opened, as could easily
9208 happen in the Load Engine dialogs when -firstChessProgramNames contained
9209 no items, as it would without configuring. Now the creation of the popup
9210 menu is suppressed in that case.
9211
9212 2012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9213 Fix position of checkbox XB
9214
9215 With the large height the widget get in internationalization, the
9216 checkboxes are position way too high above the text. To shift them down
9217 a dummy borderless label widget is drawn above them (when needed).
9218
9219 2012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9220 Fix heights in Engine Output window XB
9221
9222 The icons did not fit in the space above the memos anymore, so the height
9223 of this area is now left free.
9224
9225 2012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9226 Derive height of text-edits in dialogs from message widget
9227
9228 With internationalization the default height of buttons has inexpliquably
9229 inreased compared to that of text-edits, messing up the layout of the
9230 GenericPopUp. The message widget is now used as a emasure of how high
9231 the widgets should be.
9232
9233 2012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9234 Configure XBoard engines and textures
9235
9236 The new -useBoardTexture option is needed in xboard.conf, as we want to
9237 distribute with the texture on, while the compiled-in default is off.
9238 A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess),
9239 as the Load Engine and Match Options checkboxes crash XBoard when the list
9240 is empty. The -recentEngines option is set to 0 to make sure the code
9241 associated with it is never executed: the code is still experimental,
9242 and the required front-end support is only present in WinBoard anyway.
9243
9244 2012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9245 Update Dutch WinBoard translation
9246
9247
9248 2012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9249 Create room in some WB dialogs for translations
9250
9251
9252 2012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9253 Add 5 missing strings to WinBoard translation template
9254
9255
9256 2012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>:
9257 new developer release
9258
9259
9260 2012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>:
9261 updated po-filies
9262
9263
9264 2012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>:
9265 updated Changelog, NEWS, etc.
9266
9267 2012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9268 Fix non-bug in WinBoard
9269
9270 The IDM_RecentEngines was not used in symbolic form everywhere.
9271
9272 2012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9273 Fix MAXENGINES in WinBoard
9274
9275 The front-end arrays for expanding the engine list measured 1000 entries,
9276 in stead of MAXENGINES, leading them to overflow.
9277
9278 2012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9279 Implement kludge to set options through Move Type-in
9280
9281 A leading "!!! " will cause the rest of the line to be parsed as
9282 command line. Very dangerous, as an unknown option (e.g. because of a typo)
9283 will cause a fatal error, which makes XBoard exit.
9284
9285 2012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9286 Put move number in Eval Graph title
9287
9288
9289 2012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9290 Implement -pgnNumberTag option
9291
9292 A new (persistent) boolean option controls if the sequence number is to
9293 be written in saved tourney games as a Number tag, to make it easier
9294 to correlate games with debug files.
9295
9296 2012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9297 Create separate debug fil for each tourney game
9298
9299 Users can now apecify a -debugfile with %d in its name, and this will
9300 be replaced by the sequence number of the game. TwoMachinesEvent then
9301 starts by opening a new file when the name has changed, so that each
9302 game will go to a different file, with recognizable name.
9303
9304 2012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9305 Fix bug in WB combobox readout
9306
9307 The previous patch exposed a latent bug in the readout of the generic popup.
9308
9309 2012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9310 Allow grouping of engines in engine list
9311
9312 Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames.
9313
9314 2012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9315 Fix TidyProgramName
9316
9317 A trailing .exe was not removed if the engine name was quoted.
9318
9319 2012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9320 Put recently used engines in WB menu
9321
9322 A new option -recentEngines specifies how many engines should be listed.
9323 The list of nicknames is stored in the ettings file as -recentEngineList.
9324 The engines are appended to the Engine menu.
9325
9326 2012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9327 Fix registering of EditTagsProg
9328
9329 This was registered with X as EditCommentProc!
9330
9331 2012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9332 Increase max nr of engines to 2000
9333
9334 Move the #define for MAXENGINES also to common.h, so that both the
9335 Load and Tourney dialog use the same maximum.
9336
9337 2012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9338 Fix fix of switch to mono-mode
9339
9340 The previous fix had == in stead of != for testing if mono-mode had changed.
9341
9342 2012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9343 Make New Variant dialog visible in mono-mode
9344
9345 All colored buttons did get a black background, and also black text...
9346 Use timer background color in stead, which is white.
9347
9348 2012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9349 Incease size of WB array of translated items
9350
9351 For the BoardOptions dialog 42 items are now needed
9352
9353 2012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9354 Implement Clone Tourney button XBoard
9355
9356 This makes use of the new GenericUpdate().
9357
9358 2012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9359 Implement GenericUpdate function
9360
9361 This does the opposite from GenericReadout: it copies the current
9362 parameter values into the dialog.
9363
9364 2012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9365 Fix arrow damage with highlightDragging XB
9366
9367 With highlight dragging the highlights of the previous moves are cleared
9368 when lifting the piece. Logically, this should also clear the arrow, but
9369 to do that requires a board redraw, which is not done at this stage. (And
9370 even then this would only be effective after marking the arrow damage,
9371 which is not done yet either). As a temporary fix, we repair the arrow
9372 by redrawing it.
9373   This patch has moved marking of the arrow damage from DrawArrowHighlight
9374 to a separate routine, so a future better fix can also call that when the
9375 arrow should be erased.
9376
9377 2012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9378 Prevent unnecessary loading of engines
9379
9380 For engines that can be reused, the unloading at the end of a pairing
9381 is in some cases wasteful, as the same engine will be used in the next
9382 pairing as well. In simple gauntlets the gauntlet engine will always
9383 stay first engine, while in multi-gauntlets the oppent engine will stay
9384 the same for an entire round. In these cases unloading is now suppressed.
9385
9386 2012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9387 Reset protocol version before loading new engine
9388
9389 The protocol version was not reset, so if the previous engine was v1,
9390 the newly loaded engine would not be sent a protover command, so
9391 that its features would remain unknown!
9392
9393 2012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9394 Give focus to board window after ICS login
9395
9396 toprevent that the focus remains on any popped up chat boxes, it is
9397 explicitlly set otherwise. The board window is preferred over the
9398 ICS interaction window, because you can type from there to the ICS anyway,
9399 and it makes all accelerator keys available.
9400
9401 2012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9402 Fix seek-graph popup and  popdown
9403
9404 Clicking outside the board area in WB (e.g.on the clocks) would also
9405 trigger seek-graph 'popup'. This is now suppressed by testing for
9406 y-coord > 0. In addition, the seek graph is automaticaly taken down
9407 when we step to another position in the current game (using buttons,
9408 arrow keys or whatever).
9409
9410 2012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9411 Suppress empty lines when observing on VICS
9412
9413 Capture of the engine kibitzes when observing an engine game with
9414 -autoKibitz on was still leaking a linefeed on the Variant ICS
9415 (but not FICS or ICC!?).
9416
9417 2012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9418 Fix printing non-numeric kibitz with -autoKibitz
9419
9420 Messages that were not considered kibitzed engine PV info for lack of
9421 numeric content, were kibitzed as coming from "your opponent", which
9422 is nonsense if you were iobserving, and masked the source. Fortunately
9423 star_match[0] is still holding the original name, at that point.
9424
9425 2012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9426 Fix 4 warnings
9427
9428
9429 2012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9430 Use same translation of "vs." everywhere
9431
9432
9433 2012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9434 Add new translations to WB language file
9435
9436
9437 2012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9438 Fix re-allocation of PGN-cache memory
9439
9440 It  allocated 8 times too much!
9441
9442 2012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9443 Fix height board dialog
9444
9445
9446 2012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9447 Enable WB time-control dialog even when no clock mode
9448
9449 The dialog could be called from the tournament dialog to set a TCfor
9450 the tourney even when currently in game-viewer mode, so it'd better work.
9451
9452 2012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9453 Exempt variant seirawan from -disguisePromoted inheritance
9454
9455 This is not a variant where promoted Pawns have to be distingushed
9456 from primordial pieces, as captured pieces do not go into the holdings.
9457
9458 2012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9459 Add control for overrideLineGap in WB Board dialog
9460
9461 Make it a checkbox to choose between 0 and -1.
9462
9463 2012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9464 Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard
9465
9466 The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7.
9467
9468 2012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9469 Fix seek graph for VICS
9470
9471 The sought command on the open-source ICS code is ICC-like (no terminating
9472 line), although the server is FICS like. So also accept prompt as seek-graph
9473 trigger on FICS.
9474
9475 2012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9476 Open WB startup chat boxes only after logged on
9477
9478 The init code for opening the chat boxes ismoved to DisplayIcsTitle().
9479
9480 2012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9481 Install mime types directly
9482
9483
9484 2012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9485 Install desktop files directly
9486
9487
9488 2012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9489 Install icons directly
9490
9491 Rather than letting make-install copy the pixmaps to the XBoard data
9492 directory they are installed directly from the source files. The name
9493 of the TRN icon was also corrected and changed.
9494
9495 2012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9496 Update texi file and remove duplicate control
9497
9498 Some missing option descriptions were added. The highlight-dragging
9499 control was removed from the General Options dialog, as it did the same
9500 as Show Target Squares. -highlightDragging wa changed to a volatile option
9501 with default value true, making it effectively disappear as an XBoard
9502 option. (In WinBoard it is still persistent.)
9503
9504 2012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9505 Remove the direct commands to the engines
9506
9507
9508 2012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>:
9509 forgot to list new desktop files in EXTRA_DIST section in Makefile.am
9510
9511
9512 2012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>:
9513 added some autogenerated po files to .gitignore
9514
9515
9516 2012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>:
9517 added desktop and mime-type association to autoconf install process
9518
9519 This should install and uninstall the mime assocciation and also the icons.
9520 Also renamed the desktop files to avoid possible name collisions.
9521
9522 2012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>:
9523 code cleanup: make function definition confirm to GNU coding style
9524
9525 change everything in the main directory to
9526
9527 void
9528 funcname (int a, int b)
9529
9530 format
9531
9532 2012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>:
9533 Updated copyright notice to 2012
9534
9535
9536 2012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9537 Implement -viewerOptions
9538
9539 A mechanism is added to allow the user to configure persistently if the
9540 game viewer that starts on clicking PGN files will use -ncp mode, or
9541 load an egine for analysis (or, in fact, do anything). This by introducing
9542 a persistent string option -viewerOptions, which will be parsed as a
9543 command line after the real command line when the option -viewer was present.
9544
9545 2012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9546 Fix crash in auto-comment
9547
9548 Trailing linefeeds in AppendComment were not properly stripped off,
9549 leading to a mismatch between the allocted and used memory, and thus
9550 possible buffer overruns.
9551
9552 2012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9553 Fix crash at match end
9554
9555 The -afterTourney option had broken old-style matches, because the ranking
9556 string that was tested for "busy" is not set there at all, and remains a
9557 NULL pointer, which strcmp doesn't like.
9558
9559 2012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9560 Add desktop files for PGN viewer and tournament player
9561
9562 The desktop files define startup commands for handling PGN, FEN and
9563 tourney files, calling xboard with the proper command-line options.
9564
9565 2012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9566 Add xml file for defining mime types
9567
9568 The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen
9569 and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files,
9570 so these files can be associated with XBoard in various modes.
9571
9572 2012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9573 Add icons for PGN and tourney files
9574
9575 Icons are provided in two sizes: 32x32 and 48x48.
9576
9577 2011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9578 Clear square markers on new game
9579
9580 Now that the markers can stay on after a first click, they need to be
9581 explicitly cleared when moving to another board, including a new game.
9582
9583 2011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9584 Abandon single-letter menus in tinyLayout
9585
9586 Now that the items on the main menu bar are clipped, it iso longer
9587 necessary to abbreviate them.
9588
9589 2011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9590 Implement peeking previous position in WinBoard
9591
9592 The backspace key is used to temporarily display the previous position.
9593
9594 2011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9595 Fix parsing of faulty PGN tags
9596
9597 A closing bracket could be missed in a malformed tag
9598
9599 2011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9600 Fix parser for variant seirawan
9601
9602 The new parser didnot understand gating suffixes with /, and did not
9603 allow any suffix at all on SAN castling moves.
9604
9605 2011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9606 Try to not confuse ICS rating adustments as shouts
9607
9608 An explicit pattern match for the rating adjustment is added before
9609 matching the shouts.
9610
9611 2011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9612 Describe -overrideLineGap option in texi file
9613
9614
9615 2011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9616 Use <Enter> in stead of Ctrl+. for peeking last move
9617
9618 I commented out the explicit detection of the Ctrl key, as this
9619 is not needed when there are no 'unnatural' Ctrl keystrokes used
9620 for binding.
9621
9622 2011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9623 Next try for menu-bar sizing
9624
9625 This time request the width needed to just fit everything, and then start
9626 shaving off pixels from the currently largest until the entire thing fits.
9627
9628 2011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9629 Clip texts on menu bar
9630
9631 The width of the items on the main menu bar is restricted so the bar
9632 will never exceed board width.
9633
9634 2011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9635 Fix format in temporary timing printf
9636
9637
9638 2011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9639 Don't test drops as mate evasions in variant seirawan
9640
9641
9642 2011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9643 Fix ICS castling rights
9644
9645 Copying the castling rights together with CopyBoard seems to have
9646 broken handling of ICS rights, where ParseBoard12 prepares a board
9647 in a local variable, an copies it before parsing the rights.
9648
9649 2011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9650 Fix initial holdings ICS seirawan games
9651
9652
9653 2011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9654 Fix sending of S-Chess gating moves to ICS
9655
9656 Normal moves did not get the gating suffix sent.
9657
9658 2011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9659 Fix menu grayout after illegal move
9660
9661 TheThinkingEnables were not reset to user state after the engine rejected
9662 the entered move as illegal.
9663
9664 2011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9665 Allow setting of holdings with edit command
9666
9667 For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command
9668 no also sends holdings contents (if the engine sent feature xedit=1), encoded
9669 as pieceType + '@' + holdingsCount (if the count is non-zero).
9670
9671 2011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9672 Fix out-of-bounds access in check test
9673
9674 Thepath to make the check test work with drops had broken the test
9675 after null move (both have rf<0), which led to corruption of the high
9676 word of the black clock.
9677
9678 2011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9679 Fix legality of Spartan promotion to king
9680
9681 In the check test promotion to King is only allowed if there are not
9682 yet 2 kings.
9683
9684 2011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9685 Fix switching back from mono-mode XB
9686
9687 Suppressing unnecesary X-server calls in InitDrawingSizes had broken
9688 switching back from monoMode, because the animVars have to be recreated
9689 for that, and this was only done when the variant changed.
9690
9691 2011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9692 Fix showTargetSquares in mono-mode XB
9693
9694 Make the marker dots black (captures) and white, and draw a circle
9695 in the opposite color around them in monoMode.
9696
9697 2011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9698 Fix arrow highlighting in mono-mode XB
9699
9700 Draw a line around it in darkSquare color in monoMode.
9701
9702 2011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9703 Fix alignment of generic browse button XBoard
9704
9705 The width ofthe browse button is now read back after creating it,
9706 and subtracted from the preceding text edit.
9707
9708 2011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9709 Add -afterTourney option
9710
9711 Only the instance pinting the tourney result will execute this.
9712
9713 2011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9714 Fix buffer possible overflow when writings tags
9715
9716 PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it.
9717 It starts by calculation the required buffer size and then allocate the buffer.
9718 PrintPGNTags() now prints directly to the file without having a buffer.
9719
9720 2011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9721 One more string marked for translation
9722
9723 And it is moved inside the if statement that uses it.
9724
9725 2011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9726 Fix checking of return value from snprintf()
9727
9728 snprintf() returns the needed space excluding the trailing 0 byte, so
9729 it has truncated if the returned valued is greater than or EQUAL TO the buffersize
9730
9731 2011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9732 Fix unportable memory initialisation
9733
9734 Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL
9735
9736 2011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9737 Add 2 strings for translation
9738
9739
9740 2011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9741 Remove the last 2 compile warnings in gamelist.h
9742
9743
9744 2011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9745 Add #include "moves.h" to gamelist.c for def. of CopyBoard()
9746
9747
9748 2011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9749 Definition of TimeMark moved from 3 c files to backend.h
9750
9751
9752 2011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9753 Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980
9754
9755
9756 2011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9757 Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails.
9758
9759
9760 2011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9761 Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined.
9762
9763
9764 2011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9765 Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined.
9766
9767
9768 2011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9769 Fix possible crash on 64-bit systems when copying game or position
9770
9771 The two convertproc's for X selections caused reads out of bounds on 64-bit systems.
9772 I hope that this is the right solution. I am not experienced with X stuff, but it
9773 follows that I have seen in other programs, testing shows that copying still works,
9774 and the reading out of bounds have disappearinged with this patch.
9775
9776 2011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9777 Fix a possible crash in the file browser
9778
9779 If the OK button was selected in the file browser when no file was selected
9780 there was a read out of bounds which could crash xboard
9781
9782 2011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9783 Fix a memory leak in Sound Options
9784
9785
9786 2011-12-16 02:57:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9787 Fix crash when selecting user soundfile due to free() of not malloc()'ed memory
9788
9789
9790 2011-12-16 02:32:37 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9791 Make GenericPopUp() more readable by using more named flags instead of numerals
9792
9793 Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks.
9794 There should no functional change.
9795 Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both
9796 branches do the same (that is nothing) when the value is uninitialised.
9797
9798 2011-12-15 02:51:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
9799 Add NO_GETTEXT flag for combobox. Fix bug #34991
9800
9801 Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK
9802 flag to call comboCallback() when an item is selected in a combobox (no new code for this,
9803 just a symbolic value instead of a number). The flags are used for the min field of struct Option.
9804 NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows.
9805
9806 2011-12-13 19:48:37 -0800 Arun Persaud <arun@nubati.net>:
9807 only translate entries in CreateComboPopup if strlen>0; fixes #34991
9808
9809
9810 2011-12-12 19:06:26 -0800 Byrial Jensen <byrial@vip.cybercity.dk>:
9811 fix for repeating key issue, with this allissues this bug should be closed; fixes #35000
9812
9813
9814 2011-12-12 18:45:05 -0800 Arun Persaud <arun@nubati.net>:
9815 also don't translate selection in ComboSelect; fixes #34991
9816
9817
9818 2011-12-12 18:40:23 -0800 Arun Persaud <arun@nubati.net>:
9819 make entries in CreateComboPopup not translateable; fixes #34991
9820
9821
9822 2011-12-10 16:06:47 -0800 Arun Persaud <arun@nubati.net>:
9823 fix translation for engine list; fixes #34991
9824
9825 * click on browse button should be recognized in translated versions
9826 * width of button should auto-scale
9827
9828 2011-12-10 11:04:17 -0800 Arun Persaud <arun@nubati.net>:
9829 change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000
9830
9831 two keybindings were using keys without modifiers, adjusted these to use the ctrl key.
9832 Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs.
9833
9834 Also added documentation for these keybindings.
9835
9836 2011-12-10 10:51:18 -0800 Arun Persaud <arun@nubati.net>:
9837 replaced unicode character for "'" in xboard.texi
9838
9839
9840 2011-12-10 10:08:48 -0800 Arun Persaud <arun@nubati.net>:
9841 removed Iconify function. Should be handled by the window manager.
9842
9843
9844 2011-12-08 20:53:13 -0800 Arun Persaud <arun@nubati.net>:
9845 marked an error messages for translation
9846
9847
9848 2011-12-08 20:33:29 -0800 Arun Persaud <arun@nubati.net>:
9849 translation: updated uk.po
9850
9851
9852 2011-12-03 17:52:23 -0800 Arun Persaud <arun@nubati.net>:
9853 fixed size of XBoard icon to 48x48
9854
9855 the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation.
9856
9857 2011-12-03 08:07:32 -0800 Arun Persaud <arun@nubati.net>:
9858 updated pot file
9859
9860 marked a lot of new strings for translation
9861
9862 2011-12-03 08:06:42 -0800 Arun Persaud <arun@nubati.net>:
9863 added new files to po/POTFILES.in
9864
9865
9866 2011-12-02 22:13:36 -0800 Arun Persaud <arun@nubati.net>:
9867 marked more strings for translation
9868
9869
9870 2011-12-02 20:08:01 -0800 Arun Persaud <arun@nubati.net>:
9871 translation: added danish translation
9872
9873
9874 2011-12-01 18:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9875 Change encoding of seirawan ICS gating-castlings
9876
9877 In stead of using upper/lower-case promoChar, the ICS now uses
9878 RxK notation, like WinBoard writes in SAN, for better consistency.
9879
9880 2011-11-30 15:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9881 Put promo-suffix on ICS move in variant seirawan castlings
9882
9883 The distinction upper-case / lowercase determines gating at R / K
9884
9885 2011-11-28 11:56:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9886 Refrain from making unnecessary resize X request
9887
9888 The window resizing code in InitDrawingSizes is suppressed when no
9889 change is needed. Similarly, changing piece bitmaps is suppressed when
9890 we stay in the same variant (and InitDrawingSizes is called e.g. because
9891 of chaging lineGap through the Board dialog).
9892
9893 2011-11-27 22:27:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9894 Fix parsing of O-O castling in variant janus
9895
9896 The new parser did not realize it meant e1i1 rather than wild e1h1.
9897
9898 2011-11-26 22:28:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9899 Show 50-move counter also when observing ICS games
9900
9901 To not cheat 50-move display was suppressed in ICS mode,
9902 but for observing a game this made no sense.
9903
9904 2011-11-26 22:22:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9905 Ignore ICS game starts when already in game
9906
9907 The advance switching of the variant on game-start messages was
9908 disruptive for users with gin=1, which also sends such messages
9909 for other games than your own. For now fixed by only reacting on
9910 them when idle (detected by invalid game number).
9911
9912 2011-11-11 18:16:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9913 Fix WinBoard  clock-click bug
9914
9915 Clicking on the clock in WinBoard also called the LeftClick routine
9916 for handling clicks on the board. This led to the from-square being set
9917 to some inalid value, so that the next genuine board click was interpreted
9918 as a to-click, with undesired effects, especially with legality testing off
9919 or in EditPosition mode, where weird things are accepted.
9920
9921 2011-11-06 17:20:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9922 Add feature-override options
9923
9924 A few (dangerous) options are added to allow a user to override
9925 engine features, or change their defaults, by supplying a string
9926 with feature commands (e.g. "sigint=0") which tricks XBoard into
9927 thinking the engine sent that. There is a -featureDefaults which is
9928 processed before the engine features, and -first/secondFeatures
9929 which is parsed just before engine initialization.
9930   This goes horribly wrong when the user wouldtry silly things like
9931 including 'option' or 'done' features!
9932
9933 2011-11-05 12:32:39 -0700 Arun Persaud <arun@nubati.net>:
9934 translation: updated uk.po
9935
9936
9937 2011-11-04 21:58:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9938 Fix handling of -secondOptions option
9939
9940 The -firstOptions and -secondOptions settigs were not swapped when
9941 -singleEngieList was true, so the second engine's options would never
9942 be set in that case, but used for the first engine.
9943
9944 2011-11-04 21:55:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9945 Accept setup command in variant fairy even with legality testing on
9946
9947 Variant fairy does not really have a defined opening position, but lots
9948 of pieces defined, so we might want to play with legality checking on,
9949 but still rely on the engine for the opening position
9950
9951 2011-11-04 21:52:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9952 Set pieceToCharTable by setup command even when ignoring FEN
9953
9954 When the user starts from a set-up position, the egines default
9955 openingposition has to be ignored, but the pieceToCharTable would
9956 still be relevant.
9957
9958 2011-11-04 21:48:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9959 Change default sweep-promotion choicein queenless variants
9960
9961 The initial scanning of the sweep piece until a defined piece is found
9962 is now in the increasing direction (still starting at Queen), so that
9963 the fairy pieces are suggested before R, B and N.
9964
9965 2011-11-03 16:38:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9966 Clear board markers when moving to other position
9967
9968 Now the markers from -showTargetSquares would stay on after a first click
9969 for the benefit of a click-click move, they would also stay on when not
9970 finishing the move, but operating the < > buttons in stead to call up
9971 other positions. ForwardInner and BackwardInner now clear the markers,
9972 like they also cleared highlights.
9973
9974 2011-11-01 18:30:22 -0700 Arun Persaud <arun@nubati.net>:
9975 updated Changelog, NEWS, etc.
9976
9977 2011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9978 Fix two warnings
9979
9980 2011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9981 Don't adjust clock on right-click in EditGame mode WB
9982
9983 This was a change that was already done for the left-clicks, but somehow
9984 never made it togit for the right-clicks
9985
9986 2011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9987 Change chase message in .lng files
9988
9989 2011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9990 Let perpetual-chase message mention square
9991
9992 In stead of a boolean, PerpetualChase now returns the square the chased
9993 piece ends on (encoded as an int), and on adjudication it will be printed.
9994
9995 2011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
9996 Add mechanism to translate variable messages in WinBoard
9997
9998 A message prefixed with % in the lng file will be considered a match
9999 if it matches the start of the text to be printed, and the remaining
10000 part of the latter will remain untranslated. This was needed to allow
10001 translation of the perpetual change message, now it indicates the square
10002 of the chased piece.
10003
10004 2011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10005 Use other interpretation of Asia rules for chase detection
10006
10007 The detection of perpetual chases now ignores pre-existing checks.
10008
10009 2011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10010 Fix crash on loading garbage game file
10011
10012 The code to cache games was not resistant to moves before a valid
10013 game start, or a game filewithout any games at all.
10014
10015 2011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10016 Incorporate variant type in book hash key
10017
10018 This prevents booksforone variant being used for another, and allows
10019 multi-variant books.
10020
10021 2011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10022 Update language.txt file
10023
10024
10025 2011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10026 Update Dutch lng file
10027
10028
10029 2011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10030 Fix Load Options dialog WB
10031
10032 Defined fastkeys; reordered elements so that fastkeys focus edit they
10033 are intended for. Changed some of the more obscure texts. Corrected
10034 list of transatble dialog items, adding a few missing ones.
10035
10036 2011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10037 Fix some warnings
10038
10039 Prototypes were added, ormoved from backend.c to backend.h.
10040
10041 2011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10042 Put 'Load Next' button back in WB Game List
10043
10044 The '>' button for loading the next (filtered) game is re-instated in the
10045 WinBoard GameList. The main window has now accelerator keys Ctrl+Up and
10046 Ctrl+Down for loading the previous and next filtered game.
10047
10048 2011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10049 Speed up position search and consider side to move
10050
10051 The position search is made to pay attention to the side to move,
10052 which produces a speedup, because we only have to compare half the
10053 game positions when looking for an exact position match. An addition
10054 we now keep track of the total number of pieces, and abandon a game when
10055 it drops below the number of pieces in the position we seek.
10056
10057 2011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10058 Dynamically allocate move cache
10059
10060 A small statically declared cache good for 250k moves (~3200 games)
10061 will be expanded in steps of a factor 8 when it overflows.
10062
10063 2011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10064 Translate search strings
10065
10066
10067 2011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10068 Implement flipped search
10069
10070
10071 2011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10072 Debug position search cache
10073
10074
10075 2011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10076 profile
10077
10078
10079 2011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10080 Translate search-mode strings
10081
10082
10083 2011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10084 Quickscan
10085
10086
10087 2011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10088 Fix duplicate loading of second engine in tourneys
10089
10090 To decide if new engines should be loaded, it was tested if first.pr
10091 equalled NoProc, assuming that ReserveGame would have left the engine
10092 loaded if the next game would need the same engines. But a reuse=0 engine
10093 could have caused termination of the first engine process anyway, while
10094 the second would still be alive. So unconditionally starting of the second
10095 engine would cause redundant engine processes to abound.
10096   Now we only start new engine processes if both engine processes are dead.
10097
10098 2011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10099 Fix PV walking with -fSAN
10100
10101 The SAN options had broken the PV walking, because the shelving of the
10102 walked PV to create space for the conversion to SAN of an incoming PV
10103 would not be properly undone, but would add the walked PV to the game.
10104
10105 2011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10106 Refine clock adjusting
10107
10108 Adjusting the clocks by shift-clicking them is now only allowed with
10109 autoCallFlag off, and an error-popup results when you do it otherwise.
10110 Also, swtching to Edit Game mode won't reset the clocks to the stored
10111 value anymore when you have just adjusted it.
10112
10113 2011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10114 Fix crash on adding items near book end
10115
10116 When Edit Book would add so many entries near the end of an opening
10117 book that the end of the added info would surpass the old end of the
10118 file, the copying of the tail got stuck in an infinite loop, extending
10119 the file without limit with repeating info.
10120
10121 2011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10122 Print message on wrong use of Clone Tourney
10123
10124 The user is urged to first provide the name of an existing tourney file
10125 when he presses the button without one. The button is also renamed.
10126
10127 2011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10128 Fix invalid combobox entry WB
10129
10130 A combobox label that was not in the list (because the user typed
10131 it, rather than selecting one) would cause a crash.
10132
10133 2011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10134 Fix crash on loading garbage game file
10135
10136 XBoard crashed when a game file contained a PGN game result before
10137 any valid game start, because data would be written in a game-list
10138 node that did not exist yet. This would occur frequently when garage
10139 was read; basically any asterisk in the data would do it.
10140
10141 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10142 Add control to set -discourageOwnBooks WB
10143
10144
10145 2011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>:
10146 only require 0.17 of gettext
10147
10148 This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones.
10149
10150 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10151 Add option -discourageOwnBooks
10152
10153 This boolean option determines the default setting of the hasOwnBook
10154 option before a tourney game starts. By setting it, the hasOwnBook
10155 option is cleared, which would enable use of the GUI book, like the
10156 engine was installedwith the /firstXBook option. An explicit option
10157 on the engine install line can still overrule this, though.
10158  A control to set this option has been added in the XBoard Match dialog,
10159 and it is saved in the tourney file to force consistency.
10160
10161 2011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10162 Reset initString and computerString on engine load
10163
10164 These options are typically engine specific, and must thus be
10165 reset to their default value before loading a new engine.
10166
10167 2011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10168 Add Romanian lng file
10169
10170
10171 2011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10172 Reactivate Falcon Chess
10173
10174 Now the patent for this has expired, Fairy-Max plays it again.
10175 So the XBoard support for it is now switched on, and an item for it is
10176 added to the XBoard New Variant menu dialog. (WinBoard still had that.)
10177 In the array the Lance was changed for the Falcon as a wild-card piece.
10178
10179 2011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10180 Update texi file for new features
10181
10182
10183 2011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10184 Update texi file for position search
10185
10186 The new items in the Load Game Options dialog are described, as well
10187 as the command-line options used to store them in the settings file.
10188
10189 2011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10190 Remove paragraph about .Xresources from texi file
10191
10192 Command-line options can no longer be set through .Xresources already
10193 since version 4.5.0.
10194
10195 2011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10196 Add Dutch WinBoard translation
10197
10198
10199 2011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10200 Prevent Edit Book window from stealing focus (WB)
10201
10202 In WinBoard updating the book window would give it focus. Now the
10203 focus is given back to the main window, except when the Edit Book
10204 window is first created.
10205
10206 2011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10207 Make book-window update part of HistorySet
10208
10209
10210 2011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10211 Fix position loading in tourneys
10212
10213 In a tourney a position must be loaded when the engine is not yet
10214 started, and the old version of LoadPosition could not handle that:
10215 It would start up the engine, and send it commands unconditionally.
10216
10217 2011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10218 Fix resetting -fSAN on engine change
10219
10220 There were two places for loading another engine, Load (from menu) and
10221 SetPlayer (in tourneys), and the previous patch for this missed the
10222 second one.
10223
10224 2011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10225 Make too-long game non-fatal
10226
10227 GameEnds is now called when the maximum number of moves is exceeded,
10228 rather than DisplayFatalError. Not sure if this properly terminates the
10229 game in all situations, but DisplayFatalError (after calling GameEnds)
10230 would also wait for the user to confirm the error popup before really
10231 exiting, so that in an unattended automatically running tourney there
10232 was not much fatal, and the entire tourney would in fact be finished.
10233
10234 2011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10235 Keep book file open
10236
10237 Rather than opening and closing the book file on every probe, it is
10238 now only closed and opened when the name of it changed.
10239
10240 2011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10241 Suppress playing of book moves with weight 0
10242
10243 Bookmoves with weight 0 could be played when the sum of the weights
10244 of all moves from the position was 0. So it was not possible to suppress
10245 the only move by giving it weight 0. This is now corrected.
10246
10247 2011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>:
10248 added NEWS for release of 4.5.3
10249
10250
10251 2011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>:
10252 better contrast for XBoard icon on a dark background
10253
10254
10255 2011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>:
10256 translationproject.org: updated Ukrainian translation
10257
10258
10259 2011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>:
10260 updated pot file and send to translation project
10261
10262
10263 2011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>:
10264 (tiny change) Clarify "-name" option is Xt-only
10265
10266 There's a set of standard options with will get used by Xt, before Xboard
10267 itself will use them.  "-name" is an Xt-only option which will set the name
10268 and resource of the window to the value requested.  It has nothing to do
10269 with setting opponent/player names.
10270
10271 Signed-off-by: Thomas Adam <thomas@fvwm.org>
10272
10273 modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL)
10274
10275 2011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10276 Fix LoadGameOrPosition starting up engine
10277
10278 When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that
10279 is called in LoadPosition() when you are running from a position file
10280 would prematurely start up the engine (without waiting for features).
10281 The kludge to suppress this behavior for the explicit call to Reset()
10282 is now extended to encompass LoadGameOrPosition.
10283
10284 2011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10285 Clear fSAN option before new engine load
10286
10287 This to prevent the new engine will inherit it from the previous one.
10288 As the command-line options an only set it, this has to be done by
10289 explicit assignment.
10290
10291 2011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10292 Fix some warnings (prototypes)
10293
10294
10295 2011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10296 Fix write failures in concurrency
10297
10298 In WinBoard a flood of writes by differentprocesses to the same PGN can
10299 cause a "permission denied" error in fopen. This patch causes retries after
10300 a random (5-15 msec) wait, in such cases.
10301
10302 2011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10303 Move HistorySet to back-end
10304
10305 This existed in exact duplicates in both front-ends.
10306
10307 2011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10308 Make DoSleep front-end wrapper for msec sleep
10309
10310 DoSleep was #defined as a macro for Sleep/ sleep, with an argument
10311 indicating msec in WinBoard, but seconds in XBoard. Nuw it universally
10312 uses msec, by defining it as a wrapperin the respective front-ends.
10313 (For XBoard itwraps FrameDelay.)
10314
10315 2011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10316 Fix playing sounds when -soundProgram is empty
10317
10318 It made no sense to just send the names of the sound files to the shell.
10319 So the soundProgram isnow tested for being an empty string, and if so,
10320 PlaySound() is aborted.
10321
10322 2011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10323 Add -afterGame option
10324
10325 This option specifies a command line to be executed after each game of
10326 a tournament. To execute the line, the function RunCommand() was added
10327 in the front-end. For XBoard this was a simple call to system(); for
10328 WinBoard part of the StartChildProcess code was cloned (without the pipe
10329 stuff).
10330
10331 2011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10332 Upgrade -serverMoves option
10333
10334 The (undocumented) -serverMoves option was upgraded to conform to the
10335 ChessLive! protocol extension for sending SAN tags. A bug that allowed
10336 upper-case promoChar to leak through was also fixed, and code was added
10337 to write engine PVs to file. Flushing of the game result to the -serverMoves
10338 file was also fixed.
10339
10340 2011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10341 Fix AppendComment
10342
10343 The joining of two comments was not performed correctly if the second
10344 one had the braces yet to be added: the closing brace was not added in
10345 that case.
10346
10347 2011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10348 Auto-popup ICS Input Box
10349
10350 Typing to the board made the move type-in pop up, but in ICS mode
10351 this is of course undesirable. Like in WinBoard, the ICS Input Box
10352 should pop up in stead, and accept the typed character. This is now
10353 realized. If the box already exists and has text in it, the typed
10354 character is appended to that text, and the box is given focus.
10355 Spaces now also are considered as printable.
10356
10357 2011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10358 Slightly decrease sensitivity of sweep actions
10359
10360 The sweep-selection of promotion and drop pieces, or step through the PV
10361 was so sensitive that it was difficult to reliably make the intended choice.
10362 It has now been reduced by a factor 1.5-2, and the sweep selection and
10363 PV walk now also use a different value.
10364
10365 2011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10366 Extra buttons in WB Tournament dialog
10367
10368 A button to copy contents of the tournament fileto the dialog is added.
10369 Buttons to invoke the Common Engine and Time Control dialogs are also added.
10370
10371 2011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10372 Fix crash on typing non-existent enginein Load Engine dialog
10373
10374
10375 2011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10376 Fix display state after failed analysis attempt
10377
10378 When an engine responded to the "analyze" command with an "unknown command"
10379 message, a Reset was done without altering the display, causing a
10380 discrepancy between display and internal state, which caused confusion
10381 when it finally corrected itself. I replaced the Reset call by an
10382 EditGameEvent call, to preserve the loaded game. The Reset was presumably
10383 used to allow for the case where the engine would be so upset by the
10384 analyze command that it needed to be reset by a "new" command, but this
10385 seems overly paranoic for an engine that just recognized the command
10386 as an unknown one.
10387
10388 2011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10389 Fix treatment of PGN score/depth info with linefeeds in them
10390
10391 This is needed to make the PGN more Arena-proof.
10392
10393 2011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10394 Fix quoting in Load Engine dialog
10395
10396 A (space-contaning)  engine name only needs quoting when there are parameters,
10397 because the over-all engine command will be quoted anyway. For UCI engines
10398 duplicate quoting is fatal, because when passed as the -ec argument of
10399 Polyglot, it will be quoted yet another time, also with double quotes.
10400
10401 2011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10402 Replace Analyze File by Analyz Game function
10403
10404
10405 2011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>:
10406 new developer release
10407
10408
10409 2011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>:
10410 update po files
10411
10412
10413 2011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>:
10414 updated Changelog, NEWS, etc.
10415
10416
10417 2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
10418 malloc.h is not needed
10419
10420
10421 2011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10422 Fix ICS move-list header mistaken for null moves
10423
10424
10425 2011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10426 Allow two-games-per-opening to work with book
10427
10428 A new option -seedBase is added, and written to the tourney file.
10429 It allows all XBoard instances working on a tourney to generate the same
10430 'random' openings in a deterministic way, based on this one-time seed
10431 and the game number. When -loadGameIndex equals -2, it uses the same seed
10432 for an odd and the following even game.
10433
10434 2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10435 Fix use of random
10436
10437 In some places rand() was called explicitly, rather than through the
10438 (configured) place-holder random().
10439
10440 2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10441 Translate search texts
10442
10443
10444 2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10445 Add -useBoardTexture and -usePieceFont options
10446
10447 These options suppress the use of the given texture files or piece fonts
10448 without relying on the kludge to disable them by prefixing an asterisk
10449 to the file or font name. Checkboxes have been added to the Board dialog
10450 to control them. The user can now set piece font in WB font dialog.
10451 The sample text can be used to specify the -fontPieceToCharTable,
10452 the font name itself the -renderPiecesWithFont value.
10453
10454 2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10455 Fix crash on start without settings file
10456
10457 A primordial -1 in currCurrent caused a crash when WinBoard was started
10458 without ini filein game-viewer mode.
10459
10460 2011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10461 Fix generic-popup failure after empty engine-settings dialog
10462
10463 The error exit ofthe Engine #N Settings dialog in case of an engine without
10464 options forgot to clear currentCps, with as a result that the generic popup
10465 thought every subsequent popup was an empty one, and kept repeating the
10466 'engine has no options' error message for every dialog.
10467
10468 2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10469 Allow substitution of engines during tournament
10470
10471 Two buttons are added in the tournament options dialog, for upgrading
10472 and for replacing a tourney participant. Lots of tests on the validity
10473 of the request are done, and if all are passed, the tourney file is
10474 written with the new participants (and in case of replace) with the
10475 results of the replaced engines erased from the -results string.
10476
10477 2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10478 Fix up/down arrows in game list
10479
10480
10481 2011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10482 Add key bindings for loading next/previous game of list
10483
10484 These bindings are set both for the game list and the board window.
10485 To make them useful, focus has to be transferred to the board widget
10486 after loading (it tends to transfer to the tags window), which now
10487 seems to work, but not always. From the game list the shellWidget
10488 seems to get focus rather than the board, which is bad as it is not
10489 sensitive to the key bindings.
10490
10491 2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10492 Allow deletion of last book move
10493
10494 The book-edit function refused to delete the entiremove list,
10495 for no good reason. This limitation now has been lifted.
10496 Also the error message that the key for the current book entries
10497 is different from that of the currentposition has been suppressed
10498 if there were no entries found for the current position (so that the
10499 book is positioned at the next key), so that it is possible to add
10500 moves from scratch.
10501
10502 2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10503 Speed up parser
10504
10505 Line numbers > 1, which are common, can exit already during move parsing,
10506 to save lots of matching on resultsand castlings.
10507
10508 2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10509 Fix missing files in file browser
10510
10511 The file browser was throwing away the first two files, assuming
10512 they were "." and "..". Alas, this is no longer true on every Linux.
10513 Now we actuallyc compare for these names, before skipping them.
10514
10515 2011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10516 Delay file loading to allow expose event first
10517
10518
10519 2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10520 Fix paging
10521
10522
10523 2011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10524 Better fix of crash on empty game list
10525
10526 An empty list is now replaced by a list containig a simple message.
10527
10528 2011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10529 Add plain arrows as key binding for stepping forward/backward
10530
10531
10532 2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10533 Debug position selection
10534
10535
10536 2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10537 Print progress during load / selection of game
10538
10539 The title bar of themain window is used to display a running count
10540 of the number of games loaded / searched.
10541
10542 2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10543 Parse PGN tags without allocating memory
10544
10545 In WinBoard malloc/free did not seem to work when preparing the game list,
10546 leading to a huge memory list when ParsePGNTag was used. The added code
10547 parses the required tags in an alternative way as a work-around.
10548
10549 2011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10550 Implement searching games in Game List for a position
10551
10552 For this it was needed to reconstruct all positions of the games
10553 without loading them, so they could be compared to the currently
10554 displayed position. A new routine GameContainsPosition is made for that.
10555  In Disambiguate, when the global quickFlag is set, we now do the
10556 disambiguation ignoring check,and only if this leads to an ambiguous
10557 move, we repeat it taking check into account to see if that resolves
10558 the ambiguity. This causes us to miss if unambiguous moves are illegal
10559 because they put their King in check, but who cares?
10560  We now do not make game-list line when not needed. If we do not filter
10561 by text, but by position, there is no need for preparing the game-list
10562 line for games that are not selected. All for efficiency.
10563
10564 2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10565 Allow entry of variations in PlayFromGameFile mode
10566
10567 Adding variations is more like editing a comment,and not really editing
10568 the game. Therefore we allow it on loaded games. As soon as we are in a
10569 variation, we temporarily switch to a (hidden) EditGame mode, restoring
10570 the original mode when we revert to the main line.
10571   We now also stay in PlayFromGameFile mode after loading a game,
10572 And opening variation (fromtheComment window) in PlayFromGameFile mode
10573 is also allowed.
10574
10575 2011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10576 Force Move History refresh after loading/reverting variation
10577
10578 The Move History window was not refreshed after switching to or from
10579 a variation if that variation happened to have the same length as
10580 the main line. Now a change in storedGames since the previous refresh will
10581 force a full refresh to avoid this. For this to work, storedGames
10582 did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
10583 calls HistorySet before the history is restored, so we don't want
10584 it to snatch away the full refresh. A call to HistorySet had to be
10585 added after PopInner is done restoring the move history.
10586
10587 2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10588 Popdown Comment window on new game
10589
10590 What is in this window cannot possibly remain valid, and can even be harmful.
10591
10592 2011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10593 Allow null move in analysis and edit-game mode
10594
10595 In some games it is allowed to pass your turn. The internal
10596 representation picked for such a null move is the drop of an empty
10597 square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
10598 SAN form is "--", (for compatibility with ChessBase / SCID), and the
10599 non-compliant forms "null", "pass"and "Z0" are recognized in
10600 the parser as well. ApplyMove() has to test for this special case
10601 (to not actually clear a1), and a way to enter the pass for the user had
10602 to be found (clicking the opponent clock, like in EditPosition mode).
10603  The null move is made move irreversible to prevent repetition draws
10604 spanning null moves being adjudicated.
10605   Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
10606 Because Chess engines will not accept null moves, SendMoveToProgram had
10607 to be adapted to send not the move, but the position after it in
10608 case of a null move. This erases the move history in the engine,
10609 so it will not react to 'undo' for that null move, so BackwardInner
10610 had to be adapted to test for intervening null moves, and if one is
10611 found, approach the target from the other side after loading the
10612 earliest position before it not crossing another null move, and
10613 then loading the moves upto the target.
10614   XBoard clock clicks had to be fixed, to pay attention to the shift key.
10615
10616 2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10617 Give WinBoard Game List its own font
10618
10619 The font fort he Game List used to be shared with the Engine Output and
10620 Move History windows, but this made it impossible to use a figurine font
10621 in the latter two (which displays piece symbols for capitals) without
10622 messing up the Game List. An option -gameListFont has been added to specify
10623 the font for the Game List(and save it in the settings file), while a
10624 control for it is added in the fonts dialog.
10625
10626 2011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10627 Fix crash on OK after Save Changes in Tags and Comment popup.
10628
10629 The global variables tagsText and commentText were used to pass
10630 a string obtained from a widget (and thus not malloc'ed), which
10631 caused a crash when the GenericReadout tried to use those variables
10632 for the new value. Fixed by using GenericReadout (which does malloc)
10633 to read out the text,in stead of GetWidgetText.
10634
10635 2011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>:
10636 Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
10637
10638 This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
10639
10640 2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10641 Suppress some XBoard warnings
10642
10643
10644 2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
10645 fixed segfault in xengineoutput
10646
10647
10648 2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10649 Disable -showTargetSquares in ICS mode
10650
10651 Help like this is considered cheating on FICS, so it is disabled for
10652 all 'classical' ICS variants. (For variants eyont Shogi we don't care.)
10653
10654 2011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10655 Put grab on sweep-selecting in Edit Position
10656
10657 A right down-click starting a sweep-selection event did not grab the
10658 mouse events, so that an up-click outside the window would go
10659 unnoticed, and the pointer motion stayed coupled to selecting the
10660 piece until the next click. By returning 2 from the RightClick back-end
10661 routine we request the grab.
10662
10663 2011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10664 Write more labels on score axis of eval graph
10665
10666 The labels for +/-1 and +/-3 are now also written, provided there is
10667 enough space.
10668
10669 2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10670 Improve Eval Graph  with -evalZoom and -evalThreshold
10671
10672 The score range between -1 and +1 can now be blown up by a factor
10673 specified through -evalZoom. The threshold below which histogram bars
10674 are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
10675 be set through the -evalThreshold option.
10676
10677 2011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10678 Print reversible plies done in stead of plies to go
10679
10680 Printing the number of plies left to the draw-adjudication point was
10681 confusing when the N-move rule was set to a non-standard value.
10682 In stead we now print the number of plies since the last irreversible
10683 move, so the user can compare it to both the engine claim point (100)
10684 and the adjudication point he set (which might be beyond 100).
10685
10686 2011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10687 Let WB eval graph react ot single left-click
10688
10689 Unlike in XBoard, the WinBoard eval graph awatys had required double-
10690 clicking to go the the corresponding move, while there really is no
10691 reason for this, as it is no text edit, and single-clicks have no function
10692 (like select).
10693
10694 2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10695 Add -scoreWhite option
10696
10697 This is similar to -absoluteAnalysisScores, except that it works in
10698 all modes, and flips the score given by the engines in the engine-output
10699 window when black is to move.
10700
10701 2011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10702 Print 50-move counter in Engine-Output title
10703
10704
10705 2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10706 Display score/depth in Eval Graph title
10707
10708 No longer print it in the comment window.
10709
10710 2011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10711 Let -sweepPromotions also work for click-click moves
10712
10713 A click-click promotion no longer causes auto-queening, but the down-click
10714 on the to-square causes a Queen to stick to the mouse pointer, and then
10715 allows the user to change it through dragging backwards before releasing it
10716 with an up-click.
10717   In WinBoard this required a slight change in DragPieceBegin, because
10718 the dragged piece there only was made visible when the mouse pointer
10719 actually started moving (and dragInfo.pos was set), presumably under the
10720 assumption that before mouse move the piece was already on the clicked
10721 square. Which in the case of a to-square was of course not true. (Because
10722 a piece jumps to the mouse pointer when the click is not centered on a
10723 square, this gives less jittery static clicks.) So DragPieceBegin has
10724 been given an extra argument now, to indicate whether it should attach
10725 the piece to the mouse pointer immediately.
10726   To make the click-click sweepPromotions work in Shogi (for which the
10727 drag-drop sweepPromotions could never work, because it is not clear the
10728 piece has a posibility to promote when you pick it up), translation of
10729 the sweep-selected piece to a Shogi promoChar had to e added.
10730
10731 2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10732 Improve -showTargetSquares on click-click moves
10733
10734 The markers on move targets are now kept when a first click merely
10735 selects a piece, rather than dragging it elsewhere. The second click
10736 (by definition on the to-square) then clears the markers.
10737
10738 2011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10739 Let PGN parser accept lower-case piece in drop moves
10740
10741 The @ sign prevents amiguity with other notations anyway.
10742
10743 2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10744 Fix parser.c line endings
10745
10746
10747 2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10748 Fix writing searchTime in tourneyFile
10749
10750 This had to be derived from the variable searchTime, which gives it
10751 in seconds, as appData.searchTime (a string in minutes) is not reliable,
10752 as it contains the command-line value, which might have been altered
10753 through the time-control dialog.
10754
10755 2011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10756 Fix resetting searchTime if other TC mode is chosen (XB)
10757
10758 This fixes a bug in the new time-control dialog.
10759
10760 2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10761 Fix coords display on large boards
10762
10763 The file indicators can now run upto 'w'. Only the lowest digit
10764 of the rank number is printed, from a table that is valid to 22.
10765
10766 2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10767 Fix crash on making too-long FEN
10768
10769 The buffer for in PositionToFEN was only 128 bytes, which was not enough
10770 for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
10771 There also is some approximate overflow checking added (but it is not
10772 fool proof in case there are holdings...)
10773
10774 2011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10775 Fix drop moves on boards with more than 10 ranks
10776
10777 The internal encoding for rank 16 is '@', and thus ambiguous with drop
10778 moves. They were always printed as 16, breaking drop games on large
10779 boards. The ambiguity is now solved (for boards with more than 16 ranks)
10780 by checking if the preceeding letter is upper case, in which case it
10781 cannot be a fileindicator, but must be a piece, and thus a drop.
10782
10783 2011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10784 Don't one-click move when legality testing is off
10785
10786
10787 2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10788 Reorder controls in Engine Setings dialog WB
10789
10790 To get tabbing through the controls in left-to-right order, they are
10791 now added to the template structure in that order. Also add a tabstop
10792 to Label options, so that JAWS will read those.
10793
10794 2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10795 Add tab stops in WB generic popup
10796
10797 The WinBoard generic popup did not put tab stops on push buttons,
10798 including the OK and cancel button, with as a consequence that these were
10799 skipped when tabbing through the dialog controls. In addition the tabbing
10800 could not begin before the user selected one of the controls with the mouse.
10801   Now all buttons have tab stops, and the cancel button is given focus
10802 when the dialog pops up.
10803
10804 2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10805 Implement Grand Chess
10806
10807 Grand Chess requires a lot of exceptional handling similar to Superchess
10808 and Great Shatran, because it also allows only promotion to a captured
10809 piece. In addition it shares the enlarged promotion zone with Makruk and
10810 Shogi, as well as the fact that promotion can be deferred. The 10-rank
10811 board furthermore required a better generalization of double-pushes and
10812 e.p. captures. On such a board double puhes are now allowed from 2nd and
10813 3rd rank, e.p. capture from 5th and 4th.
10814
10815 2011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10816 Allow promotion to Pawn with legality testing off
10817
10818 In stead of ImpossibleMove promotionto Pawn now merely is an
10819 IllegalMove, so it can be played with legality testing off.
10820
10821 2011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10822 Create some space in WB New Variant dialog
10823
10824
10825 2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10826 Allow double-digit rank numbers
10827
10828 The parser already understood double-digit numbers on input, and
10829 CoordsToAlgebraic produced them on otput. This patch also fixes sending
10830 of the moves to the computer, for which the moveList was used. The latter
10831 stored 10 as ':', etc,to always get a 4-char move, the characters of which
10832 were frequently being converted to fromY or toY by adding/subtracting ONE.
10833 To not break that the one-character encoding of rank number is kept in
10834 moveList, but in SendMoveToProgram, characters > '9' are converted to
10835 double digits.
10836
10837 2011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10838 Add Absolute Analysis Scores in Genral Options dialog XB
10839
10840
10841 2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10842 Fix texi file, and update it further
10843
10844
10845 2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10846 Modified po
10847
10848
10849 2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10850 Update texi file
10851
10852
10853 2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10854 Restore echo after ^C in ICS password
10855
10856
10857 2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10858 Fix some warnings
10859
10860
10861 2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10862 Increase efficiency of SAN generation / disambiguation
10863
10864 **************** Risky patch! **********************
10865 The algorithm used for disambiguating and generating SAN was extremely
10866 inefficient, because it generated all pseudo-legal moves from the relevant
10867 position, and then for each of those did a check test (involving generation
10868 of all moves of the opponent), before determining if the move matched the
10869 (proposed or given) SAN move. While it is pointless to generate moves
10870 with a piece that does not match (let alone checking them for legality).
10871 And for a piece that matches, it is pointless to test legality of moves
10872 that do not match the to-square.
10873   To speed up the process GenLegal and GenPseudoLegal have been equiped
10874 with an argument that can indicate the piece type of the required move,
10875 so they can skip generating moves with other pieces. TestLegality,
10876 Disambiguate and CoordsToAlgebraic make use of this facility, and set also
10877 (through global variables rFilter and fFilter) a to-square filter to be
10878 applied in the GenLegalCallback before it tests the move for legality.
10879   This patch is especially tricky for Crazyhouse, where the piece indicated
10880 in the move might not be the piece actually on the board, because the latter
10881 is a promoted Pawn, and has to be demoted toits base type before the
10882 comparison.
10883
10884 2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10885 Fix compile errors WinBoard
10886
10887 The patch to make non-existing options non-fatal broke WinBoard. All calls
10888 to ExitArgError from it now supply a third argument TRUE to fix it.
10889
10890 2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10891 Add -fSAN / -sSAN options
10892
10893 These options force the PV of the applicable engine to be converted to SAN.
10894 They make use of the existing ParsePV routine, after shelfing a possible
10895 PV (from user PV walking) to free the space after the last move.
10896 Could be costly in terms of CPU usage.
10897
10898 2011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10899 Cure flicker in Move History window, fix highlighting
10900
10901 The highlighting of the current move in the Move List window by selecting
10902 it did not always work, because some other windows were clearing their text
10903 widgets by selecting the contents and killing it, thus snatching the
10904 selection away. This has been changed to setting XtNstring to an empty
10905 string as a method for clearing without side effects on the selection.
10906 As a bonus the Engine Output window now also no longer has the black flicker
10907 on clearing it.
10908   In addition, triggering a scroll by setting the insertion point to the
10909 end of the text caused excessive flicker in the Move List window, apparently
10910 clearing it and redrawing from scratch, (even if there was no scroll motion),
10911 to the point where on my slow laptop the move history stayed entirely blank
10912 during a rapid succession of moves. This has been combatted by using the
10913 end-of-line action procedure (which does not seem to suffer from this) to put
10914 the insertion point at the end, when we need to scroll to close to the end.
10915
10916 2011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10917 Fix crash on clearing new Move List window
10918
10919 When a new game started and a previous game had filled the Move List
10920 window, a crash occurred because an attempt was made to undo the
10921 highlighting of a no-longer-existing move, and then scrolling to it.
10922
10923 2011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10924 Use sound for ICS tells also with engine telluser popups
10925
10926 The telluser and tellusererror commands now can be assigned a sound.
10927
10928 2011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10929 Add Score in Move List option to general options dialog XB
10930
10931 Now that we have a WinBoard-style Move History window, this option is
10932 no longer a no-op in XBoard.
10933
10934 2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
10935 new developer release
10936
10937
10938 2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
10939 updated Changelog, NEWS, etc.
10940
10941
10942 2011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10943 Update window itle after last game of match
10944
10945 The result printed behind player names during a match would still be the one
10946 without the game, differing from what the popup would show, which looked
10947 sloppy enough for people to complain about it.
10948 .
10949
10950 2011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10951 Make WB generic popup translatable
10952
10953 When used for internal settings (as in the Load Engine and Tournament
10954 Options dialogs), the option names are now subectto translation.
10955
10956 2011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10957 Redo Move History with generic popup in WinBoard style
10958
10959 The use of color and boldness to make the move list more readable
10960 unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move.
10961
10962 2011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10963 Remove stray else
10964
10965 Due to an erroneous else, the window parameters of Move History were
10966 not retreived (and thus incorrectly saved) when the Engine Output was up.
10967
10968 2011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10969 Make non-existing opton in settings file non-fatal
10970
10971 It is rather difficult to recover from a situaton where the settings
10972 file contains an unknown option (e.g. because you downgraded to a
10973 previous version that had fewer options), especially in WinBoard, where
10974 the user settings file is in a hidden folder, and people might not be
10975 able to find it, let alone edit it. By just skipping the line with the
10976 offending option, rather than generating a fatal error, when reading
10977 from a settings file, such options will be automatically purged from the
10978 file as soon as you save settings.
10979   Small problem is that the user cannot be warned, as the initialization
10980 has not progressed far enough at this point to generate error popups. In
10981 XBoard we can at least print to the console, but in WinBoard there is no
10982 warning at all. But the worst thing that can happen is that new options
10983 in a settings file of a more advanced version will revert to their
10984 defaults.
10985
10986 2011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10987 Change long form of -tf option to -tourneyFile
10988
10989 This is a more logical name, and in the WinBoard docs it was already
10990 described as such. Also remove the -processes option, which in the
10991 current design of the tourney manager is no longer used.
10992
10993 2011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10994 Fix default of -remoteUser
10995
10996 This has to be an empty string, rather than NULL, to prevent XBoard from
10997 segfaulting when the -gateway option is used.
10998
10999 2011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11000 Add -at and -opt options as alternative for @
11001
11002 Windows XP and Vista shortcuts do not display command lines with @ in
11003 them correctly, and these optionsprovide a work-around for that.
11004
11005 2011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11006 Fix empty-string option values in XBoard
11007
11008
11009 2011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11010 Fix crash on switching sound in Vista
11011
11012 When choosing a new sound the wave form of the old one was free'ed, but
11013 because built-in sounds are not really malloc'ed, this led to a crash.
11014
11015 2011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11016 Update WB docs for tourney manager
11017
11018
11019 2011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11020 Add icon to WB for tournament files
11021
11022
11023 2011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11024 Redo Time Control dialog with generic popup
11025
11026 As poor-man's disabling of the unneeded input fields, we print the word
11027 "Unused" in them.
11028
11029 2011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11030 Some refactoring in xoptions.c to separate out front-end
11031
11032
11033 2011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11034 Redo New Shuffle Game dialog with generic popup
11035
11036 The buttons are slightly renamed, and in stead of having an 'off'
11037 button to clear it, shuffleOpenings now has its own checkbox, which is
11038 ticked when a fixed or dynamic random is chosen with the buttons.
11039
11040 2011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11041 Fix type of shuffleOpenings
11042
11043 This was a Boolean option, and thus accessed by the args.h code as such,
11044 while it was declared as an int (and used in backend.c as such). This
11045 could have led to problems with different endianness.
11046
11047 2011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>:
11048 Internationalize the file browser.
11049
11050 The file browser was missed in the previous round of
11051 internationalization and had gotten broken by setting international =
11052 True in its widgets.  I got nothing but segfaults trying to set
11053 international to False in the file browser widget subtree when it was
11054 True in the main window, so I gave up and did the
11055 internationalization.  It turned out to be pretty easy.
11056
11057 As a tiny bonus fix, I removed some ../'s from includes, and you can
11058 now configure and build xboard in a subdirectory again.  This was
11059 useful for building both --enable-nls and --disable-nls from the same
11060 sources to compare functionality and make sure both still work.
11061
11062 2011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11063 Fix crash at end of Swiss tourney
11064
11065
11066 2011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11067 Fix display of logos
11068
11069 The logo files are now sought relative to the WinBoard install
11070 directory. Non-existing logos cause clearing of the logo, rather than
11071 letting the logo of the prevous engine hang. Logo change is requested
11072 explicitly from the back-end (when an engine is initialized for a new
11073 game), rather than using the kludge in StartChileProcess. This required
11074 a dummy UpdateLogos routine in the XBoard front-end.
11075
11076 2011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11077 Fix parameter handling in adapter command
11078
11079 A backslash was not considered the end of an option name, which was
11080 fatal for UCCI2WB, which needs %fd\\%fcp in its command line.
11081
11082 2011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11083 Clear Engine-Output pane when initializing engine
11084
11085 This to prevent output from the previous game hanging there during the
11086 next game, when the engine that is really playing is in book and
11087 doesn't produce thinking output there.
11088
11089 2011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11090 Fix display of last move of last match game
11091
11092 When a game was adjudicated (e.g. because XBoard detected mate) GameEnds
11093 would trigger an exit if it was the last game of the match, and thus
11094 never returned, while the ShowMove was called only after return from
11095 Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to
11096 cause ShowMove to be called before exiting. (Ugly kludge...)
11097
11098 2011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11099 Fix concurrency in Swiss tourneys
11100
11101 The pairing engine was consulted for the next round before all games of
11102 the previous round were finished, if other XBoard instances were still
11103 playing games. This caused the instances finishing early to stall
11104 indefinitely. This is fixed by moving the Swiss pairing code to after
11105 the syncInterval code. The normal pairing code (the call to Pairing)
11106 must stay before it, because it determines the syncInterval. So ther is
11107 a bit of tourneyType dependence cluttering up the code here. :-(
11108
11109 2011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11110 Give error popup when pairing engine fails
11111
11112 An invalid pairing now produces an error popup to inform the user, so he
11113 knows why the tourney stagnates.
11114
11115 2011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11116 Fix clock mode in tourney starting from -ncp mode
11117
11118 When a tourney started from -ncp mode, which was allowed in MatchEvent,
11119 because the tourney loads its own engines anyway, the menu enablings and
11120 clockmode where not restored to their 'GNUMode' state.
11121
11122 2011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11123 Fix round-robin schedule
11124
11125 The first round was played twice, and the formulas used to derive the
11126 pairing were not even-odd resistant anyway. Both even and odd number of
11127 participants should work now.
11128
11129 2011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11130 Fix interrupting tournament
11131
11132 Stopping a tourney by using the Machine Match menu item did not wor
11133 properly.
11134
11135 2011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11136 Improve quoting of engine name on install
11137
11138 Rather than always using double quotes for the engine command, the
11139 engine filename is now double-quoted if it contains spaces (and no
11140 double-quotes), and the comand is single-quoted if it contains
11141 double-quotes (and double-quoted otherwise).
11142
11143 2011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11144 Print sensible window title during tourneys
11145
11146 Rather than the "(W-L-D)" in the title we now print game number and
11147 total games, plus indication of the tourney type (rr, gt or sw).
11148
11149 2011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11150 Let XBoard propose name of tourney file
11151
11152 Add an option -defaultTourneyName to configure the name that will be
11153 proposed in the Tournament Options dialog's tournament-file field. The
11154 option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour,
11155 mintes, seconds of the curret time in %02d format, or %Y for the year in
11156 %04d format. Any tournament -file name is ignored when no participants
11157 are given. Participants without a tourney file remains an error.
11158
11159 2011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11160 Improve Tournament dialog layout WB
11161
11162
11163 2011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11164 Fix -matchGames option
11165
11166 The new MatchEvent code had broken the -mg option, and used always
11167 -defaultMatchGames in stead.
11168
11169 2011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>:
11170 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.
11171
11172 - Several files were in utf8 but needed to be marked as such (that is,
11173   "CHARSET" changed to "UTF-8").  Affected es.po, it.po, ru.po, vi.po,
11174   zh_CN.po, zh_TW.po.
11175
11176 - it.po was missing a \n at the end of one translation.
11177
11178 - ru.po had unescaped double-quote marks in one translation.
11179
11180 - vi.po needed to be normalized to Unicode normalization form C.  With
11181   this fix, more characters display correctly, though at least one is
11182   still missing in the X core fonts that xboard is able to use.
11183   See http://vietunicode.sourceforge.net/ for more about Vietnamese.
11184
11185 - zh_HK.po was written in big5 and then utf8-encoded on top of that,
11186   making it unusable.  I stripped off the spurious utf8 encoding and
11187   then used recode to convert the file to Unicode properly encoded as
11188   utf8.
11189
11190 Unfortunately, I wasn't able to test any of the Chinese translations,
11191 as I haven't been able to get XCreateFontSet to work in Chinese
11192 locales with any of the fonts I have installed, even after adding the
11193 Ubuntu language support packages for both simplified and traditional
11194 Chinese.  I did spot check a bunch of the translations using Google
11195 Translate.
11196
11197 I've checked in a couple of tiny Perl scripts that I used to do part
11198 of the fixups on vi.po and zh_HK.po in case we need them again.
11199
11200 2011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>:
11201 The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "".
11202
11203
11204 2011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>:
11205 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.
11206
11207
11208 2011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>:
11209 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.
11210
11211 In the process I had to rewrite the code to insert the pixel size into
11212 a font name (replacing a "*" in that field).  The new code is much
11213 more general.
11214
11215 2011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>:
11216 translation: activated Ukrainian translation
11217
11218
11219 2011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>:
11220 translation: added new Ukrainian PO file from the TP
11221
11222
11223 2011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>:
11224 Fix display of international characters outside the ASCII range.
11225
11226 1) Set Xaw resources required for internationalization --
11227    *international and *fontSet.
11228
11229 2) Untangle the new XFontSet-aware code from the old FindFont code.
11230    It doesn't make any sense to apply the old (and obsolete) size
11231    searching code from FindFont to a font set, which contains fonts
11232    that are all the requested size.
11233
11234 3) With these changes, the -font option doesn't work at all when given
11235    on the command line.  The -font option actually is parsed by the Xt
11236    library, used to set the *font resource, and removed from argv
11237    before xboard can see it, so the option didn't really work properly
11238    with the new WinBoard-style option framework anyway.  Now that
11239    -font is even more broken, I changed the documented name of the
11240    option to -messageFont and changed args.h so the option is saved in
11241    ~/.xboard as -messageFont.
11242
11243 2011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>:
11244 Move "hide thinking" option into alphabetical order.
11245
11246
11247 2011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>:
11248 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.
11249
11250
11251 2011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11252 Fix layout tournament Load Engine dialog WB
11253
11254
11255 2011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11256 Fix ArgTwo warnings
11257
11258
11259 2011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11260 Add Swiss tourneys through pairing engine
11261
11262 An external program can be designated pairing engine through the new
11263 persistent option -pairingEngine. Defining the option will allow
11264 tourneytype -1 to be chosen for Swiss. In this case the pairing engine
11265 will be queried for a pairing before every new match game, by sending it
11266 the -results string, plus the command 'pairing' + game number.
11267
11268 2011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11269 Allow generic dialog to ignore OK
11270
11271 The EndMark callback can now suppress popdown of the dialog on OK, when
11272 it somehow does not like the values entered by the user. In XBoard this
11273 required all the callbacks to return a value.
11274 Caveat: A refused OK would still have set all new values given in the
11275 dialog!
11276
11277 2011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11278 Fix CR in multi-line WinBoard text-edits
11279
11280 The generic popup did not add CR when strings containing '\n' were
11281 printed in a multi-line text-edit, thus joining the lines. It was also
11282 not possible to type a CR in a multi-line text-edit.
11283
11284 2011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11285 Let mentioning completed tourney file add one cycle
11286
11287 Secifying a tourney file of a fully completed tourney will now resume
11288 that tourney with another cycle added. When there are still uncomleted
11289 games in the tourney, the usual error message will appear. There are
11290 also error popups added for when the user fails to specify a tourney
11291 file, or gives too few participants.
11292
11293 2011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11294 Make engine startup failure non-fatal in WinBoard
11295
11296 Unlike XBoard, which forks first, the parent process WinBoard has direct
11297 knowledge of a failure to execute the engine command, and used it to
11298 trigger a fatal error. The code doing this has now been disabled. Only
11299 in case of a first engine we switch back to -ncp mode in stead, but no
11300 action is taken to 'bury' the deceased engine process. Like in XBoard,
11301 errors in writing or reading the pipes will trigger this.
11302
11303 2011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11304 Add secondry adapter command for UCCI or USI
11305
11306 The option -uxiAdapter can define a second adapterCommand, which will be
11307 invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
11308
11309 2011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11310 Obey san feature when sending book moves
11311
11312 Book moves were always sent in long algebraic, even when the engine had
11313 said it wanted to receive SAN.
11314
11315 2011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11316 Fix initialization of engine state
11317
11318 Some of the initialization relied on variables being zero at startup,
11319 which meant value from the previouly loaded engine hng on after loading
11320 a new one.
11321
11322 2011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11323 Take account of holdings in book key
11324
11325 The board is numbered by rank, for comptibility with Polyglot format,
11326 starting at a1. We then continue counting in the holdings 'files', in
11327 up-rank direction, each holding spanning the full board height (even if
11328 it is not fully used). Firstthe left (black) holdings, then the right,
11329 Even in Shogi this limits the square number to < 99, which is below the
11330 absolute limit of 128 (where we would run out of hash keys).
11331
11332 2011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11333 Alow promotions and drops in book-editing
11334
11335
11336 2011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11337 Include learn info in book edit
11338
11339
11340 2011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11341 Adapt default directory of lng2po
11342
11343 The path is prefixed with "../" to make it runable from the po directory.
11344
11345 2011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11346 Recode some po files
11347
11348 po files were generated with the aid of lng2po for Russian,
11349 Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251,
11350 CP1258, GB2312 and BIG5, respectively.
11351
11352 2011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11353 Implement Edit Book in XBoard
11354
11355
11356 2011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11357 Improve WB Load Engine dialog texts
11358
11359
11360 2011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11361 Make 'add to list' default in Load Engine dialog
11362
11363
11364 2011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11365 Add -userFileDirectory option
11366
11367 This volatile option is initialized from 'installDir'. It is
11368 primarily intended for configuration of WinBoard through its master
11369 settings file, and specifies an alternative place to create saveGameFile
11370 or look for other user files, in stead of looking in the installDir.
11371
11372 2011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11373 Add option -absoluteAnalysisScores
11374
11375 This persistent option flips scores in the when black is thinking in
11376 analysis mode, just before they are printed in the engine-output window.
11377
11378 2011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11379 Automatically play moves of clicked PV in analyze mode
11380
11381 The Shift key now no longer needs to be pressed to play moves from the
11382 PV in analyze mode (so it could be given back its original meaning of
11383 starting a variation with the entered moves). In analyze mode the PV
11384 walk begins after the first move, so a static right-click plays the
11385 first PV move. To just peek the PV you have to walk to the start of it
11386 before releasing the mouse button. In other modes the PV walk
11387 stillstarts at the very end.
11388
11389 2011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11390 Let ParsePV always generate SAN move
11391
11392
11393 2011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11394 Fix vscrolling in XBoard Engine-Output window
11395
11396 After clicking the memos they scrolled to the bottom, because SetFocus
11397 put the insertion point at the very end of the text. This behavior is
11398 now reserved for text-edits containing less than 100 characters.
11399
11400 2011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11401 Fix button sizing in generic popup
11402
11403
11404 2011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11405 Allow changing MultiPV setting from Engine-Output window
11406
11407 In analyze mode a header line is printed in the first engine-output
11408 pane, which can be right-clicked to increase or decrease the number of
11409 PVs. (Only with engines that support the MultiPV option.)
11410
11411 2011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11412 No clearing of Engine-Output memos on stat01
11413
11414
11415 2011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>:
11416 updated xboard.pot with released version
11417
11418
11419 2011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>:
11420 new developer release
11421
11422
11423 2011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>:
11424 updated ChangeLog, NEWS, etc.
11425
11426
11427 2011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>:
11428 deactivated new languages for the moment...
11429
11430 po files need some cleanup, probably better to wait until the translation-project looked at them
11431
11432 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
11433 added translations generated via lng2po from all winboard languages
11434
11435
11436 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
11437 lng2po.sh: added command line options, GPL header
11438
11439 also use a temporary file generated with mktemp instead of a hard coded one
11440
11441 2011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>:
11442 fixed access rights to winboard language files (644 instead of 655)
11443
11444
11445 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11446 Import WinBoard language files into git
11447
11448
11449 2011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11450 Let Shift+RightClick on PV actually play the PV moves
11451
11452
11453 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11454 Make book-edit function WB
11455
11456 The tags dialog is used to display the GUI book moves from the current
11457 position, and will be updated when you step or move to another one.
11458 The edited move list (with weights) can be written back to the book.
11459
11460 2011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11461 Fix resetting engine options
11462
11463 Not all options were reset, and -needsNonCompliantFEN was 'reset'
11464 to a completely wrong value, so that bad FENs would be sent.
11465
11466 2011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11467 Add -first/secondPgnName option
11468
11469 This option replaces the tidy name of the engine in the PGN player tags
11470 of engine-engine games. In WinBoard engines can be installed with this
11471 option through a checkbox in the Load Engine dialog.
11472
11473 2011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11474 Let XB generic popup define default file extensions
11475
11476
11477 2011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11478 Save time-control settings in tourney file
11479
11480 Because parsing the options and storing them in appData is not enough,
11481 the time-control code setting the internally used parameters from the
11482 appData info in InitBackend was made into a subroutine, and also caled
11483 after parsing the tourney file.
11484
11485 2011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11486 Put saveGameFile in tournament dialog
11487
11488
11489 2011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11490 Plug memory leak, filenames relative to installDir
11491
11492 String options are consistently freed now, before assigning a new value
11493 to them through strdup. The init code now even does use strdup when
11494 setting defaults. This is important for optionslike -lgf, which are not
11495 saved in the settings file, and thus are usually left with their
11496 default. When a dialog to set them then uses free, this causes a crash.
11497 When setting the defaults uses strdup, ParseArgs can already free them.
11498 This plugs an important memory leak, as ParseArgs in now called to parse
11499 the tourney file before every tourney game (twice!), and the lists of
11500 participants and results in it can be quite long.  Macros are defined in
11501 common.h to make the code look simpler.
11502   Filenames entered through the generic popup are now interpreted
11503 relative to the WinBoard installation folder, just as the saveGameFile
11504 already was. The code handling the atter was made into a subroutine for
11505 this.
11506
11507 2011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11508 Add WB new popup prototypes
11509
11510
11511 2011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11512 Add partcipants at bottom in tourney dialog (WB)
11513
11514
11515 2011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11516 Fix range of tourneyType spin WB
11517
11518
11519 2011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11520 Fix exit popup in tourney mode
11521
11522 Only the instance finishing the last tourney game will cause a popup
11523 with final standings. As long as there are still busy games, it exits or
11524 switches back to idle mode silently.
11525
11526 2011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11527 Fix stopping of match in tourney mode
11528
11529
11530 2011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11531 Add default extension in file browser
11532
11533
11534 2011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11535 Improve sizing of comment and tags dialogs
11536
11537 There seems to be a bug in Xaw for the sizing of buttons; they get
11538 unpredicatble and weird sizes when the size is not explicitly set,
11539 possibly stretching the initial width of a dialog to rediculous values.
11540 Sizing back to a remembered value from the settings file then makes
11541 buttons overlapand text edits shrink to almost nothing. To prevent that
11542 we now define exlicit sizes for the buttons in tags and comment popups.
11543
11544 2011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11545 Fix generic combobox bug
11546
11547 The patch placing gettext markers was done wrong, setting the
11548 translated menu text outside the loop, so all entries became the same.
11549
11550 2011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11551 Fix PV walking in analysis mode
11552
11553 ParsePV assumed that the PV would always have been produced by an engin
11554 thinking about the final position of the game (or the one before it). In
11555 analysismode, however, the engine can be analysing positions internal to
11556 the game, and the PV would be considered invalid. This is fixed by
11557 cutting of the tail off the game (shelving it in variation fashion)
11558 before starting the PV walk, and reverting afterwards.
11559   For this the PushTail and PopTail routines had to be split into an
11560 'inner' part, doing the pushing and popping, and an outer part, handling
11561 menu graying and popdowns (which is undesirable in in this application).
11562
11563 2011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11564 Lift length-limit on text-edits in WB generic popup
11565
11566
11567 2011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11568 Lift limitation of text length in generic dialog XB
11569
11570 All string options should now point to allocated memory, as strdup /
11571 free is consistently used on them. This is OK for values received from
11572 ParseArgs, but for non-arg intermediate variables that must receive strg
11573 values, such as in the comment and tags popups, strdup has to be used to
11574 initialize those.
11575
11576 2011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11577 Implement Tournament Options dialog WinBoard
11578
11579 The file browser now can select on extension WB generic dialogs,
11580 with a default based on the option.max value of the option for which it
11581 browses. A textBox can be forced to be multiline by putting the number
11582 of extra lines in option.min.
11583
11584 2011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11585 Make option to draw second engine from first list
11586
11587
11588 2011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11589 Fix error message on engine load
11590
11591
11592 2011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11593 Implement Load Engine dialog in WinBoard
11594
11595 The Load Engine dialog is implemented for WinBoard, and is invoked by
11596 the menu item Engine->Load, which formerly was Install 2nd. Install 1st
11597 is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
11598 fields for the engine executale and its parameters.
11599   The dialog is implemented by converting the Engine Settings popup into
11600 a generic dialog generator.
11601
11602 2011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11603 Load new logo on engine change WinBoard
11604
11605 Picking the logo for the first engine is made into a subroutine. The
11606 code for picking the logo of the first engine was made into a subrroutne
11607 for this. We use the kludge to recognize the engine by its command line
11608 when starting a new engine process.
11609
11610 2011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11611 Allow switching off match mode through menu
11612
11613 The Machine Match menu item is now checkmarked, and no longer grayed
11614 during a match, and clicking it while a match is running will terminate
11615 the match after the current game. To not be left with hanging
11616 checkmarks, the checkmark is already removed duringthe last match game
11617 (which is logically equivalent to ordinary Two Machines mode anyway).
11618
11619 2011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11620 Calculate and display tourney result
11621
11622
11623 2011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11624 Implement Tournament Manager
11625
11626 New command-line options are added to specify the tourney: -tourneyType
11627 (-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
11628 -syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
11629 otherwise volatile. When a tourneyFile is specified during a match,
11630 a new routine NextTourneyGame is called from NextMatchGame before every
11631 game, to decide the pairing, and unload and redefine the engines, when
11632 needed. The XBoard Match Options dialog can be used to set the options
11633 and create the tournament file.
11634   Actual loading of new engines is done by TwoMachinesEvent, which is
11635 now modified to also wait for the feature timeout of the first engine.
11636 Waiting for the matchPause is now also implemented there, after waiting
11637 for the engines (so they can be started during the pause).
11638   Pairings and color assignment is now all done in an absolute
11639 (non-incremental) way, based on a new global game-number variable
11640 nextGame, which takes over the function of matchGame in a tourney. The
11641 latter is now used to count games between the same players, so it can be
11642 still used to derive the load-file indexes (again in absolute fashion).
11643   The next game to play is already picked in GameEnd, so it can be
11644 decided if there is a game to be scheduled, or if we can terminate.
11645
11646 2011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11647 Display note in stead of empty engine-settings dialog XB
11648
11649
11650 2011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11651 Fix crash on empty Engine Settings dialog
11652
11653 The generic popup was not foolproof against this.
11654
11655 2011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11656 Refactor code for loading games and positions in match
11657
11658 The code in NextMatchGame and MatchEvent was nearly the same,
11659 (MatchEvent did a little more error checking, but that is never
11660 harmful), and could be combined. In stead of determining the load index
11661 incrementally, it is now calculated in an absolute way from the game
11662 number, so it can be used more easily in tournament mode.
11663
11664 2011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11665 Add callback possibility to combobox selection
11666
11667
11668 2011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11669 Lock game an position file during writing
11670
11671 The use of flock() on the file desctiptor of the opened stream should
11672 guarantee multiple XBoard instances, saving on the same file, will not
11673 interleave their PGN games or FEN positions.
11674
11675 2011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11676 Remove building rule for parser.c from WB makefiles
11677
11678
11679 2011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11680 Fix Engine Settings buttons in WinBoard
11681
11682 This was broken by a leftover statement from debugging the -file/-path
11683 patch.
11684
11685 2011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11686 Implement flock in WinBoard
11687
11688 This system function seems unknown in a MinGW compile, so it is
11689 implemented with the aid of file byte-range locking, using a lock on the
11690 first 1024 bytes of the file as a semaphore.
11691
11692 2011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11693 Fix grayout XB Match Options in ICS mode
11694
11695
11696 2011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11697 Delay loading of second engine until it is used
11698
11699
11700 2011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11701 Fix zippy bughouse partner bug
11702
11703 The patchs to subject Zippy messages to coloriation was faulty, because
11704 there were messages recognized by zippy that were not colorized, and
11705 such messages would then not be 'read away' after zippy recognition
11706 (except for the first character). As a result the messages were
11707 processed over and over again.
11708
11709 2011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11710 Silence more rpm warnings
11711
11712
11713 2011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11714 Fix warnings XBoard file browser
11715
11716 All the prototypes have been moved to selfile.h, to force uniformity.
11717 The order of the #include files xstat.h and selfile.h had to be
11718 swapped, to make sure 'struct stat' is a nown type atthe time of
11719 prototype declaration. The event handler SFmotionList is considered
11720 wrong type because of its third argument (XMotionEvent in stead of
11721 XEvent), and had to be casted to (XtEventHandler) when passed to
11722 XtAddEventHandler.
11723
11724 2011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11725 Fix some warnings and header-file improvement
11726
11727 Ther were lot of 'extern' declarations in the x-files, so called
11728 'imports from xboard.c', (sometimes backend.c) which logically belonged
11729 in xboard.h (backend.h) to ensure their uniform definition. These have
11730 now been moved there. Some prototypes have been added in xboard.h as
11731 well, for functions that needed calling from xoptions.c.
11732
11733 2011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11734 Create conversion tools for language files
11735
11736 A shell script "lng2po.sh" is provided, to apply the translation given
11737 in a WinBoard .lng file to "xboard.pot", in order to generate a
11738 "language.po" file containing translations for all strings for which
11739 the .lng file had a translation. It makes use of a file "metascript",
11740 which is the ed script used to turn the .lng file in an ed script to
11741 turn the .pot into .po. For example, the command "./lng2po.sh
11742 espa?ol.lng" will create a file "language.po", which can be renamed to
11743 "es.po".
11744 ****************************** WARNING ********************************
11745   Note that the lng2po script does a "recode" that assumes the given
11746 .lng file is encoded in latin-1. This means it canot be used without
11747 modification for the Vietnamese and Chinese translation; you would have
11748 to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
11749 BIG5).
11750
11751 2011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11752 Put gettext markers in generic dialog creator
11753
11754 This is done by adding extra XtNstring argumentsto the widget gcreaton,
11755 so the displayed name can be different fromthe widget name.
11756
11757 2011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>:
11758 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.
11759
11760
11761 2011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>:
11762 updated German translation
11763
11764
11765 2011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>:
11766 replaced hardcoded email address with generic PACKAGE_BUGREPORT
11767
11768
11769 2011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>:
11770 updated po-files; updated german translation
11771
11772
11773 2011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>:
11774 updated list of files that include translation strings; updated pot-file
11775
11776
11777 2011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>:
11778 marked more strings for gettext that were only marked with N_()
11779
11780 they need to be marked again with _() when they are used to get the translated string
11781
11782 2011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>:
11783 updated translation files
11784
11785
11786 2011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>:
11787 added/fixed i18n support via gettext to xboard
11788
11789 this was already added a long time ago, but now it's added again to
11790 autoconf. Also fixed some compile errors that showed up.
11791
11792 2011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11793 Make engine startup error non-fatal
11794
11795 When engine startup fails, do not generate a fatal error, but swicth
11796 back to -ncp mode. Write on broken pipe errors had to be suppressed for
11797 this.
11798
11799 2011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11800 Make engine loadable during session
11801
11802 A "Load Engine ..." menu item is added to the Engine menu, which pops
11803 up a dialog where one can replace the first or second engine by a new
11804 one, without destroying the game state. Switching from -ncp to engine
11805 mode needed activation of some menu items in SetGNUMode, and
11806 re-enabling clockMode. It was also important that noChessProgram is
11807 cleared before re-initializing the ChessProgramState.
11808   The Load-Engine dialog can select from the list of installed
11809 engines, and also add a newly specified engine to this list. In this
11810 case it saves the directory, hasBook, and isUCI info with the engine,
11811 and optionally the current variant. When loading an engine with a
11812 specified variant, it resets the game and switches to the new variant.
11813
11814 2011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11815 Generalize WaitForSecond to WaitForEngine
11816
11817
11818 2011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11819 Add UnloadEngine routine
11820
11821
11822 2011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11823 Put engine initialization code in per-engine function
11824
11825 Initializing of the ChessProgramStates first and second from the
11826 option settings in appData is now done by separate calls to the same
11827 routine. Clearing of options is added to the initialization. This is
11828 needed when reloading an engine. This is done in a separate routine,
11829 which could also be called on -reset options.
11830
11831 2011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11832 Bring structure in appData engine options
11833
11834 All options in appData that came in pairs for both engines are replaced
11835 by arrays of ENGINES (=2, for now) elements. The use of the named
11836 appData field that are replaced in the source is replaced by use of the
11837 corresponding array element, by #define directives in common.h, awaiting
11838 their replacement.
11839
11840 2011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11841 Fix gettext macros in option dialogs
11842
11843 The strings in the tables were using _() in stead of N_().
11844
11845 2011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11846 Fix crash on using Engine #1 Settings in ICS non-zippy mode
11847
11848 If XBoard is compiled with zippy the Engine #1 Settings menu was not
11849 grayed out even when you don't run in zippy mode, and using it would
11850 then crash XBoard.
11851
11852 2011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11853 Fix shogipixmaps
11854
11855 Some pixmaps forptomoted pieces had wrong background color, others had a
11856 wrong name (so the one with the correct name was missing).
11857
11858 2011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11859 Change texture-install directory to pixmaps/textures
11860
11861
11862 2011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11863 Limit install of sound files to those in menu
11864
11865 The sounds directory is set to .../xboard/sounds, and only ten
11866 sounds are kept (all non-spoken).
11867
11868 2011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11869 Remove some bitmaps from install
11870
11871 Some files in the bitmaps source directory need not be installed,
11872 because they are there only to be linked to the binary in a build
11873 without LIBXPM, are README files or conversion programs. I left only the
11874 stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.
11875
11876 2011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11877 Configure some default sounds
11878
11879 The move sound is set to Wood Thunk; the sounds for tell and challenge
11880 events to Phone and Gong, respectively.
11881
11882 2011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11883 Change default sounds in Xboard menu
11884
11885 All spoken sounds are removed now. Thud, Click and Ching are replaced by
11886 Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.
11887
11888 2011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11889 Make user wav file available for try-out in sound dialog
11890
11891 The GenericReadout was adapted to be able to read a single selected
11892 value, so that the callback to the 'play' button in the sounds dialog
11893 could get the name of the 'user WAV file' without accepting all settings
11894 for the other sounds (which should only happen on 'OK', and might still
11895 be cancelled in stead).
11896
11897 2011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>:
11898 configure: enable silent rules by default
11899
11900
11901 2011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>:
11902 configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/
11903
11904
11905 2011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>:
11906 configure: added install of sounds in .../games/xboard/sounds/default
11907
11908
11909 2011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>:
11910 configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir
11911
11912 pixmaps will now be installed under .../games/xboard/pixmaps/default/
11913
11914 2011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11915 Fix gamelist highlight
11916
11917 Reopening the gamelist should highlight the current game.
11918
11919 2011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11920 Fix size limit on 'save as diagram'
11921
11922 In stead of a fixed-size buffer the diagram-save code now uses an
11923 allocated buffer with size calculated from the bitmap parameters to
11924 retreive the bitmap data, so it should work for all sizes.
11925
11926 2011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11927 Fix chaining of bottom-row dialog buttons
11928
11929 The OK & cancel buttons are chained to the bottom. This patch makes sure
11930 that other buttons appearing in the same row (as in the tags and
11931 comment dialogs) will be chained that way too, so that they will behave
11932 the same on vertical sizing. The bottom of a full-width text-edit above
11933 it will be chained to bottom too. To make this work in the tags dialog,
11934 the (optional) cmail-message field had to be put above the tags memo.
11935
11936 2011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11937 Fix switching between pixmap and bitmap pieces
11938
11939 There were still several flags that had to be reset when redoing the
11940 graphics initialization. The Debian patch to use a default bitmap
11941 directory when none is given but monoMode is selected or forced, is
11942 moved to a more sensible place, so that it does not disturb matters when
11943 compiled without LIBXPM (when we do have built-in bitmaps).
11944
11945 2011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11946 Remove outline-pieces option from board-options dialog
11947
11948 This option does not exist in XBoard (yet).
11949
11950 2011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11951 Fix running of clock during hash allocation engine
11952
11953 In TwoMachinesEvent we now wait for the second engine to acknowledge the
11954 'ping' after 'new', to make sure it is done allocating hash in reaction
11955 to the preceding 'memory' command, before the clock for the game is
11956 started.
11957
11958 2011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11959 Describe move type-in in texi file
11960
11961
11962 2011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11963 Describe Copy Game List menu item in texi file
11964
11965
11966 2011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11967 Describe -sweepPromotions in texi file
11968
11969 The new method for selection promotion piece, and the -sweepPromotions
11970 option are described in the texi file.
11971
11972 2011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11973 Describe -pieceMenu option in texi file
11974
11975 The sweep method for selecting a piece in Edit-Position mode is
11976 explained, as well as the -pieceMenu option.
11977
11978 2011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11979 Update texi file
11980
11981 Descriptions of the new XBoard menu dialogs are included in the docs.
11982
11983 2011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11984 Reorganize texi description
11985
11986
11987 2011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11988 Fix sweep-promotions patch
11989
11990 Setting of the from square was moved to before OKtoStartUserMove in the
11991 LeftClick handler, to make sure we could test the promotion possiblity
11992 when OnlyMove() would have altered (x,y) to be no longer the from
11993 square. But this setting of fromX, fromY hung on also if the move was
11994 not OK, so you could effectively select opponent pieces and empty
11995 squares. The from-square is now set back to undefined when it is not OK
11996 to move the piece you clicked.
11997
11998 2011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11999 Alter treatment of moves with empty squares
12000
12001 In Edit Position mode one can move empty squares, and use them to
12002 'capture' pieces as a means to clear their square. But this often leads
12003 to unintended disappearence of pieces one wants to grab for dragging, if
12004 a previous click had inadvertantly left an empty square selected: the
12005 click on the piece is then seen as the to-click of a click-click move.
12006   This patch treats to-clicks of moves with an empty-square differently
12007 from other to-clicks: Rather than performing the move (in this case
12008 clearing of the to-square) on the down-click, it defers that to the
12009 up-click, and only does it if that up-click is in the same square. This
12010 allows the user to grab the piece on the down-click, and drag it to
12011 another square, if that is what he wanted to do, without being disturbed
12012 by sudden implosion of the piece he tried to grab.
12013   If the to-square is in the holdings, grabbing the piece is the only
12014 action, as moves of empty squares into the holdings are forbidden anyway.
12015
12016 2011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12017 Block selection of a directory when file is needed
12018
12019 When we are not browsing merely to obtain a name to put in a text edit,
12020 but really must return an open file pointer, selection of a directory
12021 (ending in '/') can no longer be OK'ed in the file browser. (XBoard
12022 tends to segfault when offered garbage for game or position file...)
12023
12024 2011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12025 Let double-click select file in file browser
12026
12027 A second click on the already selected entry now has the same effect as
12028 pressing the OK button.
12029
12030 2011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12031 Couple mouse wheel to v-scrolls in file browser
12032
12033 A newly added mouse-wheel event handler was made to call the v-scroll
12034 callback routines with parameters to step one entry. The button-press
12035 handler for the lists themselves was also made to intercept the wheel
12036 events (buttons 4 and 5), to prevent they would select an entry, and
12037 make them scroll in stead as well.
12038
12039 2011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12040 Fix crash copying game list when there is none
12041
12042
12043 2011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12044 Fix changing of float setting by generic popup
12045
12046 Changing a float setting (so far the only one is in the Load Options
12047 dalog) did not always work, because the old value was clipped to (int),
12048 so that changing it back to an integer value might erroneously conclude
12049 there was no change.
12050
12051 2011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12052 Fix crash on closing dialogs in wrong order
12053
12054 When a menu dialog was closed when it still had an open file-browse
12055 daughter, which could be done through the system menu X on the title
12056 bar, later closing of the file browser caused a crash. This is solved by
12057 keeping track of the fact that there is such a daughter through a global
12058 flag, and ignoring the pop-down command if there is one.
12059
12060 2011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12061 Fix startup focus of board window
12062
12063 When there were open auxiliary windows, these would have focus on
12064 starting up XBoard. The XtSetKeyboardFocus call added in XBoard main()
12065 was ineffective in curing that. It has now been replaced by a call to
12066 XSetInputFocus, which does do the job. By giving input focus to the form
12067 widget, rather than the board widget, XBoard will be immediately
12068 sensitive to all key bindings.
12069
12070 2011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12071 Fix game-list highight error when filtered (WB)
12072
12073 When the gamelist was filtered, the game that was highlingted was the
12074 n-th game in the list rather than the n-th game in the file, when the
12075 latter was loaded (and n did not exceed the number of filtered games).
12076 This is fixed now by searching for the line in the listbox that starts
12077 with the game number n, rather than taking the n-th line.
12078
12079 2011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12080 Refactor move type-in code
12081
12082 Common code between XBoard and WinBoard was moved to the back-end
12083 creating TypeInEvent() and TypeInDoneEvent() routines.
12084
12085 2011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12086 Fix saving of XBoard fonts with spaces in name
12087
12088 SaveFontArg now prints quotes around the saved font string, so that the
12089 general option-argument parser doesnot stop at the first space it sees.
12090
12091 2011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12092 Implement move type-in for XBoard
12093
12094 By adding an event handler to the main window for key presses, users can
12095 now type moves when the board has focus, like in WinBoard. The typed
12096 character appears as first character in the type-in box that willpop up.
12097 Enter and Escape close the box; finishing the typing of the move enters
12098 it. Like in WinBoard it is also possible to type a move number (to go
12099 there) or (in Edit Position mode) a FEN.
12100
12101 2011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>:
12102 new developer release
12103
12104 tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG.
12105 The Changelog is just the one from master.
12106
12107 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
12108 updated Changelog, NEWS, etc.
12109
12110
12111 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12112 Fix use of game/position file in first match game
12113
12114 When a match was started from the menu, it was not paying attention to
12115 game and position files. (Later games were.) The code that handled this
12116 in the initialization when a match is started through the command line
12117 was made into a routine MatchEvent, which can be called from the menu
12118 proc too.
12119
12120 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12121 Fix crash on opening ICS Text Menu
12122
12123 The patch for the color defaults had broken the ICS Text Menu.
12124
12125 2011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12126 Implement Copy Game List menu item for XBoard
12127
12128 Some WinBoard code was cloned for this.
12129
12130 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12131 Third method of sweep selection
12132
12133 This method sweeps through the possible promotion choices for the piece
12134 that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
12135 draggin such a Pawn forwards, it immediately shows it as the piece you
12136 are going to promote to.
12137
12138 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12139 Alternative sweep promotions
12140
12141 The sweep takes place on the from-square here.
12142
12143 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12144 Make sweep-select promotions work in WinBoard
12145
12146 The mouse-move handler had to be connected to the PromoScroll back-end
12147 routine.
12148
12149 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12150 Fix path browsing in WinBoard
12151
12152 The routine BrowseForFolder was still declared as static in woptions.c,
12153 while it was used from wsettings.c.
12154
12155 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12156 Fixes to sweep selection
12157
12158
12159 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12160 Implement sweep selection of promotion piece
12161
12162 When the option -sweepPromotions is true, a click-click promotion move
12163 will first display the default choice (usually Queen) on the promotion
12164 square. While you have the mouse button still down, you can change the
12165 piece by moving the mouse vertically.
12166
12167 2011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12168 Implement sweep selection as alternative for the piece menu
12169
12170 When the option -pieceMenu is off, the piece menu will no longer appear
12171 on right-clicks in Edit Position mode. In stead a Pawn of the chosen
12172 color will appear immediately in the clicked square, and vertical
12173 movement of the mouse with the right button down will cycle through
12174 all other pieces defined in the pieceToCharTable of the current variant.
12175   Setting the side to move is acheived by clicking the correspondig
12176 clock. Clear board can be effected by clicking the clock of the side
12177 that already has the move.
12178
12179 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12180 Remember Tags and Comment dialog coordinates
12181
12182 The save-settings code now uses the shell and shellUp arrays from the
12183 GenericPopUp to read out the window coordinates for Tags and Comment
12184 window. Pointers used by GenericPopUp are set topoint to the
12185 corresponding WindowPlacement structs.
12186
12187 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12188 Redo Tags dialog
12189
12190 The generic popup is used for generating the Tags / EditTags popups.
12191 The tags popup use a 'label' field to display the cmail message
12192
12193 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12194 Implement Edit-Comment window through generic popup
12195
12196 The Edit Comment and Comment popups are combined into one, that can
12197 always be edited (similar to WinBoard). It uses shell number 1.
12198 (Number 0 is for all transient dialogs.) A save-changes button is added.
12199 The positioning is not implemented yet.
12200
12201 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12202 Refinements to generic popup and color picker
12203
12204 *) The text part of a checkbox can now be clicked to toggle the option.
12205 *) Typing <Enter> in single-line text edits is ignored
12206 *) Using a spin button now sets focus to the affected text edit, with
12207 the insert position at the end.
12208 *) Using the sample field or an RGB button sets focus to the
12209 corresponding text edit, with the insert position at the end.
12210 *) The adjust buttons now work in reverse, with a D button for "darker".
12211 *) Editing a color field causes the sample field to update to the new
12212 color when you type <Enter>.
12213 *) The color pickers now define a default color, which can be instated
12214 by clicking on the sample field.
12215 *) Fix some 64-bit pointer warnings
12216
12217 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12218 Let file browser filter on extension
12219
12220 A new text field is added in the file-browse dialog, to hold (space-
12221 separated) extensions, on which the filenames are then filtered. This
12222 field is initialized by the caller, depending on what we need the file
12223 for, but can be changed by the user. (Directories are always displayed!)
12224   Changes in the extension field  become effective after typing a return
12225 in it. Escape typed in the extension field gives focus to the filename
12226 field, and restores the contents. Escape in the filename field cancels
12227 the dialog, return ther OKs it. The extension filter of the browser is
12228 initialized to the extension (if any) of the file currently in the text
12229 edit you are browsing for.
12230   When re-opening the file browser from the XBoard File menu, and there
12231 is no suggested filename, it will now start with the last succesfully
12232 opened name as suggestion. Calling the browser with a NULL argument
12233 for the suggested filename requests that (unlike calling with an empty
12234 string, which will start it in the current directory). To make this
12235 work smoothly, the filebrowser saves the last used name on entry, so it
12236 can be restored on cancel, so that a cancelled browse session really
12237 erases all memory of it.
12238
12239 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12240 Fix animation masks on changing piece pixmaps
12241
12242 The animation masks were not remade when new pieces were loaded
12243 interactively through the board-options dialog.
12244
12245 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12246 Fix linegap option in board dialog
12247
12248 The lineGC was not recalculated, so the grid lines stayed the same
12249 thickness. In addition, setting the line-gap override to -1 now
12250 retrieves the original line gap that belongs to the current board size.
12251
12252 2011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12253 Make a kind of ICS text menu in XBoard as a dialog
12254
12255 The dialog with buttons can be opened from the View menu. It is
12256 configured by the option -icsMenu; a default setting for this is
12257 included in the master settings file.
12258   The commands specified by the -icsMenu can now contain $name and $input
12259 keywords, which will be replaced by the current primary selection, or
12260 text the user types, respectively. Commands that contain $name will not
12261 be sent when the current selection is empty. Commands that do not
12262 contain $input will be sent to the ICS immediately; otherwise they will
12263 be placed in the ICS Input Box, with the cursor at the point of the
12264 $input, and input focus given to the Input Box, so the user can start
12265 typing. When a command is prefixed by "$add " it will be appended to the
12266 existing ICS Input Box contents, rather than replace it.
12267   The items now have to be separated by ";\n", and button text from
12268 command by ';' (with optional linefeed). This allows configuring of
12269 multi-line commands, as a single linefeed no longer has special
12270 sigificance.
12271
12272 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12273 Redo ICS input box with generic popup
12274
12275 This box is just a single text edit, but the complexity is in the added
12276 callbacks. These callbacks remain in xboard.c, and were altered to
12277 access the edit through the option.handle field.
12278
12279 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12280 Activate -path and -file options
12281
12282 In XBoard the generic popup was prepared for this. In WinBoard, for
12283 -path options the BrowseFolder routine is used, and had to be made
12284 global (prototype in winboard.h).
12285
12286 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12287 Let generic popup generate Engine Settings dialog
12288
12289
12290 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12291 Merge SettingsPopUp into GenericPopUp
12292
12293 Based on currentCps the values read from the dialog are sent to the
12294 engine, or stored into the option.target in the callback, and fetched
12295 from the option.target in the PopUp. The currentCps is cleared in the
12296 generic popdown of a transient dialog.
12297
12298 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12299 Make generic dialog popup reentrant
12300
12301 To allow persistent dialogs to be implemented through the generic popup,
12302 it must be possible to have several dialogs open at the same time, and
12303 thus make sure the popdowns under the cacel or close-window button know
12304 which one to pop down. To this end an array shells[] is created that
12305 takes over the function of settingsShell, and GenericPopUp gets an extra
12306 parameter telling it which element to use for storing the dialog shell.
12307 This number is then also passed to the callbacks that trigger popdown.
12308 This was a bit nasty for the CatchDeleteWindow stuff, which passes user
12309 data to the callback as text strings.
12310 Keep a separate up/down indicator, so that shell widgets can be kept
12311 for persistent dialogs. Also keep a currentOption per dialog type.
12312   The coordinates and size of the window is read out and stored in a
12313 WindowPlacement structure, (if one is specified for that dialog), when
12314 the dialog is popped down. When initialized the structure is also used
12315 to set the window parameters when the dialog is created. (The idea being
12316 that the structure was saved in the settings file.)
12317   The routine MarkMenu checkmarks a given menu item, and logs it for the
12318 given dialog type, so that a later popdown automatically unchecks is.
12319
12320 2011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12321 Implement Machine Match menu item and options dialog
12322
12323 An item to start a match from the menu is added, similar to what
12324 WinBoard has. (The code is duplicated, so I guess it should be moved to
12325 the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in
12326 the Options menu was added with the aid of the generic popup, and allows
12327 the user to set the load Game / Position File and Index.
12328
12329 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12330 Create General-Options dialog
12331
12332 The generic popup is used to implement a General-Options dialog, which
12333 contains all Boolaen options that used to be set directly from the main
12334 Options menu, plus a spin option for the flash count and flash rate.
12335 The corresponing options are removed from the main Options menu, but the
12336 whole thing is made conditional on a compiler switch OPTIONSDIALOG.
12337 The dialog needs an OK callback for sending an altered ponder-state to
12338 the engine. (Why isn't this option disabled in -ncp mode, btw?)
12339 A spin control is added to adjust -animateSpeed between 5 and 100.
12340 Add dropMenu and showTargetSquares item as well.
12341
12342 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12343 Redo new-variant dialog with generic popup
12344
12345 Some special code was added in GenericPopUp() to force buttons of the
12346 type needed in the New Variant dialog (wide, colored, greyed-out on
12347 variant type). The dialog was implemented with these, and callbacks for
12348 the buttons directly exit the dialog, without the need for OK. New spin
12349 controls are added to the dialog for adjusting the board format.
12350
12351 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12352 Redo common-engine dialog with generic popup
12353
12354 The ponder option was removed, as it is already in the main Options
12355 menu, and would require nastiness in the OK callback. Added book options
12356 in common-engine dialog.
12357
12358 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12359 Redo adjudications dialog through generic popup
12360
12361 We dropped the periodic-updates option, as it is already in the main
12362 Option menu.
12363
12364 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12365 Make sounds dialog for XBoard
12366
12367 This uses the combo boxes. A 'play' button isimplemented for a test
12368 sound. A sound directory is introduced, and can be set through the
12369 dialog. A default setting for -soundDirectory is added to xboard.conf.
12370
12371 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12372 Add ICS options dialog
12373
12374
12375 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12376 Add board dialog XBoard
12377
12378 The GenericPopUp() is used to implement a dialog for board options. The
12379 board dialog needs to trigger redraw and redefinition of the
12380 colors, through an OK callback. Color-pickers are used for the 6 basic
12381 color settings.
12382   To allow changing board settings during the session (i.e. from a menu
12383 dialog), the routines to allocate resources have to free the resources
12384 for the previous settings first. This patch take care of XtCreateGCs(),
12385 preventing re-creation of resources that are unchangeable (such as the
12386 grid color), and calling XtReleastGC() on GCs that can be changed.
12387 To prevent resource leaks the old pixmaps are deleted before making new
12388 ones on second or later calls of CreateXPMPieces().
12389
12390 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12391 Add browse button to generic popup
12392
12393 Options of type FileName and PathName cause a browse button to be added
12394 behind the text field. The SpinCallback is used to handle the
12395 button presses, and invokes the file browser dialog to obtain a
12396 filename, which is then copied to the text field.
12397
12398 2011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12399 Make generic XBoard popup, and implement 2 dialogs
12400
12401 The Engine-Settings dialog of XBoard was cloned to work on predefined
12402 lists of (XBoard) options, rather than engine options. An extra field
12403 was added to the Option struct, to hold a pointer to the XBoard variable
12404 that should hold the option setting, so on OK'ing the dialog the altered
12405 values can be copied there. Not usable for options which should trigger
12406 an action (like redraw, or sending something to the engine).
12407 A Load Game, Save Game and ICS Options dialog were then defined by
12408 tables fed to GenericPopUp(). Options set from these dialogs were removed
12409 from the main Option menu, which removes a lot of code from xboard.c
12410 (for checkmarking, disabling the menu items).
12411   A button defined in the GenericPopUp can attain the color indicated
12412 by a previous text field, and add a callback to change the color in a
12413 spin-like manner (but using R G B W in stead of + - butons).
12414 The EndMark option can specify a callback, to be used on OK.
12415 A non-zero max field in the Option descriptor will be used to set the
12416 width of ComboBox, TextBox and Button optons.
12417 The elements are chained such that extra space goes fully into the input
12418 fields. A label type is added for clarifying texts that would not fit in
12419 the option names. A break-type (pseudo-)option is added. Make OK and
12420 cancel button suppressable in generic popup (by 2 bit of the option.min
12421 field).
12422
12423 2011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12424 Add file-browser option to just return name
12425
12426 By passing mode "f" the file browser dialog will not open the selected
12427 file at all, so it can be used to retreive the name for the benefit of a
12428 file-browser button to a -file option. A mode "p" will limit the
12429 selection to directories only, to browse for a path.
12430
12431 2011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
12432 Put insertion point at end of text on SetFocus
12433
12434
12435 2011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>:
12436 fixed 64 bit warnings by casting integers to intptr_t before casting to int
12437
12438
12439 2011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>:
12440 removed check and #includes for malloc.h, since it's not needed
12441
12442 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
12443
12444 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
12445 check if malloc.h is present before including it
12446
12447 OS X 10.6 doesn't have malloc.h, so it complained.
12448
12449 2011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>:
12450 Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file
12451
12452 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
12453
12454 2011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12455 Fix display of promotion piece in ICS superchess
12456
12457 In Great Shatranj and Superchess promoted Pawns were displayed as shadow
12458 piece because these variants had holdings, while captured pieces should
12459 go back into the holdings unchanged, rather than reverted to Pawns.
12460
12461 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12462 Fix o-o castling in new parser
12463
12464 The non-compliant notation of castling with lower-case 'o' should be
12465 preferred over the non-compliant interpretation of moving a Pawn along
12466 the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for
12467 castling! So an exception is now made for the o-file in the 'fxg'
12468 case.
12469
12470 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12471 Implement yynewstr entry point in new parser
12472
12473 This entry point, used for parsing an ICS move list, was forgotten, and
12474 was still an empty routine. This made XBoard crash when observing an ICS
12475 game.
12476
12477 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
12478 fixed wrong default for polyglotDir mentioned in docs.
12479
12480 Thanks to Hans Aberg for reporting it.
12481
12482 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
12483 Fix "make install" on Os X10.6.6 (removed a "/")
12484
12485 seems like an extra "/" made "make install" unhappy
12486
12487 2011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>:
12488 removed parser.l from build process, also removed flex dependency from configure
12489
12490
12491 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12492 New parser, written in C
12493
12494 A new parser was written to replace the flex-generated one. Immediate
12495 improvements are that it understand double-digit rank numbers, and Shogi
12496 coordinates. No changes were made in the Makefile yet to reflect the
12497 new, flexless building procedure.
12498
12499 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12500 Fix bugs in FRC castling rights
12501
12502 When parsing a castling move in FRC when no rights existed, the parser
12503 returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of
12504 the absence of rights was not adapted to the new encoding NoRights in
12505 stead of -1.
12506
12507 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12508 Fix parsing bug of FRC castling
12509
12510 The code that was supposed to intercept castling when no rights existed
12511 in FRC was not adapted to the new encoding for this by NoRights, rather
12512 than -1, and furthermore returned 0 (= EndOfFile) rather than
12513 ImpossibleMove. Not sure if the former would manifest itself in any
12514 way, but the latter seems bad.
12515
12516 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12517 Fix two bugs in reading position diagram
12518
12519 When reading a game without FEN tag, a position diagram is used to set
12520 the initial position. This calls CharToPiece() with a '.' as argument,
12521 because that is the position-diagram way to indicate empty squares.
12522 altered CharToPiece() over time this would be recognized as the first
12523 undefined piece or, more recently, the first piece without nickName,
12524 which is a white Pawn. Now it returns EmptySquare again in that case.
12525 A second problem was that for position diagrams in braces the brace was
12526 not in the list of ignored characters, and would cause the reading to
12527 get out of phase, so that the side to move was not recognized.
12528
12529 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12530 Fix flipBlack option XBoard with board texture
12531
12532 In XBoard -flipBlack is implemented by swapping white and black pieces,
12533 because the Shogi bitmaps from XShogi are made that way. But the mask
12534 used to cut out the whole in the board texture to fit the piece was not
12535 swapped, both when drawing static pieces, as well as during animation.
12536
12537 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12538 Improve repairing damage of arrow highlight XBoard
12539
12540 With line gap the highlight arrow necessitated redrawing of the entire
12541 board, to repair damage on the grid. This interfered with flashing of
12542 pieces, which was only done on selective redraws. In stead of forcing a
12543 total repaint we now just redraw the grid lines.
12544
12545 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12546 Fix unintended translation in debug file
12547
12548 The words "first" and "second" (cps->which) were sometimes used in
12549 context that should definitely not be translated. (e.g. the indicator
12550 for which engine printed/got the line in the debug file.) So translation
12551 is now deferred to all uses in popups.
12552
12553 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12554 Fix nps bug
12555
12556 The nps settingwas tested for being > 0 in stead of >=0, so that the
12557 case of CPU time was not properly handled.
12558
12559 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
12560 Added missing fclose()
12561
12562 (tiny change)
12563 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
12564
12565 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
12566 release of version 4.5.1
12567
12568 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
12569 updated Changelog, NEWS, etc.
12570
12571 2011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12572 Fix two typos in option names in texi file
12573
12574 Polyglot was capitalyzed
12575
12576 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12577 Fix some resource leaks
12578
12579 Some files were opened not closed in XBoard, when loading XIM images
12580 (which I doubt anyone ever does) but also when copying the clipboard
12581 (which has the potential of being done very often). There was also some
12582 code that would not work if conditional code which is permanently
12583 disabled would be enabled.
12584
12585 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
12586 new developer release
12587
12588 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
12589 updated Changelog, NEWS, etc.
12590
12591 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12592 Fix MSVC snprintf problem
12593
12594 In MSVC snprintf has to be redefined as _snprintf, and this happens
12595 conditionally in config.c. But the latter was not #included in help.c.
12596
12597 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
12598 updated configure.ac to check for Xaw header files
12599
12600 check for Xaw header files when --without-Xaw3d was given. Before the test was
12601 only done when Xaw3d was specified, but could not be found.
12602
12603 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
12604
12605 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12606 Fix ICS channel 0
12607
12608 Channel 0 messages were not displayed in the console, because the test
12609 for channel number considered every non-numeric or non-existent handle
12610 in a chatbox to be zero. So the messages were diverted to a non-exsting
12611 chatbox. Now it test first for the handle to start with a digit.
12612
12613 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12614 Make language choice from menu persistent
12615
12616 Set appData.language to the chosen language file, or empty if English is
12617 chosen, so that the choice is saved with the settings. Increase the
12618 number of possible language choices from 5 to 20. (After all, we already
12619 have 7 now!)
12620
12621 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12622 Fix showing of user move after adjudication
12623
12624 The correction of the fishy patch (removing ShowMove() from Adjudicate())
12625 had broken the adjudication of user moves (that actually did work before
12626 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
12627 the correct values for the move to be shown). An entered move that led
12628 to adjudication (like a checkmate) now was not displayed at all. Adding
12629 an extra ShowMove() after (successful) return of Adudicate() solves it.
12630
12631 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12632 Fix Xiangqi King facing
12633
12634 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
12635 was cleared after the King-facing test, rather than before it.
12636
12637 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12638 Fix variant janus size prefix
12639
12640 The default board size of Janus Chess was not consistently taken to be
12641 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
12642
12643 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12644 Fix Alfil bug
12645
12646 The test for Alfil (suppressing single steps on the Elephant) contained
12647 a wrong logical operator, so that it could never be active. It also
12648 failed to include Xiangqi as variant with traditional Alfil. This led to
12649 one-step moves of the Elephant in these variants, and false check or
12650 unreliable mate detections.
12651
12652 Fix move of Xiangqi Elephant
12653
12654 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
12655 fixed configure script to correctly detect Xaw3d library
12656
12657
12658 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12659 Fix unmarked translation
12660
12661 The file-browser wndowtitle in WB was not marked for translation.
12662
12663 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12664 Put warning in HTML help
12665
12666 A warning is added that the help file is not yet updated for the new
12667 menu organzation.
12668
12669 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12670 Fix 64-bit Windows compilability
12671
12672 The API interface for Set/GetWindowLong has been changed for 64-bit
12673 Windows, both in the name of the call as in the arguments.
12674
12675 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12676 Fix MSVC compilability
12677
12678 Both the makefile and the project file had to be adapted for the new
12679 source file history.c, and the new location of parser.c.
12680
12681 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
12682 added missing #includes and missing prototypes to filebrowser
12683
12684 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
12685
12686 Also cleaned up missing prototypes and some casts.
12687
12688 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
12689 added missing header file for sprintf
12690
12691
12692 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
12693 added history.c to the tar-ball. Needed for Winboard
12694
12695
12696 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12697 Fix deselection of greyed-out variant button (WB)
12698
12699 In Windows a disabled radiobutton refuses to deselect when you select
12700 another (enabled) button from the group. There are then 2 buttons
12701 checked, and the code to readout the buttons took the first one. Now it
12702 is changed to take the first enabled one.
12703
12704 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
12705 Revert "Implement -reset option feature in WinBoard"
12706
12707 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
12708
12709 picked the wrong commit from HGM's git tree.
12710
12711 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
12712 add DIFFSTAT and SHORTLOG to tar-ball
12713
12714 was only in the v4.4.x branch and not in master
12715
12716 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
12717 release of version 4.5.0
12718
12719 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
12720 changed size of borders around squares from 0 to 1 as a default
12721
12722 this way highlights show up again.
12723
12724 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12725 Implement -reset option feature in WinBoard
12726
12727 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
12728 updated Changelog, NEWS, etc.
12729
12730 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
12731 updated parser.c form parser.l
12732
12733 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12734 Clean up fishy patch
12735
12736 None of the ShowMove() calls in Adjudicate() was working, because when
12737 this code was taken out of HandleMachineMove() it was taken outside the
12738 scope of the local fromX, fromY etc. there, so that it started using the
12739 global variables from the mouse driver. As these usually contain -1,
12740 this suppressed move animation and highlighting. All these calls have
12741 now been removed, and ShowMove() is called after a positive return (from
12742 HandleMachineMove(), so within the correct scope).
12743 This improves the previous fix, which led to some flicker, because the
12744 erroneous ShowMove() calls did draw the new board (instantly), wich in
12745 the fishy patch was then immediately overwritten by the old position, to
12746 start animation. This drawing of the old position is now no longer
12747 needed either.
12748
12749 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12750 Update RTF file
12751
12752 The RTF file is adapted to the new menu organization.
12753
12754 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12755 Update texi file
12756
12757 The highlight-with-arrow and one-click-move menu items are described.
12758 The highlightMoveWithArrow and variations option are described.
12759 Load Next /Previous Position descriptions are moved to File menu.
12760 The description for entering variations is updated (using Shift key).
12761 The remark that editing holdings is impossible is removed.
12762 Spartan Chess is added to the list of supported variants.
12763
12764 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
12765 Updated copyright notice to 2011
12766
12767
12768 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12769 Greyout unavailable variants in New Variant dialog
12770
12771 The WB radio-button code is refactored to be driven from a list (which
12772 must be kept in phase with the variant definitions in common.h!). It now
12773 also checks if the first engine supports the variant, and greys out the
12774 item if it isn't. XB now also makes this check. Slight re-ordering of
12775 10x8 variants there, to have the more common on top.
12776 If no radio button is selected, keep old variant even on OK.
12777
12778 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12779 Move clock-click code to back-end
12780
12781 Some duplicated (or should-be-duplicated) code for handling clicks on
12782 the clocks from the XBoard and WinBoard front-ends was merged and
12783 relocated to the back-end, so it can be shared. Noticeable was that
12784 XBoard allowed turn change in ICS examine mode by clock clicking,
12785 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
12786
12787 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12788 Fix legality testing of drop moves
12789
12790 Drops of noexistent pieces (i.e. with a piece indicator letter that is
12791 not corresponding to any defined piece) are now parsed as
12792 ImpossibleMove, rather than IllegalMove, so they are also rejected with
12793 legality testing off.
12794
12795 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12796 Fix WB Sound Options greyout and remove some grossness
12797
12798 The sound and ICS Options menu items in WB were accessed 'by position',
12799 with fixed defined positions (always messing up any reorganization of
12800 the menus when you forgot to redefine the position constants in
12801 winboard.h). And not only that, but for completely mysterious reasons,
12802 the greying of the sound item greyed out the game-list options (above
12803 it) in stead when it was defined as 9, and the ICS options (below it)
12804 when it was 10 !!!. Now they are addressed 'by command' (and the
12805 position definitions are removed), which fixes things.
12806
12807 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12808 Re-instate load next/prev position menu items
12809
12810 As positions do not use something similar to the game list, these are
12811 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
12812 so I settled for Shift+PgUp/Dn.
12813
12814 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12815 Remove superfluous copying of machine move
12816
12817 There was explicit code in HandleMachineMove() and FinishMove() to put
12818 the move in the moveList, while MakeMove() already does this later in a
12819 more reliable way by calling CoordsToComputerAlgebraic(). This
12820 superfluous code is removed now.
12821
12822 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12823 Fix spurious mate test in Edit Game mode
12824
12825 When entering a game, it was terminated by the mate test even when
12826 legality checking was switched off (so that mates might not be reliably
12827 recognized). The mate test is now made dependent on legality testing.
12828
12829 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12830 Fix type-in of drop moves
12831
12832 Drop moves entered through the move type-in already come in the (piece,
12833 DROP_RANK, x, y) format, rather than having a holdings from square. This
12834 caused UserMoveEvent to consider them illegal when testing if the
12835 piecewas of the side to move, and when this was fixed, to recognize
12836 Knight drops as coming from between board and holdings (and thus
12837 illegal).
12838
12839 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12840 Fix move type-in truncating game
12841
12842 Starting a new variation by keeping Shift pressed did not work when
12843 OK'ing the move type-in, because there was some code ther that truncated
12844 the game. While this could be safely left to UserMoveEvent, which it
12845 calls, as the situation is not different from entering moves through the
12846 mouse.
12847
12848 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12849 Fix legality testing for promotions
12850
12851 Turns out WB has never tested for the legality of the chosen promotion
12852 piece, and would allow promotion to King innorml chess even with
12853 legality testing on (when entered through the keyboard)! Now strict
12854 testing is done, outlawing Pawns and Kings (or Unicorns in
12855 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
12856 spartan a black King if you do not have two yet.(And promotion
12857 toLnce,representing Hoplite Pawn,is forbidden there.)
12858
12859 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12860 Reset 50-move counter on all pawn-like Lance moves
12861
12862 Now the Lance represents a Pawn-like piece not only in variant fairy,
12863 but anywhere outside Shogi / Superchess, its moves should also reset the
12864 50-move counter in those cases. Especially important for Spartan Chess,
12865 where the Lance actually participates.
12866
12867 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12868 Fix logo repainting
12869
12870 The logos were not repainted when the main window was moved out of the
12871 display area, and then back into view. The reason for this is
12872 unknown, as the PaintProc calls HDCDrawPosition, which was calling
12873 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
12874 sometimes half drawn!) despite the fact that the rest of the board was.
12875 The drawing of logos now has been decoupled from drawing the board,
12876 and has been moved to a separate routine DisplayLogos() (in analogy to
12877 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
12878 not change when the board does. So apart from in PaintProc, it has only
12879 to be called when the mode changes (ModeHighlight()) or on swap clocks.
12880 This seems to fix the problem.
12881
12882 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12883 Fix time in PGN info
12884
12885 Saving of the thinking time in the PGN was broken by the patch that
12886 removed the race condition in the clock switching, because that moved
12887 the incrementing of forwardMostMove to behind the code that used fmm to
12888 index pvInfoList. As a result the time was stored in the slot for the
12889 opponent's previous move. The value is corrected now.
12890
12891 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12892 Fishy fix
12893
12894 The move that delivers checkmate in two-machines mode is not animated
12895 when adjudication is on. There then also is no highlighting of this move
12896 Redrawing the board and calling ShowMove fixes it. Which is rather
12897 strange, because ShowMove was already called in Adjudicate (when it
12898 adjudicates), before GameEnds. For reasons that are not understood this
12899 call to ShowMove() (which calls AnimateMove()) is not effective.
12900
12901 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12902 Reset machine colors after match
12903
12904 The colors each engine playse are set to the originals after the last
12905 match game, so that a new match or two-machines game will not have
12906 swapped colors.
12907
12908 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12909 Reset win/loss counters before match
12910
12911 The win/loss counters were not reset, because the code counted on them
12912 being initialized to zero. But with matches startable from the menu,
12913 this is no longer true after the first match.
12914
12915 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12916 Show move that causes false illegal-move claim
12917
12918 Without claim testing XBoard takes back moves that an engine objects to.
12919 But when the engine is forfeited for a false claim, the move should of
12920 course stay. So the claim test is moved to before the take-back.
12921
12922 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12923 Fix Spartan promotion to King
12924
12925 Promotions toKing were refused when in check, because XBoard thought
12926 they would not resolve the check. Now the promotion is actually
12927 performed before doing the check test.
12928
12929 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12930 Fix WB font-based piece rendering on variant switch
12931
12932 The piece bitmaps were only created from the font characters when the
12933 number of ranks or files changed, because it was done in
12934 InitDrawingSizes(). This caused missing pieces when changing to a
12935 variant on the same board that used other pieces. Now InitDrawingSizes()
12936 is called for any variant switch.
12937
12938 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12939 Fix right-alignment pproblem in WB ICS window
12940
12941 Use of Ctrl-R to summon the context menu still trickled through to the
12942 default text-edit window routine, and caused right-alignment. This was
12943 because the text-edit reacts on keyDown rather than the character event.
12944 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
12945
12946 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12947 Fix chat window title
12948
12949 The title was using the engine name, rather than the ICS handle, which
12950 did not work outside zippy mode. Now it only uses the engine name when
12951 no ICS handle is known. The titleis now also subjected to translation.
12952
12953 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12954 Fix spurious reading of old game title by JAWS
12955
12956 Because focus was switched to the board window before loading the
12957 selected game from the game list, the titlebar still contained the
12958 name of the previously loaded game, which would spontaneously be read by
12959 JAWS. Now the focus switch is done after loading the new game (which
12960 updates the window title.)
12961
12962 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12963 Add variant Spartan Chess
12964
12965 In the WB menu it takes the place of the defunct Twilight Chess item.
12966 The setup routine needed patching for setting up Lances in stead of
12967 Pawns for black, the check test had to be adapted to handle duple check,
12968 Alfil and Dragon moves were fine tuned in this variant to make the exact
12969 moves, and the promotion popup was adapted to show King and interpret
12970 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
12971 moves as Modern Elephant except in Shatranj and Courier.
12972
12973 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12974 Fix mate test
12975
12976 Due to a bug in logical operators drops were tried for mate evasions
12977 even in non-drop games, which broke it in Superchess and Great Shatranj,
12978 and wasted CPU time in other variants.
12979
12980 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12981 Fix promotion suffixon disambiguated piece moves
12982
12983 The promotion suffixon piecemoves that needed disambiguation was not
12984 passedon to the back-end in most variants. Now it is passed on in any
12985 variant.
12986
12987 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12988 Fix promotion of Pawn-like Lance
12989
12990 In variants where the Lance is used to represent an unorthodox Pawn, it
12991 must promote when it reaches last rank. With legality testing on,
12992 however, the promoChar was ignored in ApplyMove in this case. The
12993 promotion suffix also was not appended in SAN moves.
12994
12995 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12996 Fix WB promotion popup
12997
12998 The promotion popup did not work properly in variants where black did
12999 not use the pieces that white wanted to promote to. Now the character
13000 for the selected piece is taken from the piece encodings of the side to
13001 move. In addition, selection of undefined pieces is ignored.
13002
13003 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13004 Fix bug in parsing variations
13005
13006 The moves parsed from a variation were stored in the moveList without
13007 appended linefeed. This caused errors if the variation extended to
13008 beyond the end of the main line,into a hitherto unused part of the move
13009 list, as the linefeed was then not there from the overwritten move. As a
13010 result moves sent to the engine were concatenated, triggering
13011 illegal-move messages and bringing the engine out of phase.
13012
13013 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13014 Define Ctrl-R as right-click in WB Comment dialog
13015
13016 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
13017 equated to a right click at the position of the caret or selection.
13018
13019 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13020 Allow starting a variation from keyboard entry in WB-JAWS
13021
13022 The status of the shift key is remembered when space is pressed to
13023 select a board square.
13024
13025 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13026 Disable some accelerators in JAWS version
13027
13028 Single-key accelerators that could result in irreversible data loss are
13029 undesirable, because the risk of accidentally pushing them is too large.
13030 So the non-Alt duplicates of next/previous game/position are disabled,
13031 as are Home and End for Revert and Truncate Game. JAWS users will have
13032 to rely on the menus for those functions.
13033
13034 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13035 Group engine-output memos with engine names
13036
13037 The engine names are now defined just before the text edits, so that
13038 JAWS 11 will read the engine name when the memo for the output of that
13039 engine is selected. (JAWS 10 will still read the NPS, as it reads in
13040 geometrical order.)
13041
13042 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13043 Put nr CPU earlier in tab cycle of WB Common Engine dialog
13044
13045 By defining the max CPU control after hash size, the tabbing steps
13046 through the controls in geometrical (and logical) order, rather than
13047 having the max CPU in between the book controls.
13048
13049 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13050 Update WB language template file
13051
13052
13053 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13054 Subject JAWS menu and spoken strings to translation
13055
13056
13057 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13058 Let JAWS SayString buffer full sentence
13059
13060 The meaning of the flag parameter of SayString was changed to indicate
13061 buffering of flushing. On flushing a message of a single space is used
13062 as a kludge to indicate interruptability. Calls to force flushing where
13063 added everywhere.
13064
13065 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13066 Adapt JAWS menu to new menu organization
13067
13068 The menus did not correspondto the texts after translation of the main
13069 menu bar.
13070
13071 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13072 Translate menus after creation of JAWS menu
13073
13074
13075 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13076 Fix ICS context menu for JAWS
13077
13078 The Ctrl+R key did select text at the mouse pointer in stead of at the
13079 curser, now that up and down-click were combined.
13080
13081 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13082 Reorganize order of WB New Variant dialog controls
13083
13084 The definitions are re-ordered so that at least JAWS 11 will speak the
13085 board-size elements properly.
13086
13087 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13088 Fix order of elements in WB time-control dialog
13089
13090 Someleading texts were defined after the text edit they referred to,so
13091 that JAWS 11 associated them to the wrong one. A tab stop was added to
13092 the time-odds label, to make JAWS speak it.
13093
13094 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13095 Change tabbing order in WB sounds dialog
13096
13097 The 'Play' button now gets focus immediately after the controls for
13098 selecting the sound, rather than at the end of the dialog (after OK).
13099
13100 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13101 Remove tab stops on first radio button of WB dialogs
13102
13103 The New Variant and Board dialogs had a tab stop on the first radio
13104 button,so that tabbing toit would automatically select variant
13105 normal or size tiny. Now it tabs straight to the current size, without
13106 changing anything. (Important for JAWS users.)
13107
13108 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13109 Put OK/Cancel last in tab cycle of some WB dialogs
13110
13111
13112 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13113 Fix duplicate menu character for Edit Comment
13114
13115 Edit Comment did have the same shortcut character as Copy Game. Changed
13116 to m now.
13117
13118 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
13119 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
13120
13121
13122 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
13123 new developer release
13124
13125
13126 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13127 Subject WB context menus to translation
13128
13129 The innerloopof the menu translation has been made into a separate
13130 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
13131 better preserve menu breaks. Menu #10 is used for context menus (from
13132 the routine that pops them up), and for this number the orignal texts
13133 are not saved in menuText. (This is not needed, because the menu is
13134 created everytime anew from the resource data.)
13135
13136 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13137 Update translation template
13138
13139 Add the new menu items; add some notes.
13140
13141 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13142 Resize buttons in WB engine-settings dialog
13143
13144 The OK and cancel buttons were to narrow for most translations, and were
13145 a non-standard order as well.
13146
13147 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13148 Add one-click move control to WB general-options dialog
13149
13150 This is a duplicate of the one in the ICS options dialog, but the latter
13151 is inaccessible in non-ICS modes, and one-click move is now
13152 alsoavailable in engine mode.
13153
13154 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13155 Create space in dialogs for translation
13156
13157 The translated texts often did not fit, because controls were defined
13158 needlessly small (when there was empty space between them). In these
13159 cases they have been enlarged to consume all available space. Some
13160 dialogs are made wider.
13161
13162 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13163 Add handle for translator acknowledgement
13164
13165 An empty string is printed in the about box, which can be 'translated'
13166 to a message acknowledging the translator.
13167
13168 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13169 Use default logo for user
13170
13171 When no logo with the name of the current user is found, use dummy.bmp.
13172
13173 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
13174 added rlwrap tip to FAQ
13175
13176
13177 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
13178 replace hard coded paths with path from configure script
13179
13180 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
13181
13182 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
13183 fixed a typo in the configure script output
13184
13185
13186 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
13187 added a desktop file
13188
13189 taken from the openSUSE project
13190
13191 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13192 Fix Edit Game/Position checkmarking in WinBoard
13193
13194 Because the entries in Edit and Mode menu were pure duplicats, the
13195 entries in the wrong menu (Edit) were checkmarked while active. By
13196 defining different IDs for those in the Edit menu, those in the Mode
13197 menu are checkmarked again.
13198
13199 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13200 Add XBoard menu items for arrow highlight and one-click move
13201
13202 These items are put in the options menu; the 'Old Save Style' item is
13203 removed.
13204
13205 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13206 Provide menus for editing WinBoard engine and server lists
13207
13208 The Edit Tags dialog in the WB front-end is adapted to act as a general
13209 edit for string variables, by giving it an extra parameter to indicate
13210 where to store the edited result. Menu items are added to invoke this
13211 dialog for editing the /first, /secondChessProgramNames and /icsNames
13212 options. This solves the problem that people would have to edit an ini
13213 file that they can no longer locate (because the %APPDATA% folder has
13214 different names and locations in the various Windows versions, and is
13215 often a hidden folder on top of that).
13216 There is a slight memory leak here, as the memory for the previous
13217 value of the altered string option is not freed.
13218
13219 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13220 Configure arrow highlighting as default in XBoard
13221
13222 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
13223 lineGap of 0 to make that efficient (and the wood theme even nicer).
13224
13225 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13226 Port highlighting with arrow to XBoard
13227
13228 Unfortuntely this duplicates a fair amount of code in the front end.
13229 Removing the arrow is done by a total repaint if there is a non-zero
13230 lineGap, because the clever algorithm for selective redrawing (based
13231 on damage) that XBoard uses does not repair damage to the grid lines.
13232 For lineGap=0, however, (for which the arrow is mainly intended) the
13233 damage mechanism is used, and the damaged squares are determined by
13234 tracing out the arrow in 64 steps, and marking all squares in the
13235 neighborhood as damaged.
13236
13237 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13238 Strip CR from xboard.c
13239
13240
13241 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13242 Let user decide if he wants highlights in blindfold mode
13243
13244 Remove the automaticsuppression ofhighlighting.
13245
13246 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13247 Fix fag-fell marker with logos on
13248
13249 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
13250 two-machines mode was printed twice when the clock was split over two
13251 lines (as with logos on).
13252
13253 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13254 Also exempt variant seirawan from eval-scale doubling
13255
13256 It is not really a drop game, so a scale from -7 to 7 in the eval graph
13257 is good enough (like variants great and super).
13258
13259 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13260 Configure EGTB cache size in adapterCommand
13261
13262 The hash size, nr of CPUs and EGTB path are transferred through the WB
13263 protocol interface commands memory, cores and egtpath. But there is no
13264 WB command for detailing the EGTB cache size. So the value of the
13265 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
13266 through its startup command to make it known to UCI engines.
13267
13268 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13269 Move Hint and Book items to Engine menu in XBoard
13270
13271
13272 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13273 Correct the key bindings fo view menu in texi file
13274
13275 The mentioned bindings for Game List and Eval Graph were wrong.
13276
13277 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13278 Fix sub-variation display with negative score
13279
13280 The test if the displayed score was the pvInfo score failed for negative
13281 scores, because floats are truncated towards zero. So the previous fix
13282 of spurious score/depth info was not working when the score was
13283 negative.
13284
13285 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13286 Peel PV out of comment
13287
13288 Arena stores engine PVs not in variation format, but within both braces
13289 and parentheses, before the score/depth info. This caused XBoard to
13290 overlook the score/depth info, (frustrating, e.g., the eval graph),
13291 while the PV would not be accessible for walking it as a variation.
13292 The routine that extracts the score/depth from a comment now has
13293 been made more clever, to recognize a leadin PV in the comment, and then
13294 place it in front of the comment as variation (by moving the opening
13295 brace to behind it). For some reason it does not work if the PV and
13296 score/depth were separated by a newline, but this happens quite rarely.
13297
13298 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13299 Allow line-straddling result comments
13300
13301 Some GUIs (in particular Arena) do not have the decency to keep the
13302 result comment on a single line. In this case the parser rules would not
13303 recognize it, and treat it as a normal comment, plus an undetailed PGN
13304 result. The rules are now fixed to allow linefeeds in the comment, and
13305 between comment and PGN result. To correctly process the comment further
13306 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
13307 back-end routines that do use the result comment.
13308
13309 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13310 Write key bindings in XBoard menus
13311
13312 Unfortunately tabs are not understood in menu texts, so fine-tuning
13313 through spaces is necessary to get some sort of ragged alignment.
13314
13315 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13316 Configure XBoard to use wood board texture by default
13317
13318 The texture pixmaps are sought in /usr/share/games/xboard, with names
13319 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
13320 to put them there. XBoard is resitent to non-existence of the files,
13321 btw. It simply ignores the arguments in that case.
13322
13323 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13324 Configure -inc as volatile option in XBoard
13325
13326 XBoard users are not used to options being persistent, and thus have
13327 many scripts assuming the timeIncrement is -1 when they don't specify it
13328 on the command line, and want to specify -mps. But a persistent -inc of
13329 0 fom a preious session would then force their -mps to zero, causing
13330 big-time confusion.
13331
13332 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13333 Make WinBoard clocks translation-proof
13334
13335 With logos on, the splitting of the clock over two lines assumed the
13336 lengths of the words "white" and "black" would always be 5. Used strlen.
13337
13338 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13339 Improve drawing of highlight arrow
13340
13341 A diagonal arrow sometimes had a notch in the shaft because of
13342 independent rounding of the starting and ending point coordinates.
13343 Furthermore the width of the shaft was unnecessary variable(as a
13344 function of direction) because half the width was rounded and then used
13345 twice. Now rounding of end-points is always done towards a fixed grid
13346 of square centers, which keeps diagonals purely diagonal, and one side
13347 of the shaft is drawn relative to the other side, after the
13348 position of the latter has been rounded, so any rounding error affects
13349 the shaft width only once.
13350
13351 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13352 Alter descriptionof Analyze File menu item
13353
13354 This menu item has been given a new function, so a new description was
13355 needed.
13356
13357 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13358 Add description of Game List Options in texi file
13359
13360
13361 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13362 Update texi file for new menu organization
13363
13364 The descriptions are shuffled around and organized into sections
13365 corresponding to the new main menus. Where necessary the name of the
13366 items was changed to their new names. The items removed from the File
13367 menu (the next/previous/same stuff) are nowmoved to the section "other
13368 shortcut keys", as the key bindings for some of them are still active.
13369
13370 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13371 Update info on key bindings in texi file
13372
13373 The texi file was still listing the old XBoard key bindings. Where
13374 necessary this is now changed to the new (WinBoard) bindings, and all
13375 the new bindings were added.
13376
13377 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13378 Add XBoard key bindings for Revert and Truncate
13379
13380 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
13381
13382 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13383 Divorce the Edit and Show Tags/Comment menu items
13384
13385 In WinBoard the items in the Edit and View menu for Tags and Comment now
13386 have different IDs, so they can be independently controlled. Only the
13387 items in the View menu are check-marked. The items still do the same.
13388
13389 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13390 Alter WinBoard menu text
13391
13392 The texts are slightly adapted, mostly by choosing more convenient
13393 tabbing characters for the new menu organization. The translation
13394 template is updated accordingly.
13395
13396 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13397 Let move-history window scroll to bottom after adding move
13398
13399 By activating the scrollbar of the viewport through XtCallActionProc
13400 the move-history window is scrolled to the bottom.
13401
13402 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13403 Fix Shogi promotion popup
13404
13405 The texts were adapted to shogi by printing new text items over the
13406 Queen and Knight buttons, but these did not alwys cover it. Now the text
13407 on the buttons is changed as it should be. Also the window title is
13408 adapted.
13409
13410 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13411 Apply gettext macros to menu texts
13412
13413 Now texts and references are separated, the texts in the tables can be
13414 decorated with the N_() macro, so that the _() macro no longer has to be
13415 applied when they are used. (This makes the texts appear in the .po
13416 files.)
13417
13418 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13419 Adapt some XBoard menu texts
13420
13421 The "Show" prefix is removed from the "View" menu items, as this seems
13422 implied. An ellipsis is added to the Engine #N Settings items, which
13423 could not be there before, because periods in a menu name would break
13424 any reference to it. For some other names the ellipsis was deleted.
13425 (These were not refered to, but who knows what we will do in the future.)
13426
13427 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13428 Separate menu text from menu name in XBoard
13429
13430 The text string in the menu-definition tables was used both for the menu
13431 text, as well as for referencing the items from the code (for enabing or
13432 checkmarking). Now these can be defined separately, so that altering the
13433 menu texts is possible without breaing any references to the item.
13434 (Moving them to another menu would still break XBoard, though!)
13435 Currently the texts and names are still the same.
13436
13437 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13438 Bugfix XBoard menu translation
13439
13440 The gettext macro N_() was applied to the menu definition tables, but
13441 this would break any translation, as these items are both used as menu
13442 texts as well as reference for enabling and checkmarking. The routines
13443 that create the menus already apply _() dynamically to these items when
13444 they are used as menu texts.
13445
13446 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13447 Restrict drops in variant seirawan to back rank
13448
13449 Drops aren't really llowed at all in Seirawan Ches, but there exists an
13450 engine that supports a variant where drops on the back-rank are allowed.
13451
13452 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13453 Let Analyze File annotate the loaded game
13454
13455 By not suppressing the auto-play loop in AnalyzeFle mode, we step
13456 through the game while the engine is analyzing, and store the PV info
13457 that the engine produces, as well as the full PV (as variation comment)
13458 with each move.
13459
13460 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13461 Revive Analyze File menu item in WB
13462
13463 We will keep this menu after all, becase it can be given a new meaning.
13464
13465 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13466 Fix spurious scores in comments
13467
13468 The comment popup is also used to display engine PV info, but when the
13469 contents of the window is written back when we select a variation,
13470 it was treated as a real comment. This is fixed now by checing in
13471 ReplaceComment() if the comment starts with the PV info, and if so,
13472 ignore the latter. This solves the problem, but I guess the real bug is
13473 that selecting a variation tries to write the comment even if it did not
13474 change.
13475
13476 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13477 Display error for wrong use of Machine Match
13478
13479
13480 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13481 Reorganize XBoard menus
13482
13483
13484 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13485 Reorganize WinBoard menus
13486
13487 New main menus Edit, View and Engine are added; the step menu
13488 disappears. The menu items are redistributed over the new menus.
13489 Sometimes duplicates are created. No adaptation of short-cut characters
13490 as made yet (as this affects translation).
13491
13492 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
13493 removed trailing whitespaces from NEWS
13494
13495
13496 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
13497 merged readme_HGM.txt into the NEWS file
13498
13499 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.
13500
13501 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
13502 typo in date of developer release
13503
13504 but will leave the tagged version as it is, since it's still a unique version number
13505
13506 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
13507 new developer release
13508
13509
13510 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
13511 added latest version of parser.c
13512
13513
13514 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
13515 updated Changelog, etc for developer release
13516
13517
13518 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
13519 Revert "adding gnu-readline support"
13520
13521 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
13522
13523 Conflicts:
13524         backend.c
13525
13526 better to use the (relatively) new ICS input box then add readline support.
13527
13528 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
13529 Revert "bugfix: fixed readline support with icslogon option"
13530
13531 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
13532
13533 Conflicts:
13534         backend.c
13535
13536 better to use the (relatively) new ICS input box then add readline support.
13537
13538 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13539 Make Hoplite moves irreversible in Spartan Chess
13540
13541 Consider Lance moves in variant Fairy (where the Lance represents the
13542 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
13543
13544 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13545 Give Lance moves of Amazon in variant super
13546
13547 Now that Lance is no longer a wild-card piece the moves of Amazon must
13548 be programmed explicitly, to keep the possibbilty to play Superchess
13549 with legality testing on.
13550
13551 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13552 Change representation of Bede in variant fairy initial position
13553
13554 This used to be Lance, but the promoted Bishop (Dragon Horse)
13555 is more applicable. Especially now that Lance is supposed to move like a
13556 Berolina Pawn.
13557
13558 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13559 Make yyskipmoves also suppress examining of drop moves
13560
13561 Not sure if this does any good, but it seemed illogical that this would
13562 happen in all other moves, but not drops.
13563
13564 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13565 Define moves for Dragon Horse outside Shogi
13566
13567 Let it move like Bishop + Wazir + Dababba.
13568
13569 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13570 Fix safety crash when appending comments
13571
13572 The length limit imposed on safeStrCpy was one too short when copying
13573 an existing comment to the space allocated for the longer (concatenated)
13574 one. It allowed no space for the terminating '\0'.
13575
13576 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13577 Fix safeStrCpy
13578
13579 The test for when to terminate a non-fiting string was one off, and the
13580 debug message was written stdoutin stead of debugFP.
13581
13582 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13583 Fix default holdings size for variant seirawan
13584
13585 The holdings for 7 pieces werealways considered an overrule, so that the
13586 variant name was prefixed with "8x8+7_".
13587
13588 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13589 Fix home-dir crash
13590
13591 When confronted with a path name starting with ~ and not containing a /
13592 XBoard would segfault.
13593
13594 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13595 Fix one-click moving on up-click
13596
13597 (First) up-clicks were not always ignored: in Edit-Game mode with
13598 one-click moving enabled this could lead to a capture being made on
13599 the down-click, and the recapture on the correspoding up-click.
13600 This has now been corrected, and only the down-click of a first click
13601 can lead to selecting a piece or a one-click move.
13602
13603 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
13604 fixed buffer size for snprintf
13605
13606
13607 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13608 Accept Seirawan-style gating suffixes
13609
13610 The parser rules were extended to accept / as an equivalent of = in
13611 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
13612
13613 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13614 Use Falcon and Alfil as built-ins for Seirawan chess
13615
13616 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
13617 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
13618
13619 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13620 Implement entering gating moves with mouse
13621
13622 A move with a back-rank piece that starts when a piece in the holdings
13623 is selected will be interpreted as a gating move in variant seirawan.
13624 The front-end uses a 'gatingPiece' selected this way todisplay it on the
13625 from square during animate dragging.
13626
13627 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13628 Implement variant seirawan
13629
13630 Set upthe position, including Hawk and Elephant in holdings, in
13631 InitPostion(). Suppress putting captured pieces in holding. Let
13632 promoChar indicate gating in ApplyMove(). Remove gated pieces from
13633 the holdings there. Let GenLegal() generate RxK-type castlings to act as
13634 base for gating on Rook square. Gatings are tested for legality
13635 based on the holdings content and whether they occur on the back
13636 rank. Disambiguate() also tests this. Make sure the gated pieces are
13637 printed as move suffixes in CoordsToAlgebraic().
13638
13639 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13640 Add -variant seirawan to menu
13641
13642
13643 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13644 Fix acceptance of null-move with legality testing off
13645
13646 A second click on the same piece was interpreted as a to-square rather
13647 than deselection of the piece.
13648
13649 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13650 Fix one-click bug
13651
13652 Disambiguate was imagining captures, so an only capture by double
13653 clicking your own piece did not always work.
13654
13655 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13656 Fix mouse-driver buglet
13657
13658 The highlights were not cleared on moves that went vertically off board.
13659
13660 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13661 List some undocumented commands as compliant
13662
13663 The engine->GUI commands setboard and setup are now always printed in
13664 the debug file as well.
13665
13666 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13667 List Hint with compliant commands
13668
13669 This command was omitted, so that in some -engineDebugOutput modes it
13670 would not appear in the debug file.
13671
13672 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13673 Restrict use of escape expansion
13674
13675 Only expand escape sequences like \n and \t in telluser(error) comamnds
13676 that ask for it by preficing the messages by double backslash. Otherwise
13677 backward copatiblity is too severely broken for messages that display
13678 DOS-style filenames.
13679
13680 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13681 Make safeStrCpy safe
13682
13683 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
13684 always writing the character at the length limit of the destination.
13685 Now no memory is accessed that is is not needed to hold the copy.
13686
13687 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13688 Allow clicked name internal to the icsMenu command string
13689
13690 A command in the /icsMenu that was specified to contain the selected
13691 text or clicked word always appended this word at the end. Now the user
13692 can also configure it to appear in the middle, by putting a %s in the
13693 command string where he wants it to appear.
13694
13695 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13696 Let Engine #2 Settings start second engine
13697
13698 If the second engine is not yet running, it would be impossible to use
13699 the settings dialog for it, as the features have not been received and
13700 the dialog will be empty. So the user could not adjust the engine
13701 parameters before starting a match. Using this menu now automatically
13702 starts the engine, and delays the appearence of the popup untill the
13703 features are received, using a similar mechanism as in
13704 TwoMachinesEventIfReady().
13705
13706 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13707 Newly lexed parser.c
13708
13709
13710 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13711 Fix bug in parsing illegal Pawn captures
13712
13713 When a pawn move of type exf5 was illegal, the parser made an attempt to
13714 interpret it as e.p. capture of f5. This, however, messed up the move,
13715 so that it was now permanently mistaken for e5xf6. Even in cases with
13716 legality testing off, where you would want the original move to be
13717 accepted despite the fact that it was illegal.
13718
13719 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13720 Keep last PV while clearing engine-output display
13721
13722 When ponder is on, the display is cleared immediately when the last line
13723 of thinking output appears by the appearing ponder output. So you would
13724 never get the chance to see it. This line is now re-written after
13725 clearing, so it appears at the bottom of the output for the next search.
13726
13727 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13728 Give Lance moves of Berolina Pawn
13729
13730 In stead of using it as a wildcard piece, the Lance gets the moves of
13731 the Berolina Pawn (straight capture, diagonal move). The initial double
13732 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
13733 Chess.)
13734
13735 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13736 Use SAN even on illegal moves
13737
13738 If there is only one piece of type T, moves like Ta1 or Txa1 are never
13739 ambiguous, so adding the from square is just cumbersome.
13740
13741 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13742 Use normal SAN for wildcard pieces
13743
13744 SAN often can also be used with pieces we don't know the moves of, e.g.
13745 if there is only one of that type. We just always get rank or file
13746 disambiguators if there are more (even when they might be unnecessary).
13747
13748 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13749 Fix some warnings
13750
13751 Unused variables were removed from parser.l
13752
13753 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13754 Allow arbitrary nesting of sub-variations in PGN input
13755
13756 The parsing of subvariations is moved out of the state-machine parsing,
13757 to allow arbitrary nesting. In stead of the entire sub-variation being
13758 parsed by lex as Comment, it now returns Open and Close for the
13759 corresponding parentheses, which are then handled in a wrapper routine
13760 for yylex(): Myylex(). Problem was that yy_text is supposed to return
13761 the entire parsed text of the returned symbol, which thus has to be
13762 collected. To make this possible, yylex has to return everything that it
13763 parses, (even white space!), and a symbol "Nothing" was added to return
13764 in parsing rules that before just ate away irrelevant text without
13765 returning anything.
13766
13767 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13768 Implement setup (engine-GUI) command
13769
13770 This allows the frst engine (when legality testing is off) to overrule
13771 the default opening position, in reply to the variant command. Syntax is
13772 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
13773 where the FEN string is interpreted in the context of the given
13774 pieceToCharTable (which is optional, and only delimeted by parethesis if
13775 it is present).
13776 Sendng the position to the second engine is delayed until the first
13777 engine has responded to the ping after the new-game sequence, to make
13778 sure it gets the chance to alter the position before it is sent to the
13779 second engine. This feature is useful for playing variants that WinBoard
13780 does not even know the opening positon for, and can be used even if they
13781 are shuffle variants.
13782
13783 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13784 Restrict use of a2a3 kludge
13785
13786 The kudge to send "a2a3" in stead of "black" to get black to move is
13787 fatally flawed in varants that have no Pawn on a2. So in that case we
13788 revert to use of the deprecated "black" command.
13789
13790 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13791 Remember values set by -firstOptions, -secondOptions
13792
13793 When an engine announces its option features, and the option name
13794 matches that of a setting given in -first/secondOptions, the engine is
13795 sent hte specified value, but this value was not remembered as current
13796 value (but the latter  was left at the engine-announced default),
13797 leading to inconsistent behavior in the Engine #N Settings dialog.
13798
13799 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13800 Make test for valid promotion piece color-dependent
13801
13802 This is needed to make it work in variants where white and black have
13803 different armies; quite likely white will promote to pieces that do not
13804 exist in the black army, so we really have to make sure we test if the
13805 white (upper-case) piece exists in this case.
13806
13807 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13808 Remove validity test on promochar from parser
13809
13810 The backend routines Disambiguate() and LegalityTest() will catch
13811 invalid promotions, so no need to do it here.
13812
13813 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13814 Add the actual size-33 Shogi bitmaps
13815
13816 These were forgotten in the original commit that fixed the .rc file.
13817
13818 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13819 Delete some stale promotion code
13820
13821 The correction of the promotion piece to Ferz in Shatran-like variants
13822 in ApplyMove() was no longer needed, as the new promotion code already
13823 does this in the move parser.
13824
13825 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13826 Augment moves of some fairy pieces
13827
13828 To get better disambiguation in variants that have to be played with
13829 legality testing off, the Elephant is given also one-step moves (making
13830 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
13831 King (Crowned Rook), which had no moves defined for it outside Shogi at
13832 all, has been given Rook moves plus an orthogonal 2-jump, so that it
13833 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
13834 currently aways force long algebraic notation...)
13835
13836 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13837 Bugfix safeStrCpy patch, WinBoard
13838
13839 The use of sizeof on pointers was detected through the same method as
13840 the previous patches, this time while compiling WinBoard. A typo in
13841 jaws.c was fixed as well.
13842
13843 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13844 Bugfix for safeStrCpy patch for XBoard
13845
13846 By a trick (temporarily redefining safeStrCpy in common.h as
13847 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
13848 could be generated for every occurrence where the size argument was equal
13849 to 4, i.e. where the 1st argument was likely a pointer rather than an
13850 array. These cases are now fixed. The file xoptions.c, which is the
13851 only ne that does not #include common.h had to be fixed by making
13852 the #define in the file itself.
13853
13854 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
13855 Fix spurious promotions with legality testing off
13856
13857 The recent promotion patch had broken playing without legality testing
13858 completely: without legality testing one always gets the piece that was
13859 asked for, but a NULLCHAR should not be taken as a request for a piece!
13860 But it was, and this resulted in any moved piece turning into a white
13861 Pawn! For true promotions the piece was always black, which was also not
13862 very useful.
13863
13864 Also revert to the use of '+' as internal Shogi promoChar, because
13865 pre-processing turns out not to be possible when reading a game file.
13866 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
13867 can no longer be recognized as checkmate symbol.
13868
13869 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13870 Make deferral default in Shogi promotions
13871
13872 Because '+' is intercepted by the parser as check indicator, Shogi moves
13873 are pre-processed to change a trailing '+' into an internally used
13874 alternative '^'. The testing if a promotion character is OK is now done
13875 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
13876 the character does not correspond to any piece, and IllegalMove when in
13877 Shogi anything other than '^' or '=' is used. (Except for the ICS
13878 notations.) On output, in CoordsToComputerAlgebraic() and
13879 CoordsToAlgebraic(), the '^' is translated back to '+'.
13880
13881 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13882 Animate piece explosions in drag-drop moves and in XB
13883
13884 This required some code restructuring: the decision if an explosion is
13885 needed is now taken in a new routine Explode() in the backend. This then
13886 calls the front-end driver, and it returns the info if there was an
13887 explosion or not, so the caller (AnimateMove() or the mouse driver) can
13888 take action to repair the damage to the board caused by the blast wave.
13889 A front-end driver for XBoard is provided as well, so that both
13890 click-click (and replay, which is the same) and drag-drop atomic
13891 captures are animated in XB as well as WB.
13892 Explosions on rejected moves are suppressed.
13893
13894 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13895 Suppress promotion popup if piece will explode
13896
13897 In atomic, a Pawn capture to last rank is not really a promotion.
13898 Fix choice to Queen.
13899
13900 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13901 Make Knight hop first straight, then diagonal
13902
13903 It used to be the other way around, which looked pretty illogical in
13904 Xiangqi: to see Horses, which are blockable pieces there, move over an
13905 occupied square.
13906
13907 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13908 Let -oneClickMove also work in EditGame mode
13909
13910 There is really no reason why people that lke one-clcik moves enough to
13911 switch them on would not want to use them too when editing a game.
13912 This solves a nast inconsistency, as before it used to work in -ncp mode
13913 on the _first_ move, as the mode is then BeginningOfGame, and not yet
13914 EditGame, and we do want it to work for BeginningOfGame, as this is
13915 also the game mode when you start playing as white.
13916
13917 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13918 Make -flipBlack and -allWhite option volatile
13919
13920 As these options are very Shogi specific, and the variant is volatile,
13921 it seems logical to make them also volatile. Not completely sure about
13922 -allWhite, though. It cold be useful if you want, for example, to play
13923 wth dark-brown pieces for black, as any color but black looks much
13924 better with outline pieces than with solid pieces.
13925
13926 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13927 Provide some sample board-texture pixmaps
13928
13929 Wood and marble themes are provided as textures for light and dark
13930 squares, plus two complete Xiangqi boards (wood and evenly colored).
13931 These should probably not goint the distro tar ball.
13932
13933 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13934 The -overrideLineGap option is made to work in XBoard
13935
13936 Although XBoard already allowed this in the -boardSize specification,
13937 it is still seful to globally disable grid lines, e.g. for an
13938 oriental Xiangqi board. And it converges XB and WB.
13939
13940 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13941 Implement board textures in XBoard
13942
13943 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
13944 XBoard too, for loading a pixmap that will be used to cut out the dark
13945 and light square backgrounds. The cutting algorithm is such that the
13946 pixmap image is completely restored if the size was that of the total
13947 board (e.g. a drawing of a Xiangqi board).
13948
13949 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13950 Complete WB (western) bitmaps for Shogi at size 33
13951
13952 The Lance was not replacing Queen in some sizes where the bitmaps were
13953 already available, and new bitmaps for the promotion Golds were added.
13954
13955 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13956 Make starting new variation dependent on shift key
13957
13958 The shift key is read during mouse events, and posted in a global
13959 variable, which can then be used by the back-end. The decision to start
13960 a new variation (pushing the game tail rather than clipping it off) when
13961 entring a move in Edit Game or Analyze mode is made dependent on this.
13962 The move-typein also records the shift-key state.
13963
13964 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13965 Fix merging bug
13966
13967 A %g format was used to print an int in sending the level command,
13968 because decimal points were dropped when merging patches. Also an unused
13969 variable was removed to suppress a warning.
13970
13971 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13972 Add set of shogi pixmaps for XBoard
13973
13974 The -size 64 pieces from gShogi (and originally XShogi) are made
13975 suitable for loading by XBoard, through redefining the transparent
13976 background color as either light or dark square color. These bitmaps are
13977 not included in the XBoard build, and perhaps should not even be
13978 included in the source distribution, but made available in a separate
13979 distribution?
13980
13981 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13982 Implement -flipBlack in XBoard
13983
13984 When -flipBlack is true, the white and back piece pixmaps are swapped in
13985 flipView. The idea is that the black pieces are upside-down versions of
13986 the white (Shogi) pieces, so that swapping white and black in effect
13987 turns all pieces upside down, which is what should happen in flipView.
13988
13989 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13990 Disable some very verbose debug printing
13991
13992 The internationalization seems debugged enough to do without them.
13993
13994 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
13995 Add option -variations to control variation-tree walking
13996
13997 Just so that users can switch it off if the find it annoying.
13998
13999 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14000 Allow full promotion suffixes on SAN piece moves
14001
14002 This facilitates the parsing of (non-standard) Shogi moves in ICS
14003 protocol. It can also be useful for Seirawan Chess, where a future
14004 implementation of it can use promotion suffixes to indicate gating.
14005
14006 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14007 Allow lower-case piece indicator in drop-move notation
14008
14009 As it seems that XBoard also sends such moves in zippy play, it seems
14010 more fair to recognize them from the engine as well.
14011
14012 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14013 Fix bug in ICS variant switch for Shogi
14014
14015 Because a test for 8x8 variants was done by <= VariantShogi,
14016 rather than <, spurious move-list fetching occurred in Shogi.
14017
14018 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14019 Fix WinBoard Lance bug
14020
14021 The choice between Lance and Queen was made on appData.variant, in stead
14022 of gameInfo.variant. Because of this it was not always up-to-date in ICS
14023 games.
14024
14025 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14026 Adapt WinBoard to Shogi implementation on Variant ICS
14027
14028 The Variant ICS does not use the '+P' notation for promoted pieces,
14029 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
14030 and uses 'H' and 'D' for +B  and +R. The Shogi promotion code in
14031 LegalityTest() and Disambiguate(), which are used in move Parsing, are
14032 adapted to handle this. Deferred promotions sent to the ICS now use an
14033 == suffix.
14034
14035 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14036 Inherit promoted-info that ICS does not give from previous board
14037
14038 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
14039 primordial or a promoted pawn (or a promoted other piece). We now derive
14040 this info from the previous board. The option -disguisePromotedPieces
14041 controls this feature.
14042
14043 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14044 Limit multi-session clock handling to non-ICS games
14045
14046 In ICS games a time forfeit crashed XBoard, apparently because the
14047 fullTimeControl string is not properly set when we try to use it to see
14048 if a sudden-death session is indeed the last session.
14049
14050 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14051 Change evalgraph scale in drop games
14052
14053 Score swings tend to be much larger in Crazyhouse and Shogi, so the
14054 vertical rangee in those games is doubled to (-14, 14).
14055
14056 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
14057 bugfix: fixed readline support with icslogon option
14058
14059 The icslogon option sends the login and password, so we don't need to handle
14060 special cases for the readline buffer.
14061
14062 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
14063 fixed some typos that were introduced during the sprintf->snprintf changes
14064
14065
14066 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14067 Fix uninitialized variable in book code
14068
14069 The variable ' power' was used uninitialized in case -bookVariation was
14070 set to 0, which can be an error even if it was only multiplied by zero.
14071
14072 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14073 Fix menu translation bug
14074
14075 The menuText array was declared too small, so that the last entry of the
14076 File menu got out of bounds and was overwritten by the first of the Mode
14077 menu.
14078
14079 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14080 Allow -timeIncrement to be a float
14081
14082 The increment can now be fractional seconds. The printing in
14083 ParseTimeControl() and SendTimeControl() is done with %g format, so that
14084 for integer increment there is backward compatibility with the old level
14085 command.
14086
14087 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
14088 adding gnu-readline support
14089
14090 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.
14091
14092 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
14093 added warning if icsLogon file couldn't be opened
14094
14095
14096 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
14097 security fix: replaced some strcat with strncat
14098
14099 there is still more to do
14100
14101 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
14102 add option for silent builds
14103
14104 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
14105 It should still work for older automake versions too
14106
14107 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
14108 bugfix: missing array index
14109
14110
14111 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
14112 added new case for (Chessmove) 0 in common.h
14113
14114 this cleans up a few more -Wall messages
14115
14116 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
14117 cleaned up -Wall warnings (apart from settings some parentheses)
14118
14119 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
14120
14121 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
14122 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
14123
14124
14125 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
14126 security fix: replaced sprintf with snprintf
14127
14128 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.
14129
14130 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
14131 security fix: replaced strcpy with safeStrCpy from backend.c
14132
14133 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
14134
14135 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14136 Enhance multi-session TC clock handling
14137
14138 Some new TC types are introduced: Bronstein and free sessions. The
14139 former is implemented by letting an exclamation point '!' in front of an
14140 increment (in the -tc string) indicate that the increment is limited to
14141 the time actually used on the previous move. The latter is an interval
14142 of given duraton in which you can do any number of moves (even zero),
14143 before the next session starts. This is needed for implementing Shogi
14144 byoyomi-type TC, as a first session, followed by a session of fixed-time
14145 per move. The latter can now be specified with the -tc argument as a
14146 degenerate case of Bronstein, where the time on the clock is <= the
14147 increment (so that it is never possible to think longer than the
14148 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
14149 300:10+!10.
14150
14151 The sessions are now separated by ':' in stead of '+', and all times in
14152 the TC string are converted to seconds first (in ParseTimeControl), so
14153 the fullTCstring can now be directly used in a PGN tag.
14154
14155 Note that this patch only addresses clock handling; the engine will not
14156 be informed yet if the TC type or parameters change at the start of new
14157 session!
14158
14159 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14160 Remove promotion-piece encoding from ChessMove type
14161
14162 The shizophrenic way to indcate promotion pieces in the XBoard code
14163 (sometimes using a promoChar, at other times relying on moveType) was
14164 cured by combining all promotion move types (such as WhitePromotionRook)
14165 into a single one (WhitePromotion), and relying on promoChar to specify
14166 the piece. This solves the problem of promoting to new piece types in
14167 variants, which formerly also required addition of new move types.
14168
14169 In Shogi the '+' character is now consistently used to indicate
14170 promotions (and recognized in ApplyMove), rather than 'q' or
14171 PieeToChar(BlackQueen), as the latter did not work in minivariants where
14172 the Queen (representng the Lance) did not partcipate.
14173
14174 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14175 Pass promoChar to SendMoveToICS
14176
14177 SendMoveToICS was the only place where the promotion piece was derived
14178 from moveType, rather than an explicity passed promoChar.
14179
14180 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14181 Suppress spurious use of SAN castling in mini variants
14182
14183 King moves from a central file to the king-side-castled position (1
14184 square away from the right corner) were intercepted and printed as O-O
14185 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
14186 normal King move Kc1-d1 as well. The castling notation is now reserved
14187 for King moves larger than one step.
14188
14189 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14190 Make Shogi promotion zone board-size dependent
14191
14192 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
14193 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
14194 Shogi (6x6), which are indeed what these variants need.
14195
14196 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14197 Make board-size overrule options volatile
14198
14199 The options -boardWidth, -boardHeight and -holdingSize were legacies
14200 from the day choosing a variant would not automatically set a board
14201 size. As a result they are seldomly used anymore. The first real
14202 application is mini-Shogi (on 5x5 board), and it turned out very
14203 annoying if the 5x5 settings persisted to the next session, where you
14204 almost certainly want to play another variant.
14205
14206 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14207 Strip DOS line endings from parser.l
14208
14209
14210 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14211 Extend mate test to drop games
14212
14213 MateTest() in case of no legal moves now also looks if there are legal
14214 drops that can resolve the check. This provides reliable mate testing in
14215 Crazyhouse and Shogi, so these are now made subject to adjudications too.
14216
14217 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14218 Extend legality testing to drop moves
14219
14220 LegalityTest() can nowbe called with (internal-format) drop moves, and
14221 delegates their testing to a new routine LegalDrop(). This routine
14222 performs the 'no-pawn-on-back-rank' test that used to be in
14223 UserMoveTest (which now calls LegalityTest also for drop moves).
14224 The more complex Shogi case is also handled (except for Pawn mate
14225 drops) in LegalDrop().
14226
14227 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14228 Revert splitting of UserMoveEvent
14229
14230 This splitting into UserMoveTest and FinishMove was no longer needed,
14231 now that the new mouse driver no longer calls UserMoveTest to figure out
14232 if a move is a promotion, and XBoard and WinBoard are unified in this
14233 respect. It was counter-productive, because UserMoveTest was not able to
14234 change the fromX, fromY (call-by-value) parameters for passing them to
14235 FinishMove, so it had to defer the conversion of drop moves to internal
14236 format to the latter, while it did not belong there. (Because
14237 DropMenuEvent already delivers the moves in internal format.) This
14238 whole kludgy construction was therefore abandoned, by going back
14239 to the original 4.2.7 calling scheme, where UserMoveEvent completely
14240 pre-processes the move, and when it is valid, calls FinishMove directly.
14241
14242 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14243 Fix silent bug in drop moves
14244
14245 In ApplyMove() the piece on the from square was accessed and used before
14246 we tested for drop moves. As drop moves have off-board from-squares this
14247 led to out-of-bound array access, which apparently was usually harmless.
14248
14249 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14250 Allow parsing of upper-case machine moves
14251
14252 Dubious patch, as it caters to non-compliancy. Some variant engines are
14253 very non-compliant, though.
14254
14255 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14256 Prevent transmission of spurious promo char to other engine
14257
14258 The parser now strps off spurious promotion characters.
14259 New move types "White/BlackNonPromotion" had to be introduced for this,
14260 to indicate NormalMoves that could have been a promotion, to make sure
14261 the '=' suffix of Shogi deferred promotions survives.
14262
14263 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
14264 fixed internationalization for winboard
14265
14266 in the original commit some files were forgotten. This should fix it.
14267
14268 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14269 Fix JAWS bug saying side to move in ICS play
14270
14271 This was done the wrong way around.
14272
14273 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14274 Make WB run-time language switch possible from menu
14275
14276 This is a rather involved patch that might not be worth it. It is
14277 difficult, because translation of things that live forever is not easy
14278 to invert (menus, the auxiliary windows). We hae to remember all
14279 original, English texts there to be able to put them back,or
14280 re-translate. Still does not fully work, although the menus and
14281 temporary dialogs now are all OK.
14282
14283 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14284 Update WB translation template
14285
14286 The language.txt file now also contains all translatable strings from
14287 the C source files, rather than jsut the resource.
14288
14289 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14290 Update docs
14291
14292 Add descriptions for machine-match menu support and enhanced book
14293 control, nick-name options and language.
14294
14295 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14296 Add some forgotten translation hooks
14297
14298 The general-options, file-browse dialogs and the about box did not call
14299 Translate() yet. Also translate contents of combo boxes. Some small bug
14300 fixes.
14301
14302 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14303 Do not translate game-end messages in PGN
14304
14305 The messages themselves are not subjected to _(), but in stead their
14306 displaying in DisplayMove is subjected to T_().
14307
14308 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14309 Internationalization for WinBoard
14310
14311 A function Translate() was added, which uses a list of item dialogs,
14312 reads their value, and replaces it by a translation (if available). It
14313 also reads the window title and sets a translation. Calls to this
14314 routine are added in the initialization code of every dialog callback.
14315 In addition all translatable strings in the WnBoard front end are marked
14316 by the gettext macro _(). Because WB is not gettexted yet, a hard
14317 re-definition of this macro is added in each file using it, to the
14318 string-translation routine T_() supplied in winboard.c.
14319 Code to read the translation file, and translate the menu texts is added
14320 in winboard.c. In backend.c the meaning of the gettet macros is
14321 redefined for the WIN32 case.
14322
14323 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14324 Make the ID of all WB dialog items unique
14325
14326 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
14327 replace tet at run-time for translation purposes, they need to be
14328 addressed individually. So they were given new IDs, with symbols defined
14329 for those.
14330
14331 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14332 Mark XBoard result messages for internationalization
14333
14334 The GNU gettext macro _() is used with the game-end messages. This might
14335 be controversial, as they will appear in the PGN as well. But only as a
14336 comment. We can always decide not to supply a translation.
14337
14338 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14339 Do not exit after match when match started from menu
14340
14341 The codelooks weird, but matchMode == 2 in this case. We then use
14342 DisplayNote() to report the match result.
14343
14344 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14345 Trivial-draws recognition improved in Xiangqi
14346
14347 Now based on a routine "SufficientDefence". If both have it, it is draw.
14348
14349 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14350 Update .dev files
14351
14352 The relocation of parser.c and the addition of history.c was not yet
14353 incorporated in the devcpp proect files.
14354
14355 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14356 Fix some MSVC compile errors
14357
14358 Some statements has moved up stream of declaratons, which is an error
14359 that gcc is forgiving about, but where MSVC is strict.
14360
14361 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14362 Improved patch for expansion of WB settings-file name
14363
14364 The expansion of environment variables now allows multiple environment
14365 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
14366 and %APPDATA%\winboard.ini.
14367
14368 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14369 Add -colorNickNames option
14370
14371 This option allows non-standard designation of side to move in FENs.
14372 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
14373 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
14374 Can also be used for FENs in a local language. A match of theinput
14375 character with the nick name translates it to the standard; this means
14376 the standard will continue to be recognized, unless it was defined as a
14377 nick name.
14378
14379 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14380 Tricked by the grossnes
14381
14382 Some WB menu items were referenced by a hard number. As items had been
14383 added over the years, the wrong menu items were grayed. In particular
14384 the Options -> Adjudication menu was grayed out, in -ncp mode, where
14385 this was intended for the Sounds dialog. This accidentally proved
14386 useful, until we started to apply adjudictions also to the Human moves.
14387 Then it was suddenly undesirable, and a small mystery why it happened at
14388 all, when I tried to change it. The numbers are now corrected to the new
14389 locatons of the items in the menus.
14390
14391 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14392 Allow match to be started from WB menu
14393
14394 A menu item Machine Match was added in the Mode menu to switch to
14395 matchMode. A persistent option /defaultMatchGames determines the number
14396 of games. A control was added to the Options -> Common Engine dialog to
14397 set this option.
14398
14399 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14400 Add some book-control options
14401
14402 Options /bookDepth and /bookVariation have been added to control the use
14403 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
14404 contains fields to set them.
14405
14406 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
14407 new developer release
14408
14409
14410 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14411 Repair exit-popup deadlock patch
14412
14413 Relocating the exit popup call had made it lose access to the message it
14414 should print, because it was declared only in an inner code block, by
14415 the same name: buf[]. Deleting the inner declaration fixes it.
14416
14417 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14418 Fix erors when compiling with --disable-zippy
14419
14420 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
14421 fields.
14422
14423 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14424 Fix zippy handling of draw offers from ICS
14425
14426 The patch by DM to fix the problem introduced by the coloration of
14427 zippy-matched commands (namely that the coloration code beat the zippy
14428 draw recognition to it, and ate the draw offer away) was only targeting
14429 ICC. The new fix should work on any ICS (by using the same pattern in
14430 zippy as in the colorization code).
14431
14432 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14433 Fix regression in colorization of zippy-matched commands
14434
14435 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
14436 that in XBoard no coloration would take place of ICS commands that were
14437 matched by zippy. (It was using &i as input pointer, rather than &backup.
14438 The XBoard-specific code now has been deleted completely, to remove a
14439 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
14440 now use the XBoard method, to only match zippy commands when logged in.
14441
14442 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14443 Suggest default file name in browser dialog
14444
14445 The argument 'def' to FileNamePopUp() was not passed through to the new
14446 file-browser routine, which got NULL in stead, and thus started with an
14447 empty input field.
14448
14449 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14450 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
14451
14452 Because the %s expansion of WB options in the /fcp and /scp lines only
14453 works for options that contain 'first' or 'second', and /fUCI thus did
14454 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
14455 install UCI engines. (The latter option should be deprecated really;
14456 the UCI-ness of the engines is a volatile option, so it makes no sense
14457 to supply a way to set them both to false or true. One only needs to be
14458 able to set it to the non-default state.)
14459
14460 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14461 Add string option /pieceNickNames
14462
14463 This (volatile) option allows definition of alternate letters for the
14464 pieces, which will be recognized next to the standard symbols as given
14465 in the /pieceToCharTable on input. (Output always uses the standard.)
14466 This can be useful for reading PGN from another language, or
14467 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
14468   The format of the argument is the same as for /pieceToCharTable.
14469 Because the nickNames are consulted before the standard table, it is
14470 possible to redefine a standard name as a nick for another piece.
14471
14472 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14473 Fix deadlock in match-result display
14474
14475 At the end of a match, GameEnds() was recursively calling itself,
14476 through DisplayFatalError() and ExitEvent(), and the latter was then
14477 delaying until the calling GameEnds() terminated. (Which it would of
14478 course never do before ExitEvent returned; fortunately there was a tim
14479 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
14480  Now the calling of DisplayFatalError() (to show the result popup) is
14481 delayed until after GameEnds completes (and resets the anti-recursion
14482 flag 'endingGame'), so that it is simply executed a second time, unaware
14483 of the earlier call. But this second time it does not do anything,
14484 because the gameMode ws set to EndOfGame the first time, and the writing
14485 of the PGN is blocked by the checksum being still the same.
14486
14487 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14488 Fix WinBoard game-list title
14489
14490 Number of displayed games and WDL stats were always appended to the
14491 existing title, leading to an ever-growing title in the game-list
14492 window. Now the old actual title is ignored, and the starts is appended
14493 to the original title "Game List". (In the future we could use the
14494 filename here?)
14495
14496 In addition, the title was not updated when re-opening the game-list
14497 window, while the stats could change if filtering was active when the
14498 window was closed. (In that case the filter is cleared on re-opening, so
14499 the number of displayed games changes.) Now a title-update (after
14500 recalculating the stats) is done every time the game-list window is
14501 opened.
14502
14503 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14504 Refactoring of material-draws adjudication code
14505
14506 Insufficient mating material is now determined per side individually, by
14507 testing for MatingPotential of each side. If both lack mating potential
14508 the game is adjudicated as draw (if the -materialDraws option is set).
14509
14510 This way MatingPotential() can later also be used to correct losses by
14511 forfeit to draws (which currently is only done when the opponent has a
14512 bare King).
14513
14514 The accuracy of this type of adjudication in Xiangqi has been highly
14515 improved.
14516
14517 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14518 Fix bug in sending cores command to engine
14519
14520 The cores command was alwas sent to the engine(s) when the user changed
14521 it through the menu, even when the engine had sent feature smp=0 (which
14522 is default anyway). NewSettingEvent() was patched to send the new
14523 setting conditionally, based on the engine properties as recorded in
14524 ChessProgramStates first, second; In this particular case it now
14525 consults cps->maxCores. (Note the code for testing the second engine
14526 contains some dirty pointer arithmetic.)
14527
14528 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14529 Fix oneClickMove bug
14530
14531 When checking for unique captures, no attention was payed to the option
14532 setting, so the capture was also made when the option was off.
14533
14534 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14535 Remove duplicate testing for cores feature
14536
14537 The testing for this BooleanFeature occurred twice.
14538
14539 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14540 Remove misspelled prototype
14541
14542 NewSettingEvent occurred, next to the correct one, in misspelled form.
14543
14544 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14545 Fix parsing of SAN shogi promotions
14546
14547 A missing promotion character defaults to promotion in the move type,
14548 but the promotion character was not set when this happened in variant
14549 shogi. And it is especially important there, as the promotion character
14550 '+' will always be missing, as the parser will take it to be a 'check'
14551 symbol, and strip it from the move.
14552
14553 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14554 Fix variant switch on PGN loading
14555
14556 When the PGN specified an essentially different variant, the
14557 piece bitmaps were not properly adapted, because the switch was done by
14558 calling InitPosition(), rather than Reset(). (The latter would destroy
14559 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
14560 (which is normally done from Reset()).
14561
14562 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14563 Adjudicate Xiangqi material draws with Advisor-less Cannons
14564
14565 Used the Queen counter for counting Cannons. Note that material draws
14566 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
14567
14568 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14569 Remove font settings from master settings file
14570
14571 xboard.conf should not contain general font settings (not specific to
14572 one board size) with specified point size. In fact it should not even
14573 specify sizable fonts, as the new system would make specification of a
14574 general font overrule the size-specific settings in the .xboardrc file,
14575 so the persistence of fonts would be completely broken.
14576
14577 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14578 Cut board squares out of texture bitmap more cleverly
14579
14580 When the bitmap is larger than the entire board, the squares are now cut
14581 out of the center of the virtual squares from subdividing the bitmap, so
14582 that they stay centered on the grid of a Xiangqi board bitmap. If the
14583 board size exceeds that of the bitmap, the old algorithm is still used,
14584 as the centering would make the edge squares exceed the bitmap, and
14585 cause a black rim around the board.
14586
14587 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14588 Allow -flipBlack to work with font-based piece rendering
14589
14590 In addition the font-based pieces will also be flipped vertically in
14591 flipView for variant shogi when -flipBlack is off.
14592
14593 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14594 Allow font-based piece rendering in board sizes below petite
14595
14596 At least for variants that use unorthodox pieces, so that switching back
14597 to using bitmaps is not really an option anyway.
14598
14599 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14600 Ignore checks in 50-move count for Xiangqi
14601
14602 Both checks and evasions are discounted; this is only done after the
14603 naive counting exceeds the maximum, so during most of the game it causes
14604 no CPU load.
14605
14606 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
14607 removed some garbage from configure.ac that got added a while ago
14608
14609
14610 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
14611 Remove unnecessary double equals from configure.ac.
14612
14613
14614 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14615 Fix e.p. bug in xiangqi with -serverMoves option
14616
14617 Sideway Pawn moves were written as e.p. captures in the file with moves,
14618 which led to disappearence of pieces in the viewer.
14619
14620 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14621 Repair score printing with -serverMoves option
14622
14623 A previous patch had moved MakeMove to before the update of pvInfoList,
14624 so that the score/depth info would not appear in the file with moves.
14625
14626 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14627 Repair animate dragging
14628
14629 The previous patch had left a stray semicolon in the mouse handler.
14630
14631 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14632 Fix game end during dragging
14633
14634 The stale-first-click fix interfered with proper handling of a piece
14635 being dragged when a game suddenly ended (because of opponent resign,
14636 or caling the flag), because up-clicks when the from-square was reset
14637 were completely ignored. Now such an 'unmatched' upclick calls
14638 DragPieceEnd() and redraws the board.
14639
14640 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14641 Pop down old tags on loadng new game in WinBoard
14642
14643 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
14644 (unlike XBoard), so that the tags from the previous game were left on
14645 display when -autoDisplayTags was off.
14646
14647 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14648 Reverse mousewheel action
14649
14650 Apparently WinBoard was stepping in the opposite direction through the
14651 game in reaction to the mousewheel as every other GUI in existence.
14652
14653 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14654 Fix bug in sending "usermove" when forcing book moves
14655
14656 The keyword "usermove" was copied to the buffer, but not sent before it
14657 was overwritten by the actual book move.
14658
14659 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14660 Fix engine stall on perpetual-check evasion
14661
14662 The adjudication code had already put the engine in force mode after
14663 postponing the actual adjudication to the next move. Now first determine
14664 if we want to adjudicate now, and with which result, before stopping the
14665 engine and ending the game.
14666
14667 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14668 Let move parser return ImpossibleMove for off-board moves
14669
14670 It used to return 0, which interfered with buiding a game list. This
14671 broke reading of multi-game PGN files containing games in a variant with
14672 a board size larger than that of the currenty active variant.
14673
14674 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14675 Alter XBoard key bindings to mimic WinBoard
14676
14677 A lot of new bindings were added, and four menuProcs had to be registered
14678 to be able to add bindings to them. The use of the control key as
14679 temporary take-back for the last move conflicted with the use of Ctrl
14680 keystrokes, and this function was migrated to '.'. The iconify function
14681 had no shortcut in WinBoard, but to get rid of letter bindings it was
14682 migrated to '-'.
14683
14684 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14685 Update README file
14686
14687
14688 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14689 Fix typos in html help file
14690
14691
14692 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14693 Fix JAWS piece drop cursor, and streamline some sentences
14694
14695 The cursor square was reset to a1 after every use of the piece menu,
14696 which was very inconvenient. Some of the spoken sentences have been
14697 improved; the square is read before the piece now, when using the arrow
14698 keys on the board.
14699
14700 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14701 Allow escape sequences in telluser(error) messages
14702
14703 The routine EscapeExpand was moved to backend.c, and applied to the
14704 message received from the engine.
14705
14706 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14707 Allow lower-case promochar in moves of type h8=Q
14708
14709 Updated the parser rules. Other move formats already allowed this.
14710
14711 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14712 Fix Alt+M JAWS command in Two-Machines mode
14713
14714 The command refused to read the ast move because it contained thinking
14715 output of the other engine. Let it pay attention to evenIfDuplicate.
14716
14717 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14718 Fix rep-draw recognition
14719
14720 The refactoring had broken the rep-draw recognition, by adding and extra
14721 condition in a conditional with side effects. The testing of this extra
14722 condition is now moved to after the side effect.
14723
14724 2010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14725 Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~
14726
14727 Only a single variable at the beginning of the file name is recognized,
14728 and the matching is not fool proof (it matches across backslashes).
14729
14730 2010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14731 Fix info lines being used as normal thinking output
14732
14733 The new standard of using thinking output with time = nodes = score = 0
14734 as info messages for printing in the Engine-Output window was not
14735 understood everywhere, and led to such info lines being used for
14736 autoKibitzing and PGN annotation. The programStats are now only updated
14737 from thinking output received from an engine when it is not an info line.
14738
14739 2010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>:
14740 new developer release
14741
14742
14743 2010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14744 Suppress background observe for boards with own game number
14745
14746 This is really a work-around for an ICS bug. The Variant-ICS sent the
14747 initial board of a game in a move list with relation = 0, which means
14748 'observed'. So XBoard was thinking it was observing its own game, and
14749 switched to dual board. It seems harmless to suppress such a switch for
14750 all boards of your own game, however, which is now done.
14751
14752 2010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14753 Fix crash on switching to ICS xiangqi game
14754
14755 The oldBoard was a local variable, and only squares of the old board
14756 were initialized. This led to a crash if the copied board was enlarged,
14757 and then displayed. The variable is now declared static, so the
14758 uninitialized squares contain harmless zeros.
14759
14760 2010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14761 Let Chat Boxes pop up above console, rather than on top of it
14762
14763 Use EnsureOnScreen() to have them overlap if there was no room.
14764
14765 2010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14766 Fix disabling of Chat Box navigation buttons
14767
14768 The buttons for non-open boxes were enabed, rather than disabled.
14769
14770 2010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14771 Prevent <Esc> closing chat box
14772
14773 Let it in stead switch focus back to the console window.
14774
14775 2010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14776 Let WinBoard recognize ~ in settings file name as HOMEPATH
14777
14778 Fetch the appropriate environment variable to build the mathname in
14779 MySearchPath() whenever the file name starts with "~\".
14780
14781 2010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14782 Change name of Global Settings menu item to Common Engine Settings
14783
14784 The old name confused ICS users, as this is an engine-only dialog.
14785
14786 2010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14787 Update WinBoard RTF docs
14788
14789
14790 2010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14791 Update WinBoard html help
14792
14793
14794 2010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14795 Allow adjustment of clocks in any mode with shift+click
14796
14797 In practice changing to edit-game mode during a game was very
14798 cumbersome. In WinBoard shift+click is now offered as an alternative.
14799 Make sure a right-click in the clock area is not also counted for other
14800 purposes.
14801
14802 2010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14803 Allow loading of PGN variations in XBoard
14804
14805 Right-clicking variation comments in the comment-window was implemented
14806 through a translation. The right button is now bound to routines that
14807 set both the end and start of the selection, as setting a new start does
14808 not seem to work if the previous select-start was not completed by a
14809 select-end or extend-end. Finally the main handler uses the selection
14810 cursors to know what was clicked.
14811
14812 2010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14813 Update XBoard docs
14814
14815 Added a descripton of the new ICS options (seek graph, back-ground
14816 observe) and menus (Upload) to the texi file. Also added a description
14817 of the variation (Annotate menu item and PGN variation comments) and PV
14818 walking (clicking engine-output). Describe the -shuffleOpenings option.
14819
14820 2010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14821 Paint highlights on dual board (WB)
14822
14823 The highlight info is hidden in the partner board to pass it to the
14824 front-end.
14825
14826 2010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14827 Fix handling username change during game
14828
14829 The title bar and gameInfo (going into the PGN) were not adapted when
14830 the username was changed through the menu, so that the change became
14831 only effective on the next game. Requires SetGameInfo to be called from
14832 the front-end, and thus a prototype for it in backend.c.
14833
14834 2010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14835 Fix window-position upset on failing engine start in WinBoard
14836
14837 The main window was only positoned according to the settings-file data
14838 after the engine was started up from InitBackend2(), so that if the
14839 latter gave a fatal error, and Save Settings on Exit was on, a wrong
14840 position for the main window would be saved. The call to InitBackend2()
14841 is now moved until after setting the main-window position.
14842
14843 2010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14844 Display PV from Engine-Output window (XBoard)
14845
14846 Translations are added to bind button 3 to the PV walk for the memo
14847 widgets, and the corresponding handlers are ported from wengineoutput.c.
14848
14849 2010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14850 Set keyboard focus at startup to board window
14851
14852 This makes XBoard sensitive to the keybindings also when the cursor is
14853 outside the board window. This focus seems to persist indefinitely: each
14854 time the board window gets selected, the key bindings become activem
14855 wherever the mouse pointer is. Downside: the mouse pointer is no longer
14856 an arrow outside the board window, but becomes a text-insert tool there.
14857
14858 2010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>:
14859 added logo files for xboard
14860
14861 logos are installed in the hicolor theme [1] using $datadir as the basedir.
14862 Added both png and svg logo.
14863
14864 [1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
14865
14866 2010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14867 Remake programVersion string after receiving engine features
14868
14869 The engine could have sent a more accurate version of its own name
14870 than the one derived from the exe filename in a myname feature, and we
14871 better use that in the programVersion string, which will be sent as
14872 interface name to the ICS.
14873
14874 2010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>:
14875 Revert "Repair settings-file name"
14876
14877 This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85.
14878
14879 2010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14880 Add -autokibitz checkbox to UCI-options menu dialog
14881
14882
14883 2010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14884 Also capture (numeric) whispers of players for -autoKibitz
14885
14886
14887 2010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14888 Add kibitzes and c-shouts Chat Box
14889
14890 A box dedicated to c-shouts will snatch any c-shout before it is
14891 diverted to a normal shouts box. The kibitzes box can capture the
14892 left-overs of -autoKibitz, if the latter is active.
14893
14894 2010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14895 Mark non-compliant lines of engine in debug file
14896
14897 The option -engineDebugOutput is extended to accept value 3 for printing
14898 a cear indication of non-compliancy in the debug file.
14899
14900 2010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14901 Redraw second board on expose events
14902
14903 The -dualBoard option now does refresh the second board after another
14904 window uncovers it. To acheive this, some data structures remembering
14905 what is displayed had to be duplicated. (lastBoard and damage for XB,
14906 lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.)
14907 WinBoard now uses clipping also for second board. This required the
14908 clips for the destination to be translated horizontally!
14909
14910 2010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14911 Print seconds with 2 digits in backgroundObserve status line
14912
14913
14914 2010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14915 Do not recognize non-ICS variants from PGN event tag
14916
14917 These variants were introduced after supporting the variant tag, so if
14918 the variant tag is missing, their recognition from the event tag will be
14919 a false match. (Mainly to prevent events with 'super' in the name being
14920 recognized as Superchess.)
14921
14922 2010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14923 Fix display of uninitialized boards in background observe
14924
14925 A variable partnerBoardValid is cleared on starting our own game, and
14926 set when a board from the background game comes in during it. At the end
14927 of our own game, a valid partner board now is put in the display.
14928
14929 2010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14930 Add option Display Logo in WB general-options menu
14931
14932 Changing the option requires InitDrawingSizes to be called for
14933 re-formatting the board window. Switching it off requires clearing of
14934 the cps->programLogo fields to take effect immediately. Switching it on
14935 only takes effect the next session, as we will need some refactoring to
14936 redo the figuring out what logos to display.
14937
14938 2010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14939 Group Chat Boxes with console in stead of board window
14940
14941 They now open and close with the console, which seems more natural, and
14942 prevents the console from covering them.
14943
14944 2010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14945 Put new options in WB ICS-options dialog
14946
14947 The Seek-Graph, background-observe and Chat-Box options are added to the
14948 ICS options dialog. They only control the appData settings, there are no
14949 special actions yet on switching the settings.
14950
14951 2010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14952 Create space in WinBoard ICS-options dialog
14953
14954
14955 2010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14956 Use side-by-side boards to display background game
14957
14958 A game observed in the background (i.e. if -backgroundObserve true) will
14959 be displayed right of the normal board in the same window if the new
14960 (persistent) Boolean option -dualBoard is also set.
14961 Very flakey hack, especially in XBoard, where clocks and messsage
14962 field all get the wrong width (and resist adjustment in the strangest
14963 ways). The clocks of the partner game are not yet displayed, and
14964 disaster happens when the background and foreground games do not have
14965 the same board format.
14966
14967 2010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14968 Repair background-observe patch
14969
14970 Apparently a commit was lost that I collapsed with 3018a6 while the
14971 latter was already pushed to savannah. Here I recreated this commit from
14972 a diff between the respective commits in the savannah & nubati gits.
14973
14974 2010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14975 Repair settings-file name
14976
14977 The default name is put back to /etc/xboard/xboard.conf, so that XBoard
14978 can again find its settings file. "make install" will still install it
14979 in the wrong place.
14980
14981 2010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>:
14982 new developer release
14983
14984
14985 2010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>:
14986 fixed compiler warning for file-browser code
14987
14988 missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now.
14989
14990 2010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14991 Put newly opened Chat Box on top
14992
14993 Dialogs always pop up in front, so set the onTop variable that prevents
14994 highighting the button to navigate to it from other Chat Boxes
14995 to reflect that a newly opened Chat Box is in view.
14996
14997 2010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
14998 Fix copying of kibitzed info in Engine-Output window
14999
15000 Make sure all lines end with "\r\n" to not lose line breaks on
15001 copy-paste from the memo. (XBoard would strip those again.)
15002
15003 2010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15004 Allow walking a kibitzed PV
15005
15006 If no tabs are found in te 'thinking output' we assume it is a captured
15007 kibitz message, and look for "PV=" to locate the start of a PV in it.
15008 Also try to include any continuation lines below the selected line.
15009
15010 2010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15011 Insert autoKibitz continuation lines at end of line
15012
15013 In the engine-output window lines that start with the ICS continuation
15014 sequence "\   " are inserted behind the line they belong to, in stead of
15015 at the top. This required keeping thrack of the length of the currently
15016 active line in OutputKibitz().
15017
15018 2010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15019 Don't disturb background observe when receiving new piece
15020
15021 When new holdings are sent when the background game is displayed, we now
15022 ignore this, as presumably we are peeking at our partners game, and thus
15023 should be well aware of what is captured there.
15024
15025 2010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15026 Newly lexed parser in XBoard directory
15027
15028
15029 2010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15030 Let yy_text determine progress of PV parsing
15031
15032 The parsed unit yy_text was not available after ParseOneMove(), because
15033 the buffer switch in yylexstr() apparently destroys it. To solve that,
15034 yylexstr() now is equiped with an extra buffer argument, where it copies
15035 yy_text before the switch, so the caller, ParsePV(), can see what was
15036 parsed in yy_textstr. This is used to update the PV pointer, but also to
15037 save any parsed comments (when ParsePV is used for parsing a PGN variation).
15038
15039 2010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15040 Support playing through PGN variation comments
15041
15042 Right-clicking a variation line in the comment dialog will shelve the
15043 current variation, and parse the comment to replace it. This uses
15044 ParsePV() in an alternative way, for which the latter had to be
15045 enhanced: it was made resistent to move numbers and comments inside
15046 the PV. It now has an argument to indicate if such comments should be
15047 stored with the moves. The Comment Popup is closed on revert, to
15048 make sure no comments to moves that are destroyed, containing
15049 variations on a non-valid line, can keep hanging around.
15050
15051 2010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15052 Add Annotate item in Step menu
15053
15054 This does the same as Revert, except that it adds the destroyed
15055 variation as comment to the original movem in PGN variation format.
15056 RevertEvent now has an argument to indicate if it should add the
15057 comment, or not. Comments in the abandoned variation are included in the
15058 varriation command to the main line. (The exact layout of the variation
15059 comment that results leaves still to be desired.)
15060
15061 2010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15062 Add option -shuffleOpenings
15063
15064 This volatile option is added just to make the existing variable
15065 available from the command line, not only from the menus.
15066
15067 2010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15068 Let the sounds sound on receiving a message in a Chat Box
15069
15070 Use Colorize() to the applicable color to trigger the sound, and then
15071 restore the original color as 'continuation', to do it silently.
15072
15073 2010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15074 Allow WB Chat Box to be dedicated to shouts and 'it'
15075
15076 By putting 'shouts' in the handle field, a chat window will capture all
15077 shouts and c-shouts, and send messages typed into it as shouts.
15078 The bracketing of the shouter name now indicates the type of shout.
15079 The handle for WHISPER Chat Boxes has been changed to 'whispers', to
15080 make it easier to pop them up by clicking the console.
15081
15082 2010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15083 Add -chatBoxes option to open Chat Boxes at startup
15084
15085 This string option contains a semicolon-separated list of handles for
15086 which Chat Boxes should be opened at startup. The value saved in the ini
15087 file is the value that was read, not the actual chat boxes that were
15088 open at the time of saving.
15089
15090 2010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15091 Make Chat Windows pseudo-tabbed
15092
15093 By adding buttons in every Chat Box to navigate directly to every other
15094 Chat Box, a stacked set of Chat Windows behaves like a single tabbed
15095 window, but can still be unstacked. The buttons turn grey to warn that
15096 new text appeared in hidden boxes (i.e. not the one last brought to top).
15097
15098 2010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15099 Allow arrow keys in WB Chat Box to access command history
15100
15101 The history is shared between al boxes and the ICS console.
15102
15103 2010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15104 Make WB Chat Boxes wrap and handle URLs
15105
15106 Cloned the code for the console text field to hande URL. (Initialization
15107 to recogize the link, and notifiction to open it when clicked.)
15108 Removed the ES_AUTOHSCROLL style from the RichEdit in the resource.
15109
15110 2010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15111 Fix copying of WB Chat Window contents
15112
15113 All line breks were lost on copy-pasting the contents of a chat window.
15114 Adding CR to each outputted line in the front-end (wchat.c) solves this.
15115 (Tell messages sent to a handle (which are not echoed by the ICS, and
15116 thus have to copied to the chat box directly) also need CR!)
15117
15118 2010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15119 Add upload of game to ICS for examining
15120
15121 New item "Upload to Examin" in Action menu, calls UploadGameEvent().
15122 Use SAN moves to upload game to ICS, rather than long algebraic
15123 (The ICS did not understand long-algebraic promotion moves)
15124 Use bsetup within examine to set position onFICS, and also variant.
15125 Castling rights do not work yet for FRC. Totally different set of
15126 commands are needed on FICS and ICC.
15127  FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the
15128 besetup command that specifies the variant. XBoard variant names are
15129 used, except for fischerandom, which is 'fr'. Things like nocastle will
15130 probably still not work.
15131
15132 2010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15133 Handle display of PV that starts with other move than played
15134
15135 Insert the retraction of the played move, without premove highlighting.
15136
15137 2010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15138 Bugfix smart capture
15139
15140 Disambiguate was changed to make sure that for ambiguous moves, a
15141 capture would always prevail in the closure, rather than the last move
15142 that happened to be generated. Before, double-clicking a piece would
15143 sometimes plsy a non-capture.
15144
15145 2010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15146 Fix XB crash on giving keyboard focus to non-text widget
15147
15148 In the Engine-Settings dialog SetFocus() could be called for non-text
15149 widgets, and this made XawTextSetInsertionPoint() croak. Setting the
15150 insertion point to the end in SetFocus() was a bad ide anyway, as it
15151 interfered with copying from the engine-output window, which would
15152 uncontrollably scroll on getting focus. It is solved now by setting the
15153 insertion point already on creation of the text widgets.
15154
15155 2010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15156 Seek-Graph bugfix: disappearing output in ICS console
15157
15158 Suppression of output to the cosole was handled fundamentally wrong: it
15159 was not enough to set next_out to after the unit that should be
15160 suppressed, as there can be a backlog in printing of previous units that
15161 came in the same packet. So this has to be flushed first, or it will be
15162 lost. -autoKibitz probably got away with that, because it comes in a
15163 separate packet. But seek ads are often suffixed to other output, and
15164 then that output disappeared! Now we flush everywhere before suppressing.
15165 We now totally rely on the prompt to restart the printing, so that
15166 acknowledgements following the echo of the sent message are also
15167 suppressed. Also suppress LF before diverted chat messages.
15168   Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of
15169 a "* (*): " pattern in tell messages, because of a missing continue.
15170
15171 2010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15172 Pop up ICS text menu with default item under mouse pointer
15173
15174 The menu popup is migrated to the down-click (was up-click), so the
15175 up-click can select the item. Some trickery is needed to fool the menu
15176 into thinking that the mouse moved, so that a moveless up-down click in
15177 the ICS text field selects the default item (the upper-right one).
15178 Also allow dummy item in ICS text menu: The command "none" in the ICS
15179 text menu will now be treated as a grayed-out (disabled) entry, so it
15180 can be defined in the position underthe mouse pointer to prevent the
15181 up-click from doing anything, while keeping the menu open. Recommended
15182 for use with an entry of spaces.
15183
15184 2010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15185 Allow ICS context menu to pop up a Chat Box on clicking handle
15186
15187 A command "chat" defined in the WinBoard icsMenu string will cause
15188 ChatPopUp() to be called when it is clicked, with the clicked handle
15189 (name) in the ChatPartner field, and focus on the input field.
15190 ChatPopUp() had to get a parameter (the handle) to make this possible.
15191 If that parameter is NULL (as when it is called from the Mode menu),
15192 focus will still start on the (empty) ChatPartner field of the box.
15193
15194 2010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15195 Fix right-edge spillover of Seek-Graph dots in WinBoard
15196
15197 Rescale the X-axis to allow margin for dot size and color offset.
15198
15199 2010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15200 Interface XBoard to GhostView file-browser dialog
15201
15202 Note: The Ghostview dialog was using some deprecated variables for error
15203 printing, and conditionally used getwd() on some systems that presumably
15204 do not have getcwd(), but it did not assess the latter properly.
15205
15206 2010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15207 Allow recalling history in ICS input box with arrow keys
15208
15209 By adding translations for the Up and Down keys, and stealing some code
15210 from winboard.c. Still needs some refactoring to move the duplicate code
15211 to the back-end.
15212
15213 2010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15214 Start insertion point at end of text edits in XB dialogs
15215
15216 The function SetFocus now uses XawTextSetInsertionPoint to position the
15217 end of the string it aready contains, rather than at the beginning.
15218
15219 2010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15220 Capture holdings of background observed game
15221
15222
15223 2010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15224 Match handles with multiple titles for channel Chat Boxes
15225
15226 Only handles with at most one suffixed 'title', such as (U), (C), (IM)
15227 or (TD), followed by the parenthesized channel number, were recognized,
15228 so tells by people with more titles always went to the ICS console window.
15229 Patterns are added to recognize handles with upto three such qualifiers.
15230
15231 2010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15232 Do not pop down Seek Graph on on-dot click
15233
15234 Leave the graph up, and let the incoming board of a started game cause
15235 the pop-down. This in case the clicked ad is no longer vailable, or
15236 manuay refused, and fails to start a game.
15237
15238 2010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15239 Observe a game in the background while playing
15240
15241 A new (persistent) option -backgroundObserve true|false is added. When
15242 set, observed boards received while playing a game will not trigger a
15243 game switch, but will be ignored except for storing in a dedicated board
15244 buffer. Pressing the right mouse button will cause the board to be
15245 displayed, until we release it. Time, strength and stm are always
15246 displayed in the message window.
15247
15248 2010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15249 Remove race condition in clock switching
15250
15251 The move number is now incremented inside SwitchClock, when no timer
15252 interrupt is scheduled, so the interrupt cannot occur at the wrong side
15253 of the increment, and decrement the wrong clock.
15254
15255 2010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15256 Let second click on piece make only capture, with -oneClickMove
15257
15258 Normally this would clear the highlighting of that piece.
15259 Required new field in DisambiguateClosure to count nr of captures.
15260
15261 2010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15262 Bugfix stale first-click
15263
15264 When the opponent resigned after the user had cicked a from-square,
15265 clicking the from-square for the first move in the next game would
15266 produce an "illegal move" message, because it was considered a to-click!
15267 We now set fromX and fromY to invalid in GameEnds().
15268 Should we also reset them on mode changes?
15269
15270 2010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15271 Add promotions and e.p. to oneClickMove
15272
15273 For e.p. the to-Square of the Pawn has to be clicked. Promotions are
15274 always to Queen when you click the to-square, but use the promotion
15275 pop-up when you click the from-square.
15276
15277 2010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15278 Fix error that compiler does not notice
15279
15280 Boolean GLT_GetFromList did not return a value. But no error on Ubuntu!
15281
15282 2010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>:
15283 new developer release
15284
15285
15286 2010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>:
15287 updated year in copyright info
15288
15289
15290 2010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15291 One-click moves
15292
15293 Playing on ICS or against engine, clicking a square from or to which
15294 only a single move can be made causes the move to be done, when the new
15295 option -oneClickMove is set to true.
15296
15297 2010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15298 Use squares for computer seek ads
15299
15300 Shape indication passed in sign bit of color (char) variable.
15301
15302 2010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15303 Use right mouse button to view seek ads
15304
15305 Right down-click does the same as left down-click, right up-click
15306 simulates a left up-click off board (so it misses all dots).
15307
15308 Use right-click miss to refresh Seek Graph
15309
15310 The 'moving' parameter had to be made into an int for this, to indicate
15311 right clicks with code 2. Right press now already pushes the clicked ad
15312 to the back, so that the up-click will display an underlying one.
15313
15314 Bugfix pushing back seek ads on right-click
15315
15316 On a right button press the previous in stead of currently hit ad was
15317 receiving the penalty.
15318
15319 Indicate seek-ad multiplicity
15320
15321 If more than one seek ad is inside the capture range of the mouse
15322 pointer, an exclamation point is printed before the seek-ad text.
15323
15324 Some fixes to make seek-ad suppression work in WinBoard
15325
15326 In WinBoard the z-depth was immediately erased by redrawing the graph;
15327 the clearing of zlist had to be moved from PlotSeekAd() to AddAd()
15328 (where it really belongs). Also aging of z-depth is now suppressed on
15329 mere pointer motion.
15330
15331 2010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15332 Dynamic Seek Graph
15333
15334 The new option -autoRefresh sets FICS and ICC to report removal of seek
15335 ads, and then removes those from the Seek Graph. New seek ads are added
15336 to the graph, as soon as the ICS reports them.
15337
15338 2010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15339 Implement SeekGraph in XBoard
15340
15341 For now only controlled by left mouse clicks on board. New options
15342 -seekGraph true|false and -sg to switch this feature on.
15343
15344 Facilitate selection of coinciding seek ads
15345
15346 Seek-ads that are viewed but not answered get a distance penalty on the
15347 up-click that makes their selection more difficult next time, so that
15348 the ad they covered gets a (better) change. The penalty ages away in the
15349 course of 5 clicks.
15350
15351 Slightly offset Seek-Graph dots of different color
15352
15353 Dots of different color are now displaced horizontally be 3 pixels, to
15354 prevent them from completely covering each other. (Required the axis
15355 labels to be moved a little too, to not be covered by the 1-min ads.)
15356
15357 Auto-show seek-ad texts in WinBoard
15358
15359 Hovering the mouse above a Seek-Graph dot will make the text belonging
15360 to it appear in the message field without the need to press a button.
15361 Required SeekGraphClick() to be called from the WB mouse event handler,
15362 with an extra argument 'moving' to make the distinction with a real
15363 click.
15364
15365 Show seek-ad text on mouse hovering (XBoard)
15366
15367 The Eventproc is also set to trigger on PointerMotion, and this event
15368 then calls SeekGraphClick with motion=true to handle it.
15369
15370 Put poetic name of wilds in seek-ad text
15371
15372 Use XBoard variant names, except for 'loadable' and 'fischerandom'
15373 (becomes 'setup' and 'chess960'), but leave number (to distinguish wilds
15374 that transate to same XBoard variant).
15375
15376 2010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15377 Fix highlighting bug in XBoard
15378
15379 The from-square was drawn before the to-square was erased, which led to
15380 a missing highlight line if they shared an edge or corner.
15381
15382 2010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15383 Shorten autoKibitz confirmation on FICS
15384
15385 Strip off the "players)", but leave the separatng space.
15386
15387 2010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15388 Repair damage to -autoKibitz done by FICS atomic zippy claim
15389
15390 The sending of -autoKibitz info was also moved back in that patch, but
15391 unfortunately to after clearing of the programStats info. Now the
15392 clearing has been moved also, to remain after it.
15393
15394 2010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15395 Send continuation lines to chat box they belong to
15396
15397 The variable savingComment is used as a kludge to remember where the
15398 comment should go (i.e. which chatbox, or elsewhere), so that when a
15399 continuation line is matched, chatPartner (which was reset at EOL) can
15400 be restored to its original value. Also put space after handle of talker
15401 in channel Chat Windows
15402
15403 2010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15404 Fix u64 format for cygwin
15405
15406 With a -mno-cygwin compile %llu and %lld are definitely not understood
15407 by scanf and printf, although they are by the compiler. In stead, %I64u
15408 seems to work. Put it in under control of a switch USE_I64, which is
15409 defined only in the gcc makefile when MINGW is used.
15410
15411 2010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15412 Remove stray dot from WinBoard makefiles
15413
15414 There was a period suffixed to config.h in the wgamelist.o dependency.
15415
15416 2010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15417 Fix bug in display of logos
15418
15419 The logo continued to be drawn after a boardSize change to a tinyLayout
15420 size, although there was no space reserved for it. Fixed by explicitly
15421 resetting logoHeight when no logo space is reserved in InitDrawingSizes().
15422
15423 2010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15424 Right-click refactoring: step III
15425
15426 Let WinBoard call RightClick in back-end, and delete the duplicate code
15427 it had for this, after rescuing the front-end bits, and let the letter
15428 act depending on the result returned by RightClick.
15429
15430 2010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15431 Right-click refactoring: step II
15432
15433 Migrate the Right-click routine to the back-end. Let it communicate back
15434 square coordinates through pointer arguments, to accomodate their
15435 different naming in XBoard and WinBoard. Template added in frontend.h.
15436
15437 2010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15438 Right-click refactoring, step I
15439
15440 Divorce front-end part from back-end part of PieceMenuPopup in XBoard
15441 front-end, and forge the back-end part into a new routine RightClick.
15442 The right up-click in XBoard, which called unLoadPV() directly, now
15443 calls RightClick through PieceMenuPopUp().
15444
15445 2010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15446 Merge gamelistopt sources into gamelist source files
15447
15448 The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c
15449 and gamelist.c, respectively. The WB front-end for the dialog already
15450 resided in winboard.c, so there was little need to move it to wgameist.c
15451 file. Makefiles adapted accordingly. Unsuitable key bindings were
15452 removed. The low-level front-end prototypes are now defined in in
15453 frontend.h.
15454
15455 2010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15456 Game-List options dialog for XBoard
15457
15458 A dialog similar to that of WinBoard was cloned from the game-list
15459 window. The XBoard front-end is in a separate file xgamelistopt.c,
15460 which in fact implements most of the low-level front-end as back-end.
15461
15462 2010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15463 Refactoring of game-list-options dialog
15464
15465 The back-end part is separated off, and moved to a file gamelistopt.c.
15466 Front-end for now stays in winboard.c. No prototypes in frontend.h yet.
15467
15468 2010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15469 Fix of ancient WB bug: test integer option values for validity
15470
15471 Only a string of digits preceded by an optional sign is accepted now.
15472 Before, any string was accepted, and leaving out a value could lead to
15473 the next option being ignored (if it did not need a value) because it
15474 was considered the value for the previous one!
15475
15476 2010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15477 Fix bug in edit-position of holdings
15478
15479 The holdings were effectivelly taken one too large, so that a promoted
15480 shogi Pawn moved to, or created in the holdings was not demoted to Pawn,
15481 but put in the dark (which you could see by the holding count if you did
15482 it twice). The overflow tests in these two cases now have been corrected.
15483
15484 2010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15485 Save fonts in XBoard settings file per boardSize
15486
15487 Each -boardSize now can have its own font specified in the settings file
15488 (and thus by a command-line option, although it would in general not be
15489 very useful to specify a font for a size other than the selected). E.g.
15490 a prefix "size33:" to the font name will apply it only to -size 33.
15491 An unspecified-size font option (not normally in the settings file) will
15492 always prevail over a font option specific for the current size.
15493 A font of some size must have been used or specified in order to be
15494 saved.
15495
15496 2010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15497 Fix width of filter field in XBoard GameList
15498
15499 An empirical dependence of the width of this text edit on the square
15500 size now makes for an acceptable layout at any board size.
15501
15502 2010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15503 Use FICS atomic draw claim for sending move in zippy mode
15504
15505 For this the relaying of the move had to be moved until after the
15506 adjudication, which again has to be done after MakeMove(), which is a
15507 bit dubious, as MakeMove might take significant time when animating.
15508
15509 2010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15510 Send FICS atomic claim to ICS if move creates draw after offer
15511
15512 The FICS format "draw MOVE" is used to send the move to the ICS  when
15513 the user enters a move that adjudicates as a claimable draw, and he
15514 offered a draw before the move. For the benefit of ICS that do not
15515 understand this format, the plain move is sent afterwards.
15516
15517 2010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15518 Also allow user to claim by offering draw before his move
15519
15520 Use the existing userOfferedDraw variable to test for such offers in
15521 Adjudicate().
15522
15523 2010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15524 Also adjudicate after user move
15525
15526 Call Adjudicate() in FinishMove().
15527
15528 2010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15529 Refactoring of adjudication code
15530
15531 Put all the rule-based (as opposed to score-based) adjudications in a
15532 separate routine, so they can also be called on user moves. This
15533 requires sending the drawing move to the opponent engine to be made
15534 conditional on existence of the latter. Execution of the code is no
15535 longer dependent on the condition TwoMachinesPlay, but actual game
15536 terminations are now all restricted by an alternative condition (no ICS
15537 mode).
15538
15539 2010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15540 Use -keepAlive option to determine connection health
15541
15542 When there has been no ICS response since the previous 'ping', assume we
15543 are disconnected and do a fatal-error exit. Also auto-start the ping
15544 process in InitBackend3().
15545
15546 2010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15547 Use arrow keys in XBoard GameList for entry selection
15548
15549 Add translations for arrows and home/end, to call LoadSelectedProc with
15550 argument to indicate the step, and let the latter perform the action.
15551
15552 2010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15553 Allow <Enter> to apply filter in XB GameList filter edit
15554
15555 Apply a translation to intercept the <Enter> key. Set focus back to the
15556 list display afterwards.
15557
15558 2010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15559 Accept <Enter> for changing chat partner
15560
15561 A kludge stolen from Alessandro's GameList filter allowed to let the
15562 typing of <Enter> while updating the chat-partner field of the WinBoard
15563 chat windows to act as pressing the Change button. Gives focus to the
15564 input field of the window afterwards.
15565
15566 2010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15567 Move duplicat gamelist code to backend
15568
15569 The filtering routines are moved from xgamelist.c and wgamelist.c to
15570 gamelist.c, and a prototype for them is placed in backend.h.
15571
15572 2010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15573 Port game-list filtering to XBoard
15574
15575 Added a text edit and apply button to the XBoard game-list dialog, and
15576 only have it print those lines that match the filter. Translate index in
15577 list to index of game in file when a game is selected, and index in file
15578 to index in list when a line is highlighted. Duplicates some code
15579 between xgamelist.c and wgamelist.c, which should be moved to back-end.
15580
15581 2010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15582 Convert to DOS line endings
15583
15584 For easier understanding of upcoming diffs of winboard.c
15585
15586 2010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15587 Refactoring of move-history code
15588
15589 The WinBoard code in whistory.c was split in a front-end part (remaining
15590 in whistory.c) and a back-end part (now in history.c in the xboard
15591 directory). This to allow easy porting to other platforms.
15592
15593 2010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15594 Add fixed-time/move button in XBoard time-control dialog
15595
15596 Put the TC-type buttons in a radio-group, and highlight the selected mode.
15597
15598 2010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15599 Fix bug in XBoard PV display
15600
15601 The PV was unloaded on anything but a button release, in stead of the
15602 other way around.
15603
15604 2010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>:
15605 fixed hardcoded location of config file for xboard
15606
15607 the location should now follow sysconfdir during the configuration process.
15608 Also added some more output to the configure script.
15609
15610 2010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>:
15611 new developer release
15612
15613
15614 2010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>:
15615 fixed Makefile.am to handle config file correctly
15616
15617
15618 2010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15619 Change opening array -variant fairy
15620
15621 We now use the position of "Chess with Different Armies", FIDE army vs.
15622 a fantasy army (inspired on the Color-bound Clobberers) as opening
15623 position.
15624
15625 2010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15626 Add variant Makruk
15627
15628 Thai Chess, played by 2 million world-wide. Required pawn promotion to
15629 happen in a zone, and the Alfil to move as Shogi Silver, a new opening
15630 array, and unusual Pawn placement. Because of the latter, I consider it
15631 a setup position, so a FEN will always be sent to the engine.
15632
15633 2010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15634 Fix parsing of O-O and O-O-O after FEN pasting in FRC
15635
15636 Because the initial rights were not set in the FEN reader, the
15637 initial rights of the previous game remained in force, so that the
15638 parser did not understand OO-castling (although it would allow KxR
15639 castling).
15640
15641 2010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15642 Fix reading FEN castling rights for knightmate and twokings
15643
15644 Scanning the back-rank for a King did not work in these variants,
15645 because either the Unicorn castles, or there might be two Kings.
15646
15647 2010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15648 Fix omission in castling refactoring for ICS received boards
15649
15650 A default of -1 was still used, in stead of NoRights, when no Rook was
15651 found. In theory this could have had effect in a setup board 0 in FRC,
15652 when there were no Rooks on the back rank.
15653
15654 2010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15655 Fix TwoKings ICS castling-rights bug
15656
15657 Scanning the rank (as is done because of FRC) assigned castling rights
15658 to the rightmost King. Even scanning the opposite direction would not
15659 work, as it is not always the eftmost King that can castle. So we now
15660 explicitly test for a King on e1/e8 in TwoKings and assign it rights,
15661 relying on the Rook rights received from the ICS to control castling.
15662
15663 2009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15664 fix double start of zippy engine after switch to gothic
15665
15666 In ICS mode we now switch to the proper variant as soon as we receive
15667 the generic game-start message, to prevent a mismatch when the first
15668 board is received (which would trigger fetching of a move list).
15669
15670 2010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15671 Extensive bugfix of -autoKibitz
15672
15673 Suppression of printing of diverted kibitz messages failed when they
15674 extended over more than one read. This could even lead to such
15675 messages being erroneously saved as comments, which then lead to
15676 crashes. The suppression mechanism now waits for a prompt, in stead of
15677 the end of buffer. This required the printing of any leftover in the
15678 buffer to be deferred until the next read completes it.
15679 The number of people kibitzed to is now printed.
15680
15681 2010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15682 Fix piece-to-char table -variant fairy
15683
15684 The letters for Lance and Snake where swapped.
15685
15686 2010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15687 Make WinBoard makefiles use parser.c in XBoard directory
15688
15689
15690 2010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15691 Docs update for new features
15692
15693
15694 2010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15695 Fix new args parsing of -lowTimeWarningColor
15696
15697 This did not occur in the XBoard color translation table yet.
15698
15699 2010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15700 Allow editing of holdings in EditPosition mode
15701
15702 Dragging pieces to and from the holdings now consistently keep track of
15703 the home square of pieces and the piece counts, as does creation of
15704 pieces in the holdings through the piece menu.
15705
15706 2010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15707 Indicate squares a lifted piece can legally move to
15708
15709 Under control of the new option -showTargetSquares when
15710 -highlightDragging and -testLegality are on, the squares a piece can
15711 move to are marked by fat dots in the highlightColor (non-captures) and
15712 premoveHighlightColor (captures), as soon as you grab it for dragging.
15713 In variants with mandatory capture, the capture target of other pieces
15714 is marked with the highlightColor (as non-captures are then not allowed).
15715
15716 2010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15717 Fix bug for incommensurate time odds
15718
15719 After normalization (-timeOddsMode 1) the time odds factors can be
15720 non-integer, and thus must be stored as float.
15721
15722 2010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15723 Display PV right-clicked from EngineOutput window
15724
15725 The clicked PV is selected and the memo gets focus, so that it is
15726 highlighted. This selection is restored in the proper place after
15727 insetrtion of a new line in the memo.
15728
15729 2010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15730 Display PV on right-clicking board
15731
15732
15733 2010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15734 Bugfix legality null move in parsing with -testLegality off
15735
15736 The pointers were compared, in stead of the values.
15737 Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off.
15738
15739 Also exclude moves with empty squares and enemy pieces.
15740
15741 2010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15742 Newly lexed winboard/parser.c
15743
15744
15745 2010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15746 Harmonize declarations of XBoard and WinBoard
15747
15748 The engine-exit and settings patches make some stuff common to WinBoard
15749 and XBoard, which needed to be harmonized, and is moved to frontend.h.
15750
15751 2010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15752 Allow Ctrl-C copying from EngineOutput window text to clipboard
15753
15754
15755 2010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15756 Allow popup-less (fatal) exit of engine after tellusererror
15757
15758
15759 2010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15760 Improve layout of Engine #N Settings dialog
15761
15762 An attempt is made to align the input fields of spins and text-edits
15763
15764 2010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15765 Let XBoard print version with argument --version or -v
15766
15767
15768 2010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15769 Fix castling rule assignment in shuffle games
15770
15771 The conversion to in-board storage for rights copied directly to boards[0] in steadof
15772 initialPosition, and was then overwritten when the latter was copied with uninitialized
15773 rights to boards[0]. This affected FRC and CRC, where rights are non-standard.
15774
15775 2010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15776 Implement castling in -variant caparandom
15777
15778 CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING.
15779
15780 2010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15781 Fix default castling rights on reading incomplete FEN
15782
15783 This was overlooked in the conversion to the in-board storage of rights.
15784
15785 2010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15786 Fix NoncompliantFEN defaults.
15787
15788 This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields.
15789
15790 2010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15791 Change format of -adapterCommand.
15792
15793 first or f at the start of an option name are now automatically changed into second or s,
15794 rather than needing %% to be recognized. The values of -ec and -ed in the default
15795 -adapterCommand are now quoted (now XBoard understands quoting in the engine command line).
15796
15797 2010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15798 Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings.
15799
15800
15801 2010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15802 Delete old indirection settings-file code
15803
15804
15805 2010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15806 Correct XBoard default debug file name
15807
15808
15809 2010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15810 Suppress saving font settings.
15811
15812 The fonts are size dependent, and might thus not be reusable in the next
15813 session. For now we therefore suppress the saving of them in the
15814 settings file, until we diversify the fonts per boardSize.
15815
15816 2009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>:
15817 added missing sounds files to be able to compile on windows
15818
15819
15820 2009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>:
15821 Changes needed to compile master branch.
15822
15823
15824 2009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15825 implements the eval-graph window for XBoard
15826
15827
15828 2009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15829 improves the XBoard handling of the engine command line
15830
15831 it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled.
15832
15833 2009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15834 A better and more flexible way of invoking Polyglot
15835
15836 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.
15837
15838 2009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15839 remove trailing \r in xboard output
15840
15841 there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not
15842 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.
15843
15844 2009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15845 double buffer size to prevent overflow
15846
15847 This patch doubles the size of the ICS input buffer to 16KB, to prevent
15848 the suspected overflow with -keepLineBreaksICS false when using
15849 "inchannel 1" on FICS and over 500 people are tuned in.
15850
15851 2009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15852 fix problem with empty string in -firstNeedsNoncompliantFEN
15853
15854 This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with
15855 an empty string as argument. (Which led to truncation of the FEN.)
15856
15857 2009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15858 updates makefiles to include dependency on config.h
15859
15860 adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource
15861
15862 2009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15863 correctly apply some check boxes from the option menu
15864
15865 Usng the check-boxes in the Option->Adjudications menu to indicate the
15866 engine reports absolute scores is now copied directly to the ChessProgramState,
15867 from where it is used, in stead of only to appData. This makes the change take
15868 effect immediately, in stead of after restarting.
15869
15870 2009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15871 score sign in analysis mode
15872
15873 this does not alter any of the current behavior with compliant engines,
15874 but does extend the correction for non-compliant score reporting under
15875 control of the -first(second)ScoreIsAbs option to cases where the engine
15876 is analyzing or playing on an ICS.
15877
15878 2009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>:
15879 fix for bug #28077: xboard needs to link against x11
15880
15881 hopefully fixed automake to take care of this
15882
15883 2009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15884 Fix castling rights when copying FEN to clipboard (again)
15885
15886 missed a spot last time
15887
15888 2009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15889 restoring windows (EngineOutput and MoveHistory) on startup
15890
15891 restoring the open / closed status of the
15892 auxiliary windows (EngineOutput and MoveHistory) on startup
15893 in XBoard like they do in WinBoard, which makes sense now that
15894 we aso remember their coordinates between sessions.
15895
15896 2009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15897 fixed some outstanding pixmaps
15898
15899 fixed transparency issues
15900
15901 2009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15902 use linux style options for config file and add a system config file for XBoard
15903
15904 This patch makes XBoard write the options to its conf file in
15905 Linux style, "-option value" rather than Windows style "/option=value".
15906
15907 The WinBoard option parsing code has always understood both formats
15908 (including any hybrids), but the format it preferred for writing might
15909 look quite strange to Linux users. I also attached a file to be installed
15910 as /etc/xboard/xboard.conf on "make install".
15911
15912 2009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15913 fix window positioning
15914
15915 This patch adds stuff in the header files that allow the various front-end files
15916 to share information on which windows exist, are up, and how they are positioned.
15917 The EngineOutput, MoveHistory and GameList windows now all remember their
15918 position and size, even when they are closed when XBoard exits.
15919
15920 2009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15921 same argDescriptor parsing for Xboard and Winbaord
15922
15923 This patch makes XBoard and WinBoard use the same argDescriptor
15924 list of options, and (largely) use the same code for parsing and saving them.
15925 This is acheived by moving this code to a new file args.h, and #including this
15926 in both winboard.c and xboard.c (so that tiny differences, e.g. in default
15927 values in the table, are decided by the context). XBoard has new menu items
15928 "Save Settings Now" and "Save Settings on Exit" in the "Option" menu.
15929 XBoard uses /etc/xboard/xboard.conf as default settings file.
15930 A new option, -saveSettingsFile, can specify where settings should be saved,
15931 without parsing the file. (So that it also works if the file does not yet exist.)
15932
15933 2009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>:
15934 new developer release
15935
15936 changed release name to <branch>-<date>
15937
15938 2009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15939 fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
15940
15941
15942 2009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15943 use xtell for talking to handles, but tell for talking into a channel.
15944
15945 by changing the chatboxes to use xtell in stead of tell, we broke
15946 the possibility to use the chat-box for chatting into a channel (which is
15947 apparently not possible with xtell).
15948
15949 2009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15950 fix bug in bughouse drop menu
15951
15952 This patch fixes the bughouse drop menu, which was broken by the
15953 new mouse driver, and could no longer drop white Pawns.
15954
15955 2009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15956 2nd step for moving option parsing from winboard to the backend
15957
15958 This is the next step in option-setting refactoring: All options that are
15959 defined in XBoard are now included in the WinBoard ArgDescriptor list.
15960 The handling of sound option has been harmonized: the sound names
15961 now all initially go to the appData array, (as in XB) in stead of directly to the
15962 WB-specific variables, and LoadAllSounds now takes care of the copying.
15963 A new routine ExportSounds copies them back before saving settings
15964 (which, in XBoard, could be a no-op).
15965
15966 The definition of defaults for the XB-only options has been moved to common.h.
15967
15968 2009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15969 1st step for moving option parsing from winboard to the backend
15970
15971 This is a preparatory step in moving option parsing of WinBoard to the back-end.
15972 The table of command-line options now contains a fifth field, holding the compiled-in default.
15973 This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven
15974 initialization routine SetDefaultsFromList(), which could be back-end.
15975
15976 2009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15977 refactoring evalgraph code
15978
15979 This is the refactored EvalGraph code: the back-end part is separated off,
15980 and put in a file evalgraph.c, which in the future can also be used with XBoard.
15981 Only the WinBoard front-end code is left in the file wevalgraph.c. A new
15982 header file defines the variables and routines they share.
15983
15984 2009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>:
15985 clean-up
15986
15987 some file permissions where set up wrong
15988 (e.g. execute permissions for text files)
15989
15990 2009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
15991 refactoring of engineoutput
15992
15993 This refactoring patch separates the back-end part out of
15994 xengineoutput.c, and puts it in a separate file engineoutput.c.
15995 A new header engineoutput.h included by both defines the routines
15996 for cross calling. Similarly wengineo.c will be stripped from its
15997 back-end code, (and renamed to wengineoutput.c), so WinBoard and
15998 XBoard now both use engineoutput.c rather than maintaining duplicate
15999 code in their front-end part.
16000
16001 I also let the back-end now call EngineOutputUpdate directly, rather then
16002 through a relay in the front-end, by renaming it to SetProgramStats
16003 (the former name of the relay in winboard.c / xboard.c).
16004
16005 Moved some templates of functions in engineoutput.c from winboard.h
16006 to frontend.h
16007
16008 2009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>:
16009 fixed build on openbsd
16010
16011 added missing header file
16012
16013 2009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16014 improve thinking-output for mulit-variant
16015
16016 Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window.
16017
16018 2009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16019 fix castling rights when copying FEN to clipboard
16020
16021 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.
16022
16023 2009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16024 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.
16025
16026
16027 2009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>:
16028 fixed prototype for AppendComment
16029
16030
16031 2009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16032 cleaned up some debug messages and typos
16033
16034
16035 2009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16036 variation-support patch
16037
16038 It allows you to Revert to the main line (or previous variation) when
16039 playing variations on an existing game in EditGame or Analyze mode.
16040
16041 2009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16042 fix for new way of saving castling and e.p. information
16043
16044 I forgot to make some conversions to the new-style encoding of castling there
16045 (using the enum constant NoRights instead of -1 to indicate
16046 the absence of rights, which was the price of storing the
16047 rights in the board, which is an unsigned enum type.)
16048
16049 I also was a bit worried about portability, because I casted the enum type ChessSquare
16050 to (int) before comparing it with (possibly negative) constants EP_NONE etc.
16051 Now on my system enum types are (unsigned int), and this works, but I could
16052 imagine there are systems where this would be an unsigned char. (Not sure
16053 if there are rules for this). So to be safe I cast ChessSquare to (signed char),
16054 which should always work to make small negative ints assigned to it read
16055 back as themselves.
16056
16057 2009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>:
16058 removed files that should only be in the windboard directory
16059
16060
16061 2009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>:
16062 add Winboard source files into tar-ball
16063
16064 forgot to add them when rewriting the Makefile.am
16065
16066 2009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16067 Integrate castling and e.p. rights into board array; bugfix for EditPosition
16068
16069 A large-scale operation that I have been postponing since the very first 4.4.0:
16070 The castling and e.p. rights are now integrated into the board array, as
16071 boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and
16072 boards[moveNr][EP_STATUS] replacing epStatus[moveNr]
16073 These quantities are now automatically copied with the position by CopyBoards
16074 (allowing the removal of lots of dedicated copying code), and passed as
16075 function arguments with the position (so that the moves.c functions like
16076 TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal
16077 no longer need explicit e.p. and castling parameters.
16078
16079 Also fixed a bug introduced by a recent previous fix: by adding fake castling
16080 rights to a position set up through the EditPosition menu, I destroyed the
16081 castling rights of a pasted FEN. Faking castling rights is now made conditional
16082 in EditPositionDone(), depending on the caller. (I had not realized it was also
16083 called after FEN pasting, to send the position to the engine.)
16084
16085 2009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>:
16086 added missing library for build on OS X
16087
16088 Xmu seems to be missing
16089
16090 2009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16091 Some code refactoring and cleanup; one small bug fix
16092
16093 Some code refactoring, mainly to bring definitions of routines and variables
16094 shared between winboard.c and one of the auxiliary-windows files
16095 whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file
16096 (winboard.h). Unfortunately this made winboard.h dependent on data types
16097 defined in frontend.h, so that the #include order had to be changed in many
16098 other .c files.
16099
16100 The operation revealed one potentially bad bug: engineOutputDialogUp was
16101 written as int in engineo.c, but declared as char in winboard.c.
16102
16103 I also changed the storage mechanism of the the comment and tags window
16104 positions to use WindowPlacement structs rather than simple variables,
16105 so that in the future they can be docked, like the others.
16106
16107 I also removed some remnants of the Analysis window.
16108
16109 The wgamelist.h and wedittags.h header files contained only 3 lines, and
16110 I absorbed them in winboard.h, rather than creating other such nearly empty
16111 headers engineo.h, whistory.h and wevalgraph.h. This affects the make files.
16112
16113 2009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16114 let the clocks run in -searchTime mode
16115
16116
16117 2009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
16118 add fixed time per move to the WinBoard time-control menu dialog
16119
16120
16121 2009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>:
16122 updated version number to unstable
16123
16124
16125 2009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>:
16126 release of version 4.4.1
16127
16128
16129 2009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16130 cleaned up ChangeLog and NEWS
16131
16132 2009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16133 use xtell instead of tell in wchat
16134
16135 2009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16136 prevent buffer overflow
16137
16138 This is a buffer-size adjustments to prevent the JAWS version from
16139 crashing when it has to read out loud very long comments.
16140
16141 2009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>:
16142 Further copy/paste fixes
16143
16144 We needed to implement the XA_TARGETS target in order for more
16145 sophisticated apps to really believe we put anything on the clipboard
16146 they can use.
16147
16148 2009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>:
16149 Make copy/paste position and game use clipboard, bug #27810
16150
16151 Copy actually sets both the clipboard and the selection for
16152 convenience and compatibility with the old way of doing things.
16153 Paste pastes from the clipboard by default, but the new -pasteSelection
16154 option lets you get back the old behavior of pasting from the
16155 selection.
16156
16157 2009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16158 switch focus to the board after loading a game
16159
16160 2009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16161 fix for bug #27826: fixed autoDisplayComment
16162
16163 apparently the -autoDisplayComment option was not working,
16164 not even in WinBoard. This patch should fix it,both for WB and XB.
16165 (Unfortunately xboard.c and winboard.c were using a different name
16166 for the same front-end variable I needed, so I had to change one of them.)
16167
16168 2009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16169 fix for bug #27826: ported two options to xboard
16170
16171 also updated the documentation
16172
16173 2009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16174 fixed jaws version
16175
16176 turns out the new mouse handler broke the JAWS patch, as I discarded
16177 the function IsPromotion. I adapted it to call HasPromotionChoice instead.
16178 Also fixed two arnings by removing a no-longer needed debug print.
16179
16180 2009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>:
16181 reformated html to be correctly validated
16182
16183 2009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16184 quick fix for "White Mates" in parser.l
16185
16186 2009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>:
16187 fixed a regression
16188
16189 2009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16190 changed stderr to debug output, since stderr is closed in winboard
16191
16192 2009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16193 removing empty lines from ICS play
16194
16195 this patch causes removal of spurious prompts during ICS play
16196 also if the prompt is preceeded by a number of empty lines
16197 (as the board for the opponent move is on FICS).
16198
16199 2009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16200 another bug in VariantSwitch: an unitialized board was printed.
16201
16202 Must have been there a long time, but this time it crashed WinBoard.
16203
16204 2009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16205 more work on variant switch
16206
16207 the previous solution to the cosmetic problem of displaying a wrong shuffle
16208 in an ICS game that was observed from the very start unfortunately turned
16209 out to cause a real error in diplaying a stored game through the smoves
16210 command, for variants not using the FIDE setup as standard.
16211
16212 This patch displays the position from before setting up the start position
16213 of the new variant, but does setup boards[0] to the initial position of that
16214 variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board
16215 will immediately be sent from the ICS to correct the shuffle.)
16216
16217 2009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16218 force full redraw in winboard
16219
16220 Full redraw is now always forced when highlightMovesWithArrow is on,
16221 rather than only when highlight info is available. (As in drop moves the
16222 latter is invalid, but we must still erase the arrow from the previous move.)
16223
16224 2009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16225 fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle
16226 when observing shuffle games from the first move (#27790 bis),
16227 and the sounding of the FICS bell on crazyhouse captures (#27772 bis).
16228
16229 2009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16230 fixed bug related to unsigned char in convert.c
16231
16232 I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the
16233 129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed
16234 afterwards (so I could use it to create a new m33s.bm)
16235
16236 2009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>:
16237 unguarded debug printf. added the appropiate if statement
16238
16239 2009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16240 fix for two compiler warnings
16241
16242 2009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16243 fix for bug #27799: fix for nested-nested-nested variations
16244
16245 2009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16246 The book-probe code forgot to close the book file after opening it.
16247
16248 fixed by adding an fclose at two points.
16249
16250 2009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16251 removed unused v54?.bm bitmaps from resource file
16252
16253 it seems the v54?.bmp bitmaps were actually included in the WinBoard build
16254 (in the resource file), although they were never actually used. So I have
16255 removed their inclusion in the resource file now.
16256
16257 2009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16258 replaced defective bitmaps with copies from 4.2.7
16259
16260 2009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16261 removed bitmaps files that are not needed any more
16262
16263 2009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16264 fixed some bitmaps
16265
16266 2009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>:
16267 Drop an obsolete script that was only used to update my personal web site
16268
16269 2009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>:
16270 Silence warnings when compiling 64-bit xboard
16271
16272 Some harmless warnings were caused by 64-bit mode having 32-bit
16273 int but 64-bit long and pointer.  Add casts (etc.) to silence them.
16274 This might require adding a definition of intptr_t (a signed int
16275 type that is the same width as a pointer) on old systems that don't
16276 have it.
16277
16278 2009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>:
16279 Fix up man page some more
16280
16281 Sigh, the project history was still partly in reverse chronological
16282 order and partly in forward order.  Swapped the order of some
16283 sentences to help straighten it out.  I don't really care about this,
16284 so other project members should feel free to do what they like here,
16285 but the messed-up order was bugging me.
16286
16287 2009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>:
16288 Fix some issues in the XBoard man page
16289
16290 Correct places where the XBoard man page was calling XBoard
16291 "WinBoard".  Change references to "WinBoard engines" and "WinBoard
16292 protocol" to "XBoard/WinBoard ...".  Update bug reporting guidelines.
16293 Reorganize project history to something more like chronological order
16294 -- it had gotten pretty randomly ordered.
16295
16296 2009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>:
16297 new pre-release version; updated version numbers
16298
16299 2009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16300 This patch adds <Enter> to the characters that cause an automatic
16301 switch to the ICS console when typed to the board window.
16302
16303 2009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16304 fix to the minor graphics issue contained some typos,
16305 as was remarked in the bugs reports
16306
16307 2009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16308 improved mouse handler
16309
16310 The improved mouse handler still needed an extra call to DrawPosition to
16311 work in XBoard.
16312
16313 2009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16314 NPS plays and pondering
16315
16316 Clock updating did not work correctly in node-based time controls when the
16317 engine was pondering. (It was not really meant for use with pondering. Oh well...)
16318 This patch checks if the engine reporting the node count is indeed thinking
16319 (as opposed to pondering).
16320
16321 2009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16322 holdings update and regression fix
16323
16324 The holdings-update patch was not yet satisfactory, because FICS seems to send
16325 holdings both before and after the board! And those received before did overwrite
16326 the holdings received after the previous board. I know tried to fix that in a kludgey
16327 way, by hiding a flag in the board that tells if the holdings have already been written
16328 by the ICS or not, and ignore new holdings when they are. (Except in bughouse,
16329 where holdings updates cannot be tied to a particular board and multiple updates
16330 between boards are normal. (I hope?).)
16331
16332 I also undid a regression in my previous fix for the minor graphics problem,
16333 and solved it in a slightly different way to prevent flicker.
16334
16335 2009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16336 improved mouse handler
16337
16338 I improved the mouse handler in a way which will preclude disappearence of pieces
16339 on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
16340 in the "premove bug?" thread. Also the command-line premove problem reported there
16341 is now fixed, by removing the prefixing.
16342
16343 2009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16344 fix for bug #8847: moving backward while examining on FICS not reported to engine
16345
16346 I moved Daniel's code that backs up the engine when a bord with a
16347 lower number is received to a place where it is always done in zippy mode,
16348 rather than only when the engine is analyzing.
16349
16350 Apart from taking back moves, there was also the case where the
16351 user moves forward by more than one move (usually immediately to
16352 end-of-game). In this case a new movelist is fetched from the ICS
16353 to recover the moves that were skipped. But this assumes that the
16354 engine is at the start of the game and feeds all these moves to the
16355 engine. So the engine had to be reset in this case to stay in sync.
16356
16357 2009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16358 better init for random number generator
16359
16360 2009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16361 fix for bug #27772: holdings not updated
16362
16363 holdings lines from the ICS nor update the holdings
16364 of boards[forwardMostMove] in stead of boards[currentMove].
16365
16366 2009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16367 allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
16368
16369 This patch allows parsing / disambiguation of SAN moves like Xe4, if there
16370 is only one wild-card piece X on the board. Moves with wild-card pieces
16371 are now considered illegal if they leave the King in check by a piece of
16372 known gait.
16373
16374 2009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16375 fixed bug when switching to variantsuper
16376
16377 2009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16378 fix for bug #27715: 2 (minor) graphic issues
16379
16380 I forced a total redraw when Reset is called from the ICS code in case a
16381 new game is encountered, in the hope it will make the reported
16382 (irreproducible) problem go away. As game switches are not frequent, I
16383 guess there is hardly any downside to this.
16384
16385 2009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16386 fix for bug #27667: PV line missing in analysis window, part 3
16387
16388 "3. Wish for Engine state string (right to the icon):
16389 Can you add the actual search depth in analyzing mode? A change like "
16390
16391 I also added the requested display of depth of the analysis move in the
16392 EngineOutput window. I guess a similar change could be made to wengineo.c
16393 (as this is in the code they share in common), but no one ever requested
16394 that in the 5 years since Alessandro wrote it. So for now I leave it alone.
16395
16396 2009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16397 fix for bug #27760: debug printf in backend.c and additional check for variant
16398
16399 2009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>:
16400 fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
16401
16402 this is correct, deleted the text out of the documentation that claims we support it
16403
16404 2009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>:
16405 new alpha version; first one with new naming scheme
16406
16407 2009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16408 smarter analysis of the boards that XBoard receives from an ICS
16409
16410 I added smarter analysis of the boards that XBoard receves from an ICS,
16411 based on board size and piece types in the position, to recognize cases
16412 where the board does not match the current variant, and switch to an
16413 appropriate variant.
16414
16415 2009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16416 fix for bug #27667: window should be reference to toplevel
16417
16418 The remaining objections of #27667 should be fixed by bringing the
16419 EngineOutput window under control of the TOPLEVEL compile-time switch.
16420
16421 2009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16422 partly fix for bug #27715: scaling of menu bar
16423
16424 the menu bar to the left edge of the window.
16425
16426 2009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16427 fixed bug reported in WB forum: second game of a match would
16428 not start when using the GUI book
16429
16430 2009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16431 fix for bug #27751: negative holding counts displayed
16432
16433 I put code in the back-end to prevent holdings counts from
16434 becoming negative when a drop move is made from empty holdings.
16435 (This can happen when re-loading ICS bughouse games,
16436 as the smoves command fails to fill the holdings.)
16437
16438 2009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>:
16439 Updated compiling instructions.
16440
16441 2009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>:
16442 Changes to allow fonts with any charset (such as terminal)
16443
16444 Affects winboard only.
16445
16446 2009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>:
16447 Moved SIGWINCH signal so it can be used...
16448
16449 I goofed putting this in StartChildProcess() originally.
16450
16451 2009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>:
16452 Added internal wrapping ability.
16453
16454 New options:
16455   -wrapContinuationSequence "foo"  (default: "\\   "
16456   -useInternalWrap (Winboard default: false, XBoard default: true)
16457
16458 Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
16459    useInternalWrap setting.  The idea is if you want to keep ICS line
16460    breaks, then you don't want internal wrapping.  Because of this,
16461    the new default for keepLineBreaksICS is now false for XBoard.
16462
16463 2009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16464 fixed segfaul in convert.c used to convert pixmaps
16465
16466 2009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16467 new mousehandler to correct for premove and promotion popup
16468
16469 this is the new mouse handler for XBoard, which should fully implement
16470 premove, including promotion popup, and yet suppress the promotion popup
16471 on illegal moves that are not premoves. It is almost completely moved to
16472 the back-end now, so that WinBoard will be able to use it as well. I just
16473 must hook it up to winboard.c, in particular harmonize the call-backs of
16474 the mouse driver into the front-end for grabbing and releasing pieces for
16475 dragging, to make sure they have the same names and arguments.
16476
16477 2009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16478 updated black fairy pieces
16479
16480 here is a set of black fairy pieces with opaque white details,
16481 so they have the same style as the orthodox XBoard pieces.
16482
16483 2009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>:
16484 Adjustment to joining to work around server not always including space.
16485
16486 This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004
16487 into the updated joining routine.  This issue seems not to be server
16488 variance, but instead the server electing to omit the space between
16489 words when it occurs at exactly your width setting (-1 actually).
16490
16491 This patch makes the joiner add back the space just like the referenced
16492 commit.  Note: this is just a workaround to a server issue-- the joiner
16493 actually joins correctly before this patch.
16494
16495 2009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>:
16496 Fixed joiner detection, allowing it to work with timeseal
16497
16498 When timeseal's buffer fills in the middle of the continuation
16499 sequence, detection fails, and the lines aren't joined.
16500
16501 As a result of this fix, measures intended to bypass joining are
16502 no longer needed, so I removed them.  These utilize server vars
16503 when available to prevent splitting.
16504
16505 2009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16506 fixed engingeoutput routine
16507
16508 removed outdated code regarding analysis window
16509
16510 2009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16511 moved bitmap to correct location
16512
16513 was misplaced in a previous commit
16514
16515 2009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16516 fixed wrong number of arguments for EngineOutputPopUp
16517
16518 2009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16519 new bitmap converter (including fill option) and new pixmaps
16520
16521 2009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>:
16522 forgot to add these two lines to the last commit
16523
16524 2009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>:
16525 removed AnalysisPopUp. Use EngineOutputPopUp instead
16526
16527 this was already in Winboard, copied it to xboard and removed unused code.
16528
16529 2009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16530 Proper board and holdings size when switching to variants
16531 gothic, capablanca, great and super within an ICS game.
16532
16533 2009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>:
16534 cleaned up an old #ifdef in zippy
16535
16536 2009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>:
16537 neglected this for the auto-width updating in xboard
16538
16539 2009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>:
16540 Added server width adjustment based on client width changes
16541
16542 2009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>:
16543 silence some compiler warnings
16544
16545 2009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>:
16546 Maintainence to support all compilers.
16547
16548 2009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>:
16549 Adjusted alternative joining method to obey keepLineBreaksICS
16550
16551 2009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16552 fix for bug #27668: e.p. field still not passed to engine
16553
16554 PositionToFEN now takes the e.p. rights from epStatus[moveNr],
16555 rather than calculating it on the spot from moveList[moveNr-1]
16556 (which failed on the first move).
16557
16558 2009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16559 fix for bug #27666: naming of variants
16560
16561 Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
16562 to not get confused by the board "misc shogi" run by FICS.
16563
16564 2009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16565 changed enable menus
16566
16567 Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
16568 in the appropriate enable lists for graying them out wen not applicable.
16569
16570 2009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16571 Added a command-line option -keepLineBreaksICS true/false to control line joining.
16572
16573 2009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>:
16574 Added code to prevent unnecessary width updates.
16575
16576 2009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>:
16577 Turned off wrap when possible on ICS servers.
16578
16579 Turning off line wrap prevents splitting lines up using the
16580 continuation sequence "\\   ".  This is desirable when using
16581 timeseal because timeseal's buffer is sometimes too small,
16582 causing it to break lines itself.  These lines can't be joined.
16583
16584 2009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>:
16585 vsnprintf() must be _vsnprintf() for MSVC
16586
16587 2009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>:
16588 added code to handle initial width update
16589
16590 2009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>:
16591 Added width updates to ICS client on font and window size changes
16592
16593 What still needs to be done is placing an update call after login
16594 to initialize with the correct width.  I didn't see where to put
16595 that.
16596
16597 2009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>:
16598 added ics_printf() and ics_update_width() and utility functions
16599
16600 2009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>:
16601 Cleaned up ConsoleWndProc  (not complete, see below)
16602
16603 Using static variables this way is not appropriate.  I only addressed
16604 hInput and hText in this commit though.  But imagine the WndProc being
16605 used by multiple windows instead of just one, and you can see why
16606 using static variables in this way is wrong.
16607
16608 2009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>:
16609 Restructured URL code so it fits better with how winboard is set up.
16610
16611 2009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>:
16612 cleanup: removed "#if 1" statements
16613
16614 2009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>:
16615 cleanup: removed "#if 0" from source
16616
16617 a bit of cleanup of the source code
16618
16619 2009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16620 fix joining of lines split by ICS
16621
16622 This patch fixes the joining of lines that were split by an ICS, so that adding
16623 a space at the break point is done only when there was not a space already.
16624 (Some ICS leave a space at the end of the broken line, others do not.)
16625 An extra space would interefere with board12 in Gothic Chess, which is so
16626 long that the ICS breaks it, and the WB parser could not handle a double
16627 space within the board.
16628
16629 2009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16630 fix for bug #27642: Clock jumps strangely in engine mode
16631
16632 This moves SwitchClocks() back to after incrementing forwardMostMove,
16633 so that it knows again who has the move (which was broken by the "bare" patch),
16634 and will take the appropriate tick length.
16635
16636 2009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16637 removed test for premove
16638
16639 this was added while looking for the premove bug, but is not needed
16640
16641 2009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>:
16642 added URL detection and provided hotlinks in the ICS client
16643
16644 2009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>:
16645 reverted winboard.c beofre URL commit to correct whitespace conversion
16646
16647 2009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>:
16648 Added URL detection into the console text window for ICS.
16649
16650 2009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>:
16651 added some comments and formated code
16652
16653 2009-10-08 23:46:52 -0700 Chris Rorvick <>:
16654 fix printing out help message (list of command line options) (tiny change)
16655
16656 The postfix increment always resulted in an attempt to print out an
16657 option on the right side regardless of one actually existing. Use
16658 prefix increment to prevent a crash when printing an odd number of
16659 options.
16660
16661 2009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>:
16662 Updated navigation accelerators, fixing ICS problems.
16663
16664 Recent changes to the navigation accelerators were in the wrong
16665 accelerator table.  Since the goal was to correct non-JAWS versions
16666 back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
16667 retained the #ifdef JAWS conditional compilation.
16668
16669 On an ICS, the navigation keys took control away from the ics
16670 client to navigate the game.  The update requires the ALT key to
16671 be pressed, but it works identical to 4.2.7, not causing an
16672 unexpected focus back to the board window when you're just editing
16673 text.
16674
16675 2009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16676 fixed premove recapture problem;promotion popup appearing on
16677 obviously illegal moves; promotions in Superchess and Great Shatranj
16678
16679 1) the premove recapture problem
16680 2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
16681 problem)
16682 3) promotions in Superchess and Great Shatranj, where the piece can now be
16683 selected from the holdings
16684
16685 2009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16686 added forceIllegalMove to xboard
16687
16688 2009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>:
16689 bugfix: segfault when invalid option argument was given (bug #27427)
16690
16691 when given a wrong argument to an option (e.g. -tc 0) xboard aborts
16692 before setting up the window, but tried to write a message to the
16693 messageWidget which doesn't exist at that point.
16694
16695 2009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16696 small improvement for JAWS version
16697
16698 This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
16699 As focus does not stay on the Comment window, the comment was not spoken otherwise.
16700
16701 2009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16702 updated to winboard internationalization scripts
16703
16704 Also a slight improvement of the internationalization scripting,
16705 to prevent it from crashing on messages containing a slash.
16706
16707 2009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16708 new forceIllegalMoves option
16709
16710 The -forceIllegalMoves option uses setboard or edit to force a position
16711 when an engine refuses the move leading to it by an "Illegal Move" message.
16712 Especially for engines using the edit command this was a bit tricky,
16713 because of the a2a3 kludge to avoid using the white and black commands.
16714
16715 2009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>:
16716 removed _winmajor if not defined so that VC 2008 can compile the project
16717
16718 The oldDialog variable should just be set to 0 in all cases now, and
16719 as such, legacy code supporting the old dialog ought to be removed.
16720 The test for _winmajor is against < 4, which is always false at present,
16721 causing oldDialog to be 0 in every conceviable circumstance.
16722
16723 2009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>:
16724 getting ready for 4.4.1 release
16725
16726 2009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>:
16727 Simplified future version changes.
16728
16729 Added a numeric version to config.h that is now used in winboard.rc
16730 instead of being hard-coded there.  Just be sure to preserve the
16731 proper format (4 comma-separated 16 bit integers) or else it won't
16732 compile.
16733
16734 2009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>:
16735 updated version number to 4.4.1.pre
16736
16737 should have done this straight after the last release, but forgot...
16738
16739 2009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16740 worked on premove bug
16741
16742 I made an attempt to make premove unsensitive to a race condition,
16743 just in case the premove problem was caused by that (which seems unlikely,
16744 but in any case  I added some debug printout to test this).
16745
16746 2009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16747 fixed loading of saved games via command line
16748
16749 the variables forwardMostMove and backwardMostMove where set to zero
16750 at the wrong place.
16751
16752 2009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16753 small fixes for the JAWS version
16754
16755 * I moved saying 'check' by the JAWS version to where castling also benefits from it.
16756 * I made sure the check symbols are also recognized on promotion moves
16757 * In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
16758
16759 2009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>:
16760 Fixed bug dereferencing garbage, causing crash.
16761
16762 Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
16763 resultDetails of the gameInfo structure.  That exact code exists a few lines
16764 above where it was added.  None of these free() calls finish by setting the
16765 member to NULL afterword, therefore repeated attempts to test/free() the
16766 members result in an attempt to free() memory winboard no longer owns, and
16767 an eventual crash.
16768
16769 link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
16770
16771 2009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>:
16772 Added wchat.c to the project files we maintain.
16773
16774 2009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>:
16775 Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
16776
16777 2009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>:
16778 Add resource ID for new Mute menu item.
16779
16780 I know this was probably done by HG, and simply left out of
16781 his commit.  Anyway, the project can be built now after this change.
16782
16783 2009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>:
16784 Use of strcasecmp() broke Visual C++.
16785
16786 2009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>:
16787 wrong default value for engineDebugOutput
16788
16789 the new default is now 1
16790
16791 2009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>:
16792 updated cmail.in to adapt the CVS->git change
16793
16794 don't reference $Revision:$ anymore.
16795 Instead use reference xboard-version via autoconf.
16796
16797 2009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16798 bugfix for protocol extensions: egtbpath -> egtpath
16799
16800 A new and very bad bug was discovered in the implementation of
16801 the protocol extensions: XBoard sends a command "egtbpath" to the
16802 engine in stead of "egtpath" from the protocol specs.
16803 After discussion on WB forum it was decided that egtpath was better
16804 than the egtbpath I originally had proposed, and I changed it accordingly,
16805 but I had not realized that this string occurred TWICE in backend.c,
16806 depending on if matched the -defaultPathEGTB of -egtFormats option.
16807 I only changed the first occurence.
16808
16809 2009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16810 fix for edit-position "moves" being sent by XBoard to the engine
16811
16812 2009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16813 Engine did not start playing when out of GUI book on second move with white
16814
16815 2009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16816 Opening Engine #1 Settings crashed XBoard when there were no
16817 text-edit options in the dialog (to which to set keyboard focus)
16818
16819
16820 2009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16821 added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
16822
16823 2009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16824 Updated the RTF docs for the chat windows, engine-settings dialog,
16825 /keepAlive option and new game-list tag
16826
16827 2009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16828 Made the beep sounds for JAWS board navigation configurable through
16829 command-line options
16830
16831 2009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16832 Prepared a system to internationalize the WinBoard menus
16833
16834 2009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16835 added the result comment to the game-list tags when the game list is
16836 exported to the clipboard
16837
16838 2009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16839 rewrote wevalgraph for better frontend/backend separation
16840
16841 I have finished re-writing the eval-graph code to have some
16842 front-end / backe-end separation, something I had already started on my
16843 holiday in Norway (when I had no internet :-)  ).
16844 The new code now appears to work exactly like the old code,
16845 and I guess it could be ported to gtk comparatively easily.
16846
16847 2009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16848 fix for keepalive and chat window
16849
16850 I made a fix to the keepAlive option so it does not send the date command
16851 to the ICS after every move. This required changing ScheduleDelayedEvent()
16852 so that it does not execute the event if a new identical one gets scheduled.
16853 I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c
16854
16855 (This also cures the regression of the winboard.c copyright patch)
16856
16857 I extended the chatbox patch to also listen to channel tells, and divert
16858 them to a chatbox for that channel number. Affects
16859 backend.c and wchat.c
16860
16861 That should make those patches fully operational. No docs for either of them
16862 yet, though.
16863
16864 2009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16865 fixed parse bug for pgn files
16866
16867 fixed the existing bug that the time-control tag was displayed as "?"
16868 in the game list; turns out it was never parsed on reading PGN files
16869
16870 2009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16871 allow the result comment as a display item in the game list
16872
16873 2009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16874 fixed the HAVE_LIBXPM-dependent compile errors
16875
16876 2009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16877 added a chat window to keep track of multiple conversations
16878
16879 The chat-window patch affects:
16880 winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
16881 the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
16882
16883 In addition I added a new option -keepAlive, which affects
16884 common.h (in addition to winboard.c and backend.c).
16885
16886 As I had to modify backend.h, I also defined the -reset option type there,
16887 which we are going to add later. This required some changes
16888 to suppress warnings in wsettings.c.
16889
16890 2009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>:
16891 more files for git to ignore
16892
16893 most of these are generated by make distcheck
16894
16895 2009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>:
16896 another bug fix found by Stanislav Brabec
16897
16898 returned -1  in some case although the variable was a char...
16899 changed to signed char
16900
16901 2009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>:
16902 Swapped 'tell' and 'message' parsing order for colorization.
16903 Sometimes messages are relayed as tells and should be colorized as tells.
16904
16905 2009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>:
16906 added some more files to be distributed via make dist
16907
16908 as suggested by Stanislav Brabec
16909
16910 2009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>:
16911 fixed some implicit declarations reported by Stanislav Brabec
16912
16913 2009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>:
16914 fixed a few more small bugs reported by Stanislav Brabec
16915
16916 - A function uses a 'return;' statement, but has actually a value to
16917 return, like an integer ('return 42;') or similar: xboard voidreturn
16918 xengineoutput.c:766, 782
16919
16920 - Program returns random data in a function at xengineoutput.c:602
16921
16922 - With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker
16923 ignores them. Fix is attached.
16924
16925 - ToDo: Convenient name in most projects is TODO (autotools package it
16926 automatically).
16927
16928 2009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>:
16929 reverted .texi file and fixed Makefile.am
16930
16931 the problem was actually not in the texi-file, but the Makefile.am.
16932 Reverted changes in the .texi and fixed it (hopefully) correctly now.
16933
16934 2009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>:
16935 get "make distcheck" to work
16936
16937 needed to add all *.h files to Makefile.am and also the bitmaps that
16938 are needed and some other files. Also had modified copyright.texi.
16939
16940 2009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>:
16941 changed to version 4.4.0
16942
16943 2009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>:
16944 updated AUTHORS, README and ChangeLog files for release
16945
16946 2009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16947 fixed some typos
16948
16949 2009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16950 set castling rights after setting up a position
16951
16952 I was going through old WB forum posts, and I encountered a
16953 bug report for a bug that I never fixed: The castling rights should
16954 be properly set (actually: cleared) after setting up a position
16955 in Edit Position mode (as opposed to pasting a FEN).
16956
16957 2009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>:
16958 removed install files from master
16959
16960 they now live in their own branch
16961
16962 2009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16963 updated polyglot protocol
16964
16965 I added a new option type "-reset" to the protocol for the new option feature.
16966 4.4.0 does not implement it yet, but Michel wants it for future Polyglots,
16967 and I think it is best to update the protocol in one big swoop.
16968 So I want to already include it in the specs now. (engine-intf.html)
16969 I made xboard's response to an unknown option type compliant
16970 with the new protocol specs.
16971
16972 2009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16973 fixed some typos
16974
16975 2009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>:
16976 Updated project files for DevCpp and Visual Studio to add wsettings.c
16977
16978 2009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>:
16979 Added newline at end of file to silence warning.
16980
16981 2009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16982 workaround for error message for missing pieces used in variants
16983 and initstring bugfix: error messages showed for non-existing pieces
16984 showed up for old user supplied pixmaps.
16985 Loading a pixmap of the king for the missing pieces now.
16986
16987 Another bad bug surfaced: the -initString argument does not work in any
16988 XBoard version! (Including 4.2.7b) The escape sequences for linefeed in
16989 the string are not understood: -initString "new\nrandom\n" actually sends
16990 the \ and n to the engine (which then does not recognize the line as a
16991 valid command)!
16992
16993 So I also added a patch to expand escape sequences in the InitString and
16994 ComputerString command-line options.
16995
16996 2009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
16997 updated installe script
16998
16999 I re-organized the doc files in the install, so they now all go in the
17000 WinBoard\doc folder (and none in the root). I so included the COPYING
17001 and COPYRIGHT files there. This required some updates of the links in
17002 some html files, and of the menu link to README.html in the install script.
17003 I also fixed an error with the current directory
17004 in the menu short-cuts of some engines (which started in the fonts folder,
17005 and could not find the opening book there...).
17006
17007 2009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17008 updated documentation
17009
17010 2009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17011 updated installer script
17012
17013 2009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17014 new help files for windows
17015
17016 2009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17017 updated installer
17018
17019 2009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17020 undid some previous changes
17021
17022 some files got mixed up
17023
17024 2009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17025 fixed small bug in wsetting
17026
17027 2009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17028 trigger a focus switch to ICS input field when typing
17029
17030 old behavior was that "." or "," triggered this,
17031 now every printable character  except 1-9 will trigger the focus switch
17032
17033 2009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17034 bug in backend.c when receiving lines from ICS
17035
17036 A space was appended to every character received from an ICS
17037 in stead of just at line breaks.
17038
17039 2009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17040 fixed warning messages from compiler
17041
17042 2009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>:
17043 fixed build on OS X
17044
17045 this seems to fix it. Bug reported by Louis Zulli who also did the testing.
17046
17047 2009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17048 OK, this is the beefed up version of the Polyglot info-string kludge,
17049 for WB and XB.
17050
17051 2009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>:
17052 added missing X_LIBS references to Makefile.am
17053
17054 2009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>:
17055 made the install script and executable
17056
17057 2009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>:
17058 changed beta1 to beta2
17059
17060 2009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>:
17061 fixed enable zippy in configure script and added some checks for OS X
17062
17063 make tried to compile zippy even when --disable-zippy was given.
17064 Also fixed a bug in xboard.c where #ifdef instead of #if was used
17065 to test for ZIPPY (it's either 0 or 1, so we need #if). Also added
17066 some special checks for OS X, not sure if these will do it, but it's a start;)
17067
17068 2009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>:
17069 added configure summary to configure output, also cleaned up configure.ac a bit
17070
17071 used AS_HELP_STRING where possible
17072
17073 2009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>:
17074 added check for malloc.h
17075
17076 this should fix a build error on OS X
17077
17078 2009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17079 A small cosmetic change in the size of buttons
17080 inside a groupbox of the Engine-Setup dialog.
17081
17082 2009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17083 make xboard usable with UCI engines
17084
17085 I made a small patch in xoptions.c (where the corresponding Engine Settings
17086 dialog was for XBoard), to make it at least usable for UCI engines: I now
17087 divide the options over upto 4 columns, if there are too many to fit into
17088 a single column. This seems to work. Still looks very ugly, but it is
17089 functional.
17090
17091 2009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17092 fix premove for winboard
17093
17094 This might fix the illusive premove problem. In 4.2.7 the code was not properly
17095 indented, and this led to an unbalanced braces error that I then fixed the
17096 wrong way. Click-click premoves did only work after clicking the toSquare twice.
17097 It might be that they actually did work after clicking it once,
17098 but that the highlights were not displayed (although set)
17099 for lack of a display refresh.
17100
17101 2009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17102 fixed bug for double saved games
17103
17104 This patch should solve the problem with doubly saved games when XBoard is
17105 closed. I calculate a cecksum of each saved game now (including move comments),
17106 and suppress saving if the checksum is not changed.
17107
17108 2009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17109 fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c.
17110
17111 2009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17112 updated xboard.texi: added warning that pixmaps are not build for all variants
17113
17114 2009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17115 added a dialog for engine-specific option settings
17116
17117 2009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17118 updated some documentation
17119
17120 2009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17121 fixed several bugs in the backend and added some more polyglot support
17122
17123 * I added recognition for the new UCI3 option types that are recognized in the WB
17124 option features, to make sure this version is compatible with future Polyglots.
17125 Also fixed a bug that failed to strip an asterisk prefix from the first
17126 combo-box item.
17127
17128 * I fixed the ICS-time-in-PGN bug.
17129
17130 * I fixed a bug which caused a space to be missing when long lines broken up by
17131 an ICS were joined.
17132
17133 2009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17134 better polyglot support for engine ouput
17135
17136 I fixed the algorithm for clearing the Engine Output window to work better with
17137 the latest Polyglot, whight outputs UCI "info strings" amongst the thinking
17138 output.
17139
17140 2009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>:
17141 Beginnings of installer for 4.4.0.  HGM asked me to forward the nsi file,
17142 but it seemed best to just add the installer tree to git even though
17143 it's not finished.  You must install NSIS then FontName-0.7.exe
17144 (included in installer folder) then run build.bat in the same directory.
17145
17146 2009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17147 patch backend.c to make the -noGUI option also work in ICS mode.
17148
17149 2009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17150 temporary fix for pre-select
17151
17152 As a temporary kludge I replaced looking into the holdings for the piece type
17153 by figuring out which piece would belong on the clicked holdings square.
17154 This is a non-trivial process, as it depends on which pieces participate
17155 in a certain variant.
17156
17157 2009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17158 changed click-click moves
17159
17160 I got complaints about the way XBoard 4.4.0 handles click-click moves,
17161 in particular changing the selected piece after selecting King
17162 (for which I suppressed interference with FRC castling in a rather brutal way).
17163 People tell me it is very annoying that clicks sometimes don't work to select a piece.
17164 WinBoard uses refined logic in the back-end to handle this, but the XBoard
17165 front-end is not interfaced with that yet.
17166 (This would require a major rewrite of the mouse handler.)
17167 This temporary patch suppresses this behavior in all variants that do not support
17168 Fischer castling, and even there only exhibit it for Rook-after-King selection
17169 (which will be interpreted as an attempt to enter a castling move as K x own R).
17170
17171 2009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17172 option -adjudicateDrawMoves is not included in the XBoard list.
17173
17174 added it to the option list
17175
17176 2009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>:
17177 converted files from dos to unix format
17178
17179 run dos2unix over a bunch of files
17180
17181 2009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>:
17182 Stripped out unused VersionInfo
17183
17184 2009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>:
17185 changed version to 4.4.0.beta1
17186
17187 2009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>:
17188 updated INSTALL file to add ./autogen.sh
17189
17190 2009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17191 higher number of engine options possible now
17192
17193 I upped the number of options per engine from
17194 50 to 100, and the average number of characters per option from 10 to 20.
17195
17196 2009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>:
17197 Fix of bad bug
17198
17199 2009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>:
17200 Added version information to resources.
17201
17202 2009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>:
17203 Added Jaws targets to IDE projects.
17204
17205 2009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>:
17206 Final makefile adjustments and compiling instructions.
17207
17208 2009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>:
17209 Cleaned up garbage left behind from my makefile update.
17210
17211 2009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>:
17212 Updated cmdline makefiles to be able to produce JAWS binaries.
17213
17214 This breaks support for MSVC 4.x.  It may still be possible to
17215 use that compiler if you obtain the latest SDK from Microsoft.
17216 MSVC 6.0 still works, but I had to change the target windows
17217 version to 0x500 which causes warnings about building beta
17218 applications.  This is all due to the use of MENUBARINFO data
17219 type in the jaws binary.  You can reduce the WINVER to 0x0400
17220 safely if you are not building a JAWS binary, and MSVC 4.x
17221 will work fine.
17222
17223 2009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>:
17224 Removed dependency on jfwapi.h
17225
17226 Allows anyone to compile a jaws compatible binary.
17227
17228 2009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>:
17229 Fixed duplicate resource in winboard.rc
17230
17231 PLEASE remember to pull before commiting.  This is the 2nd
17232 time I've fixed this.  It's a waste of time to keep fixing
17233 the same problems.
17234
17235 2009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>:
17236 resolved conflict between Xt and Xaw libraries
17237
17238 seems like we don't need to link against Xt.
17239
17240 2009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17241 help-menu was not un-grayed in the JAWS version, when it played with engines
17242
17243 2009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17244 integrated jaws into winboard
17245
17246 I integrated the JAWS patch now into WinBoard in such a way that the
17247 JAWS and standard version can use the same resource file. This new
17248 winboard.c contains the improved dialog layot of the JAWS version,
17249 but none of the menus and JAWS-specific acclerator keys. The latter
17250 are now generated at run time by code in jaw.s. As a result jaws.h
17251 could be cancelled, as there the JAWS-specific defines are no
17252 longer needed outside jaws.c (now the .rc does not use them), and
17253 is incorporated in it.
17254
17255 2009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>:
17256 fixed problem in autoconf using Xaw3d
17257
17258 rewrote the section for Xaw3d in the autoconf file
17259
17260 2009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>:
17261 Added Jaws support to GCC makefile
17262
17263 2009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>:
17264 added help support: MSVC IDE and DevCpp IDE project files
17265
17266 2009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>:
17267 Removed obsolete makefiles and support files.
17268
17269 2009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>:
17270 updated AUTHORS with the help of git. use
17271
17272 git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD  |sort |uniq
17273
17274 a bit of hand editing and a quick emacs macro later and you have a nice
17275 comma seperated list of all files changes by one author between two commits.
17276
17277 2009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>:
17278 updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7
17279
17280 2009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>:
17281 cleaned up some more copyright notices
17282
17283 2009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>:
17284 updated copyright to reflect A. Scotte as copyright holder
17285
17286 need to mention him, since the paperwork won't be finished before the next release
17287
17288 2009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>:
17289 updated patchlevel to "k"
17290
17291 2009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>:
17292 fixed autoconf problem with VERSION/PATCHLEVEL variables
17293
17294 xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables.
17295 Switched to PACKAGE_STRING provided by autoconf
17296
17297 2009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>:
17298 cleaned up old CVS left overs
17299
17300 removed $Id tags from all files
17301
17302 2009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>:
17303 converted xhistory via dos2unix
17304
17305 2009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17306 fixed crash in history window
17307
17308 someone discovered that opening the move-history window in XBoard leads to
17309 an immediate crash. Turns out that renaming the menu item broke it! (The
17310 name of the item was apprently used elsewhere in the code to access it,
17311 for putting a check mark there.)
17312
17313 2009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17314 fix for Animation of castling moves in Chess960
17315
17316 Animation of castling moves in Chess960 turned out to sometimes make the
17317 king disappear from the display. For the time being I patched this in
17318 xboard.c to suppress animation of FRC castling moves altogether. As FRC
17319 castlings internally are represented as KxR, the to-square does not make
17320 sense anyway, which made the animation look very weird even when it led
17321 not to a king disappearance act. And the Rook move of a castling is never
17322 animated.
17323
17324 2009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
17325 Update GCC makefile to remove .obj targets.
17326
17327 Dunno how they got in there, but they should be .o
17328
17329 2009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>:
17330 Update makefile dependencies on help.c and help.h.
17331
17332 2009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>:
17333 Allow compiling with MSVC6.0 and 4.1
17334
17335 Move prototypes into help.h, after making sure that DWORD_PTR is
17336 defined.  Include help.h from winboard.c and help.c so both files
17337 benefit from the definition.
17338
17339 2009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17340  lists these accelerator keys in the menus for JAWS
17341
17342 2009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17343 added shortcuts
17344
17345 This patch allows the use of Ctrl+C and Ctrl+V for Copy Game
17346 and Paste even in I C S mode when the board has focus.
17347
17348 2009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17349 better handling of pasting a game without PGN tags
17350
17351 patch in wclipbrd.h to make it smarter to decide between pasting
17352 a game or a position so it can handle games without PGN tags.
17353 If it doesn't parse as a FEN it is assumed to be a game.
17354
17355 2009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17356 fixed parser error for knight move
17357
17358 The parser had a strange quirk: it recognized bd2 as a valid Knight move
17359 (Nb1-d2) while this SAN format should be reserved for Pawn moves only.
17360
17361 2009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17362  fixed a few warnings in connection with the help patch (now warning free)
17363
17364 2009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17365 some major re-assignment of accelerator keys in the JAWS
17366
17367 2009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
17368 several small fixes
17369
17370 uptracked winboard.ini
17371
17372 * Cleanup: moved "Some definitions required..." from winboard.c to config.h,
17373 and combined some definitions from borland w/ MS.
17374
17375 * Changed internal HtmlHelp return type and 4th argument to facilitate various
17376 compilers.  These changes, while not strictly adhering to HtmlHelp() conventions,
17377 won't impact anything since the function modified is internal only.
17378
17379 * Modified HtmlHelp return values to integer to silence warnings.
17380 * Added help.c to the project in makefile.gcc & makefile.ms.
17381 * Fixed duplicate resource in winboard.rc.
17382
17383 2009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17384 added JAWS support; help files for Vista; bugfixes for winboard.c
17385
17386 * JAWS support
17387 * help files should now work under Vista (the user has to have either
17388   a program to view old windows help files or to view html-files installed)
17389 * I fixed the tabbing between all windows that were added according to Tim's sugestions.
17390 * I added typing in of a move number in the move type-in dialog as a shortcut
17391   to going to that position by use of the < and > buttons. Mainly intended to
17392   ease life for the blind, but I think it can be generally useful.
17393   (Although the move-history dialog provides that functionality too,
17394   this is quicker if you don't happen to have it open.)
17395 * I added typing of a FEN in the move type-in dialog in Edit Position mode.
17396   (Which could not be used without mouse at all, and is defective
17397   in crazyhouse even with mouse, as there was no way to populate holdings.)
17398
17399 2009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17400 some bugfixes: ICS error handling
17401
17402 * play a different sound for takebacks in ICS mode
17403 * pop up error messages for illegal moves for typed-in moves
17404
17405 2009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17406 removed no longer needed debug message
17407
17408 2009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17409 fixed compile error from a previous change
17410
17411 2009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17412 user selectable font in game list
17413
17414 This makes the game list use the same (user selectable) font
17415 as the the move-history window.
17416
17417 2009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17418 fixed typos in xboard.texi documentation.
17419
17420 2009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17421 updated the FAQ
17422
17423 2009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17424 changed font in engine output window
17425
17426 The engine-output window now uses the same font as the move-history window
17427 (which was selectable in the "Options  -> Fonts..." menu, while the other
17428 wasn't).
17429
17430 2009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17431 fixed some characters in xboard.texi
17432
17433 It seems that copying manual sections from the RTF to th texi file did
17434 somehow mess up the double-quote characters, and changed them into some
17435 strange (unicode?) symbols.
17436
17437 2009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17438 two shogi related bugfixes
17439
17440 I discovered a bug in the move generator for the Shogi Dragon King. I
17441 guess it went unnoticed so far because this is a promoted version of the
17442 Rook, which hardly occurs in games. (moves.c)
17443
17444 There was also a problem with the piecesfix I sent you before; Shogi
17445 chosen as initial variant did use wrong piece symbols. (I had tested this
17446 on gothic, but there it happened to work for a different reason, unique to
17447 gothic.) This affects xboard.c.
17448
17449 2009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>:
17450 small cleanup
17451
17452 2009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17453 adds bitmaps for shogi promotions, and selects the bitmaps or
17454 pixmaps for the more rarely used piece types on a per-variant basis.
17455
17456 2009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17457 adds new piece types in the promotion dialog and edit-position piece menu
17458
17459 2009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17460 updated bitmaps files: files for fairy pieces where missing,
17461 others had names that didn't work with autoloading.
17462
17463 2009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17464 fixed a bug concerning bitmaps
17465
17466 2009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>:
17467 give a default directory for bitmaps files (tiny change)
17468
17469 this is also one of the debian patches, should be rewritten to use
17470 the correct install directory. No Author was given.
17471
17472 2009-06-27 15:47:52 -0700 Brian May <>:
17473 verbose_error_message_about_recognized_options (tiny change from Debian patches)
17474
17475 2009-06-27 15:45:14 -0700 Matt Zimmerman <>:
17476 add a visual low time warning (tiny change from Debian patches)
17477
17478 2009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>:
17479 dos 2 unix conversion of backend.c
17480
17481 2009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>:
17482 exchanged some sprintf with snprintf found in a patch for the debian system,
17483 extended it a bit to other sprintf's original patch included only 11 lines
17484 by Florian Ernst <florian@debian.org>
17485
17486 2009-06-24 23:07:23 -0700 Mark Ioli <chessknight>:
17487 enabled a patch for default settings in winboard
17488
17489 2009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17490 updated copyright notice
17491
17492
17493 2009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17494 patches a bug in chosing the initial board size on a virgin startup
17495 I introduced recently
17496
17497 2009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17498 I put in testing for the winning condition in 3checks
17499
17500 on a check it just goes through the entire game to subject
17501 every position on a check test, to see if there were two more.
17502
17503 2009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17504 updated copyright notice in docs
17505
17506 2009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>:
17507 added small patch from debian (tiny change)
17508
17509 according to the debian patch tracker, this patch is by
17510 Florian Ernst <florian@debian.org>.
17511 It fixes whitespace issues in filename called from cmail.
17512
17513 2009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>:
17514 converted dos2unix format for xboard.texi
17515
17516 2009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>:
17517 deleted two more files that don't need to be in git
17518
17519 these files can be generated by autogen.sh
17520
17521 2009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17522 major overhaul of the -stickyWindows feature
17523
17524 I did a major overhaul of the -stickyWindows feature.
17525 The game-list and ICS-interaction windows are now also sticky.
17526 I also added a form of stickiness when the main window is resized;
17527 edges of auxiliary windows sticking to the right or bottom side of
17528 the main window stay attached when the window resizes
17529 (due to nr of board squares or their size). The way the window
17530 coordinates are saved in the .ini file is now relative to the
17531 main window, and some dummy options are added to be able to
17532 recognize right- and bottom-edge sticking, and reconstruct that
17533 when WB starts up with another board size. Also added are
17534 volatile options to ensure there will be space for auxiliary windows
17535 above and left of the main window.
17536
17537 2009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17538 fixed long-algebraic form of drops
17539
17540 The WB parser turned out not to understand the long-algebraic form
17541 of drops send by an ICS. (like B/@@-e4), so even with
17542 legality testing off I now use the SAN move for drops.
17543
17544 2009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17545 Refined stalemate adjudication in Suicide, some cleanup
17546
17547 Refined stalemate adjudication in Suicide, which seems to be not always won
17548 for the stalemated side, but for the side with the smallest number of pieces.
17549 Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h)
17550 Also includes a tiny change in the -autoKibitz format, as requested on
17551 Talkchess.
17552
17553 2009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17554 Enhancement of the way -autoLogo decides which logos to display
17555
17556 2009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17557 bugfix and enhancement in autoKibitz mode
17558
17559 changed the format of the autoKibitz: score/depth in stead of depth/score,
17560 as in PGN. I also supress the ICS time for the move now in the PGN
17561 if extended info is available. When enhancing the functionality of
17562 the autoKibitz command (using the opponent engine kibitz for the saved PGN)
17563 I discovered that the xengineoutput.c in our tree was obsolete,
17564 and contained a routine of which the arguments were no longer compatble
17565 with the call from backend.c, and caused segfaulting. I copied in
17566 the  corresponding routine in wengineo.c, which was compatible. That the
17567 compiler did not flag this is a sign of badly organized code, I suppose...
17568
17569 The enhancement itself affected backend.c.
17570
17571 2009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17572 modified clock layout
17573
17574 I altered the display of the clocks in the presence of engine logos; I used to
17575 stack them, but some inquiry on Talkchess sowed that people disliked the
17576 stacking. So now I display them next to each other again, but as 2-line-high
17577 fields to make room for te logos.
17578
17579 2009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17580 new zippy option zippyShortGame
17581
17582 On request of Mike Adams I added a new zippy option, -zippyShortGame,
17583 to make life more difficult for abusers of abort and disconnect for cheating.
17584
17585 2009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17586 fixed some bugs in the animation of atomic captures
17587
17588 2009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17589 some small bugfixes
17590
17591 I had overlooked one place from which the FEN writer
17592 (of whicf I changed the argument types), which made WB crash
17593 if you copied a FEN (or PGN that cotained FEN) to the clipboard.
17594 I must have overlooked a warning during compile, or some depedency
17595 is not correct in the makefile. Anyway, wclipboard.c had to be changed.
17596 I also moved adjudication of some losing conditions to before tetsing
17597 for stalemate, (e.g. in atomic, if your king get destroyd you lose,
17598 even if you have no moves after that because it was your only piece.).
17599 this affects backend.c.
17600 I had used the same bits in the rule-modifier flags for indicating
17601 mandatory capture as was already used for indicating FRC-style castling.
17602 This led to frequent illegal move calls in FRC... (moves.h)
17603
17604 2009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>:
17605 cleaned up HTML in FAQ.html -- still need to work on content
17606
17607 2009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17608 added option for work-around for some FRC engines in regards to FRCFENs
17609
17610 It suddenly occurred to me that I had promised on CCC to include an option
17611 to provide a work-around for the problem that some FRC engines do not
17612 understand FRC FENs (and thus do not play at all under WinBoard,
17613 as FRC always has to begin with sending the initial position).
17614 So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN.
17615 This affects winboard.c and xboard.c, (for defining the option),
17616 common.h, backend.h, backend.c, (for implementing it),
17617 xboard.texi and winboard.rtf (decribing it).
17618 This option provides users with a means to always force the FEN castling field
17619 to KQkq (but can be used for many other work-arounds as well).
17620
17621 2009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17622 fixed bug with random calls
17623
17624 There also seemed to be a bug with the shuffling of opening positions;
17625 I had changed the declaration of the position number from
17626 long long int to u64 to comply with MSVC, but this suppressed shuffling
17627 completely. I now changed it to int. I recently noted a problem with true
17628 randomizing anyway: this was based on srand(time()), but time() apparently
17629 did not change fast enough, so that starting several games in rapid succession
17630 (because the book line contained a 3-fold repetition) produced identical games.
17631 So I now seed the random once and for all during startup, based on the msec of
17632 the time mark, and removed the other calls to srand().
17633
17634 2009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17635 changed name for fairymax program in xboard.h
17636
17637 2009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17638 removed my name from copyright message in help->about menu
17639
17640 2009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17641 fixed -stickyWindows option
17642
17643 I figured out why -stickyWindows was not working in XP and Vista
17644 (while it always worked under Win2K), and I think I found a fix for
17645 it that works under all Windows versions. (I tried XP and Win2K.)
17646
17647 2009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17648 Updated docs for Engine-Settings menu
17649
17650 2009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17651 Awareness of winning conditions for atomic and giveaway variants; two bugfixes
17652
17653 fixed bug in claim verification
17654 Bugfix on initial position of Great Shatranj
17655
17656 2009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17657 Legality testing (mandatory capture) in giveaway variants
17658
17659 2009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>:
17660 don't ignore winboard/parser.c
17661
17662 2009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17663 Added new variant Twilight Chess
17664
17665 2009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17666 some renaming and restructuring of WB menu items, to conform more to XBoard
17667
17668 2009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17669 Fixed bug in atomic patch that interfered with non-atomic variants
17670
17671 2009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17672 fixed different use of engine option compared to Polyglot
17673
17674 it turns out the new Polyglot uses a sightly different version
17675 of the GUI->engine option command than the one I proposed
17676 (and implemented in XBoard; Michel sneaked in an '=' sign
17677 between the NAME and VALUE of the option, to allow for
17678 more unambiguous parsing. I guess in principle this is a good idea,
17679 so I adapted XBoard to Polyglot rather than the other way around.
17680 The result is that there are canges in xboard.c, and the documentation.
17681 I noticed that I unjustly had internationalized the option strings
17682 to be send to the engine in xoptions.c; this was of course nonsense,
17683 as this was WB protocol. So I undid that too.
17684
17685 2009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17686 add the already supported variants 3check and great (=Great Shatranj)
17687 to the New Variant... menu.
17688
17689 2009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17690 animate explosions in variant atomic (if animate moves is on).
17691
17692 2009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17693 fixed castling bug in variant twokings.
17694
17695 2009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17696 fixed forteitary wins for special game variations
17697
17698 feature that corrects forfeitary wins (e.g. on time)
17699 of a bare King to draws of course breaks proper operation
17700 in losers, suicide and giveaway
17701
17702 2009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17703 automatically test ini file extension for files from commandline option @filename
17704
17705 The winboard.c is a patch that automatically tries indirection files on the
17706 command line (@filename type arguments) also with an extension .ini if the name itself
17707 did not match any existing file and contained no period. This saves the user typing the
17708 .ini all the time (which I started to find pretty annoying while working on the installer
17709 package).
17710
17711 2009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17712 added gamelisttag option to xboard
17713
17714 also updated documentation.
17715
17716 2009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17717 updated RTF file for winboard
17718
17719 2009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>:
17720 fixed syntax error in texi file
17721
17722 2009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>:
17723 updated to patchlevel "j"
17724
17725 2009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17726 fixed adjudicating probelm in Shantranj
17727
17728 Refrain from adjudicating a draw based on insufficient mating material
17729 (except bare King vs bare King) in Shatranj (where in this case you can
17730 still win by baring the opponent's King).
17731
17732 2009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17733 updated documentation and FAQ
17734
17735 2009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17736 source clean up. Fix compiler warning, removed unused variables, etc.
17737
17738 2009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>:
17739 adding support for different windows compiler
17740
17741 Eric kindly provided us with some makefiles for different windows
17742 compiler and also fixed some issues that came up while using those compilers.
17743
17744 2009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>:
17745 cleanup: got rid of a lot of files that are not needed for a new release
17746
17747 lots of documentation was available in several places,
17748 old unused source files and not used graphics file were floating around
17749 in the tree. This should clean up most of it. No need to keep these files
17750 around, especially since we are using version control.
17751
17752 2009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17753 Added the Action-menu items that allow the user to adjudicate
17754 ongoing games in Two-Machines mode. This was an already existing
17755 backend function from Winboard_x; I only had to create a menu item for it
17756 to be called. Due to an oversight I had forgotten to do that so far.
17757 (Logically, I should have done it in the 4.3.5 release,
17758 where I updated the XBoard menus to conform to the WinBoard menus.)
17759
17760 I tested them, and they seem to work. (As expected.)
17761
17762 2009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>:
17763 updated patchlevel to "i"
17764
17765 2009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17766 small change to mousewheel support; two changes in window behaviour
17767
17768 * Visible effects during resizing suppressed, bug in chosing new size fixed.
17769 * No longer reserves left and top margins next to main window on first popup.
17770 * built in some hysteresis into mousewheel support, ignorng the first event in any new
17771 direction to suppress effects from accidential mouse movement.
17772
17773 2009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17774 corrected 'animate dragging'
17775
17776 I finally figured out how the 'animate dragging' works in XBoard,
17777 so that I could add code to do the unstacking of multiple pieces
17778 in the holdings, rather than always leaving an empty square while
17779 you drag them. (And then suddenly re-growing the remaining pieces
17780 as you make the drop.)  It does not look as fancy as in WinBoard
17781 yet, because the counts still only decrease when you release the
17782 piece, rather than when you lift it. But this is not nearly as
17783 disturbing as leaving empty holdings (if only temporarily) when
17784 you still have pieces there.
17785
17786 2009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17787 Added comand-line options -debugFile (as synonym for -nameOfDebugFile,
17788 as WinBoard also has these synonyms), and -engineDebugOutput
17789 (wich already existed in the backend).
17790
17791 2009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17792 updated documentation for new release
17793
17794 2009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17795 added Xiangqi perpetual-chase detection
17796
17797 2009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>:
17798 Updated all files to GPL version 3.
17799
17800 2009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>:
17801 converted two files from dos to unix format
17802
17803 2009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>:
17804 updated INSTALL, NEWS and other files for new release
17805
17806 cleaned up a bit and updated some information in the text files.
17807
17808 2009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>:
17809 winboard/config.h shouldn't be in .gitignore, only ./config.h
17810
17811 2009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17812 bumped patchlevel to 0g
17813
17814 2009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17815 corrected path in makefile
17816
17817 2009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17818 updated rtf
17819
17820 2009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17821 added firstOptions, secondOptions, noGUI, firstXBook, secondXBook
17822
17823 2009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17824 handle promotion case for Shogi
17825
17826 2009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17827 add note about RESULT command for GUI programmers
17828
17829 2009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17830 small changes to book.c
17831
17832  added code for different board sizes
17833  added some debuginfo
17834  handle promotion of pieces
17835
17836 2009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>:
17837 added a .gitignore file
17838
17839 2009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>:
17840 wrong line ending for Unix... ran dos2unix on both files
17841
17842 2009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>:
17843 fixed texinfo files, added windows help file, removed config.h from git
17844
17845 texinfo.in is not needed anymore, since it only provided a
17846 version string, but this can be created automatically using autotools
17847
17848 deleted config.h from version control, since it is automatically created.
17849 added winboard.hlp file (not sure if needed)
17850
17851 2009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>:
17852 updated autoconf init file
17853
17854 * renamed autoconf init file from configure.in to configure.ac
17855 * added bug-report email address to ac_init
17856 * replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output
17857
17858 2009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>:
17859 parser.c is generated by lex, so it shouldn't be tracked
17860 and also parcer.c shouldn't be in Makefile.am
17861
17862 2009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>:
17863 added book.c to Makefile.am
17864
17865 2009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>:
17866 use autoheader to create config.h.in
17867
17868 no need to track this in git anymore
17869
17870 2009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>:
17871 fixed autoheader warings, remove depreciated acconfig.h
17872
17873 2009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>:
17874 added a autogen.sh
17875
17876 2009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17877 changes from H.G. Muller; version 4.3.16
17878
17879 2009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17880 changes from H.G. Muller; version 4.3.15
17881
17882 2009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17883 changes from H.G. Muller; version 4.3.14
17884
17885 2009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17886 HGM fixed cygwin compile for winboard
17887
17888 2009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>:
17889 cross compilier working
17890
17891 2009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17892 changes from H.G. Muller; version 4.3.13
17893
17894 2009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17895 changes from H.G. Muller; version 4.3.12
17896
17897 2009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17898 changes from H.G. Muller; version 4.3.8
17899
17900 2009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17901 changes from H.G. Muller; version 4.3.7
17902
17903 2009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17904 changes by H.G. Muller; version 4.3.4
17905
17906 2009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17907 changes from H.G. Muller; version 4.3.2
17908
17909 2009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
17910 changes from H.G. Muller
17911
17912 2009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>:
17913 cleaned up the directory a bit. Removed winboard-dm-beta,
17914 merged the two Changelogs together
17915
17916 2009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>:
17917 changes from Alessandro Scotti from 20060129
17918
17919 2009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>:
17920 changes from Alessandro Scotti from 20060112
17921
17922 2009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>:
17923 changes from Alessandro Scotti from 20051231
17924
17925 2009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>:
17926 changes from Alessandro Scotti from 20051129
17927
17928 2009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>:
17929 changes from Alessandro Scotti from 20050322
17930
17931 2009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>:
17932 translated a handfull of strings and set the codeset to UTF-8
17933 for the translations.
17934
17935 2009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>:
17936 Translation: added German po file (roughly 50% translated)
17937
17938 2009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>:
17939 fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi
17940
17941 2009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>:
17942 fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in
17943
17944 2009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>:
17945 fixed a warning message in the configure script
17946
17947 2009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>:
17948 fixed parser.l. Should fix bug #22812
17949
17950 2009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>:
17951 fixed parser.l. Should fix bug #22812
17952
17953 2009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>:
17954 added myself to the AUTHOR file
17955
17956 2007-06-15 04:26:57 +0000 Mark Loli <chessknight>:
17957 Initial check-in of NSIS Winboard installer files.
17958
17959 * 06/12/2005: bugfix some more possible buffer overflows.
17960
17961 * 06/27/2004: added simple icsEngineAnalyze for xboard
17962
17963 * 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games
17964 with a chessprogram on a Internet Chess Server (ICS)
17965
17966 * 02/12/2004: Bugfix ICS interaction console crashed while chess
17967 engine starting and user type in some stuff. We wait now to finish
17968 the engine boot.
17969
17970 * 02/11/2004: Winboard: Added color lines for the ics interaction
17971 console if zippy used
17972
17973 * 02/09/2004: Added mousewheel support for winboard. Play moves
17974 backward and forward with the mousewheel.
17975
17976 xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann
17977
17978 * 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output
17979 to WinBoard.debug too.  (This isn't needed in xboard because ICS
17980 output already goes to stdout, so it's easy to capture along with the
17981 debug output on stderr.)  This was issue #280 in the ToDo file.
17982
17983 * 11/23/2003: Cleaned up some minor problems in cygwin.mak.  Thanks to
17984 Hans Werner Strube for the problem report.
17985
17986 * 11/23/2003: Updated the default list of chess servers in
17987 winboard/defaults.h.  Deleted two that appear to be dead and added a
17988 new one that is active.
17989
17990 * 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.
17991 Hopefully this will get them the right way around by default on more X
17992 window managers.  I wish I understood this better.
17993
17994 * 11/18/2003: Implemented a simple 32-bit random number generator for
17995 WinBoard, replacing the Windows rand(), which ranges only up to
17996 0x7fff.  Formerly on Windows, only zippy.lines sayings that started in
17997 the first 32767 bytes of the file could ever be used.  This was issue
17998 #505 from the ToDo file.
17999
18000 * 11/16/2003: The xboard man page and info files are now built from a
18001 common set of texinfo source files, and the xboard man page now covers
18002 cmail as well.  Formerly, ever since the texinfo file was first
18003 contributed to the project, it was separate from the man page and the
18004 two files had to be updated in parallel, making for a maintenance
18005 nightmare.  To make combining the files possible, I took the Perl
18006 script "texi2man" from the GNU Units project and added support for a
18007 larger subset of the texinfo markup language.  I then carefully
18008 compared the old man page and old texinfo file to make sure the latest
18009 and clearest words survived into the new combined texinfo file.  It
18010 would be great to merge in WinBoard's help file too, but that's a
18011 larger project.  It would have to be heavily conditionalized to
18012 deal with differences in features between XBoard and WinBoard.
18013
18014 * 11/15/2003: Cleaned up and applied a small patch from Daniel
18015 Mehrmann, to stop overly long PVs in thinking output from causing a
18016 buffer overflow crash in backend.c.
18017
18018 * 11/5/2003: When a chess engine sends a "telluser" command (including
18019 the cases where "tellall" or "tellopponent" acts like telluser), the
18020 information now goes into a nonmodel popup that is automatically
18021 dismissed when the user clicks anywhere on the board.  This fix is
18022 more significant on WinBoard, where formerly you got a fully modal
18023 dialog that had to be dismissed by clicking on OK before anything else
18024 could happen.  The bug was issue #406 in the ToDo file.
18025
18026 * 11/1/2003: Removed email addresses from this file to reduce spam
18027 load, as it gets linked to from the Web.
18028
18029 * 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.
18030
18031 * Modified xboard and winboard makefiles to be able to build the
18032 project in the new combined directory structure.
18033
18034 * Applied a small security fix to pxboard, from Martin Maeok.
18035
18036 * Fixed a bug in the game list dialog.  The change in 4.2.6 to opening
18037 games in text mode (meant to avoid getting extra \r's into comments)
18038 caused a new bug in determining seek offsets when parsing a game file
18039 to form the game list.  Also, the change was incomplete; on some code
18040 paths games were still being opened in binary mode.  Thanks to Lenik
18041 Terenin for reporting the offset bug.  I've now gone back to always
18042 using binary mode when reading game files, and I've fixed the comment
18043 bug by adding code to remove \r's from parsed comments explicitly.  I
18044 still use text mode for writing game files so that games written by
18045 WinBoard will have Windows-style line endings.
18046
18047 * Fix for minor bug in WinBoard installer.  If you chose a non-default
18048 destination directory, the default directory was still used for a
18049 couple of unimportant things, namely setting the App Paths registry
18050 keys (unused by WinBoard) and trying to copy the existing WinBoard.ini
18051 file to WinBoard.old.  I inherited this bug from the InstallShield 5
18052 sample template.  Thanks to "l.d." for noticing the incorrect keys.
18053
18054 * Patch from Chris Priest: when two engines are being run through rsh,
18055 avoid reusing the same stderr port for both.  I'm not sure why this
18056 should be needed, but it's harmless, at least.
18057
18058 * Bugfix: The kludge to deal with old engines that give an error
18059 message because they don't know the "st" command was too sloppy; it
18060 could hit on an "st" substring anywhere in an error message.  GNU
18061 Chess 4 is the only engine I know of where the kludge was needed, so I
18062 changed the kludge to match a longer, more GNU-specific string.
18063
18064 * Changed the WinBoard self-extracting installer to choose a unique
18065 temporary subdirectory name within the Windows temp directory instead
18066 of always putting wb-setup directly in temp.  Besides being better
18067 practice, this avoids the need to deltree wb-setup first, which
18068 occasionally alarms someone who thinks that deltree is only used by
18069 trojans to delete all your files.  (Yes, I'm serious.)
18070
18071 * Fixed a bug where FICS-style "wild/0" strings were not parsed as the
18072 proper wild type.  The "/" was not being skipped.
18073
18074 * Fixed a WinBoard bug where temporary files created by game
18075 copy/paste were being created in the root directory of the current
18076 drive instead of the TMP directory and were not always deleted on exit.
18077
18078 * Fixed a small bug in winboard.c's ErrorDialog() function.  Thanks to
18079 "Ron" (no last name given).  The bug might have caused a problem when
18080 pressing OK or Cancel in an error dialog when more than one error
18081 dialog was being displayed, but I'm not really sure.
18082
18083 * Removed a hack that worked around a bug in very old versions of
18084 Crafty, where it would sometimes reply "illegal move" to a "."
18085 command.  The hack kept us from recognizing real illegal move messages
18086 in analyze mode from engines that don't respond to the "." command.
18087 Thanks to Fabien Letouzey for the report.
18088
18089 * Fixed a bug in the xboard version of GetDelayedEvent.  It would
18090 return the most recently scheduled event even if it had already fired.
18091 This caused at least one visible error: in -ics -xreuse mode, starting
18092 the engine again and seeing another "feature done=1" would re-run the
18093 initialization code in InitBackEnd3, including the code that opens the
18094 connection to ICS.  The WinBoard version didn't have this bug.  Thanks
18095 to Bob Hyatt for the bug report.
18096
18097 * The promotion popup for ICC wild 26 (giveaway) now includes King.
18098 Thanks to Fredrik Josefsson for the bug report.
18099
18100 * The first game in a file (or being pasted from the clipboard) can
18101 now start with a bare move -- no PGN tags, no move number "1", etc.
18102 Suggested by Shane Harrelson.  One could imagine taking this farther
18103 and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but
18104 I haven't done that.
18105
18106 * Bug fix: xboard didn't really accept a paste of multiple games,
18107 contrary to what I wrote when adding the feature to WinBoard in
18108 4.2.4.  Now it works in both.
18109
18110 * Fixed generic start/end of game messages to work on chess.net, where
18111 they put ratings in parens after the player names.
18112
18113 * Updated config.sub and config.guess to newer versions from
18114 automake-1.4p5-2.  This makes configure work with MacOS X + X11.
18115
18116 * Bugfix: when examining a game fragment on FICS where black plays
18117 first, don't show two "(0:00.000)" times on the initial "none" move.
18118
18119 * If TestLegality is on and one of the engines makes an illegal move
18120 in TwoMachines mode, it forfeits immediately.  Formerly the game would
18121 get stuck at that point and the engine that made the illegal move
18122 would eventually lose on time.
18123
18124 xboard/WinBoard 4.2.6 -- Fri Feb  1 22:26:31 PST 2002
18125 Tim Mann
18126
18127 Another small bugfix release.
18128
18129 * Put in a small change from Alexander Mai to allow xboard to build in
18130 an OS/2 EMX environment.
18131
18132 * Fix WinBoard-only bug where editing a PGN file with comments would
18133 insert more \r characters before the \n after every Load/Save cycle.
18134 For some unknown reason we were reading the files in "rb" mode but
18135 writing them in "a" mode, so we kept the \r characters on reading and
18136 added an extra one on writing.  Fix: change the "rb" to "r".  Thanks
18137 to Joel (last name not given) for the bug report.
18138
18139 * Put the arguments to rsh/remsh in the right order for better
18140 portability.  Thanks to Michael Kalisz.
18141
18142 * FreezeUI is now implemented in WinBoard; it was previously only
18143 implemented in xboard.  This function prevents the user from entering
18144 moves or other commands while we are waiting for an engine to
18145 initialize itself.  Implementing it fixes a bug where the user could
18146 start a game (etc.) during feature negotiation.  One of the symptoms
18147 of this bug was that we could send "new" one or move moves *after* the
18148 first game started!
18149
18150 * Fixed some handle leaks (WinBoard only), including a nasty one that
18151 leaked one handle per command sent to ICS.  Thanks to several folks
18152 who helped characterize the bug and tried to look for leaks.
18153
18154 * We now install and look for the info file in ${prefix}/share/info
18155 instead of ${prefix}/info.  The latter is still the default in
18156 autoconf, but the former is currently used in Red Hat Linux and
18157 probably elsewhere.
18158
18159 xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001
18160 Tim Mann
18161
18162 * Changed the bundled GNU Chess 5.02 in the WinBoard package to
18163 include a much smaller book and to use much less hash table space by
18164 default (8 MB transposition table, 0.5 MB pawn evaluation table).  The
18165 large book included with 4.2.4 made the WinBoard download too big for
18166 some people, and the default hash tables were larger than the
18167 available physical memory on some people's computers. I built the
18168 small book by running Crafty's "small.zip" book line collection
18169 through a Perl script that makes it look enough like real PGN games
18170 that the GNU Chess book builder will accept it.  The script and some
18171 minor patches to GNU Chess 5 are available in the WinBoard source
18172 distribution and at http://www.tim-mann.org/gnuchess.html.
18173
18174 * Fixed a bug in the code that deals with engines that complain that
18175 "time" and "otim" are illegal moves.  This was a new bug in 4.2.4.
18176
18177 * Revamped the implementation of ToStart in analysis mode.  Formerly
18178 there was some ill-conceived code that would try to get back to the
18179 start of the game by doing a "new" command (and all the followup
18180 commands that requires) while remaining in analysis mode.  This is
18181 problematic for engine authors to support, though it works with
18182 Crafty.  This code was trying to solve the problem of ToStart being
18183 slow because the engine would try to start an analysis after every
18184 "undo" command all the way back to the start.  But ToEnd already had a
18185 much better solution to this problem, and now ToStart does the same
18186 thing: we exit from analysis mode and enter force mode instead,
18187 make/unmake moves to get to the end/start of the game, and then
18188 reenter analysis mode.
18189
18190 * Formerly, Zippy could try to start playing a game before the engine
18191 was initialized; that is, during the initial timeout for protover 1
18192 engines, or before "feature done=1" for protover 2 engines.  We now
18193 wait until the engine is initialized before connecting to ICS, which
18194 fixes this in the common case.  If you turn off engine reuse for
18195 multiple games (that is, if you give the -xreuse option), there could
18196 still be problems; see item 503 in the ToDo file.  Thanks to Dieter
18197 Buerssner for the bug report.
18198
18199 * Bugfix: All WinBoard versions since the merge with WinBoard Plus
18200 (but not xboard) have had a bug in changing the PeriodicUpdates,
18201 PonderNextMove, and ShowThinking options from the menu.  The bug
18202 mostly just caused changing these options during a game to not take
18203 effect until after the next reset.  For TwoMachines games, though,
18204 changing PonderNextMove just before the game would take effect
18205 immediately for the second engine but not until the next game for the
18206 first engine.  Thanks to Koundinya Veluri for the bug report.
18207
18208 * Bugfix: In 4.2.4, we sometimes got confused when trying to leave and
18209 reenter analyze mode.  One symptom was that Analyze File did not work.
18210 Thanks to Igor Syry for the bug report.
18211
18212 xboard/WinBoard 4.2.4 -- Sun Dec  9 14:56:30 PST 2001
18213 Tim Mann
18214
18215 * WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.
18216
18217 * WinBoard's PasteGameFromClipboard will now handle a paste with
18218 multiple games in it, popping up the game list dialog.  xboard
18219 already did this.  Suggested by Robert Gerstman.
18220
18221 * We now use the "clearboard" command on ICC where appropriate.
18222
18223 * Bugfix: don't generate a bogus "variant normal" command to an engine
18224 for the loadable ICC wild types that we internally flag as
18225 VariantLoadable.  Also clarified the message that Zippy sends when
18226 declining such wild games -- it can't deal with the possibility of
18227 loading an arbitrary position into the game.  Thanks to Dieter
18228 Buerssner for reporting the problem.  It would be nice to be able to
18229 actually play these wild types some day; presumably there would have
18230 to be an option to either send "loadgame" with a specified position,
18231 or to deal with an opponent sending it.
18232
18233 * If we get a holdings message from ICS when we thought we were
18234 playing normal chess, we now try asking for a move list so that we can
18235 find out from the header what's really happening.  Formerly we guessed
18236 bughouse in this case.  Response to a comment from Gian-Carlo
18237 Pascutto.
18238
18239 * Fixed two longstanding bugs in the clock code.  These affected only
18240 play between a user and a local engine, or between two local engines,
18241 not ICS play.  (1) The last fractional second used by a player before
18242 moving and virtually pushing his clock was being charged to his
18243 opponent instead of to him.  (2) The time and otim commands were being
18244 sent to an engine before the (buggy) fractional second update was
18245 done.  The second bug was pretty harmless in itself, but the first one
18246 was serious.  Many thanks to Peter Rosendahl for carefully diagnosing
18247 and reporting these bugs!
18248
18249 * Changed WinBoard timestamp key.  Nothing is changed other than the
18250 key and a recompilation.  ICC may phase out the old key soon; if they
18251 do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later
18252 to connect to chessclub.com.
18253
18254 * Fixed an xboard-only bug where most dialogs would not take keyboard
18255 input unless the mouse was actually over the dialog, even if the
18256 dialog window had focus.  Thanks to Jason Varsoke for the bug report.
18257
18258 * Bugfix; Remember to send time and otim commands to engine before
18259 sending playother.  Thanks to Bob Hyatt for the bug report.  Also
18260 fixed a bug where time and otim were sometimes sent even with feature
18261 time=0.
18262
18263 * Added small patches from Wilkin Ng that are meant to fix a crash in
18264 CopyGameToClipboard and a "can't unlock clipboard memory" error in
18265 PasteTextFromClipboard, under Windows 2000.
18266
18267 * Changed cygwin.mak to not use -mno-cygwin.  In other words, it now
18268 uses cygwin1.dll instead of the mingw libraries.  This works around
18269 bugs in fileno() and stat() that I encountered in mingw.  (fileno
18270 seems to always return 0.  stat fails because the library routine uses
18271 a different definition of struct stat than the header files provide.)
18272 Thanks to Robert Gerstman for reporting the symptoms these bugs caused
18273 when WinBoard was compiled with Cygwin.
18274
18275 * Added -showButtonBar option.  This lets you delete the << < P > >>
18276 buttons and thus widen the message widget a bit.
18277
18278 * Added code to address a very obscure bug.  If an engine dies and
18279 needs to be restarted while in one of the analyze modes, it was not
18280 getting put back into analyze mode.  This bug should not really ever
18281 have gotten tickled unless reuse was turned off and the engine sends
18282 game end commands (such as 1-0) when a game ends by rule while in
18283 analyze mode.  The next version of the protocol spec will say that
18284 engines should not do that, but version 2 and earlier didn't address
18285 the issue.
18286
18287 * We now use the FICS "iset ms 1" feature to get times in ms instead
18288 of seconds.  Thanks to DAV for email telling me about this feature.
18289
18290 * Changed clock display to show tenths of seconds for 9.9 seconds and
18291 less, instead of 0.9 seconds and less as before.
18292
18293 * It has been discovered that Zippy can play simuls on ICC (but not on
18294 FICS).  If you arrange for Zippy to send the ICC command "simulize" in
18295 the -zippyGameStart string, it will accept additional games while
18296 playing.  Zippy will use the same engine for every game, so whenever
18297 it switches opponents, the engine's state will be reset with the "new"
18298 command.  This will of course weaken its play, so don't enable simuls
18299 if you want your engine to have the highest possible rating.  Zippy
18300 was never designed to work with simuls; it just works by accident, and
18301 it hasn't been tested much.  So please report any bugs you notice, but
18302 don't expect them to be fixed rapidly.  Thanks to Paul McGuire for
18303 noticing that this works.
18304
18305 * Bugfix: Suppress the direct command to engine popup if there is no
18306 engine.  In WinBoard this case used to cause a crash.  Thanks to
18307 "Dargon" for the bug report.
18308
18309 * Bugfix: formerly we did part of the engine initialization for the
18310 very first game too soon, before feature negotiation.  One result of
18311 this is that engines would never get the "ics" command for the first
18312 game.
18313
18314 * Lengthened timeout to detect protocol version 1 chess engines to 10
18315 seconds.  This should reduce problems with protocol version 2 engines
18316 that are slow to initialize missing the timeout and not getting a
18317 chance to send their feature commands before the first game starts.
18318
18319 * Klaus Friedel says that adding a short sleep to WinBoard after
18320 starting a new chess engine solves a problem that occurs under Windows
18321 2000, in which engines sometimes don't see the initial command(s) from
18322 WinBoard and hang.  I don't understand how that can happen, but the
18323 sleep is harmless, so I've put it in.  Others have also reported what
18324 may be the same problem, so hopefully this will fix it for them too.
18325
18326 * Bugfix: editing the Result field in EditTags will no longer cause a
18327 later crash.  Thanks to DAV for a clear bug report that let me
18328 reproduce the problem.
18329
18330 * ICC wild 28 is now recognized as shatranj, but it is not supported.
18331 You might be able to play it by turning off Test Legality.
18332
18333 * Formerly we would always turn off "feature time" if the engine
18334 printed an error message with the string "time" or "otim" in it; now
18335 we do that only if the message comes before the engine makes its first
18336 move.  This change is useful because some engines spew a lot of bogus
18337 error messages about commands they don't fully parse, so something
18338 like "result 0-1 {White lost on time}" could generate such a message.
18339 Engines shouldn't do that, but if they do, mysteriously turning off
18340 "feature time" is not a good way to react.
18341
18342 * Fixed an infrequently occurring Zippy bug: formerly, resuming from
18343 adjournment by position (that is, with GetMoveList turned off) or
18344 starting/resuming a wild game (nonstandard starting position) would
18345 try to set up the position without putting the engine into force mode
18346 first.  That was probably tolerated by most engines, but if the
18347 position was black-to-play and the engine hadn't set feature
18348 setboard=1, then the fake "a2a3" move (which we use as a kludge to get
18349 black to be on move before sending the edit command) would appear to
18350 be a real move, and the engine might reply to it!  This bug could also
18351 be seen when trying to use Zippy to play a simul -- something that
18352 Zippy was never designed to support, but which seems to mostly work
18353 anyway.  Thanks to Paul McGuire for sending a WinBoard.debug file that
18354 showed the bug occurring.  Some other cases of resuming adjournments
18355 or starting games from nonstandard positions may have been broken too;
18356 I think I've straightened out the problems.
18357
18358 * Agreeing to a draw in the human vs. local engine case formerly did
18359 not work if the human offered first; now it does.  A human's
18360 unsolicited offer is considered valid until he makes another move.
18361 Thanks to Bruce Moreland for the bug report.
18362
18363 * Bugfix: We used to look for just "fr" in Event tags or strings from
18364 ICSes to recognize Fischer Random games.  This caused a lot of false
18365 matches.  Now we look for "wild/fr" instead, which is what FICS uses.
18366
18367 * Bugfix: Clicking on a move in the MoveList window only updated the
18368 displayed position; if a chess engine was active, its state was not
18369 updated.  Thanks to Alejandro Dubrovsky for the bug report.
18370
18371 * Bugfix: The "resign" command from engine to xboard formerly did not
18372 work in ICS (Zippy) mode.
18373
18374 * Bugfix: Formerly we would register a garbage premove if the user
18375 clicked on a piece, then clicked on an edge or outside the board.  Now
18376 such an errant click is ignored.
18377
18378 * Bugfix: GameEnds would send "exit" to an engine in analyze mode even
18379 if we did not actually want to leave analyze mode.
18380
18381 * Bugfix: "feature pause" was being rejected.  We don't currently use
18382 it, but that is no reason to reject it.  Thanks to Gian-Carlo Pascutto
18383 for the bug report.
18384
18385 * Bugfix: when "partner" needed to be sent both to ICS and the engine,
18386 Zippy was erroneously sending the ICS prefix character to the engine
18387 too.  Thanks to Gian-Carlo Pascutto for the bug report.
18388
18389 * Zippy now declines challenges when the engine is not yet ready to
18390 play again, instead of ignoring them.  This is needed so that the
18391 server will let the opponent repeat the challenge.  It might be better
18392 to remember such challenges and accept them when the engine is ready,
18393 but that would be a bit more complicated to implement.
18394
18395 * Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a
18396 built-in alias for "it", not a real command.  So sending "$i foo" gave
18397 an error message instead of doing "it foo".  We now leave out the
18398 alias-suppressing prefix for emotes.
18399
18400 xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001
18401 Tim Mann
18402
18403 * Bugfix: The error message "Variant X not supported by gnuchessx"
18404 formerly could pop up even in -ncp mode.
18405
18406 * Fixed an xboard bug in premove highlighting.  If you had
18407 HighlightLastMove turned on, premoves got highlighted in
18408 highlightSquareColor (yellow) instead of premoveHighlightColor (red).
18409
18410 * Modified premove again.  Now we are back to displaying the move
18411 locally immediately after sending it to the server, as in versions
18412 prior to 4.2.1.  This is good because it lets you register your next
18413 premove sooner.  As a better fix to the problem that the change in
18414 4.2.1 had been trying to address, we now suppress animating the
18415 opponent's move if you have a premove reply pending.  However, it's
18416 probably still a good idea for you to turn off AnimateMoves entirely
18417 if you are trying to play extremely fast games.
18418
18419 * Removed an erroneous patch that left zombie chess engines around
18420 when both sigterm and reuse were turned off.  (Bug was in xboard only,
18421 not winboard.)
18422
18423 * Bugfix: loading a game with autostepping did not work for games with
18424 PGN result "*" (unfinished).  This bug was introduced in 4.1.0, caused
18425 by some outdated code that was supposed to leave you in EditGame mode
18426 after loading an unfinished game.  I fixed this, and also changed it
18427 to leave you in EditGame mode after loading *any* game, but without
18428 changing the tags to say it's an edited game.  It's not really clear
18429 whether that is the best thing is to do here -- ideally, perhaps, the
18430 tags should change to say "edited game" if you actually make any
18431 changes, but that is harder to make work.
18432
18433 xboard/WinBoard 4.2.2 -- Tue Feb  6 20:00:00 PST 2001
18434 Tim Mann
18435
18436 * Fixed a problem introduced in 4.2.1.  In -zippyPlay mode, 4.2.1
18437 started sending the initString immediately after the old game ended,
18438 but then when the next game started, it would still send "force" and
18439 another initString.  Another problem was that the first initString put
18440 the engine out of sync with the displayed board position, though that
18441 might not usually have been noticeable.  This is now changed to do a
18442 full Reset at the end of the previous game, and avoid doing a Reset at
18443 the start of a new game if we are still in BeginningOfGame mode.
18444
18445 * Fixed some limitations in -zippyPlay mode.  The engine was not being
18446 fed the moves or history of games that were displayed but not being
18447 played, so it would get confused if you tried to do something like
18448 examine a game, then enter EditGame mode from somewhere in the middle
18449 of the game.
18450
18451 * Made a small change so that cygwin can compile xboard for Windows
18452 (an X server is required to run it).  Thanks to Volker Zell.  Most
18453 people would probably prefer to run WinBoard on Windows, however; note
18454 that cygwin could already compile WinBoard.
18455
18456 * Added some missing documentation to engine-intf.html: It is okay to
18457 send "feature done=0" even before you receive the xboard and protover
18458 commands, if this is needed to give your engine enough time to
18459 initialize.  See engine-intf.html for more discussion.
18460
18461 * Bugfix: "feature done=0" did not work for the second engine; now it does.
18462
18463 xboard/WinBoard 4.2.1 -- Sat Feb  3 19:52:26 PST 2001
18464 Tim Mann
18465
18466 * Bugfix: in Zippy mode with feature san=1, the elapsed time was being
18467 sent to the engine after the SAN move; for example, "e4 (0:01)" was
18468 sent instead of just "e4".
18469
18470 * It seems that scroll wheel mice with incompletely installed software
18471 (under Windows 95, at least) can send repeated middle button up events
18472 when the wheel is turned.  Moved QuickPaste from middle button up to
18473 middle button down to avoid problems with this.
18474
18475 * A premove is now sent *before* the opponent's move that it replies
18476 to is animated.  The premove itself is no longer displayed (or
18477 animated) when sent; instead, it is displayed when the chess server
18478 echoes it back as a board update.
18479
18480 * Bug fix: in -xreuse mode, xboard was only sending command line
18481 arguments to the engine the first time it was started.  (WinBoard
18482 didn't have this bug.)
18483
18484 * In -zippyPlay mode, we now initialize the chess engine for a new
18485 game immediately after the old game ends.  (In -xreuse mode, this
18486 means starting a new engine process; in the default -reuse mode, it
18487 just means sending "new".)  If the engine supports ping, we don't
18488 accept challenges until the "new" has finished.  This should help
18489 avoid losing time (re)initializing the engine after the game starts.
18490
18491 * We now handle the new FICS field in style 12 that says whether the
18492 clocks are ticking.
18493
18494 * whiteFlag and blackFlag are now reset whenever an ICS board image
18495 arrives, giving autoflag a fresh chance to work.
18496
18497 * Suppressed "geometry error" debug messages unless -debug flag is given.
18498
18499 * Bugfix: avoid core dump on Solaris with -debug flag, caused by
18500 passing NULL to a %s format in GameEnds.
18501
18502 * Added -firstProtocolVersion and -secondProtocolVersion.  This will
18503 allow use of extremely broken engines that hang or die when given the
18504 "protover 2" command.  It should be rarely if ever needed.
18505
18506 * Zippy now strips highlights from player names in the Creating
18507 message; previously the ratings would not be extracted from this
18508 message properly if you had set the highlight variable.
18509
18510 * Bug fix: Zippy with -zp but not -zt used to be fooled by false
18511 partner tells inside channel tells; e.g.:
18512 Garf(24): Garf (your partner) tells you: sit
18513
18514 * Bug fix: when an engine reported its name with the new "feature
18515 myname=" command, we had been putting just that name into the window
18516 title even when in TwoMachines mode.
18517
18518 * By default, WinBoard no longer uses the new feature introduced in
18519 4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess
18520 engine command lines in separate files; instead, the lists are back in
18521 the winboard.ini file.  This gets rid of some problems where the
18522 separate files could not be opened because the working directory was
18523 not set to WinBoard's installation directory.
18524
18525 * WinBoard command lines and ini files now have another optional
18526 syntax for quoting an option value.  All characters within { } curly
18527 braces are interpreted literally except for '}' itself.  SaveSettings
18528 now uses this syntax for string values that contain a backslash or
18529 newline and do not contain a '}'.  This should address the problem
18530 that the separate .ini files had been meant to fix; engine command
18531 line lists can now be written without \-escapes.
18532
18533 * Fixed three bugs in relaying moves between engines in TwoMachines
18534 mode: an engine would be sent SAN if the *other* engine had set
18535 feature san=1, a relayed SAN move did not end with a newline, and
18536 feature usermove was not implemented for relayed moves.
18537
18538 * Fixed several bugs in exiting: File/Exit would sometimes hang;
18539 timestamp/timeseal would not get killed off; an engine crash would
18540 cause error messages to be printed recursively until stack overflow.
18541
18542 * Fixed a bug in the code to detect which ICS is in use and adapt to
18543 it; the chess.net case was broken.
18544
18545 * Removed the leading alias-suppression character when sending a move
18546 to ICS, because it seemed to break accuclock on chess.net.
18547
18548 * Fixed a bug where a FICS prompt like "10:01_fics%" would be matched
18549 as finger note number 10, causing a problem detecting when the user is
18550 logged in.
18551
18552 * Added tellicsnoalias command to protocol.
18553
18554 * Changed st command in protocol back to old behavior.
18555
18556 * Added done=0 feature to protocol, to lengthen initial timeout.
18557
18558 * Added missing -colorSeek command line option to xboard.  (Was
18559 present in WinBoard.)
18560
18561 * Bug fix: setting feature reuse=0 was not working.
18562
18563 xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000
18564 Tim Mann
18565
18566 * Setting -searchTime no longer turns off -clockMode.  Note that when
18567 -searchTime is set, some engines may search for the lesser of
18568 searchTime and the amount of time their normal clock management would
18569 dictate, while others will disable their normal clock management and
18570 always search for exactly searchTime.
18571
18572 * Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the
18573 ICS Interaction window would scroll back to the top whenever it filled
18574 to capacity and WinBoard trimmed some text off the top.
18575
18576 * Changed xboard dragging so that the center of the dragged piece is
18577 forced to be over the mouse cursor.  (WinBoard dragging already worked
18578 that way.)  This should avoid confusing cases when you start a drag
18579 with the mouse near the edge of a square -- formerly most or all of
18580 the piece could be over one square but the mouse cursor over another.
18581 Suggested by DAV.
18582
18583 * Added move list window for xboard.  Code contributed by Manuel
18584 Hoelss and re-hacked a bit by me.  Performance of this window is poor,
18585 because the implementation regenerates the entire window contents
18586 whenever anything changes.  It's hard to avoid this when using the
18587 Athena List widget, though we could be a little smarter and notice
18588 when the current move number has changed but the move list has not.
18589 There are also several drawing problems caused by bugs in the Athena
18590 Form and List widgets.  The window should not really allow a
18591 horizontal scroll bar, but the bugs are much worse if I turn it off.
18592 In both Xaw and Xaw3d, the List widget tries to resize itself when
18593 XawListChange is called, even if you tell it not to; and what's worse,
18594 if the widget cannot resize itself to be large enough to avoid
18595 clipping any of the list item, it does not change the list!  Arrgh.
18596 On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1
18597 (X11R6.4.3).
18598
18599 * The OK button in the WinBoard startup dialog is now simply disabled
18600 if none of the radio buttons is selected, instead of bringing up an
18601 error dialog.  Suggested by Ted Milbaugh.
18602
18603 * Used ping to address the worst of the race conditions in the
18604 protocol.  Now if an engine supports ping, we ping it after sending
18605 the "new" command and after trying to place it in force mode at the
18606 end of a game.  When a ping has been sent and the corresponding pong
18607 has not yet come back, we (1) ignore or undo any moves the engine
18608 sends, (2) ignore game end messages (such as "offer draw", etc.) from
18609 the engine, (3) ignore thinking output from the engine, (4) delay
18610 starting the next game if in -matchGames mode, (5) in -zippyPlay mode,
18611 respond to challenges with a polite message to try again soon instead
18612 of accepting them.  There are a few more things that should be done
18613 (and item 5 might not be quite what we want), but it's hard to fit
18614 them all into the existing code.
18615
18616 * Patched the version of GNU Chess 5.00 included with WinBoard to
18617 support protover, feature, setboard, and ping, and to fix some minor
18618 bugs.  See gnu500+.patch.
18619
18620 * Changed the GNU Chess 4 kludges for missing "st" and "sd" commands
18621 to be invoked only if the engine gives an error message for "st" or
18622 "sd", and to always use protocol commands instead of engine
18623 command-line options.  See "Idioms" in engine-intf.html.
18624
18625 * Added new protocol command "protover 2" to tell the engine what
18626 version of the protocol is in use.  Version 2 is still compatible with
18627 old engines; see engine-intf.html.
18628
18629 * Add new protocol command "feature ..."  The engine can send this in
18630 response to the protover command command, to say what extended
18631 protocol features it would like to enable, etc.  xboard responds
18632 "accepted F" or "rejected F" for each feature F that is set.  See
18633 engine-intf.html.
18634
18635 * Added new protocol command "setboard <fen>".  This is an alternative
18636 to "edit", used only if the engine says "feature setboard=1".
18637
18638 * Added new protocol command "ping <msg>".  The engine is supposed to
18639 respond "pong <msg>".  This gives us a tool to fix some race
18640 conditions in the protocol, but it is not used to the fullest yet.
18641
18642 * Added new protocol command "tellopponent".  This will do a "say" if
18643 you're on a chess server in Zippy mode, or pop up an information
18644 dialog otherwise.
18645
18646 * Added new protocol command "tellall".  This will do a "kibitz" if
18647 you're on a chess server in Zippy mode, or pop up an information
18648 dialog otherwise.
18649
18650 * Added new protocol command "tellothers".  This will do a "whisper" if
18651 you're on a chess server in Zippy mode, or do nothing otherwise.
18652
18653 * Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,
18654 and /secondChessProgramNames options to accept a filename preceded by
18655 "@", meaning to find the value in the file.  Changed the defaults to
18656 use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,
18657 and scp.ini.  This should make it easier for users to edit the values,
18658 since one less level of quoting is needed, and each value is in its
18659 own file, not mixed into winboard.ini.  Those who upgrade from an
18660 older winboard version and already have a winboard.ini file will not
18661 automatically have these values moved to a file; that has to be done
18662 by hand if desired.
18663
18664 * We now strip .exe from engine names for "name" command, tags, etc.
18665
18666 * Allowed WinBoard input widget to hold more than one line.  You can get
18667 a newline into the widget with copy/paste or with Ctrl+Enter.
18668
18669 * Fixed an xboard bug where the [P] button would appear in the
18670 opposite highlight state from what it should be after being pressed.
18671
18672 * We now use the "/" or "$" alias suppression feature on the chess
18673 servers, to avoid problems if the user inadvertently aliases a
18674 needed command to something else.
18675
18676 * Changed the method used to deiconize xboard in AutoRaise and cmail.
18677 This may fix bugs under some window managers where after
18678 deiconization, the board window was mapped but nothing was drawn
18679 inside.
18680
18681 * Preliminary, partial support for playing several chess variants
18682 against a local engine or editing variant games.  The -variant option
18683 must be given on the command line or WinBoard startup dialog; there is
18684 no menu.  The current variant is not displayed (except in the
18685 Tags/EditTags window).  Many variants will not work quite right even
18686 if the engine supports them; see item 326 in the ToDo file for
18687 details.
18688
18689 * Added a workaround to detect the variant type when examining a
18690 scratch wild game on an ICS.
18691
18692 * Fixed two cases where "variant" command should be sent to the engine
18693 when necessary but was not: loading a game from a file and restarting
18694 a dead engine.  Thanks to Gian-Carlo Pascutto.
18695
18696 * Added missing support for FICS games that start from a bsetup position
18697 with Black moving first.
18698
18699 * Fixed a bug in loading a file from the game list window while in
18700 Analysis or AnalyzeFile mode.  This now leaves us in AnalyzeFile
18701 mode, analyzing the new file.
18702
18703 * Fixed a bug in loading games with a comment before the first move.
18704
18705 * Fixed a bug in handling LoadGame (or -lgf) with -td 0.
18706
18707 * Added a command line option to select an initial minor mode from the
18708 Mode menu.  This should satisfy requests from a couple of users with
18709 special applications.
18710
18711 * Fixed a problem where some things in WinBoard's General Options
18712 dialog box were grayed out at the wrong time.
18713
18714 * We look for a few messages from the chess engine pipe that are
18715 intended to catch problems starting an engine via rsh, such as "No
18716 such file".  Moved code so that these strings won't match until other
18717 protocol messages have been looked for, and documented the messages in
18718 engine-intf.html.
18719
18720 * Fixed the WinBoard bug that sometimes made the console input box
18721 white-on-white even when not in password-entry mode.
18722
18723 * Small changes to WinBoard to be compilable with the latest Cygwin
18724 net release (as of 10-16-2000).  Thanks to Mark Schoenberg.
18725
18726 * Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net
18727 release (as of 10-16-2000).  Also rebuilt the book just to be sure,
18728 since I had one bug report about it.  It came out identical and seems
18729 to work fine.
18730
18731 * Added messages for some common InstallShield errors instead of just
18732 printing InstallShield's stupid error code numbers.
18733
18734 * Added -firstComputerString and -secondComputerString, allowing you
18735 to suppress or change the command that is sent to a chess engine when
18736 its opponent is another computer.
18737
18738 * Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead
18739 of Xaw widgets in xboard.  Thanks to Johnny C. Lam of the NetBSD
18740 project.  I've left Xaw as the default because Xaw3d is too ugly.
18741
18742 * The version of the Xaw Form widget released in XFree86 4.0.1
18743 (X11R6.4.3) has a bug that causes xboard to display the button bar
18744 on top of the message widget.  I've reported the bug and have
18745 installed a kludge workaround into xboard.
18746
18747 xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000
18748 Tim Mann
18749
18750 * Merged Winboard Plus 4.0.8 from Mark Williams into xboard
18751   source pool.  Status of Winboard Plus features in xboard:
18752
18753   - White pieces now have borders, but the implementation is
18754     completely different from WinBoard's; see below.
18755
18756   - Options menu not changed, probably won't be.
18757
18758   - Copy&paste support working, using Mark's changes to backend.c, Ben
18759     Nye's changes to xboard.c for FEN positions, and some code of my
18760     own in xboard.c for PGN games.
18761
18762   - Premove hooked up and working.  No pre-first-move, though.
18763
18764   - ICS Alarm hooked up and working.
18765
18766   - Auto-flip working.
18767
18768   - PGN Training mode hooked up and working.
18769
18770   - Improved menu item enable/disable working.
18771
18772   - Improved >> button working.
18773
18774   - Auto activate board working.  I changed this to be optional; you
18775     might not always want it, especially in Zippy mode.
18776
18777   - Blindfold working.
18778
18779   - Documentation updated.
18780
18781 * Fixed more colorization bugs.  Commands like "message foo tells you:
18782 xxx" and "tell 33 tells you: xxx" will no longer generate bogus
18783 colorization.
18784
18785 * Added low-tech sound support to xboard, by invoking an external
18786 program on a filename for each sound to be played.
18787
18788 * ICC wild 27 is now recognized as VariantAtomic, and it sets the
18789 "ignore check" flag, but is not otherwise supported.
18790
18791 * Converted the piece bitmaps from .bm to .xpm for use with xboard's
18792 xpm support.  (An .xim version was not created.)  Wrote a shell script
18793 using ImageMagick to do the conversion and to bucket fill from
18794 coordinate 0,0 with the background color.  Used xpaint by hand to
18795 clean up a few pieces where background color "leaked" into the inside
18796 or didn't flow all the way around the outside, then a sed script to
18797 fix up color names and bitmap names in the xpaint output.  If any more
18798 sizes are added later, they should be straightforward to convert with
18799 reference to the existing scripts.  With this conversion, not only do
18800 the white pieces now have dark borders, but (unlike with WinBoard) the
18801 light details on the black pieces are opaque.
18802
18803 * If the XPM library is found when building xboard, the new xpm pieces
18804 are compiled in as the default.  External bitmap (or xpm) pieces can
18805 still be used by giving the -bitmapDirectory (or -xpmDirectory)
18806 option.  If the XPM library is not found, the old bitmap pieces are
18807 the default.  In this case external bitmap (or xim) pieces can be used
18808 by giving the -bitmapDirectory (or -xpmDirectory) option.  There is no
18809 way to compile in xim pieces.
18810
18811 Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000
18812 Mark Williams
18813
18814 * Bugfix release.
18815
18816 * Main menu now visible in Win NT.  Thanks to Microsoft for creating a
18817 compiler which auto-mutilates the WinBoard.rc file so that the menu is
18818 displayed under Win 98 but not Win NT.  I fixed the problem by hand editing the
18819 .rc file.  Sigh.
18820
18821 * "Reset game" now works properly when invoked from Analysis mode when two
18822 engines are present. Correction of bug introduced in Winboard Plus. Thanks to
18823 Mogens Larsen for reporting the bug.
18824
18825 * Pasting a FEN position with Black to move now works in all modes.
18826 Thanks to Mogens Larsen for reporting the bug.
18827
18828 * Added gnuchess.dat to the distribution and a couple of text files that were
18829 missing in 4.0.7.
18830
18831 *** Merged in the following changes from Tim Mann:
18832
18833 * Bugfix: Highlights would sometimes not be taken down, at least in
18834 xboard.  The problem is that SetHighlight works in chess coordinates,
18835 not view coordinates, so if flipView has been toggled since the
18836 highlight was put up, it gets taken down from the wrong square.  Fixed
18837 by being careful to call ClearHighlights before toggling flipView, not
18838 after.  Ugh.
18839
18840 * Bugfix: HighlightLastMove would sometimes highlight square a1 after
18841 a FICS "tomove black" command.
18842
18843 * Bugfix: a move list with initial position that has black to play was
18844 not being handled correctly.
18845
18846 * Removed "decline abort" and "decline adjourn" commands from Zippy.
18847 The syntax is changing on FICS, and Zippy really doesn't have to
18848 explicitly decline the requests anyway; it's sufficient to not accept
18849 them.
18850
18851 * ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC
18852 calls it "giveaway").
18853
18854 * Bugfix: PGN games with black to move in the initial position weren't
18855 being legality checked correctly.  I think this was introduced in
18856 4.0.6 when I fixed a different PGN bug.  Thanks to Mark Williams for
18857 spotting the bug and suggesting a fix.
18858
18859 * Bugfix: the initial "name(" of a kibitz wasn't being colorized.
18860
18861 Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000
18862 Mark Williams
18863
18864 * New white pieces with black borders.
18865
18866 * Major overhaul to Options menu. New dialogs for setting General Options,
18867   Board Options, ICS Options, Sounds, Fonts, Colors.
18868
18869 * Clipboard support for PGN game scores and FEN positions.
18870
18871 * Optional ICS Premove with user-specified first moves for White and Black.
18872
18873 * New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.
18874
18875 * New auto-flip option when playing against a chess program.
18876
18877 * Added PGN Training mode.
18878
18879 * Certain menu options now disabled while program is thinking.
18880
18881 * ">>" button now always goes to the end of the game.
18882
18883 * In ICS mode, the board is automatically activated at the start of a
18884 new game.
18885
18886 4.0.7 -- Sun Mar  5 17:17:49 PST 2000  Tim Mann
18887
18888 * Fixed a nasty bug in parsing ICS game histories that was introduced
18889 in 4.0.6.
18890
18891 4.0.6 -- Fri Mar  3 16:20:11 PST 2000  Tim Mann
18892
18893 * Fixed bugs in Zippy's code for responding to messages sent with the
18894 ICS "message" command.
18895
18896 * Fixed bugs where xboard could still create dialogs partially off the
18897 top of the screen.  Fixed unwanted interactions between initial sizes
18898 and positions of various unrelated xboard dialogs.  Deleted
18899 borderXoffset and borderYoffset resources.
18900
18901 * Fixed restoring the xterm name on exit to work in more cases.
18902
18903 * Small fix to the WinBoard self-extracting installer: when it starts
18904 up, it now always deletes any old wb-setup directory left over from a
18905 previous installation.  Formerly this worked only on Windows 95/98, so
18906 on NT the self-extractor would sometimes stop and ask the user whether
18907 it was OK to overwrite the old wb-setup files.
18908
18909 * Modified WinBoard to be compilable with the free Cygwin tools
18910 available from http://sourceware.cygnus.com/cygwin/.  Based on work by
18911 Mark Schoenberg.  (His mods were enough to get WinBoard through the
18912 compiler, but a few things were broken along the way, so I reworked them.)
18913
18914 * Merged changes from Don Fong to make WinBoard compilable with
18915 Borland C++ 4.5.  I do not have Borland C++ and am unable to test with
18916 it, but I did make sure the changes don't stop it working with MSVC++
18917 5.0 and Cygwin.
18918
18919 * Forbade entering TwoMachines mode from MachineWhite or MachineBlack
18920 mode when machine is on move.  This used to confuse the engine and
18921 cause problems, because when we try to get the engine to stop, it
18922 might make a move first, and it might not do that immediately.
18923
18924 * Variant classification now deals with new ICC wild 25, classifying
18925 it as "3check".  Also, we are now conservative about new wild numbers
18926 we don't know about, classifying them as "unknown" instead of
18927 "normal".
18928
18929 * Replaced bad GNU Chess 5.00 book in WinBoard distribution with a
18930 correct one.  1.e4 now no longer takes GNU Chess 5.00 out of book!
18931 Thanks to Pete Galati.
18932
18933 * Made move parser accept and ignore nonstandard ep suffix on PGN moves,
18934 e.g., "exf6ep" or "exf6e.p."
18935
18936 * Fixed bugs in parsing PGN files starting with no move number, or
18937 with a move number other than "1." (including "1...").  Thanks to
18938 Michael Soulier and Stefan Zipproth for example PGN files
18939 demonstrating the bugs.
18940
18941 * Changed InitComboStringsFromString to not modify the input string;
18942 this caused an exception when WinBoard was compiled with MSVC++ 6.
18943 Thanks to Bert Tuyt for the report.
18944
18945 * In WinBoard, dragging a piece off the edge of the board without
18946 releasing the mouse button no longer instantly aborts the move.  You
18947 still must release the mouse button inside a square to complete a
18948 move, but you can now drag off the edge and come back inside.
18949
18950 * WinBoard bugfix: If you went into EditGame or EditPosition mode
18951 while observing or playing an ICS game, and a new move came in
18952 (snapping you back to ICSClient mode) while you were dragging a piece
18953 around, the drag state would not be reset, causing the piece you were
18954 dragging to remain on the board wherever you dropped it.  Thanks to
18955 David Brinegar for the bug report.
18956
18957 * WinBoard bugfix: If you moved or resized the board while your
18958 opponent was moving, and you had AnimateMoving on, his move would not
18959 be displayed until after your next move.  Thanks to DAV for reporting
18960 the bug repeatedly until I finally understood it.
18961
18962 * Added a Zippy "farewell" feature; see zippy.README.
18963
18964 * Fixed a bug (xboard only) in processing -zippyReplayTimeout on the
18965 command line.  Thanks to Steve Beer for the report and patch.
18966
18967 * Send "computer" command to both sides in TwoMachines matches.
18968
18969 * Fixed a Y2K bug in Evan's cmail code!  Thanks to Brian Mays for the
18970 report and patch.
18971
18972 * Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.
18973 This could cause crashes in LoadGame.  Thanks to Andrzej Nagorko.
18974
18975 * Fixed several pattern matching problems: Finger notes and formula
18976 vars no longer get replied to by zippyTalk or colorized.  Channel
18977 tells by players with many titles are now colorized fully, and
18978 zippyTalk handles channel tells by such players correctly.  The shout
18979 "--> foo(99): bar" no longer gets colorized as a channel tell.  Code
18980 is cleaned up a bit, and autocomment capture now uses the same
18981 criteria as colorization.
18982
18983 * xboard fix: Enter key now closes error popups as in WinBoard.
18984 Especially nice for the "Exiting: Connection closed by ICS" popup.
18985
18986 4.0.5 -- Tue Dec  7 10:30:40 PST 1999  Tim Mann
18987
18988 * Added missing documentation of SIGTERM usage into engine-intf.html.
18989
18990 * Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as
18991 -zippyReplyTimeout.  Thanks to Francesco Di Tolla.
18992
18993 * xboard -ics now restores the xterm's original title upon exit, at
18994 least if $WINDOWID is set.
18995
18996 * Bugfix: -matchGames mode wasn't terminating properly.  Final score
18997 popup would come up twice and engines would not be killed off.  Thanks
18998 to Frank Quisinsky for the bug report.  Bug was introduced in 4.0.4.
18999
19000 * Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;
19001 similarly for "...s-shouts:" and "...c-shouts:".  Thanks to David Lee
19002 for the bug report.
19003
19004 4.0.4 -- Fri Dec  3 17:51:27 PST 1999  Tim Mann
19005
19006 * Bug fix: formerly if you invoked SaveGame from EditPosition mode
19007 with black to play, the position was not saved properly.  As a quick
19008 fix, SaveGame now takes you out of EditPosition mode before saving.
19009
19010 * Changed -matchGames to keep track of the score (won-lost-drawn) and
19011 display it in the banner.  The final score is displayed in a modal
19012 popup before the program exits.
19013
19014 * Changed "Connection closed by ICS" to display in a model popup
19015 before the program exits.
19016
19017 * Added -popupExitMessage option, default on.  Setting this to false
19018 suppresses the modal popups that you sometimes get just before
19019 xboard/winboard exits -- both the two new ones listed above and the
19020 existing Fatal Error popup.  This is useful when running Zippy
19021 unattended from a shell script (or .bat file) that loops and starts a
19022 new copy after a time delay when there is an error.
19023
19024 * In xboard, added missing support for WM_DELETE_WINDOW to all
19025 windows.  This makes xboard a better citizen, and is much needed with
19026 the newer X window managers that put an [X] button on every window and
19027 bind it to "kill application" if the applicationd does not support
19028 "delete window".  We can't allow xboard to be thoughtlessly killed,
19029 since that leaves the chess engine running in the background.
19030
19031 * We now avoid positioning tops of xboard dialog boxes offscreen.
19032
19033 * zippy.lines can now use the caret ('^') character as an inter-saying
19034 separator. You no longer need to dig up a text editor that can put NUL
19035 ('\000') characters in text files.
19036
19037 * Bugfix: In traditional chess clock mode, White now gets time added
19038 to its clock as soon as it makes time control.  Previously both White
19039 and Black got their time added only when Black made time control,
19040 which would cause some engines to make their 41st move as White too
19041 quickly, thinking they were low on time.
19042
19043 * The zippyAcceptOnly feature no longer sends a decline command or
19044 a tell.  Thus you can use it to put Zippy into a manual accept mode.
19045
19046 * Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a
19047 personal tell; similarly for "...whispers:" and "...kibitzes:".
19048
19049 * WinBoard no longer blanks the message line when you start a new
19050 move, unless there was an error message there from the previous move.
19051
19052 * WinBoard now never puts the white piece drop menu on the middle
19053 mouse button.  Both colors are always on the right button.  Windows
19054 users often don't think to look for a middle button menu, or don't
19055 really have a working middle button despite what Windows says.
19056
19057 * Guest login handles on ICC are now parsed again; an ICC wording
19058 change had broken this feature.
19059
19060 * Autodetect when the engine does not support the "draw" command and
19061 don't relay the command to it in that case.  Needed because sending an
19062 unsupported command to GNU Chess makes it move immediately, so people
19063 could make Zippy move without thinking by continually offering a draw.
19064 Thanks to Frank Walker for the problem report.
19065
19066 * Small changes based on code from Robert Jurjevic: The WinBoard
19067 analysis window can be minimized (though not to the taskbar).  The
19068 WinBoard ICS Interaction window will autoscroll if you drag the mouse
19069 above or below the window while selecting, and password entry mode
19070 leaves the entry line as the background color instead of using 75%
19071 gray.  Seeks are now colorized with a new color of their own.
19072
19073 * Added -zippyMaxGames feature.
19074
19075 * -zippyNoplayCrafty command line option was missing in xboard; fixed.
19076 Thanks to John Perry.
19077
19078 * Fixed bug in detecting when Zippy loses his bughouse partner.
19079 Thanks to Ben Dean-Kawamura.
19080
19081 * allobs fix in 4.0.3 didn't work; corrected it.
19082
19083 * WinBoard will now update the board immediately if a move is made
19084 while the window is being moved or resized.
19085
19086 4.0.3 -- Sun Aug 15 18:44:39 PDT 1999  Tim Mann
19087
19088 * Bugfix: moved winboard wizard functions that send a command directly
19089 to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.
19090 Ctrl+Alt is equivalent to the European AltGr key, so the old assignments
19091 conflicted with typing an @-sign on some keyboards.
19092
19093 * Bugfix: prevent "If this message stays up, your chess program does
19094 not support analysis" from appearing if AnalysisMode is selected when
19095 already in Analysis or AnalyzeFile mode.  Also, deleting analysis window
19096 in WinBoard now switches you to EditGame mode, to avoid the anomaly of
19097 being in an analysis mode with no analysis window present.
19098
19099 * Change all Zippy environment variables to work as command line
19100 options.  For now they still work as environment variables too, but
19101 the environment variables are deprecated.
19102
19103 * Use unsigned long to hold node counts from engines.
19104
19105 * Print error instead of crashing on attempts to use xpm or xim pieces
19106 in monochrome mode.  Thanks to Jim Torrance for the bug report.
19107
19108 * Tightened pattern recognition for ICS messages sent to Zippy; should
19109 no longer match ICC allobs output.  Fixed recognition of when Zippy is
19110 sent a message; small change to FICS output had broken it.
19111
19112 * Zippy now exits if the engine dies unexpectedly.
19113
19114 * Added Zippy "spoofedby" feature; see zippy.README.
19115
19116 * Narrowed the margins on some older WinBoard dialogs to make their
19117 style uniform with the newer ones.
19118
19119 * Bugfix: Changing Ponder Next Move from the Options menu did not take
19120 effect until the next game.  This bug was in WinBoard only.  Thanks to
19121 Stefan Zipproth for the bug report.
19122
19123 * Got rid of "Internal error: bad move type" message when the engine
19124 makes a move that we can parse but think is illegal.  Now the move is
19125 just passed on (which also may be the wrong thing to do).
19126
19127 4.0.2 -- Thu Feb 25 19:55:32 PST 1999  Tim Mann
19128
19129 * Added one more built-in sound choice to WinBoard: move.wav from Pete
19130 Galati.
19131
19132 * Added new larger piece sizes: big, huge, giant, colossal, titanic.
19133
19134 * Modified the xboard font searcher to be able to use scalable fonts.
19135 The new -fontSizeTolerance flag controls how closely a nonscalable
19136 font must match to be used in preference to a scalable font.
19137
19138 * Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control
19139 whether Zippy will accept abort and adjourn requests.
19140
19141 * We now determine the variant type being played on ICS, send it as a
19142 command "variant VARTYPE" to the chess engine (if in Zippy mode), and
19143 put it in the PGN tags.  See engine-intf.txt for variant names.  See
19144 ZIPPYVARIANTS in zippy.README to control what variants Zippy will
19145 accept.  Note that this now applies to bughouse, too.
19146
19147 * Zippy now won't do -zippyTalk in a channel unless his handle is
19148 mentioned there.
19149
19150 * Zippy now ignores bughouse holdings if not actually playing, instead
19151 of stupidly trying to abort the game.  Let me know if other strange
19152 things happen when Zippy is observing a game.
19153
19154 * Set ICS Interaction title bar to "user@server".  User name is
19155 determined by parsing message during the login sequence.  Zippy now
19156 uses this method to get its name too, so ZIPPYNAME is eliminated.
19157 Problem: with xboard, the title bar gets set to "xterm" upon exit,
19158 since we didn't know what it was to start with.
19159
19160 * Fixed xboard-only bug in -colorChannel1 command line option.  Thanks
19161 to Fredrik Sandstrom for the bug report and fix.
19162
19163 * Check for overflow of MAX_MOVES.  Still not sure this is checked for
19164 everywhere it needs to be.
19165
19166 * Added .epd to suffixes recognized by WinBoard as position files.
19167 This is a bit of a kludge, as the .fen reading code was not written
19168 with .epd files in mind, but reading them with it is said to work.
19169
19170 * Added ZIPPYGAMESTART feature, suggested by Jason Hoblit.  See
19171 zippy.README.
19172
19173 * Restored the feature of soaking up the moves from a user-typed "moves",
19174 "oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but
19175 changed it so that the move list is also echoed to the screen.  Some folks
19176 still liked the old feature since it is faster than examine mode, and
19177 printing the moves to the screen should eliminate the confusion it caused
19178 for other people.
19179
19180 * Bugfix: in WinBoard, starting a click-click move and then clicking on
19181 a black line would cause the source square to be forgotten without taking
19182 the highlight down.  Now the errant click is ignored.
19183
19184 * Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's
19185 File menu.  Thanks to Andreas Stabel for the bug report.
19186
19187 * Bugfix: if you had a completely full ICS context menu in WinBoard
19188 (90 items), the last one would do nothing if selected.
19189
19190 * The "computer" engine command added in 4.0.1 was not working; I had
19191 left out part of the code patch.  Oops.
19192
19193 4.0.1 -- Fri Feb 12 21:24:15 PST 1999  Tim Mann
19194
19195 This is a minor bugfix release.  The first item listed below is the
19196 only interesting new feature.
19197
19198 * You can now type in moves from the keyboard in WinBoard.  Either
19199 select TypeInMove from Step menu, or (if you are not in ICS mode),
19200 just start typing.  In ICS mode you can type moves into the ICS
19201 interaction window anyway, so I've retained the feature that typing
19202 switches you there.  Not implemented in xboard.
19203
19204 * Removed the "noise 1000" command that used to be sent to the chess
19205 engine when entering analysis modes.
19206
19207 * Deleted the feature where we soak up the output of a user-typed ICS
19208 "moves" or "oldmoves" command.  This ancient feature is not really
19209 useful anymore, now that "examine" exists, and it caused a lot of
19210 complaints.
19211
19212 * Increased maximum size of ICS text menu to 90 entries and added
19213 overflow checking.
19214
19215 * The command sent to ICS by Zippy at the end of each game can now be
19216 customized with the ZIPPYGAMEEND environment variable.
19217
19218 * We treat xboard.info as a pseudo-source since most people don't have
19219 the tools to rebuild it.  But "make install" erroneously had a
19220 dependency on it, even though "make all" did not.  Fixed.
19221
19222 * Miscellaneous minor updates and clarifications to engine-intf.txt.
19223 In particular, documented the st and sd commands (support for command
19224 line options -searchTime and -searchDepth), warts and all.
19225
19226 * Added a small code patch from Bob Hyatt to detect when Zippy's ICS
19227 opponent is a computer and send the command "computer" to the engine.
19228 Added this command to engine-intf.txt.  Thanks, Bob.
19229
19230 * Bugfix: configure was looking for usleep(), but config.h.in didn't
19231 have an entry for it, so HAVE_USLEEP was never defined.  Also, in the
19232 non-HAVE_USLEEP case, there was a possible race condition between the
19233 signal handler and the pause() call.  Thanks to Ben Dean-Kawamura for
19234 the bug reports.
19235
19236 * Bugfix: a "1..." preceding Black's first move (usually present if
19237 there is a comment on White's first move) would cause the parser
19238 to think a new game started there and report "End of game" on the
19239 current game.  Thanks to Dell Garner for the bug report.
19240
19241 * Changed the abbreviation for -searchDepth from -sd to -depth to fix
19242 a clash with -secondDirectory.
19243
19244 * Changed -searchDepth to be orthogonal to the various timing options.
19245 Previously it would search for an unlimited time to the given depth;
19246 now the engine is allowed to choose its search time in the normal way,
19247 but is told to cut off the search early if it reaches the given depth.
19248
19249 * Bugfix: SaveSettings in WinBoard was saving both the long form
19250 option highlightSquareColor and its abbreviation (hsc).
19251
19252 * Fixed a redisplay bug in DisplayBothClocks that could cause White's
19253 clock to be highlighted in EditPosition mode when Black's should have been.
19254
19255 * Fixed Zippy's feature of passing on draw offers from the ICS opponent.
19256 The colorization code was eating the offer before Zippy saw it, so I disabled
19257 colorization of offers while in -zp or -zt mode.  (Other types of
19258 colorization are already disabled in Zippy mode for similar reasons.)
19259
19260 * Added some more commands to the default ICS context menu in WinBoard,
19261 and put "(name)" on the ones that insert a playername (or game number).
19262
19263 * Added missing documentation to WinBoard help file: PonderNextMove, the
19264 -ponder/-xponder argument, and the up/down arrow history feature in the
19265 ICS Interaction window.
19266
19267 * Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,
19268 not if some other Crafty is observing the game and kibitzes.
19269
19270 * Fixed bugs in generating "partner" commands when Zippy is playing
19271 bughouse.
19272
19273 4.0.0 -- Sat Jun 20 16:59:47 PDT 1998  Tim Mann
19274
19275 * Fixed WinBoard resizing so that the edges you do not drag remain in
19276 place, even when the final size is different from what you dragged to.
19277 (This doesn't work on NT 3.51 or earlier, if anyone cares.)
19278
19279 * Fixed problems with resizing WinBoard on Windows NT: you no longer get
19280 whitespace around the board, a clipped board, or a lot of flashing during
19281 the drag.
19282
19283 * Added customization for highlight-square color.
19284
19285 * Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't
19286 work in WinBoard.
19287
19288 * Added Index Number field back to LoadGame/LoadPosition dialog boxes in
19289 WinBoard.  This required some extra code to work with both the
19290 Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes.  Ugh.
19291
19292 * WinBoard startup dialog now understands -zp mode.  The first chess
19293 engine selector is enabled and the value is used.
19294
19295 * Bugfix: ResetGame would send "exit" to engine twice if it was in an
19296 analysis mode.
19297
19298 * Bugfix: The response "Illegal move: bk" to the "bk" command, indicating
19299 that it is not implemented, would confuse xboard.
19300
19301 * Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message
19302 saying that some bogus string (often "Hint:") is illegal.
19303
19304 * Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.
19305
19306 3.6.12 -- Sat Jun 13 14:57:10 PDT 1998  Tim Mann
19307
19308 Beta test release of xboard and WinBoard.
19309
19310 * Spruced up xboard man page a bit.
19311
19312 * Added Highlight Last Move to xboard too.
19313
19314 * The revamped xboard mouse click code had several more bugs than the
19315 previous version, so I revamped it again.  All fixed now, I hope.
19316
19317 * xboard bugfix: crash in CreatePieceMenu.
19318
19319 * Oops.  winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.
19320
19321 3.6.11 -- Fri Jun 12 20:00:48 PDT 1998  Tim Mann
19322
19323 Beta test release of xboard and WinBoard.
19324
19325 * Major reorganization to engine-intf.txt.  Some new features added,
19326 many existing features clarified and hints for engine programmers added.
19327 Support for new features added to program.
19328
19329 * Changed defaults for -scp (etc.) back to being independent of -fcp, as
19330 in 3.6.2. That is, the default is no longer to copy the value from -fcp if
19331 -scp is not specified.  This will sometimes make command lines longer but
19332 will remove some confusing situations.
19333
19334 * Split -reuseChessPrograms into two options: -reuseFirst and
19335 -reuseSecond.  Fixed obscure bugs when reuse is off.
19336
19337 * Detect ICC and change some command usage slightly there: only ICC has
19338 set-quietly; only FICS has iset and bsetup clear.  With this feature, we
19339 can now safely use bsetup clear when appropriate instead of deleting each
19340 piece one by one.
19341
19342 * Added indent to lines that are wrapped by WinBoard ICS Interaction
19343 window.  This seems to tickle a Microsoft bug in the RichEdit control:
19344 occasionally the start of the next line after the wrapped line is indented
19345 too.  I think the wrapped indent feature is useful enough that it's worth
19346 having in spite of the bug.
19347
19348 * WinBoard bugfix: bounding box for the board was computed incorrectly by
19349 mouse code.  It would think you moved off the bottom of the board before
19350 you really did, so it was hard to drag pieces along the bottom rank on
19351 smaller board sizes.
19352
19353 * Fixed obscure parser.l bug: ambiguity between capture using : instead of
19354 x and email header line.  Also removed or simplified a lot of complex
19355 patterns for English (as opposed to PGN) end-of-game indications while I
19356 was in there.
19357
19358 * Added PonderNextMove option.
19359
19360 * xboard EditPosition piece menus now let you set the side to play by
19361 selecting the "White" or "Black" label at the top of the menu, like
19362 WinBoard.  (Both xboard and WinBoard still let you set the side to play by
19363 clicking on the clock.)
19364
19365 * Merged documentation of Crafty and GNU Chess thinking output in
19366 engine-intf.txt.  Corrected code in backend.c to match documentation; it
19367 used to require the PV to start in column 27 (!).
19368
19369 * Fixed bug that caused crashes in "-reuseChessProgram false" mode.
19370
19371 * Draw by agreement in Two Machines mode now works as it is supposed to.
19372 Other minor bugs in handling game end messages from machines are also
19373 fixed, and engine-intf.txt is revised in this area.
19374
19375 * Revamped xboard code for handling mouse clicks on the board.  In
19376 particular, it had a bug if a click-click promotion move was made.
19377
19378 * Fixed and reinstated optimization for << in analysis modes: send
19379 initString and re-send the board if needed.  Sending repeated undos
19380 is bad because Crafty prints some analysis after every one.
19381
19382 * Don't go into a spin loop while pausing between xboard animation frames.
19383 This caused problems, especially when compiling with -O2 on HP-UX.
19384
19385 * WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome
19386 if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.
19387 This seemed to confuse people before.
19388
19389 * Bugfix: ICS Interaction context menu items with neither of the two
19390 optional flags set did not work.
19391
19392 * Bugfix: PGN move numbers are optional, but we were insisting on "1"
19393 right after the tags.
19394
19395 * Bugfix: only the first game of an -mg match was loading -lpf or -lgf.
19396
19397 * Other minor fixes and code cleanup.
19398
19399 3.6.10 -- Mon Jun  1 01:32:31 PDT 1998  Tim Mann
19400
19401 * Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.
19402
19403 * Added timestamps for chess engine interaction to -debug output.
19404
19405 * Now allow 10 seconds (was 5) between games in match mode for engines to
19406 respond to "force" command that ended previous game.
19407
19408 * When a game is picked from the game list and the names of White and
19409 Black are known, display them in the window banner instead of the filename
19410 and game number.
19411
19412 * Changed default for -scp and -sd to be the values of -fcp and -fd.
19413
19414 * Added boxes for both engines to WinBoard startup dialog.  Changed to
19415 dropdown boxes whose content can be set from winboard.ini, similar to
19416 the box for ICS name.
19417
19418 * Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.
19419
19420 * Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.
19421
19422 * Added support for bughouse engines (Zippy mode only).
19423
19424 * Move bombproofing for engines sending illegal or out of turn moves.
19425
19426 * Always send "xboard\n" to engine as first command.  Eliminates need
19427 to run crafty as "crafty xboard".
19428
19429 * Rewrote xboard code for input from engines to fix longstanding bugs.
19430 Previously an engine that sent one line in two separate writes with
19431 some time lapse in between (or perhaps that sent several lines in one
19432 write) could make xboard hang.  WinBoard did not have this bug.
19433
19434 * Fixed minor bugs in dealing with illegal moves.
19435
19436 * Added "iset startpos 1" for FICS.
19437
19438 * Removed special support to put "GNU Chess" or "Crafty" in the window
19439 banner instead of the engine's base filename.  This gives a more level
19440 playing field for other engines.  Also fixed bugs in the code that finds the
19441 engine's base filename.
19442
19443 * Bugfix: Abort or Resign at the very start of a game in chess engine mode
19444 would fail to send "force" to the engine.
19445
19446 * Fixed some minor bugs in new "result" messages, and changed format to
19447 include a trailing PGN comment giving the reason the game ended.
19448
19449 * Changed syntax of /font options in WinBoard; old syntax was assuming
19450 that a font name can't contain a digit, which is wrong.  Old font names in
19451 WinBoard.ini files are still accepted.
19452
19453 * Serious further work on getting WinBoard to read/write files in the
19454 "right" directories and documenting exactly what it does.
19455
19456 * Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.
19457
19458 * Misc. tiny fixes and cleanup.
19459
19460 3.6.9 -- Sun May 24 20:53:08 PDT 1998  Tim Mann
19461
19462 xboard and WinBoard beta release.
19463
19464 * Tightened up illegal move handling.  Illegal or meaningless moves from a
19465 file or chess engine should no longer get translated into a1a1 and blindly
19466 applied.  Explicit moves to the same square (like a1a1) no longer make the
19467 piece on that square capture itself and vanish.
19468
19469 * Added AlwaysOnTop feature to winboard.
19470
19471 * Fixed bug in winboard "@" command line indirection operator.
19472
19473 * Removed buggy "optimization" code for ToStart in analysis modes.
19474
19475 * Fixed typo bug in zippy.c that would often cause winboard to crash
19476 right after starting a game in -zp mode.
19477
19478 3.6.8 -- Sat May 23 22:23:19 PDT 1998  Tim Mann
19479
19480 xboard and WinBoard beta release.
19481
19482 * Added -firstDirectory and -secondDirectory so that chess engines can
19483 be started in a different directory from xboard/WinBoard itself.
19484
19485 * Added -matchGames to allow more than one game in -matchMode.  The games
19486 are played with colors alternating between the two chess engines.  Had to
19487 add a time delay at the end of each game to catch up with game ending
19488 messages from both chess engines -- yuck.
19489
19490 * Changed TwoMachines mode to have firstChessProgram play White by
19491 default.  Added -firstPlaysBlack to restore old behavior.
19492
19493 * Major rework of code in backend.c for dealing with first and second
19494 chess engines.  Generalized the code and created a struct type with one
19495 instance for each engine.  Several small bugs fixed along the way.
19496
19497 * Fixed bugs in Abort in local chess engine mode.
19498
19499 * Tightened pattern matching to recognize moves from machine.  Should cure
19500 bogus "Illegal move" errors while Crafty is pondering with Show Thinking
19501 on, among other things.
19502
19503 * WinBoard keeps focus in board window after popping up a comment due to
19504 Forward/Backward/ToStart/ToEnd commands.
19505
19506 * Finally got rid of warnings on compiling moves.c under Windows.
19507
19508 * Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not
19509 defined.
19510
19511 * Removed various bits of unused code.
19512
19513 * Parse (and ignore) NAGs in PGN files.
19514
19515 * Updated engine-intf.txt.
19516
19517 * Send "result R" to the chess program at the end of each game, where
19518 R is the PGN result 1-0, 0-1, 1/2-1/2, or *.
19519
19520 * Bugfix: suppress animation when loading a game with timeDelay=0.
19521
19522 * Bug fix: pondering output from Crafty that contained "..." could be
19523 mistaken for a move, causing bogus error messages and general chaos.
19524
19525 * xboard "make clean" bug fix: moved things created by configure to be
19526 removed only by "make distclean".
19527
19528 * Fixed a remaining case where move was being animated before being
19529 relayed to opponent.
19530
19531 * Backend was reversing time/otim commands to the chess program (new bug),
19532 and was often not sending them on the first move of a game or the first
19533 move after a mode change (old bug).  Fixing the latter required a kludge
19534 to work with both GNU Chess and Crafty, because Crafty swaps white and
19535 black clock times when it swaps sides, while GNU Chess does not.  The
19536 kludge is that we always make sure the chess engine thinks its opponent is
19537 on move before we set the clock.  This will sometimes result in sequences
19538 like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and
19539 black interchanged.
19540
19541 * Removed last trace of old -whiteString and -blackString arguments.
19542
19543 * Fixed so that you can type "bd" into the Direct Command dialog when
19544 debugging gnuchess, without having xboard parse the clock display
19545 (starting with "White") as "White wins" and end the game.
19546
19547 * Changed moves.c to make a distinction between IllegalMove (where we
19548 could tell what move was intended, but it violates the chess rules) and
19549 MeaninglessMove (where we could not tell).  This is a step towards getting
19550 rid of cases where we translate meaningless moves into "a1a1", but some
19551 work is probably needed to track them all down.
19552
19553 * Fixed bug in WinBoard monoMode dragging.
19554
19555 * Changed WinBoard to new style file dialogs.  In the process, disabled
19556 the feature that let you enter the index number of a game or position within
19557 the file in the dialog.  This is no loss in LoadGame, as you can pick your
19558 game from the game list dialog that follows, but it does remove some
19559 functionality from LoadPosition.
19560
19561 3.6.7 -- Mon May 18 21:25:00 PDT 1998  Tim Mann
19562
19563 xboard and WinBoard beta test release.  I've been unable to reproduce some
19564 reported drawing bugs, so they may still not be fixed.
19565
19566 * Changed PopUpErrors option to PopupMoveErrors, which is more useful, and
19567 changed default to off.  Errors other than move errors should always be in
19568 popups; they are often too big for the message area and too important to
19569 put where they can be easily missed.  But it seems good to get rid of the
19570 popups for move errors by default.
19571
19572 * xboard analysis window no longer forces itself to top whenever there is
19573 new output.  Also, now uses built-in Xaw word wrapping instead of trying
19574 to do its own; works better.
19575
19576 * Bugfix: Reset did not take Crafty out of analyze mode.
19577
19578 * A chess engine no longer has to claim to be Crafty to be able to use
19579 AnalysisMode and AnalyzeFile; it just has to implement the analyze
19580 command as Crafty does.  Put in heuristics to generate more informative
19581 error messages if the engine does not support analyze, and checked that
19582 they work at least with GNU Chess.
19583
19584 * Added click-click moving, HighlightLastMove, and HighlightDragging to
19585 WinBoard.  The highlight features are unlikely to go into xboard unless
19586 the xboard drawing code is cleaned up to do *all* drawing on the board
19587 from DrawPosition, as WinBoard does.  This is low priority for me.
19588
19589 * Eliminated bogus "Error gathering move list: no header" popup.  You
19590 could get this by observing two fast games at once without turning off
19591 GetMoveList.
19592
19593 * Disable WinBoard Sounds menu entirely in -ncp mode, since not even
19594 MoveSound is used in that mode.
19595
19596 * WinBoard bugfix: Several problems were caused if the user changed
19597 WinBoard's current directory in a Load, Save, or Browse dialog.  In
19598 particular, WinBoard.ini would get saved in the wrong directory, and
19599 sound .wav file names would not get saved with a full pathname.  I think
19600 all such problems are now fixed.
19601
19602 * WinBoard bugfix: iconizing the board after an aborted mouse resize would
19603 (partially) resize it to Tiny.
19604
19605 * WinBoard bugfix: board was not being drawn in color on 256-color
19606 displays.  This bug was introduced in 3.6.6.
19607
19608 3.6.6 -- Tue May 12 17:43:43 PDT 1998  Tim Mann
19609
19610 xboard and WinBoard beta release.  Note: not all reported bugs are fixed.
19611
19612 * Move animation in WinBoard, programmed by Henrik Gram.  Great stuff!
19613
19614 * Animate backward moves too.
19615
19616 * xboard bugfix: -font (and friends) can now specify a font alias (such
19617 as "fixed"), not just a full X Consortium name pattern.  Previously this
19618 would give a resource conversion error message.
19619
19620 * Some coding style cleanup in xboard.c.
19621
19622 * Earlier error check for moving wrong color piece in EditGame mode.
19623
19624 * Completed fix to pattern matching; see 3.6.5.
19625
19626 * Fixed some software rot bugs in Zippy.
19627
19628 * Split AnimateDragging as separate option from AnimateMoves.
19629
19630 * Added FlashMoves to options menu and -flash/-xflash to command line
19631 options (xboard only).
19632
19633 * Some preliminary work on visible bughouse holding support.  Most of the
19634 code is not present in this release because I have not gotten it working
19635 properly yet; my first approach went down a blind alley and I had to
19636 remove most of the partially working code in preparation for a rewrite.
19637
19638 3.6.5 -- Fri May  8 14:22:09 PDT 1998  Tim Mann
19639
19640 Not generally released.
19641
19642 * Pack bughouse holdings display in banner more tightly when board is one
19643 of the smaller sizes (when smallLayout or tinyLayout is true, that is).
19644 An interim measure, but should help.
19645
19646 * Completed fix to make move list parsing recognize the end condition and
19647 final comment.
19648
19649 * Fixed pattern matching for chatter (tells, etc.) to be more reliable.
19650 This should reduce the incidence of colors starting in the wrong place and
19651 of incorrectly matching things that look like other patterns inside
19652 chatter, such as "shout <12>".  (These errors were already rare.)
19653
19654 * WinBoard now lets you customize the list of ICS's in the startup dialog.
19655 For now, at least, requires editing WinBoard.ini with a text editor.
19656
19657 * Bug fix: WinBoard window sizing and position setting save/restore did
19658 not work right when the taskbar was at the top (or left side) of the
19659 screen and not in autohide mode.
19660
19661 * Merged xboard click/click mode and drag mode, and deleted
19662 ClickClickMoving option on menu.  Now if you click on a piece, it
19663 highlights and a further click on another square will move it.  (A second
19664 click on the same square takes down the highlight.)  Or if you press down
19665 on a piece and start to drag, you can drag it to a new square.
19666
19667 * When making click/click style moves, if your second click is on a piece
19668 of the same color, instead of saying "Illegal move", we now cancel the first
19669 starting square, replace it with the second, and wait for another click to
19670 finish the move.
19671
19672 * Separate -secondInitString.  Default: same as -initString.  Suggested by
19673 Remi Coulom.
19674
19675 * Patch from Frank McIngvale to make animation work with XIMs.  Yay!
19676
19677 * Changed move animation to happen after move is passed on to ICS or the
19678 chess engine, where applicable.  Fixed problems with updating moveList
19679 that this uncovered.
19680
19681 * Changed game list to show PGN result token for each game.
19682
19683 * The usual minor bug fixes.
19684
19685 3.6.4 -- Thu Apr 30 23:14:43 PDT 1998  Tim Mann
19686
19687 xboard and WinBoard beta test release.
19688
19689 * xboard documentation updated, both man page and info file.  An attempt
19690 to generate both from the same source with LinuxDocSGML was abandoned, at
19691 least for now.  WinBoard doc updated too.
19692
19693 * Merged updates to animation code from Hugh.  Fixed a couple of remaining
19694 bugs, mostly to do with handling Pause mode correctly.
19695
19696 * Added SaveSettingsOnExit to WinBoard.
19697
19698 * WinBoard now saves the last screen position of the Comment, Edit Tags,
19699 Game List, and Analysis windows (in addition to the board and ICS
19700 Interaction windows) in WinBoard.ini.
19701
19702 * WinBoard now provides a way to customize the right-button context menu
19703 in the output area of the ICS Interaction window.  For now, requires
19704 editing WinBoard.ini with a text editor.
19705
19706 * Various minor fixes to ICS message recognition, most affecting only Zippy.
19707
19708 * Colorize the notification when someone sends you a message while you are
19709 logged in, not the output of the "messages" command.
19710
19711 * Fixed colorization to turn off at the right place more reliably.
19712
19713 * Added a new color and WinBoard sound for "requests": abort, adjourn,
19714 draw, pause, and takeback.  The same color and sound are used for all of
19715 these.
19716
19717 * Added GUI to change sounds in WinBoard.
19718
19719 * Suppressed WinBoard error popup when a sound can't be played.  They were
19720 popping up when two separate WinBoards tried to play a sound at the same
19721 time (such as during a bughouse match).
19722
19723 * Fixed WinBoard crash when a sound file didn't exist.
19724
19725 * WinBoard ports of timestamp and timeseal now produce decent error
19726 messages if they fail to connect, and WinBoard captures the messages and
19727 puts them into a popup.  Previously WinBoard would exit with no message on
19728 such errors.
19729
19730 * WinBoard resizing with mouse improved; now accurately picks the largest
19731 size that fits in the new area.
19732
19733 * Added option to turn off error message popups.
19734
19735 * Added sizes slim, dinky, and teeny.
19736
19737 * Fixed some minor problems with error message wording.
19738
19739 3.6.3 -- Mon Feb 23 19:08:57 PST 1998  Tim Mann
19740
19741 xboard beta test release only.  Man page is updated for the changes, but info
19742 file is not.
19743
19744 * Bug fix: LoadGame could not load a PGN game whose first move was
19745 castling (which is possible from setup positions).
19746
19747 * Bug fix: we were ignoring illegal move messages from chess engines in
19748 modes where the engine is refereeing but not participating (EditGame,
19749 LoadGame, AnalyzeFile).  The problem was in a workaround for a Crafty bug,
19750 where Crafty generates a bogus illegal move message if a "." (used by
19751 the PeriodicUpdates feature) is sent in analysis mode when the current
19752 analysis reveals a forced mate.  Installed a different workaround (that
19753 works in most but not all cases) and reported the Crafty bug.  Bob Hyatt
19754 replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.
19755
19756 * WinBoard only: enabled resizing board with the mouse.  It snaps to the
19757 nearest (but not too much larger) predefined size.
19758
19759 * The xboard default font is now sized according to piece size, just as
19760 clockFont and coordFont have always been.
19761
19762 * Added more sizes: bulky, moderate, average, middling, mediocre, petite.
19763
19764 * xboard only: Added Animate Moves and Click-Click Moving to Options menu.
19765
19766 * xboard only: Added code to animate piece movement, from Hugh Fisher.
19767
19768 * New feature: autoflag is implemented in MachineWhite, MachineBlack, and
19769 TwoMachines modes.  If it is on and either a chess program or the user
19770 oversteps his time, xboard will automatically call the flag and end the
19771 game.  This feature was requested by someone who runs matches between
19772 programs and wants to penalize GNU Chess for its habit of running slightly
19773 over at the end of a time control.  I personally think it's pointless.
19774
19775 * Fixed a bug in Zippy's pattern matching; he can now reply to ICC
19776 messages again.
19777
19778 * Generate prettier notation for illegal moves.  If a move is illegal only
19779 because it leaves the player in check, generate notation as if that were
19780 not illegal.  For instance, if two knights are a knight's move away from
19781 f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to
19782 move the g1 knight, Nef3 to move the e5 knight.  (Suggested by Philippe
19783 Schnoebelen.)  In addition, if a move is illegal because the type of piece
19784 moved cannot go that way, would be jumping over another piece, etc., we
19785 give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,
19786 d2xd8=Q, etc.  An alternative would be to still write Ng3 if there is only
19787 one knight on the board, or Ngg3 if the other knight is not on the g file,
19788 but life is too short to code up all this stuff, and perhaps the way I did
19789 it is better as it emphasizes that this move was really made despite being
19790 illegal.  I wonder if the new PGN standard revision will speak to notation
19791 of illegal moves?
19792
19793 * Fixed gross bug from 3.6.2: if a chess program said "checkmate" and
19794 White was left on move, the PGN outcome was "1-0 {Black mates}" instead
19795 of "0-1 {Black mates}"!  The bug occurred only for that specific string.
19796
19797 3.6.2 -- Wed Jul 23 16:47:29 PDT 1997  Tim Mann
19798
19799 * There was a bug in backing up from the end of a game against a chess
19800 engine, introduced when -reuse mode was added.  Fixed.
19801
19802 * Recognize "{" as terminating an ICS move list.  Previously we needed to
19803 see a prompt (containing %), but occasionally ICC can send more stuff
19804 right after a move list with no prompt in between.
19805
19806 * In WinBoard, -mm now implies -cp, so you don't get the startup dialog.
19807
19808 * WinBoard startup dialog no longer sets -scp.  People used to get
19809 confused because they would give the -fcp and -scp arguments, but omit
19810 -cp.  This would bring up the startup dialog, which would set both -fcp
19811 and -scp to the value in the engine name box.  Now you can change -scp
19812 only with the command-line argument.  That will confuse some people too,
19813 but hopefully fewer.  I think overall it's better than putting spaces for
19814 both -fcp and -scp in the dialog, which would puzzle newbies.
19815
19816 * Bug fix: Analyze File mode now works in WinBoard.
19817
19818 * Bug fix: WinBoard window no longer cuts off part of the bottom row if
19819 the menu bar wraps to a second line.
19820
19821 * Accept game end messages of the form "PGN-result {comment}" from the
19822 chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2.  Accept "resign"
19823 or "computer resigns" from the chess engine as a synonym for "0-1 {White
19824 resigns}" or "1-0 {Black resigns}". Accept any message from the chess
19825 engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".
19826 Accept "White resigns" or "Black resigns".
19827
19828 * Enable "Action / Draw" menu item in chess engine mode.  It sends the
19829 command "draw" to the engine.  Accept any message from the chess engine
19830 containing "offers a draw" as a draw offer.  WARNING: Draw offers from the
19831 user and the engine (or from two engines) are not yet matched up by xboard
19832 in chess engine mode.  Two engines could get into a loop offering each
19833 other draws.
19834
19835 * Bug fix: Game end messages from the chess engine are always ignored in
19836 Zippy mode.  Previously they could sometimes be processed, which was
19837 sometimes making Zippy hang at the start of a new game that followed
19838 quickly after an old one.
19839
19840 * Zippy can now respond to titled players in channels.  Zippy will avoid
19841 talking to himself in a channel if he knows his own name.
19842
19843 * Bug fix: in colorization arguments, the bold setting was being ignored
19844 if the background color was defaulted.  (xboard only.)
19845
19846 * Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.
19847 If fewer than 8 squares are given in a row, or fewer than 8 rows are
19848 given, the uncovered squares are empty.  Also, there can be a / after the
19849 8th row.
19850
19851 3.6.1 -- Sat May 17 01:02:33 PDT 1997  Tim Mann
19852
19853 * Bug fix: Hitting escape while entering a password on WinBoard no longer
19854 sets the font color back to black (which made further typing visible).
19855
19856 * Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would
19857 often hang if you tried to exit with the Exit menu item, the [X] button,
19858 etc.  The same fix may also have corrected the problem where running a
19859 chess program with /xreuse would sometimes crash Windows 95 (but not NT)
19860 when the chess program was killed and quickly restarted.
19861
19862 * Bug fix: Periodic Updates would not work if turned on after having been
19863 off.  Also, the default was needlessly "off" in WinBoard.
19864
19865 * Zippy bug fix: Continuing an adjourned game was totally broken.  The
19866 wrong moves, or no moves at all, were being fed to the chess program.
19867
19868 * WinBoard change: Giving -ics without -icshost now pops up the startup
19869 dialog with "Use an Internet Chess Server" pre-selected, so that you get a
19870 menu of chess servers instead of going directly to ICC.
19871
19872 * Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and
19873 -icshelper in winboard.ini.  This causes a problem if you use a different
19874 icshost later that needs the default values for icsport (5000) and
19875 icshelper ("", meaning none).
19876
19877 * Disabled complaints about unexpected "[Ii]llegal move" messages from
19878 the chess program; we still get them at times.
19879
19880 * Greatly simplified the code for Move Now and SIGINT (ATTENTION).  Fixes
19881 the bug where Move Now did not work with GNU Chess in WinBoard, and
19882 several more obscure bugs as well.  Reintroduces a minor bug: GNU Chess might
19883 not think on your time after a Move Now command.  Trying to fix this
19884 causes too many other problems.  Documented change in engine-intf.txt.
19885
19886 * Cleaned up code for obtaining ratings from ICS.  It was kludgey and may
19887 have had bugs on systems with no "Creating:" message.  It should fail
19888 gracefully there, just not finding the ratings.
19889
19890 3.6.0 -- Thu May  8 19:55:58 PDT 1997  Tim Mann
19891
19892 * WinBoard now has right-button context menus in the ICS Interaction
19893 window.  Some of the items do immediate commands on the player name you
19894 have selected or pointed to.  (Suggested by Paolo Casaschi.)  Also, the
19895 middle button or shift+right does a immediate Copy and Paste.
19896
19897 * Fixed a bug in Zippy's wild rejection.  The bug was causing Zippy to
19898 reject all forms of wild.  Now it rejects only 1, 9, 16, 17, and 24, as
19899 was intended.  These variants have different rules, while the other
19900 variants defined so far only have different starting positions.
19901 (Actually, wild 2, 3, and 4 never allow castling, but may sometimes by
19902 chance have king and rook start on squares where castling appears legal.
19903 This could cause a problem later.)
19904
19905 * Zippy now resumes adjourned games by feeding the chess program
19906 the move list instead of the position.  Setting -getMoveList to False
19907 restores the old behavior.  Feeding in the move list is better because
19908 it enables the chess program to correctly handle en passant legality,
19909 castling legality, draw by repetition, and draw by the 50 move rule.
19910
19911 * Added a WinBoard startup dialog for people who run WinBoard.exe without
19912 using the Start menu or reading the help file.  Instead of being dumped
19913 directly into GNU Chess mode, you now get a menu of choices.  You now have
19914 to give the new WinBoard -cp option to go directly into chess engine mode.
19915 I did not add this feature to xboard.
19916
19917 * Handling of "illegal move" from Crafty is now back on.  (It was turned
19918 off in 3.4.6; see below.)  Crafty 12.0 doesn't seem to send bogus ones
19919 anymore.  I did have to suppress sending time and otim in analyze mode to
19920 make this work, but there is no harm in that.
19921
19922 * Zippy now sends "gameend" to ICS at the end of each game.  You can alias
19923 this to "seek" or whatever you like.
19924
19925 * Added Crafty support for Move Now, using the "?" command.  We test
19926 whether this command exists by trying it once at the start of the first
19927 game, before it really makes sense.  If we don't get a message like
19928 "Illegal move ... ?", we assume it's OK.  (We're careful about this
19929 because sending a "?" to GNU Chess on Move Now keeps it from pondering the
19930 next move as it should.)
19931
19932 * Added support for a tellusererror command from the chess engine.  See
19933 engine-intf.txt.
19934
19935 * Attempted to make engine-intf.txt complete.
19936
19937 * Minor fixes/cleanup to GameEnds code, to be sure we always interrupt
19938 when needed, and always undo an extra move generated by stopping the chess
19939 program while it is thinking.
19940
19941 3.5.7 -- Sat May 03 22:37:44 PDT 1997  Tim Mann
19942
19943 Beta release of both xboard and WinBoard.
19944
19945 * Updated xboard documentation.  I really wish the man page was built from
19946 the info file instead of being separate!  It's a pain to update them both.
19947
19948 * Updated documentation of the interface between XBoard/WinBoard and chess
19949 programs, and renamed it to engine-intf.txt.
19950
19951 * Added support for tellics, telluser, and askuser commands from the chess
19952 engine.  See engine-intf.txt.
19953
19954 * Various bug fixes.  On WinBoard, 256 color displays are finally handled
19955 right; no more color flashing when you switch windows unless the colors
19956 really need to be updated.  Also, I think the problem of the console font
19957 failing to change or changing back by itself is finally fixed.
19958
19959 3.5.6 -- Tue Apr 29 03:08:00 PDT 1997
19960
19961 Beta release, WinBoard only.  ChangeLog was out of date in release,
19962 updated here.
19963
19964 * Added ICC timestamp and FICS timeseal to WinBoard distribution.  These
19965 are my own ports to Win32, based on and used by permission of the owners
19966 of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram
19967 for timeseal).  The owners permit these programs to be distributed only in
19968 binary form (to help prevent cheating), so to avoid running afoul of the
19969 GPL, I have kept them as separate programs, not linked into the WinBoard
19970 address space.  Updated Start menu icons to use them.
19971
19972 * Miscellaneous smaller changes.
19973
19974 3.5.5 -- Fri Apr 25 03:06:00 PDT 1997
19975
19976 Beta release, WinBoard only.  ChangeLog was out of date in release;
19977 updated here.
19978
19979 * Added simple sound support to WinBoard.
19980
19981 * Updated WinBoard documentation.
19982
19983 * Internal implementation of the telnet protocol is now more complete.
19984 You can now hop through a VMS host on the way to ICS.  For example, do
19985 "xboard -ics -icshost vms.host.edu -icsport 23", then log in.  Do not use
19986 the -telnet flag; that says to use an *external* telnet program.  To avoid
19987 double echoes, you need to force character mode in VMS telnet after
19988 connecting from VMS to ICS.  Do "^]^Mset mode char^M^M".
19989
19990 * Display opponent names in the title bar for MachineWhite, MachineBlack,
19991 and TwoMachines modes.
19992
19993 * WinBoard now has an installer, built with InstallShield.  The installer
19994 works with a binary-only distribution.  Sources are still freely
19995 available, but now separately.
19996
19997 * Added SaveSettings to WinBoard, which saves current option settings to
19998 winboard.ini.  Made sure all options can be saved and loaded, including
19999 fonts and com port settings.
20000
20001 * If the game ends while you are dragging a piece, we now don't let you
20002 finish the move.  Formerly the move was accepted and your opponent's clock
20003 would start running again.
20004
20005 3.5.4 -- Fri Apr 18 01:15:24 PDT 1997  Tim Mann
20006
20007 Beta test release of WinBoard and xboard.  The documentation remains
20008 out of date.
20009
20010 * Many fixes and improvements to new WinBoard user interface code.
20011
20012 * In Zippy mode, avoid sending another copy of the same move to the chess
20013 program if ICS sends us another copy of the board image.  Hard to believe
20014 it took me until now to diagnose and fix this problem!
20015
20016 3.5.3 -- Sat Apr 12 19:49:33 PDT 1997  Tim Mann
20017
20018 Beta test release of WinBoard and xboard.
20019
20020 * Fixed fatal bug in WinBoard input handling.
20021
20022 * Made code to stop chess program for reuse a bit smarter.  Removed kludge
20023 of "white" in initString; it didn't work well, and is unneeded
20024 with Crafty 11.21 and later.
20025
20026 3.5.2 -- Sat Apr 12 15:40:01 PDT 1997  Tim Mann
20027
20028 Beta test release of WinBoard.
20029
20030 * Ignore check and permit promotion to King during suicide games; no need
20031 to turn off TestLegality.
20032
20033 * Renamed CheckLegality to TestLegality to avoid confusion with the chess
20034 term "check".
20035
20036 * Added Rematch to Action menu.
20037
20038 * WinBoard now has a custom ICS interaction window with scrollback, a
20039 separate line for input, and colorization.  Accelerators that conflict
20040 with normal editing keys were changed (by requiring Alt+) so they can work
20041 in both the console and the main window.
20042
20043 * WinBoard error popups are now non-modal and disappear when you make a
20044 new move, as in xboard.
20045
20046 * Configure now defaults to --disable-ptys on all systems.  If anyone has
20047 an ancient SysV system where pipes don't work with select, they can still
20048 do "configure --enable-ptys" explicitly.  I would appreciate getting a bug
20049 report if this happens to anyone, with complete output from configure and
20050 "uname -a".
20051
20052 * "make install" now makes the installation directories too.
20053
20054 * Fixed a bug that would cause an "Illegal move" message for Black from
20055 GNU Chess to be incorrectly considered bogus.
20056
20057 * Handle name changes during an ICS game (FICS bname and wname commands).
20058
20059 * You can force both chess programs to be killed at the end of each game
20060 by turning off the reuseChessPrograms option.  There are still some
20061 problems with reusing Crafty even in version 11.20.
20062
20063 * Now the second chess program stays around by default too, if it ever
20064 gets started.
20065
20066 3.5.1 -- Sat Apr  5 16:47:48 PST 1997  Tim Mann
20067
20068 Beta test release.
20069
20070 * Don't kill off and restart the chess program for each game; keep the
20071 same one running, using the "new" command to start a new game.  This
20072 change works around the problem in Windows 95 that makes WinBoard crash it
20073 at times, and is generally desirable to make new games start faster.  The
20074 second chess program (for TwoMachines) is still killed at the end of the
20075 game, and unfortunately this can still crash Windows 95.  Temporarily
20076 added "white" to the initString to make this work with Crafty 11.20, which
20077 has a minor bug in "new".  Older versions of Crafty have worse bugs in
20078 "new"; they should not be used with this version of xboard.
20079
20080 * Support for FICS suicide chess: Parse illegal moves (that leave King in
20081 check) in game history.  If CheckLegality is off, allow promotion to King
20082 and illegal moves in game files.  We still generate e2e4 style notation
20083 for illegal moves.
20084
20085 * Handle FICS "has timeseal; checking" message.
20086
20087 * Changed the coords from white back to black; this was a bug.
20088
20089 * Fixed problems compiling with K&R compilers.
20090
20091 * Fixed an old bug in RegisterMove that was crashing cmail on some systems
20092 (notably linux).
20093
20094 3.5.0 -- Thu Jan  2 16:59:49 PST 1997  Tim Mann
20095
20096 Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!
20097
20098 * Fix Crafty resumed game time bug (frankm)
20099
20100 * Word wrap text in Analysis window (frankm)
20101
20102 * More debug info for XPM loading (frankm)
20103
20104 * Replaced config.sub, config.guess, etc., with up-to-date versions from
20105 autoconf 2.12.  Hopefully this will fix problems on Pentium Pro machines.
20106
20107 * Removed some Makefile gunk that was causing looping for one person.
20108
20109 3.4.7 -- Thu Dec 19 14:22:41 PST 1996  Tim Mann
20110
20111 All changes from Frank:
20112
20113 * Retrieve ratings from ICC (and FICS, etc., when they add the Creating:
20114 message), save them in the PGN tags, and pass them to Crafty in Zippy mode.
20115
20116 * Add settable time delay between characters in ICS login script.
20117
20118 * Colorize messages like personal tells.  Fix false recognition of channel
20119 tells.
20120
20121 * Pass "tells" from Crafty through to ICS (in Zippy mode).
20122
20123 * Implement ~/ filename convention from C shell for game and position file
20124 names.
20125
20126 * ZIPPYACCEPTONLY feature for testing.
20127
20128 3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996  Tim Mann
20129
20130 * Put recognition of "illegal move" messages from Crafty for
20131 illegal castling, etc., inside an #if that is currently turned off,
20132 because of a bug in Crafty that generates bogus "illegal move" messages
20133 after some moves that are actually legal and accepted by Crafty.
20134
20135 * Added -checkLegality option; previously this could not be turned off.
20136
20137 * Fixed an old bug in finding default board size parameters.
20138
20139 * Differentiated among channel tell, kibitz/whisper, and personal tell/say.
20140
20141 * Fixed a bug in detecting Xpm in the configure script.
20142
20143 3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996  Tim Mann
20144
20145 * Added zic2xpm to the kit; it had been omitted by mistake.
20146
20147 * Added some default colors for -colorize
20148
20149 3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996  Tim Mann
20150
20151 This is meant to be a beta release in preparation for version 3.5.
20152
20153 * Added InfoXBoard and ManXBoard to the Help menu.
20154
20155 * Made Frank's ICS input box optional, defaulting to off.
20156
20157 * Merged in Frank McIngvale's XbKit.  Many new features, including
20158 -clickClick mode, the Analysis modes, piece flashing, ZIICS import,
20159 ICS text colorization, and the ICS input box.  Many thanks to Frank for
20160 supplying and documenting this code.
20161
20162 3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996  Tim Mann
20163
20164 Small set of changes made while Frank McIngvale was working on XbKit in
20165 parallel.  Unreleased in this form.
20166
20167 * Updated zippy.README.
20168
20169 * Removed useless X event handler and removed strange code for copying
20170 form translation table to board that worked around the bug it caused.
20171 This makes changing bindings in .Xdefaults more straightforward.
20172
20173 * Now pressing the Control key steps back one move, and releasing it steps
20174 forward again.
20175
20176 * Moved quit from "q" to "Q" for greater safety.
20177
20178 * Use "unobserve" instead of "observe" to stop observing; needed on FICS.
20179
20180 * Support for interface variable.
20181
20182 * Strip titles from people who are talking to us, so (for example) Zippy
20183 won't try things like "tell Darooha(*) hello".  Needed on FICS.
20184
20185 3.4, patchlevel 2 -- Tue Jul  9 19:06:42 PDT 1996  Tim Mann
20186
20187 This patchlevel is not planned to be an announced release.  It's in
20188 preparation for integrating Frank McIngvale's XbKit.  It mostly contains
20189 minor fixes I've accumulated since 3.4.pl1.
20190
20191 * WinBoard /telnet option now fires up an external program, as
20192 with xboard, instead of trying to use a feature of NT 3.1 that does not
20193 exist in later versions of NT or in Windows 95.  ChangeLog for 3.4.pl1
20194 said this had been implemented there, but it really wasn't.
20195
20196 * Indicating player to move by the icon color now works under Windows 95.
20197
20198 * WinBoard now kills the chess program when you exit using the system menu
20199 or the [X] button.  Thanks to Michael Lowe.
20200
20201 * Minor changes to Zippy, including: Now understands wild challenges on
20202 FICS; these used to crash it.  Removed limit on how fast a game will be
20203 accepted.  Use "set formula ..." on the chess server to limit this if you
20204 are using GNU Chess.  Now sends correct opponent name to Crafty.
20205
20206 * Added some missing default values to documentation.  Thanks to Stuart
20207 Cracraft.
20208
20209 * Bugfix: Trying to print "No fonts match pattern" error message would
20210 crash.  This can happen to Linux users who don't install Helvetica, for
20211 example.
20212
20213 * Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an
20214 infinite loop.
20215
20216 * Added more directories to search for Athena widgets on HPUX.
20217
20218 * New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.
20219
20220 * Recognize "illegal move" messages from Crafty for illegal castling, etc.
20221
20222 * Bugfix: "name" command added to zippy.c for Crafty was producing error
20223 message if GNU Chess was in use.
20224
20225 * In bughouse mode, suppress holding messages from console window; show
20226 holdings only in banner.
20227
20228 * Minor fixes/cleanup to Makefile.in and configure.in.
20229
20230 3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995  Tim Mann
20231
20232 * This patchlevel updates WinBoard to match xboard, and includes a few
20233 fixes and minor improvements.  "-size tiny" and "-size n,n,n,n,n,n"
20234 are still not implemented for WinBoard.
20235
20236 * Installed support for Crafty based on code from Bob Hyatt.
20237 Currently the only documentation for this is in the FAQ, and a few
20238 things don't work with Crafty 8.23.  Please do not report these
20239 problems as bugs in either xboard or Crafty.  Bob and I know about
20240 them.  The worst ones (if not all of them) should be fixed in Crafty
20241 8.24.
20242
20243 * Changed the kludge command we send when gnuchess wants to print
20244 something that doesn't end with a newline, from "help" to "bogus".
20245 This works because the error message gnuchess prints ends with a
20246 newline.  It also improves compatibility with Crafty, which doesn't
20247 need the kludge, but for which sending "help" causes a problem.
20248
20249 * Don't draw grid at all if lineGap is 0; previously we drew the grid
20250 with X "0-width" lines (usually 1 pixel wide) and then overwrote it.
20251
20252 * Makefile: Removed xboard.info from "all" target so we won't try to
20253 rebuild it, because this fails on hosts that don't have makeinfo
20254 installed.  Other minor fixes to "clean" targets, etc.
20255
20256 * Fixes and cleanup to Auto Comment code that handles continuation
20257 lines and highlighting.
20258
20259 * Auto Observe now tries to observe the game from the point of view of
20260 the player who was on your gnotify list.  Requested by rng.
20261 Limitations: We can't tell which player it was unless you have ICS
20262 highlighting turned on.  Also, currently "observe foo" works as
20263 required (observing from foo's point of view) only on ICC, but FICS
20264 will probably implement this soon.
20265
20266 * "-size tiny" now makes the default font smaller automatically.  This
20267 was implemented by introducing an extra Form widget in the hierarchy
20268 for all xboard windows, named either normalLayout, smallLayout, or
20269 tinyLayout.  So you can have resource specifications that apply only
20270 to certain layouts; in particular, XBoard*tinyLayout*font.
20271
20272 * Bug fix: EditGame or EditPosition while playing or examining still was
20273 not really being permitted.
20274
20275 * WinBoard bug fix: On the EditPosition menu, King did not work.
20276
20277 * Added text catalog of WinSock error messages to WinBoard, because
20278 Microsoft still has not put them in the system message catalog.
20279
20280 * Removed support for older ICS game-ending messages that do not have
20281 a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.
20282 The code for older messages was sometimes firing on the newer
20283 messages, due to parsing ambiguity.  If the current code sees an old
20284 message, it will understand that the game is over, but will always
20285 display * as a result token instead of trying to guess the result by
20286 interpreting the text message.
20287
20288 3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995  Tim Mann
20289
20290 * This patchlevel was released for xboard only.
20291
20292 * Updated the info file.  It should now be as up-to-date as the man page,
20293 with good English except in the parts that pertain only to AmyBoard.
20294
20295 * Added "-size tiny", requested by Bob Hyatt.  Also cleaned up bitmap
20296 support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,
20297 if the actual bitmaps are supplied by the user.
20298
20299 * Updated bughouse support.
20300
20301 3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995  Tim Mann
20302
20303 * Unreleased beta that works with preliminary FICS bughouse code.  Will
20304 need changes before release to track FICS message changes.
20305
20306 * Removed use of .EX macro from man page.  It is not supported by some
20307 nroff -man macro packages, notably the one on Slackware Linux.  Switched
20308 to boldface for references to xboard and other commands within the man
20309 page, as this seems to be the modern way.
20310
20311 * Bug fix: If ICS rejected a move, it was correctly undone on the board,
20312 but the message widget still displayed the bad move.  Reported by DAV.
20313
20314 * Normally, xboard in ICS mode fetches the move list whenever the board
20315 display switches to a new game.  Doing this is now an option
20316 (getMoveList) that can be turned off, which is useful if you are watching
20317 multiple blitz games.  Requested by rng.
20318
20319 * Move list fetching code is now smarter: it ignores a move list if it is
20320 not for the right game.
20321
20322 * Added support for bughouse as implemented on FICS.  Holdings are shown
20323 in the window title in place of the strength numbers.  A menu on mouse
20324 buttons 2 and 3 (same on both) lets you drop pieces.  There is no checking
20325 as to whether you actually hold the piece you are trying to drop; we rely
20326 on ICS to check that.  Notation of the form P@f7 is generated and parsed.
20327 The mate detector does not understand that non-contact mate is not really
20328 mate in bughouse, but this does no real harm.  It results in a "#"
20329 suffix being displayed on the move notation, but xboard does not assume the
20330 game is over.
20331
20332 * Bug fix: Promotion to a knight was not working with ICC!  Thanks to
20333 Wendigo for the report.
20334
20335 * Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*
20336 (supplied from configure.in) had a bug that would cause childio.c to
20337 fail to compile, due to a "continue" that was not within a loop.
20338
20339 * Bug fix: In pgntags.c, memory was being freed while still in use.  One
20340 symptom this caused was that on some machines, cmail would fail with a
20341 message that it could not find the BlackNA tag.  The error was in some
20342 submitted code that I included in version 3.2.pl3 without reading
20343 carefully enough.  Anders Forberg noticed the symptoms, and Evan Welsh
20344 (who had nothing to do with causing the bug) found the bug and submitted a
20345 fix; thanks to them both.
20346
20347 * Removed restriction against using EditGame while playing, observing,
20348 or examining on ICS.  You still get a warning popup.
20349
20350 3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995  Tim Mann
20351
20352 * Bug fix: Going directly from MachineWhite to TwoMachines mode would kill
20353 off the second chess program after Black's first move.
20354
20355 * Added -timeIncrement feature.  Thanks to Joel Rivat.
20356
20357 * Deleted code that tries to keep you from observing more than one game,
20358 or observing while playing or examining.  There is actually no problem in
20359 doing this, except that every time an update comes in from a different
20360 game than is currently being displayed, xboard fetches the history of the
20361 new game, which may be time-consuming if you are on a slow link.
20362
20363 * Fixed configure so as not to crash when neither lex nor flex is found.
20364 lex or flex is needed only if the user wants to rebuild parser.c.  Thanks
20365 to Phil Humpherys for reporting the crash.
20366
20367 * Bug fix: config.h.in used #define instead of #undef for some macros used
20368 in the pty code in childio.c.  This causes the code to fail to compile on
20369 some architectures, because the symbols are supposed to be undefined, not
20370 defined to empty, when they are not set in configure.  Bug originated in
20371 3.3.pl0 when config.h was introduced.  Thanks to Phil Humpherys for report.
20372
20373 * Bug fix: ShowThinking would not show anything when current position had
20374 no move to display in the move window.  E.g., if position was created by
20375 LoadPosition or EditPosition.
20376
20377 3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995  Tim Mann
20378
20379 * Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.
20380
20381 * For WinBoard, added hint to help file that you may need to turn off
20382 LocalLineEditing while typing dialing commands to your modem.
20383
20384 3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995  Tim Mann
20385
20386 * Zippy distribution is no longer separate from regular xboard distribution.
20387
20388 * Deal properly with Show Thinking output from GNU Chess when it is
20389 thinking on its opponent's time.  In TwoMachines mode this output is
20390 suppressed to avoid interfering with the output from the machine that is
20391 on move; in other modes it is displayed (including the move that GNU Chess
20392 is predicting the user will make next).  GNU Chess produces this output
20393 only if it is built without -DQUIETBACKGROUND defined; this symbol is
20394 defined by default in patchlevels before pl75, but undefined by default in
20395 pl75.
20396
20397 * Bug fix: Handling of initial board position in move list for wild games
20398 was broken, so wild games could not be observed and adjourned wild games
20399 could not be continued.  Thanks to "Maximum Entropy" for the bug report.
20400
20401 * Added feature: algebraic notation now shows "+" indicator for check
20402 and "#" for checkmate, as called for in PGN standard.  Thanks to Kevin
20403 Maher for the suggestion.
20404
20405 3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995  Tim Mann
20406
20407 * Changed configuration to use a config.h file instead of passing zillions
20408 of -D options on the cc command line.
20409
20410 * Merged a small fix and some updates to the texinfo file from Jochen
20411 Wiedmann.  The texinfo file still needs work.
20412
20413 3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995  Tim Mann
20414
20415 * Beta test release of xboard only.
20416
20417 * Updated WinBoard code to include new xboard features.
20418
20419 * Added texinfo file from Jochen Wiedmann to the release, but not as the
20420 primary documentation.  It needs updating, and the English needs work.
20421 I did make a few improvements, mostly to change incorrect uses of @var to
20422 either @samp or @code as appropriate.
20423
20424 * Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.
20425
20426 * Fixed EditComment; did not pop up window in previous beta.
20427
20428 * Added AutoComment feature.
20429
20430 * Added GameListDestroy to disable the outdated game list popup in cases
20431 where we load a new game file without building a new popup.
20432
20433 * Added yyskipmoves feature to parser.l to speed up building of gamelist.
20434
20435 * gamelist.c wouldn't compile with a non-ANSI compiler.  Fixed.
20436
20437 * Change to yy_text handling in patchlevel 3 still had problems.  Can't
20438 use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER
20439 according to whether the lexer on the current host makes yytext a pointer.
20440 But most people will be using a parser.c that was generated on another
20441 host and shipped with the package.
20442
20443 3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995  Tim Mann
20444
20445 * Beta test release of xboard only.
20446
20447 * Added FIREWALLS section to man page.
20448
20449 * Changed -icsport to be a string.  Now with the -telnet option,
20450 specifying -icsport "" suppresses the second argument to telnet.
20451
20452 * Added EditTags feature.  Removed AboutGame from menu, because EditTags
20453 subsumes it.  EditTags suggested by Jochen Wiedmann and first implemented by
20454 him in AmyBoard.  xboard implementation is my own.
20455
20456 * Fixed some missing or incorrect prototypes.
20457
20458 3.2, patchlevel 3 -- Sat Jun  3 18:57:38 1995  Tim Mann
20459
20460 * Beta test release of xboard only.
20461
20462 * New version of cmail from Evan Welsh, to fix compatibility problems with
20463 perl 5.0.
20464
20465 * Added game list feature on Load Game, based on code from Jochen
20466 Wiedmann.  Integrated it with cmail.
20467
20468 * Several bug fixes from Jochen Wiedmann, including one to my yy_text
20469 workaround for the difference in the type of yytext between lex and flex.
20470
20471 * Handle clock pause on FICS.
20472
20473 * Suppress clocks in untimed FICS games (time control 0 0).
20474
20475 * Rebuilt configure script with autoconf 2.3.  This fixes a bug in
20476 configuring for X11R6, where -lSM -lICE would not be added when needed.
20477
20478 * Fixed inconsistent type declarations on IntSigHandler and
20479 CmailSigHandler.  Bug report from Josh Daynard.
20480
20481 * backend.c wouldn't compile with a non-ANSI compiler.  Fixed.
20482
20483 3.2, patchlevel 2 -- Tue Feb  7 14:50:30 1995  Tim Mann
20484
20485 * Minor release of both xboard and WinBoard.
20486
20487 * Added recognition of some FICS messages.  On the other hand FICS is also
20488 changing some of its messages to match what xboard already recognizes.
20489
20490 * Temporarily went back to using "promote" command on ICS instead of
20491 "a7a8=Q", because FICS doesn't implement the latter yet.
20492
20493 * We now avoid using overlapped I/O on pipes in WinBoard, to make Windows
20494 95 beta 2 happy.  This lets WinBoard work with GNU Chess on Windows 95!
20495
20496 * Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.
20497
20498 * Installed patch to cmail bug in LoadGame from Evan Welsh.
20499
20500 * Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode
20501 were not being handled correctly.  Bug was in GameEnds().
20502
20503 * Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").
20504 Now passwords won't be echoed when you connect directly to ICS.  Also,
20505 telnet negotiation characters aren't displayed (when possible).
20506
20507 * Implemented more of the telnet protocol.  Now connecting to a telnet
20508 server with "-icsport 23" should work even without giving the -telnet
20509 option.  The telnet is in "old line-by-line mode".
20510
20511 3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994  Tim Mann
20512
20513 * This patchlevel released for WinBoard only.
20514
20515 * winboard.c: Fixed ConsoleInputThread().  Needed to change CRLF to LF,
20516 not to CR.  This was stopping normal /ics mode from working.  Thanks to
20517 Asher Kobin for the bug report.
20518
20519 * winboard.c: Fixed Raw(), EchoOn(), EchoOff().  Now they take effect
20520 immediately, not on the next console read after the one in progress.
20521
20522 * winboard.c: Attempted to make WinBoard work with gnuchessx running
20523 directly on Windows (not remotely via rsh).  It now works on NT, but only
20524 if gnuchess is told not to think on its opponent's time ("easy\n" removed
20525 from initString).  The problem seems to be that GenerateConsoleCtrlEvent
20526 is not doing anything.  On Windows 95 beta 2, we get error messages on
20527 both reading and writing to gnuchessx; I didn't investigate why.
20528
20529 3.2, patchlevel 0 -- Wed Dec  7 13:23:36 1994  Tim Mann
20530
20531 * Thanks to all the beta testers who gave me feedback: Josef Nelissen,
20532 Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,
20533 Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike
20534 Lee.  Sorry if I forgot anyone.  Thanks to Virendra Kumar Mehta for
20535 information about DYNIX/ptx.
20536
20537 * Don't exit on keyboard EOF unless we get two in a row.
20538
20539 * WinBoard only: added -localLineEdit switch to allow turning off local
20540 line editing if you really want to.  It is still a bad idea to let the
20541 echoing be done remotely, however; see below.
20542
20543 * Fixed some configure problems on HP-UX.  [Steve Booth]
20544
20545 * Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3.  [Josef Nelissen]
20546
20547 * cmail bugfix from Evan Welsh (cmail 3.4).
20548
20549 3.1, patchlevel 9 -- Fri Dec  2 23:54:56 1994  Tim Mann
20550
20551 * Beta distribution only
20552
20553 * Always do local echo/edit of user typing in ICS mode.  Doing the echo
20554 downstream may seem nicer in some modes, and it can be hard to turn that
20555 echo off, but the echoed characters can be interleaved with ICS output
20556 and make it impossible to parse correctly.  For xboard this involved only
20557 a change to recommendations in the man page, as Raw() isn't implemented.
20558 For WinBoard, removing Raw() made a real difference.  Added code in
20559 WinBoard to change /r/n back into /r on keyboard input, as we get the
20560 former when Raw() is not called.
20561
20562 * Do not issue ICS "refresh" command after we start to observe a game
20563 unless we get to the next prompt without seeing a board image.  Newest
20564 version of ICS doesn't require this refresh, but old versions around still
20565 do.
20566
20567 * cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.
20568
20569 * Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame.  Evan
20570 Welsh request.
20571
20572 * Using "-" on the command line as a filename for loading (saving) games
20573 or positions specifies the standard input (standard output).  Alain Picard
20574 suggestion.
20575
20576 * On WinBoard only, a command line option without a leading '-' or '/' is
20577 now taken as the value of -lgf.
20578
20579 * Changed to not use stdin, stdout, stderr as initializers in backend.c;
20580 needed for GNU libc compatibility.  You also must build parser.c with flex
20581 (not lex) if you are using GNU libc, to avoid having the same problem
20582 there.
20583
20584 * Changed WinBoard to avoid using "overlapped" input on the console.  It
20585 now seems to fully work on Windows 95 beta 2.
20586
20587 * Improved comment popups on WinBoard.  Now newlines are handled properly,
20588 and the plain Comment popup window doesn't disappear and reappear when we
20589 step to a new move with a new comment.
20590
20591 * Fixed bugs in detecting the absence of the time and otim commands.
20592
20593 * Added built-in implementation of rcmd protocol to WinBoard.  Windows NT
20594 does not implement passing signals through rsh, and Windows 95 does not
20595 have rsh at all.
20596
20597 * Added -remoteUser option.
20598
20599 3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994  Tim Mann
20600
20601 * Beta distribution only
20602
20603 * Rearranged ChangeLog file into reverse chronological order to be closer
20604 to GNU standards.
20605
20606 * Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).
20607 Includes a bug fix to TruncateGame.
20608
20609 * Updated ICS address to be chess.lm.com.
20610
20611 * Bug fixes to handling the aftermath of FatalError.  Thanks to Chris
20612 Petroff for the bug report.
20613
20614 * Test for remsh before rsh, other fixes for HP-UX.  Thanks to Richard
20615 Lloyd.  I wasn't able to do all the things he suggested, so there may
20616 still be some rough edges in building on HP-UX.  See the FAQ file for hints.
20617
20618 * Bug fix; added missing check for HAVE_SYS_SYSTEMINFO.  Thanks to Josef
20619 Nelissen for testing on Solaris 2.x.
20620
20621 * Updated WinBoard to match xboard.  (WinBoard still has a few option
20622 dialogs that don't exist in xboard.)
20623
20624 * Changed Hint output to a popup.
20625
20626 * ShowThinking output and move output no longer overwrite each other.
20627 ShowThinking output won't appear if the displayed position is not current.
20628 ShowThinking output in TwoMachines mode made clearer and documented.
20629
20630 * Implemented --enable-ptys and --disable-ptys arguments to configure.
20631
20632 * Fixed Book and Hint code to work over a pty with echo enabled and tabs
20633 expanded to spaces.  Thanks to Dima Dahknovsky for the bug report.
20634
20635 * Moved Attention calls from all over xboard to one place, inside
20636 SendToProgram.
20637
20638 * Added bulletproofing to ShowThinkingEvent.
20639
20640 * Added code to handle "refresh N" boards that come in from ICS properly,
20641 assuming ICS is changed to mark them with a new relation code (-3).
20642
20643 3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann
20644
20645 * Beta distribution only
20646
20647 * Changed ShowThinking to just show the current best line in the
20648 DisplayMessage area, instead of dumping everything to stdout.
20649
20650 * Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and
20651 changes to cmail code in backend.c, from Evan Welsh.
20652
20653 * Miscellaneous minor fixes.
20654
20655 3.1, patchlevel 6 -- Fri Nov  4 12:53:53 PST 1994 -- Tim Mann
20656
20657 * This patchlevel was not actually released to anyone.
20658
20659 * Updated the pty code to be based on GNU Emacs 19.24, and moved it to a
20660 separate file.  It was hard to split out just the pty configuration from
20661 all the stuff emacs does with its custom configure script and .h files,
20662 but I did my best.
20663
20664 * Converted from imake to GNU autoconf.  This was a serious upheaval.
20665
20666 * Put in code to help trap "error gathering move list" problem reported by
20667 Michel van der List if it recurs.  I couldn't reproduce it.
20668
20669 3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann
20670
20671 * Beta distribution only.
20672
20673 * We now test for checkmate or stalemate in EditGame mode after every user
20674 move, and in LoadGame mode whenever we hit the end of a game without
20675 seeing a PGN end marker.  cmail needs an update to deal with this
20676 correctly; Evan promises one.
20677
20678 * Bugfixes in new move generator.  Thanks to Mike Lee for reporting one of
20679 the bugs.
20680
20681 * Imakefile was omitted from patchlevel 4.
20682
20683 3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann
20684
20685 * Beta distribution only.
20686
20687 * The move generator includes a mate tester.  Initially this is used only
20688 by cmail, and even that usage needs further work.
20689
20690 * Wrote a true move generator and used it to replace all the move
20691 disambiguation and legality checking code in parser.l.  The move generator
20692 is capable of dealing correctly with en passant and castling availability,
20693 but the rest of the program still does not keep track of this information.
20694
20695 * Bug fix: xboard did not handle "foo has made you an examiner of game 23"
20696 message.  Thus you could not use examine features until the next board
20697 came in, showing your new relation to the game.  Thanks to POOKIEWOOKIE on ICS
20698 for the bug report.
20699
20700 * Added AutoObserve feature.  Thanks to Chris Petroff for the idea.
20701
20702 * Added Book feature to use new gnuchess "bk" command.  Mike McGann request.
20703
20704 * Redid code to handle missing "time" command in gnuchess, because latest
20705 gnuchess no longer sends a response to this command.
20706
20707 * Eliminated need for -DFLEX.  Thanks to Michael Shields (Vladimir?) for
20708 the idea.
20709
20710 * Added missing code to implement MoveNow in TwoMachines mode.
20711
20712 * Added ShowThinking feature.  Thanks to Richard Lloyd for the idea.
20713
20714 * Applied patches from Evan Welsh; some fixes and improvements to the
20715 cmail code.
20716
20717 * Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,
20718 introduced in previous patchlevel.  Also fixed related bug in ending a
20719 game in ICS mode; was entering EndOfGame mode instead of IcsIdle.
20720
20721 * Added patch to implement internetChessServerLogonScript flag, from Kevin
20722 O'Connor.  Thanks!
20723
20724 3.1, patchlevel 3 -- Wed Sep  7 13:22:07 PDT 1994 -- Tim Mann
20725
20726 * Beta distribution only.
20727
20728 * Merged in new cmail code from Evan Welsh.  He added the ability to have
20729 more than one game per message, needed for official IECG matches.  I added
20730 the ability to resign or offer/accept/decline a draw in a cmail game.
20731
20732 * Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError
20733 was called too early in initialization.  Georges Honore reported this bug.
20734
20735 * Decided to keep EndOfGame mode as an element of the user interface---it
20736 means that a gnuchess game or loaded game has ended, and the user must
20737 explicitly select EditGame to edit it, rather than just being able to
20738 enter more moves freely.  But internally there is no longer an invariant
20739 tying this mode to whether the chess program is running.
20740
20741 * Zippy bugfix: Was saving only the final position in the -sgf file when
20742 the game ended by something other than resignation or flag.  Also fixed
20743 the longstanding bug that Zippy would think the final board of such a game
20744 was a new game and restart the chess program.
20745
20746 * Now does a better job of faking castling availability in FEN.  We still
20747 don't really keep track of it, but now at least we don't say that castling
20748 is still available when the king or rook is not on its home square.
20749
20750 * Bugfix: Initial board of game history for wild games was going through
20751 too much processing, causing us to forget the game length, which is now
20752 needed by ParseGameHistory.  This was causing problems with resuming
20753 adjourned wild games.
20754
20755 * Updated ICS host to ics.onenet.net.
20756
20757 * Zippy now accepts challenges where the opponent specified his color.
20758
20759 * Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.
20760
20761 * Bitmap directory can include alternative icons now, too.
20762
20763 * Handle "Game * (*) has no examiners" message from ICS.
20764
20765 * Revamped window title and icon name selection.
20766
20767 3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann
20768
20769 * "Beta" distribution for Zippy users only.
20770
20771 * Bugfix: common.h was assuming that X11 type Boolean is char, which is
20772 not always true.  This might have caused all sorts of obscure bugs!
20773
20774 * Installed new bitmaps from Elmar Bartel as the default.  Many thanks!
20775 The old bitmaps can be used by changing the "bitmaps" symbolic link before
20776 compiling xboard, or by using the -bitmapDirectory option at runtime.
20777
20778 * Loading a game that ends with the PGN unfinished symbol ("*") now always
20779 leaves you in EditGame mode.
20780
20781 * Added documentation of -icscomm to man page.  Thanks to Maarten Remkes
20782 for the linux script.
20783
20784 * ^C now kills gnuchess as well as xboard.  Thanks to Dima Dakhnovsky for
20785 reminding me how to do this.
20786
20787 * Bitmap icon color now indicates player to move.  Stuart Cracraft
20788 suggestion.
20789
20790 * Changed piece bitmap flags to have just one flag, which points to a
20791 directory full of bitmaps, instead of a flag for each bitmap.  Also
20792 changed bitmap naming convention.
20793
20794 * "Connection closed by ICS" is no longer a FatalError popup.  This was
20795 too annoying in the normal case where the user typed "quit".
20796
20797 * Changed default font to 14 pixels instead of 10 points.  This seems to
20798 make it close to the size I want it to be on more displays.
20799
20800 * Major mode (GNU Chess, etc.) appears in title bar.  Stuart Cracraft
20801 request.
20802
20803 * Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and
20804 TwoMachinesEvent were calling PauseEvent to get out of pause mode, which
20805 now has undesired side effects, such as advancing the display to the
20806 forwardMostMove.  It works fine to just set pausing = FALSE instead.
20807
20808 * IcsExamining mode now lets you access ICS edit position commands using
20809 the same popup menus as xboard's EditPosition mode.  Thanks to DAV on ICS
20810 for inspiring the idea.
20811
20812 * Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.
20813
20814 3.1, patchlevel 1 -- Wed Jun  1 16:25:11 PDT 1994 -- Tim Mann
20815
20816 * Added parser.c.lex and parser.c.flex to the distribution.
20817
20818 * Added HP gcc options to Imakefile, from Mats Nylen.
20819
20820 * EndOfGame mode no longer highlights EditGame mode indicator, because the
20821 modes really do differ.  I would like to get rid of EndOfGame mode in the
20822 future, at least as far as users can see.
20823
20824 * Larger %a in parser.l, needed for RS/6000 users.
20825
20826 * Minor improvements to Mail Move error messages.
20827
20828 * When -debug flag is given to xboard, -v is passed to cmail.
20829
20830 * Old Save Style uses "1. ..." instead of "1..." when black moves after a
20831 comment; more like xboard 3.0's actual style.
20832
20833 * New version of cmail from Evan Welsh.  Looks for UCB Mail in a more
20834 portable way and has some minor bug fixes.
20835
20836 * Bug fix: Saving a FEN position while in EditPosition mode with black to
20837 play was showing white to play in the saved position.
20838
20839 3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann
20840
20841 * This is the first general release since 3.0, patchlevel 9.  Releases
20842 since then have been limited-distribution or beta releases.
20843
20844 * Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,
20845 Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,
20846 Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and
20847 Evan Welsh.  Sorry if I've forgotten anyone who gave me feedback.
20848
20849 * Updated man page.
20850
20851 * Minor cleanup on menu sensitivity code.
20852
20853 * Integrated another even better version of cmail from Evan Welsh,
20854 including some code he supplied in xboard itself.
20855
20856 * A few more fixes to cmail support.
20857
20858 * Automatically update clocks after an ICS "moretime" command.
20859
20860 * Handle ICS automatic examine mode (set examine 1) after a game.
20861
20862 3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann
20863
20864 * Beta test release only.
20865
20866 * Don't suppress prompt on first board of game being examined; otherwise
20867 it looks like nothing happened at all (i.e., like you're lagged).
20868
20869 * Added StopExamining and StopObserving (Chris Petroff suggestion).
20870
20871 * Made Reset do a refresh on ICS.  John Chanak's original ICS code for
20872 xboard tried to do this; I finally decided it was a good idea after all.
20873
20874 * Fixed bugs in handling updates that come in while you are pausing in
20875 examine mode.  This is pretty tricky to do right.
20876
20877 * Made un-Pausing immediately pop you to the current position.  This is
20878 always necessary in examine mode, since the game may have changed under
20879 you; your remembered moves might no longer be right.  So I made it do the
20880 same in all modes.
20881
20882 * Took Detach Examine mode back out...used Pause mode for this instead!
20883
20884 * Put in a trap for the GNU Chess bug of printing an Illegal Move message
20885 when its own hint move is illegal.
20886
20887 * Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after
20888 it checkmates its opponent.  This involved adding an argument to GameEnds
20889 to say who says it ended (ICS, GNU, etc.)  and taking different actions in
20890 different cases.  Unfortunately, this just restored an older Zippy bug, where
20891 Zippy restarts gnuchess when it gets the board with the final position,
20892 because GameEnds still puts xboard in EndOfGame mode.  Sigh.
20893
20894 * We now capture elapsed time on last move when getting game history.
20895 (Josef Nelissen bug report)
20896
20897 * Rewrote code to redisplay last file title so it really works.
20898
20899 * Fixed bug in oldSaveStyle.
20900
20901 * Larger %a and %o were needed for lex.
20902
20903 3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann
20904
20905 * Beta test release only.
20906
20907 * FatalError popups stay on the screen now.  If the error is really fatal,
20908 all functions are disabled, and the program exits when you press OK.
20909
20910 * Redisplay last file title when using Load (Next/Previous/Same) Game.
20911
20912 * Zippy understands new match challenge message format on ICS.
20913
20914 * Added Revert command.
20915
20916 * When examining a game on ICS, < > buttons do ICS backward/forward
20917 commands, unless you set the Detach Examine option.  Thanks to Dima
20918 Dakhnovsky for the idea.
20919
20920 * Fixed various minor problems in cmail mode.
20921
20922 * cmail generates the tags now.  New version of cmail from Evan Welsh.
20923
20924 * cmail mode won't let you do MailMove unless the currently displayed
20925 position is exactly one move past the end of the game you loaded.
20926
20927 * Fixed building of man pages in Imakefile
20928
20929 * Updates to INSTALL file
20930
20931 3.0, patchlevel 12 -- Sat May  7 21:10:03 PDT 1994 -- Tim Mann
20932
20933 * Beta test release only.
20934
20935 * Brought man page up to date.
20936
20937 * Added Shift+R to resign from keyboard.
20938
20939 * Some items on Action menu available in GNU Chess mode now.
20940
20941 * Revamped Action menu.
20942
20943 * Reordered functions in backend.c as a small step toward reorganizing
20944 this whole mess.
20945
20946 * Generate TimeControl PGN tag.
20947
20948 * Get type of ICS game (e.g., rated blitz) and save in PGN tags.
20949
20950 * Bug fix: Clocks were not redisplayed when entering EditGame mode.
20951
20952 * Bug fix: Clocks were not being redisplayed after loading a game file
20953 with -td 0, so they could show the wrong color active.
20954
20955 * Bug fix: Chess programs would be killed and match mode would exit
20956 prematurely when loading a PGN game fragment ending with "*".
20957
20958 * ICS command "sposition" no longer confuses xboard.
20959
20960 * Integrated new version of cmail (with support code in xboard) from Evan
20961 Welsh.
20962
20963 * Added TruncateGame, MoveNow, RetractMove, and QuietPlay.
20964
20965 * Bug fix: switching between MachineWhite and MachineBlack was not calling
20966 Attention().  Reported by Dino Dini.
20967
20968 * More improvements to INSTALL and Imakefile.
20969
20970 * Pack moves into 79 character lines in PGN output.  We don't generate
20971 check indications, and we always break the line before the result,
20972 so this is not quite PGN export format.
20973
20974 * Use FEN tag in PGN.
20975
20976 * Improved finding and counting of game starts in save files.
20977
20978 * Negative position or game numbers in -lpi/-lgi mean to seek to that byte
20979 offset.  Hook for possible future features, not in man page.
20980
20981 * Detect and handle absence of either "time" or "otim" commands in
20982 gnuchess.
20983
20984 * Don't use "promote" command to ICS anymore.
20985
20986 * Handle switching sides and taking back moves on FICS.
20987
20988 * Handle flip state flag in style 12 board.
20989
20990 * Handle examine mode on ICS.
20991
20992 * Improved error popups for various kinds of illegal moves.
20993
20994 * Suppress unasked-for hints from gnuchess (which it generates in post
20995 mode).
20996
20997 * Load/save position functions use FEN.  Old style also supported.
20998
20999 * Added detailed error messages if loading a bitmap file fails.
21000
21001 * Small board has 2-pixel lines between squares instead of 3-pixel.
21002
21003 * Added OldSaveStyle and AboutGame.
21004
21005 * Renamed ForceMoves to EditGame.
21006
21007 3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann
21008
21009 * The following changes were present in xboard 3.0, patchlevel 11, but the
21010 first group did not make it into WinBoard 3.0 until later.  xboard
21011 3.0.pl11 was a limited-distribution release only, mostly to Zippy users.
21012
21013 * Man page minor fixes.
21014
21015 * Added a missing file close.
21016
21017 * Removed automatic error popdown on Reset, which was destroying some
21018 error messages before they could be read.
21019
21020 * Fixed char vs. unsigned char warnings on bitmaps.
21021
21022 * Use ICS board style 12.  Some improvements to ICS parsing.
21023
21024 * Comment window is now labelled with the move the comment is on, and
21025 comments don't pop down when you step to the next move.
21026
21027 * Save files now in PGN format.
21028
21029 * Support for loading PGN files.  PGN tags pop up when a PGN game file
21030 is loaded.
21031
21032 * More info in INSTALL and Imakefile about building for Suns (and
21033 other systems).
21034
21035 * WinBoard 3.0 patchlevel 11 split off from an early version of xboard
21036 3.0 patchlevel 11, so it does not have all the features of that
21037 patchlevel.  The following changes made it into both xboard and
21038 WinBoard:
21039
21040 * Made Comment dialog non-modal in WinBoard.
21041
21042 * EndOfGame mode is now more transparent.  It looks like ForceMoves
21043 mode except that there is no chess program running.
21044
21045 * Small bug fixes in clock management.  Most noticeably, pausing when
21046 it is gnuchess's move now works as documented (again).
21047
21048 * Add minimal support for -icscomm option.  Not documented yet because
21049 I haven't sorted out the issues with setting the tty modes on the comm
21050 port device, or with locking it properly.  But it's usable by wizards.
21051
21052 * Don't restart the chess program upon Backward event from EndOfGame mode.
21053
21054 * Suppress extra prompt after ICS sends us a board.
21055
21056 3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann
21057
21058 * Beta test release only.
21059
21060 * Zippy now plays chess.  zippy.c and zippy.h are still not included
21061 in the standard distribution, but are available on request.
21062
21063 * Switched to using style 12 on ICS.
21064
21065 * Updated man page, and documented use of XBoard*form.translations to
21066 add more shortcut keys.
21067
21068 * Added shortcut keys "d" to claim/offer/accept a draw, and "t" to
21069 call flag.  Suggested by venu on ICS.
21070
21071 * More explicit instructions in INSTALL file.
21072
21073 3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- Tim Mann
21074
21075 * General release, minor update to 3.0.pl8.
21076
21077 * Loosened checking on whether it's okay to start a move, to satisfy
21078 ICS ultra-blitz players.  Now we don't check whether it's your turn
21079 until you let go of the piece.
21080
21081 * Parser now recognizes "+-+" as meaning the game ended in a draw.
21082
21083 * Got rid of S_NONE symbol, which seems to conflict with some symbol
21084 Sun defines.
21085
21086 * Tweaked the man page.  Clarified that there is currently no way for
21087 two people running copies of xboard to play each other without going
21088 through the Internet Chess Server.
21089
21090 * Fixed a bug in color name conversion.  Asking for two different
21091 colors whose names were the same in the first four characters would
21092 get you two copies of the first one.  Thanks to Volker Zink for the
21093 bug report.
21094
21095 * Improved confusing Usage() message.
21096
21097 * Added a bunch of Sun information to the Imakefile and INSTALL file.
21098 Thanks to Ed Hanway, Arik Klingensmith, and others who responded.
21099
21100 * Test for defined(WIN32) instead of !defined(unix).
21101
21102 * Avoid using (void *) type with non-ANSI C compilers.  Thanks to
21103 James Altucher for the bug report.
21104
21105 3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- Tim Mann
21106
21107 * Note: Patchlevel 8 was the first non-beta release of xboard 3.0
21108
21109 * Added cmail to distribution.  Contributed (and still maintained) by
21110 Evan Welsh.
21111
21112 * Bug fix: -queen option wasn't initializing menu check.  Reported by
21113 Pat Surry.
21114
21115 3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann
21116
21117 * Sent WinBoard 3.0.pl7 to Torre on ICS
21118
21119 * Added parser.h to hold the interface to parser.l
21120
21121 * Upgraded COPYING file and copyright notices to GNU GPL version 2.
21122
21123 3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann
21124
21125 * We no longer display intermediate positions or intermediate comments
21126 while loading a game file with -timeDelay 0 or loading an opening to
21127 start up a -matchMode game.
21128
21129 * Loading an empty game from an xboard save file now gives a status
21130 message "No moves in game" instead of an error popup saying "Game not
21131 found in file."
21132
21133 * Added comment.awk to distribution.
21134
21135 3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann
21136
21137 * Bug fix:  xboard would crash if it couldn't get all its colors; now
21138 it switches to monoMode instead.  Also, xboard was trying to convert
21139 color resources even when using a b/w display.  Reported by Larry
21140 Rogers.
21141
21142 * Bug fix: Declared fields of TimeMark as signed so that we get signed
21143 instead of unsigned arithmetic.  SubtractTimeMarks was breaking on
21144 Alpha AXP (which has 64-bit longs) with old declarations.  Reported by
21145 Michel van der List.
21146
21147 * Bug fixes:  Keyboard accelerators now work after EditComment window is
21148 popped down.  Iconize keyboard accelerator now works even if xboard
21149 was started with -iconic flag and later deiconized.
21150
21151 * Bug fix:  The routine that tests whether a move is illegal because it
21152 would leave you in check was not handling e.p. captures properly.
21153 Reported by Patrick Surry.
21154
21155 * Bug (?) fix:  Was adding time to clocks at time control even when
21156 loading a game file.  Actually it's not entirely clear how time
21157 controls should be dealt with when some moves are loaded from a file
21158 or clicked in with ForceMoves.  For now ForceMoves mode does add the
21159 time (because it can be used to change moves during a live game), but
21160 LoadGame mode does not.
21161
21162 * Updated usage message.
21163
21164 * Previous attempted fix to matchMode had broken TwoMachines mode and
21165 generally needed more work.  Also simplified command line interface to
21166 matchMode.
21167
21168 3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- Tim Mann
21169
21170 * Thanks again to the beta testers listed for 3.0 patchlevel 3, and also
21171 Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.
21172
21173 * Reorganized man page, splitting OPTIONS into subsections.
21174
21175 * matchMode was very broken; fixed.
21176
21177 * Changed convention for turning off command line options from --opt
21178 to -xopt, to be less inconsistent with GNU standards.  Also changed
21179 the long command line options to take True/False arguments like
21180 resources; seems to make more sense this way.
21181
21182 * Added AlwaysQueen option -- suppresses promotion dialog and always
21183 promotes to a queen if you move a pawn to the last rank.  Has no
21184 effect on gnuchess (or your ICS opponents!) -- they can still
21185 underpromote.
21186
21187 * Subtracted an extra fudge term when determining how wide message and
21188 title widgets should be.  This fixes a problem some beta testers had.
21189 Wish I knew why it's needed.
21190
21191 * Bugfix in parser; symptom was that you couldn't do LoadGame after
21192 observing a game on ICS.
21193
21194 * Bugfix in Forward; didn't work after game ended while Pause was turned on.
21195
21196 * Removed bogus execute bits on .h files.
21197
21198 * Use REMOTE_SHELL and TELNET_PROGRAM definitions.
21199
21200 * MachineWhite and MachineBlack now work from TwoMachines mode.
21201
21202 * Popping down an error message with the [ok] button was not turning off
21203 the errorUp flag, so the next move would cause xboard to try to pop it
21204 down again, resulting in a wild memory reference and sometimes a crash.
21205
21206 3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- Tim Mann
21207
21208 * Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
21209 Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
21210 Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
21211 Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.
21212
21213 * Improved error messages for trying to move the wrong color pieces or
21214 to move when it's not your turn.
21215
21216 * Special code for monoMode on 1-bit displays now understands displays
21217 where 1=white and 0=black.
21218
21219 * Declare getenv() if <stdlib.h> not included; avoids a compiler warning.
21220
21221 * Documented borderXoffset and borderYoffset.
21222
21223 * Added -titleInWindow option for use with X window managers that
21224 don't let us set the title in the window banner.
21225
21226 * Fixed error message printing in WinBoard; system error messages no
21227 longer appear as numeric codes.
21228
21229 * The error message popup is now non-modal; you don't have to press the
21230 [ok] button before you can do something else.  In addition, the popup is
21231 positioned so that it doesn't cover up the board (too much), and making a
21232 move or otherwise clicking on the board pops it down.  (Not implemented in
21233 WinBoard.)
21234
21235 * You can now call your opponent's flag in ICS mode by clicking on his
21236 clock.
21237
21238 * Fixed minor bugs in -flipView option and documented exactly how xboard
21239 decides which way to flip the view.
21240
21241 3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann
21242
21243 * Added Autosave to Options menu.  Would be better to have Save
21244 Options dialog as in WinBoard, but this was quick to do and gives the
21245 most-needed functionality.
21246
21247 * Changed "Reload Game" on menu to "Reload Same Game".
21248
21249 3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- Tim Mann
21250
21251 * Sent a copy of patchlevel 1 to Patrick Surry to beta-test.
21252
21253 * Added -cmail option that sets appData.cmailMode.  Currently a no-op.
21254 In the future this may set special modes for use by the cmail script
21255 for playing chess by email.
21256
21257 * Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
21258 ReloadGame suggested by Patrick Surry.
21259
21260 * Added -flipView command-line option.  Suggested by Patrick Surry.
21261
21262 * Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."
21263 needed to match to end of line.  (2) Start of a new file was not matching
21264 the ^ start-of-line character.  The fix for this is a kludge.
21265
21266 * Made game counting code in LoadGame more robust, and made LoadGame
21267 able to detect the end of a saved partial game (by noticing the start
21268 of the next game) in game files created by XBoard itself.  We don't
21269 try to find the start of the next game that way in other kinds of game
21270 files, because the only way I can think of to do that is to look for
21271 another move #1, and that technique gets too many false hits.
21272
21273 * Fixed recently introduced bug in LoadGame when game starts with a
21274 position diagram.
21275
21276 3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann
21277
21278 * Changes in this patchlevel were too numerous to list.  Larger ones are
21279 listed below.
21280
21281 * Added a popup dialog to enter and edit comments.  Inspired by some
21282 code from Patrick Surry.  Changed the normal read-only comment popup
21283 to the same style.
21284
21285 * Added ICS init script feature from Karl Schwamb.
21286
21287 * Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.
21288
21289 * Revamped code to allow use of flex instead of lex on parser.l.
21290 Using flex requires adding -DFLEX to defines in Imakefile.
21291
21292 * Source code is split into front end (xboard.c), which knows about X
21293 and Unix, and back end (backend.c), which knows about chess, gnuchess,
21294 and the ICS.  There is also a front end for Windows NT.
21295
21296 * Boolean command line options now use "-foo" to turn on and "--foo"
21297 to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;
21298 see above.]
21299
21300 * Added menu commands to control autoflag, bell, and coords options.
21301
21302 * User interface has a new look: (1) Menu bar instead of array of
21303 buttons.  A few very commonly used features have small buttons in
21304 addition to being on the menus. (2) Large font for clock.  (3) Pop-up
21305 dialogs for errors.
21306
21307 2.1, patchlevel 11 -- Sat Jun  5 00:01:01 PDT 1993 -- mann@src.dec.com
21308
21309 * Added code to deal with "wild" games on ICS.  This includes allowing
21310 castling with the king on d1 or d8, which is allowed in wild(1) games
21311 if the king started there.  Notation is o-o to castle "short"---to
21312 whichever side the king is closer to---and o-o-o to castle "long."
21313 Right now wild castling is always allowed by xboard; we rely on ICS or
21314 gnuchess to reject it when we aren't really in wild mode.
21315
21316 * memcpy call had arguments in wrong order.
21317
21318 * Removed April Fool code
21319
21320 2.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com
21321
21322 * Avoid trying to select on a pipe when using System V.  Needed to
21323 copy some code from InitChessProgram() up into establish().
21324
21325 * Bug fix in disambiguating pawn moves like "ed".
21326
21327 * Fix to error handling in ReceiveFromProgram.
21328
21329 * Bug fix: entering EditPosition mode with black to play highlighted
21330 White's clock instead of Black's.
21331
21332 * Added telnetProgram resource in case "telnet" is not the name of the
21333 telnet program.
21334
21335 2.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com
21336
21337 * Entering Force Moves mode clears "flag has fallen" messages from display.
21338
21339 * ICS host name can now be in numeric format; for example 128.2.232.4.
21340
21341 * Bug fix: LegalityTest was failing to test whether a pawn move was
21342 illegal because the move would discover a check.
21343
21344 * Handle ICS message "mann asserts a win over manntest, who disconnected."
21345
21346 * Bug fix: A recent change to PromotionCallBack had broken
21347 underpromotion to a knight.
21348
21349 * Bug fix: In EditPosition mode, dragging a piece onto a square border
21350 would make it vanish.  xboard wasn't distinguishing this case from
21351 dragging the piece off the board.  Thanks to Matthew Kidd.
21352
21353 * Removed "static" declaration from yywrap for compatibility with IRIX
21354 version of lex.  Thanks to stiller@blaze.cs.jhu.edu.
21355
21356 * Added substitutes for bzero, bcopy, and gethostname for Solaris
21357 SVR4.  Thanks to Michael Grant.
21358
21359 * Bug fixes to queen move disambiguation.  Bugs showed up only when
21360 promotion resulted in more than one queen on the board.
21361
21362 2.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com
21363
21364 * parser bug fix: It now really works to leave off the piece a pawn is
21365 promoting to and let it default to queen.
21366
21367 * When starting to observe or play an ICS game, don't draw board in
21368 initial position and then immediately redraw it in the current
21369 position.
21370
21371 * Handle ICS messages when an "abuser" forfeits a game by
21372 disconnecting and when a game is aborted ("removed") by an
21373 administrator.
21374
21375 * Bug fix: A user move when in LoadGame+Pause mode was resuming the
21376 game load instead of putting us in force mode.
21377
21378 * It seems that crashes inside sscanf when xboard is compiled with gcc
21379 (as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are
21380 caused by an incompatibility between gcc and the sscanf implementation
21381 on these platforms.  A workaround is to specify -fwritable-strings to
21382 gcc (see the gcc documentation).  Added info on how to do this to the
21383 Imakefile.  Thanks to Tom McConnell for this information.
21384
21385 * Clocks are allowed to go negative.  This is mostly for ICS
21386 compatibility, but it affects gnuchess mode too.  Also, we give the
21387 time bonus when a player hits the time control boundary even if his
21388 flag is already down.  This choice is a bit debatable, but it makes
21389 things look better when you are in TwoMachines mode and gnuchess's
21390 time management screws up causing it to exceed its time limit.
21391
21392 * Implemented move legality checking code.  Moves made with the mouse
21393 or parsed from a file are checked for legality before being made.
21394 This is mostly in preparation for future extensions, such as
21395 human-human play.  For now it makes -noChessProgram mode more useful.
21396
21397 * If the user takes back moves, we restore the clocks to the earlier
21398 settings.
21399
21400 * We now handle the output of the ICS oldmoves command, including
21401 parsing the game end condition.
21402
21403 * Added autoCallFlag mode.
21404
21405 * Fixed glitches in the medium size outline king and rook bitmaps, and
21406 touched up the medium size solid king and outline queen.
21407
21408 * bug fix: DisplayMove would not display backwardMostMove - 1.
21409
21410 * Added CallFlag button and removed AcceptMatch.  CallFlag is more
21411 important with new ICS, and accepting the current match offer is easy
21412 with the new ICS command "accept" (can be abbreviated "ac").
21413
21414 * LoadGame and LoadPosition display tail of file name (plus index
21415 number, if any) as title.
21416
21417 * MachineWhite, MachineBlack, and TwoMachines now work properly from
21418 LoadGame and LoadGame+Pause mode.
21419
21420 * Use o-o and o-o-o to castle on ICS, not 00 and 000.
21421
21422 * Stripped out code for old ICS messages; new ICS is now installed.
21423
21424 * Bug fix: don't offer autosave when paused during LoadGame.
21425
21426 2.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com
21427
21428 * Track change to "Illegal move" message in new ICS.
21429
21430 2.1, patchlevel 6 -- Tue Dec  8 10:48:44 PST 1992 -- mann@src.dec.com
21431
21432 * Kludged around bug in keeping comment popup where you put it by
21433 adding borderXoffset and borderYoffset resources that give the width
21434 of the borders added by the window manager.  Yucch.
21435
21436 * Changed searchDepth kludge back to using "help" instead of "bd"; the
21437 latter didn't work because the output contains a line starting with
21438 "White", so we think gnuchess is telling us that White won.  Oops.
21439
21440 * Removed some code that uses an X11R5 feature, XrmGetDatabase.
21441 Without this, the auto font sizing code is harder to make work, so to
21442 keep my sanity I had to change it to affect only the fonts that appear
21443 in the main window and the comment popup, not the other popups.  Maybe
21444 this is better anyway.
21445
21446 * AcceptMatch button now works after a counterchallenge, too.
21447
21448 * Added code for more variants of messages about games being adjourned
21449 or aborted.  These messages need to be unified in new version of ICS.
21450
21451 * Added workaround for minor bug in ICS; game number on first board
21452 can be wrong.
21453
21454 * Removed code to say "refresh n" instead of "refresh"; was broken and
21455 wasn't needed anyway.
21456
21457 * Added missing casts for compilers that distinguish enums from ints
21458 and missing cast in connect call.
21459
21460 * Added code to recognize "both sides are out of time" draw message
21461 proposed for next version of ICS.
21462
21463 * Thanks to Danny Sleator and Joe Peterson for bug reports.
21464
21465 2.1, patchlevel 5 -- Sun Dec  6 19:52:40 PST 1992 -- mann@src.dec.com
21466
21467 * Removed gcc and CDEBUGFLAGS from Imakefile.
21468
21469 * Corrected setting of mode to ForceMoves when game file ends or
21470 contains an AmbiguousMove or BadMove.  Previous bug was harmless.
21471
21472 * Added AcceptMatch button and mention of 50-move rule for Draw button
21473 to man page.
21474
21475 2.1, patchlevel 4 -- Sun Dec  6 02:55:42 PST 1992 -- mann@src.dec.com
21476
21477 * Now handles revised messages from new version of ICS.  New ICS is
21478 not released yet, so this code might change further.  Next patchlevel
21479 will remove support for old ICS; both are there now.
21480
21481 * Initial processing for a new game being watched or played now
21482 happens when we see the first board image.  Removes the need to parse
21483 some messages and unifies some code.
21484
21485 2.1, patchlevel 3 -- Tue Dec  1 19:40:40 PST 1992 -- mann@src.dec.com
21486
21487 * Handles ICS messages "Draw : neither player has mating
21488 material" and "Draw : White has no material, Black has no time."
21489
21490 * Added AcceptMatch button for ICS mode.
21491
21492 * Fixed bug in previous fix to yylexstr().
21493
21494 * Fixed bugs in code for loading old position files that don't start
21495 with "#" and for handling case where user asked for nth position in
21496 file but there aren't that many.
21497
21498 * Handles ICS message "* has restored your old game"
21499
21500 * ResetProc always clears title line now.
21501
21502 * Don't issue just "refresh" when watching a game; use game number.
21503 Upcoming new version of ICS may need this.
21504
21505 * Added code to try to prevent user from watching and/or playing more
21506 than one game at a time.  There is a race condition inherent here; if
21507 we get more than one board from the game before our command to stop
21508 watching it takes effect, we'll think the user started it again.  Not
21509 clear how to fix this.
21510
21511 * Redid ParseBoard8 to use sscanf.  Code is a good deal cleaner now.
21512 Also, we now parse out the game number too, though we don't make much
21513 use of it yet.
21514
21515 * (Tried to put in a feature that recognizes the current game in a
21516 game file must have ended when we see the start of a new one, but had
21517 to disable it because we have too many false hits with the current
21518 parser, especially in gnuchess listing files.)
21519
21520 * Moves read from game files or received from ICS are now translated
21521 into canonical algebraic form just like all other moves.  Minor nit:
21522 If you use Reset while playing or observing a game in ICS mode, the
21523 game history (including the current board position) is lost, so the
21524 next move of the current game can't be translated.
21525
21526 * Default fonts now vary with board size, and are chosen by pixel size
21527 instead of point size (since piece bitmaps have a fixed pixel size).
21528
21529 * Bug fix: An extra Forward was required to skip over time indications
21530 in game files.
21531
21532 2.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com
21533
21534 * If you move the comment popup, the next time it pops up it will come
21535 back where you put it.
21536
21537 * Fixed yylexstr() so calls to it can be interspersed with calls to
21538 yylex().
21539
21540 * Fixed bugs in Forward/Backward while in LoadGame mode.
21541
21542 * Changed Save{Game,Position} functions to append instead of
21543 overwriting if file exists.  Changed Load{Game,Position} functions to
21544 deal with multiple games/positions per file.
21545
21546 * Changed load{Game,Position}File resources to trigger automatic load
21547 on program startup.  Changed save{Game,Position}File resources to
21548 trigger automatic save after every completed game and on program exit.
21549
21550 * Added autoSaveGames mode.
21551
21552 * Fixed bug with PromoPiece in call to MakeAlg from MakeMove.
21553
21554 * Many changes to get rid of picky compiler warnings and generally
21555 clean up the code.
21556
21557 2.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com
21558
21559 * A last minute change before patchlevel 0 went out broke
21560 ParseGameHistory().  Immediately fixed in patchlevel 1.
21561
21562 Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com
21563
21564 * Uses "time" command of gnuchess 4.0 and following to keep clocks in
21565 sync.  Still works with older versions without this command; we test
21566 whether the command is present the first time each chess program is
21567 started.
21568
21569 * File name dialog pops up under the mouse cursor, so that it's got the
21570 keyboard focus if the window manager is using pointer focus.
21571
21572 * Attempts to move the wrong color piece or an empty square are filtered
21573 out in xboard instead of being passed on to GNU Chess or the ICS.
21574
21575 * The reason a game ended is now remembered even if you move backward
21576 and forward after it ends.  It is forgotten only if you make a move
21577 (which is as it should be---this is now a different game, which hasn't
21578 ended yet).  The message saying why the game ended no longer wipes out
21579 the last move.
21580
21581 * Pause, Backward, Forward, ForceMoves, and EditPosition now work from
21582 TwoMachines mode.
21583
21584 * Forward and Backward now change only the board display unless you
21585 are in ForceMoves mode.  Pause mode keeps new moves that are received
21586 from being displayed on your screen until you unpause (or use
21587 Forward).
21588
21589 * Added option to ring the bell after opponents' moves.
21590
21591 * Saved games that start from other than the standard initial position
21592 now begin with a postion diagram as in saved position files.  The
21593 loader is modified to understand such save files.
21594
21595 * Improved error checking when trying to read from gnuchess.
21596
21597 * Parser understands things that look like time indications, e.g., (0:12),
21598 instead of popping them up as comments.
21599
21600 * Send "quit" to gnuchess before trying to kill it.  I needed this
21601 locally because sending a SIGTERM to rsh was not killing the remote
21602 program on some internal field test systems we have.
21603
21604 * Merged in code from John Chanak to make xboard a front end to the
21605 Internet Chess Server, and added several improvements of my own.
21606 (These include parsing end of game messages, loading the current state
21607 and previous history of a game that's joined in progress via "watch"
21608 or "load", automatic switch from board style 1 to 8 when needed,
21609 removing irrelevant buttons and adding some new ones, adding the
21610 useTelnet and gateway resources, and miscellaneous code cleanup, bug
21611 fixes, and documentation.)  Many thanks to John for writing and
21612 contributing the initial version of this code.
21613
21614 Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com
21615
21616 * gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a
21617 preliminary version of 4.0.pl60 that I have).  Added code to handle
21618 this.  The old format ("e1g1", etc.) still works too.
21619
21620 * Added code to format moves in normal abbreviated algebraic notation
21621 (for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic
21622 (for example, e2e4, e3d4, f7f8q, g1f6, e1g1).  Moves entered with the
21623 mouse or received from gnuchess are translated into this canonical
21624 format for display on the message line or in saved game files.  Moves
21625 read from game files are not translated, however; they are shown and
21626 saved just as they appear in the file.
21627
21628 Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com
21629
21630 * It's not really correct to write an ep capture of a pawn on e5 as
21631 fxe5; this should be written as fxe6 because e6 is where the capturing
21632 pawn ends up.  Nevertheless, the parser now interprets fxe5 as the ep
21633 capture f5xe6 unless there is a pawn on f4, in which case it
21634 interprets fxe5 as f4xe5.  By design, the parser does not flag fxe5 as
21635 ambiguous if there are pawns on both f4 and f5; instead it prefers the
21636 more legitimate f4xe5 interpretation.
21637
21638 * A move like fxe6 or fe6 is now interpreted as an e.p. capture of the
21639 pawn on e5 if there is one there and e6 is empty.
21640
21641 * A move like fxe5 can no longer be interpreted as an e.p. capture if
21642 there isn't a pawn on e5 to be captured.  Previously this could happen
21643 erroneously if there were pawns on both f4 and f5, and the f4 pawn was
21644 capturing a piece on e5.
21645
21646 * The parser no longer munges the move it is parsing; in the past, for
21647 instance, it would remove the "x" from a move like dxc5 before echoing
21648 it to the screen.
21649
21650 * The parser now detects when a move is ambiguous and returns an
21651 error, instead of arbitrarily choosing one possibility as it used to.
21652
21653 Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com
21654
21655 * Added code so parser can handle fully qualified algebraic, e.g.,
21656 Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4.  The "P" and "/" work only for
21657 fully qualified moves, not generally.
21658
21659 * Fixed parser bugs in handling moves with rank or file disambiguator,
21660 e.g. N1f3 or Ngf3.
21661
21662 Mon Jul  6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com
21663
21664 * AIXV3 patch from Tom McConnell; thanks!
21665
21666 * After hitting the Backward button we see the last move made instead of
21667 the word "Pausing" displayed.
21668
21669 * Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault
21670 and Alan Walsh for bug reports and help with fixes.
21671
21672 * Added optional display of algebraic notation coordinates along left and
21673 bottom edges of board.  This was inspired by some code from Jean-Christophe
21674 Engel; thanks!
21675
21676 * Swapped EditPosition and Pause buttons to reduce danger of losing the
21677 game in progress by hitting EditPosition when you wanted Backward.  Thanks
21678 to Ove Lundberg for complaining (though it bugged me too).
21679
21680 * Despite one complaint, I kept the feature of changing both clocks when black
21681 makes time control, rather than changing each individually when the player
21682 involved makes it.  This is to avoid having it look like White is way ahead on
21683 time while Black is thinking about the last move of the time control period
21684 (i.e., when White has made time control but Black hasn't yet).
21685
21686 * Corrected clocks to work as in real tournaments.  Time is *added* when you
21687 reach time control; previously the clocks were simply set to the length of the
21688 new time period.  Also, when a player's flag falls, he still does not receive a
21689 new time allotment at the next time control, but his opponent does still
21690 receive more time if *his* flag has not fallen; previously, time controls were
21691 ignored for both players if either flag fell.  I forget who reported this bug.
21692
21693 * Added a small ESIX patch from Kayvan Sylvan.
21694
21695 Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21)
21696
21697 * Added some SVR4 support code from Ronald Cole.  It's Greek to me.
21698
21699 * Note:  Stephen Meatheringham reports a bug causing xboard to crash with an
21700 error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1
21701 and OpenWindows 3.0.  This bug has not been tracked down yet.
21702
21703 * Fixed a problem with ATTENTION code.  On some operating systems, you have to
21704 be even more cautious about when you send a SIGINT to gnuchess, because the
21705 signal handler gets deinstalled each time it is used, and gnuchess does not
21706 reinstall it immediately.  In particular, if you send a SIGINT and make an
21707 illegal move or ask for a hint, gnuchess does not reinstall the handler until
21708 *after* you make your next move, so you had better not send a SIGINT before
21709 it.  I put a workaround for this case into xboard; I hope there are no more.
21710
21711 * The ATTENTION code is needed when compiling for the ESIX operating system,
21712 because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that
21713 lets you interrupt its thinking on your time just by typing in your move does
21714 not work.  Perhaps gnuchess will have a workaround for this eventually.
21715
21716 * Fixed yet another bug in using XtGetValues; code to inhibit shell resizing
21717 was leaving a null pointer as the place to store the current sizes.
21718
21719 * Man page fixes: corrected -sl to -sd, updated LIMITATIONS.
21720
21721 * Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY.  I hope this
21722 works for all systems; on mine, <time.h> and <sys/time.h> are the same file,
21723 but with an #ifndef that makes it harmless to include both.
21724
21725 * Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan,
21726 d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole.
21727
21728 Mon Jun  8 11:39:18 PDT 1992 (patchlevel 20)
21729
21730 * Documented default value of initString and explained what it means.  This
21731 paragraph also serves to inform the user that xboard by default will tell
21732 gnuchess to think on his time, something one user apparently didn't understand.
21733
21734 * Redid -searchDepth (formerly -searchLevel) and -searchTime code.  They both
21735 work correctly with gnuchess 3.1 now.  The -searchDepth option also works
21736 correctly with gnuchess 4.0.  The -searchTime option does not work with
21737 gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a
21738 working searchTime feature.  Instead of having xboard do a half-baked emulation
21739 of this feature by using a 1-move time control, I will be submitting a patch to
21740 the gnuchess folks to restore the feature as in 3.1.
21741
21742 * Improved clock code.  It now keeps accurate track of fractional seconds of
21743 clock running time, if your system has gettimeofday(); if not, it is generous
21744 about them---if a clock has been going for n.m seconds when it is stopped, only
21745 n seconds are charged.  Previously, xboard would charge one second immediately
21746 when a clock was started, so if n.m had elapsed when it was stopped, n+1 would
21747 be charged.  This should stop xboard from thinking gnuchess has let its flag
21748 fall on the last move of a time control, as it often did before.  I also
21749 improved the comments and condensed the code a little.  I hope there are no
21750 systems that have X11 and don't have gettimeofday(), but if there are, I'd like
21751 to know what to replace it with.
21752
21753 * "Flag dropped" messages now show up on the top line, beside the clocks, so
21754 that they don't obscure more interesting messages on the second line.
21755
21756 * Fixed confusion of NULL and '\000'.
21757
21758 * Include time.h to get ctime() declaration.
21759
21760 * Fix to "parser bug" messages in parser.l.
21761
21762 * Changed code to work with old-fashioned tolower() macro that requires its
21763 argument to be an uppercase letter.
21764
21765 * Minor fix to some usage error messages; was reversing program name and
21766 erroneous argument value.
21767
21768 * Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports.
21769
21770 Fri Jun  5 13:06:08 PDT 1992 (patchlevel 19)
21771
21772 * Note: xboard does not seem to work when compiled with gcc 1.40 on a
21773 PS/2 running AIX.  It crashes at the sscanf in line 768 of xboard.c.
21774 You can work around the problem by specifying the -timeControl option
21775 on the command line instead of defaulting it.  This does not seem to
21776 be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with
21777 MetaWare High C.  [But see 2.1.pl8 above.]
21778
21779 * Removed bogus files from distribution.
21780
21781 * Changed variable name that conflicted with SVR4 ttyname function.
21782
21783 * Thanks to Christoph Strozyk for another bug report, and to several
21784 of the folks mentioned under patchlevel 18 for testing it.
21785
21786 Wed Jun  3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com
21787
21788 * Added an include of sys/fcntl.h to pick up the definition of O_RDWR for
21789 System V users.
21790
21791 * Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine
21792 which chess program got the signal.
21793
21794 * Removed the declaration of strrchr, which was causing problems for some
21795 people, and added an include of <string.h> or <strings.h> instead.
21796
21797 * Fixed a bunch of type errors uncovered by compilers that check more carefully
21798 than the one I was using.  I just patched many of them with casts---typically
21799 cases where a function didn't take the same number and type of arguments as the
21800 X header file prototype said it should---because I didn't see any other way to
21801 fix them.  The versions of the X header files that I have don't actually have
21802 full prototypes for these function types; they declare only the return type and
21803 just give the argument types as comments.
21804
21805 * InitChessProgram returns immediately if chess program died while we were
21806 waiting for it to say "Chess".  I think this fixes a bug that could make xboard
21807 crash or go into an infinite loop printing "Warning: Select failed; error code
21808 9" if gnuchess crashed there.
21809
21810 * Removed code that tries to put the file descriptor used to read messages from
21811 gnuchess into nonblocking mode.  I don't see how this kludge could ever have
21812 fixed the problem it was intended to (see below), and it seemed to be causing
21813 a race condition when we were waiting for the initial message from gnuchess
21814 after it started up.
21815
21816 * Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark
21817 Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas,
21818 and Kris Van Hees for bug reports and help with fixes.
21819
21820 Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu
21821
21822 *  'xboard' suffered from a couple of serious bugs.  An initial
21823    size needed to be given to the message label to avoid a race
21824    condition (!) so I gave it some text (otherwise occasionally
21825    xboard would fail because the message widget was 0 width under
21826    MIT X11R4).  The sizes needed to be Dimension, not int, because
21827    they were written in by Xt -- on my big-endian box Dimension
21828    is short, causing chaos.  Also, I hacked a declaration in for
21829    strrchr() to shut the compiler up -- this is arguably a kludge,
21830    but I couldn't think of anything better; maybe you can.
21831
21832 Fri May 22 13:40:50 PDT 1992 (patchlevel 16)
21833
21834 * First real (non-beta) release of version 2.0.
21835
21836 * Added GNU copyleft notices covering version 2.0 enhancements.
21837
21838 Thu May 21 12:30:09 PDT 1992 (patchlevel 15)
21839
21840 * Removed -g from Imakefile.
21841
21842 * Added casts in parser.l to prevent warning messages from some C compilers.
21843
21844 * Bugfix: code to exit if chess program couldn't be started had bug in error
21845 message printing.
21846
21847 Tue May 19 11:58:06 PDT 1992 (patchlevel 14)
21848
21849 * Fixes one small bug: If LoadGame does not find a game in the file, it resets
21850 xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of
21851 leaving it in LoadGame mode.
21852
21853 Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13)
21854
21855 * Improved error handling when gnuchessx crashes.  Now displays a message and
21856 enters EndOfGame state without exiting.  This should help with diagnosing
21857 gnuchessx problems, since the position and move history are not lost.
21858
21859 * Debugged man page.
21860
21861 Version 2.0 -- Thu Apr  2 16:04:54 PST 1992 (patchlevel 12)
21862
21863 * Added small 40x40 pixel pieces; board size now specified as small, medium, or
21864 large.
21865
21866 * Improved man page.
21867
21868 * Saved position files now say "white to play" if it's white's move.
21869
21870 * SavePosition while in EditPosition mode now gets side to play right.
21871
21872 * Made "Pawn" the default on edit position menus.
21873
21874 * Removed "To play" from edit position menus, since it's redundant.  Left
21875 support code in so it can be restored if someone wants it.
21876
21877 * Tightened parser's definition of a move number to help further with skipping
21878 over stuff before the first move.
21879
21880 * Put back feature of skipping over stuff in game files before a start of game
21881 marker.  This helps when loading electronic mail messages that have things
21882 like "00" in the header (looks like castling), or that talk about moves in
21883 running text before the actual game score.  Tradeoff is that we can't load
21884 games that don't either have move numbers or say "gnuchess game" just before
21885 the moves.
21886
21887 * Changed version number to 2.0 because others have used "1.3" for patched
21888 versions of 1.2.  Display version number and patchlevel at startup.
21889
21890 Thu Apr  2 15:30:22 PST 1992 (patchlevel 11)
21891
21892 * Bugfix:  Match started with TwoMachines button now handles the case where
21893 user loaded/edited a position *and* forced some moves.
21894
21895 * added error message feedback to many cases where the user's button press is
21896 rejected because it isn't allowed in the current mode.
21897
21898 * added -noChessProgram option to allow use as a passive chessboard without
21899 gnuchess, replacing old buggy scheme that tried to do this automatically when
21900 gnuchess was not found on the search path.
21901
21902 * parser accepts "=" in front of promotion piece
21903
21904 * parser accepts ":" notation for captures
21905
21906 * Removed SwitchSides button to make room for EditPosition.  Left code in
21907 place, ifdef'ed out.
21908
21909 * Added EditPosition mode.
21910
21911 * Reformatted xboard.c to eliminate long lines.
21912
21913 * Promotion popup now appears near rank to which pawn is moving.
21914
21915 * UI improvement: Button representing current program mode is kept highlighted.
21916
21917 * Bug fix:  Hint button is now disabled when machine is on move.
21918
21919 Sat Mar 21 14:57:37 PST 1992 (patchlevel 10)
21920
21921 * TwoMachines now works from MachineWhite or MachineBlack mode.
21922
21923 * ForceMoves and Backward/Forward now work at the end of a game started by
21924 the TwoMachines button.
21925
21926 * Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O.
21927
21928 * Bug fix:  SwitchSides button is now disabled when machine is on move.
21929
21930 * Added -searchLevel option and corrected handling of -searchTime to reflect
21931 the way gnuchess really handles command line options instead of what the
21932 documentation used to say.  Allowed optional ":seconds" on times.
21933
21934 Tue Mar 17 21:00:35 PST 1992 (patchlevel 9)
21935
21936 * Removed non-working code that tried to recover when a remote chess program
21937 could not be started; now exits with a message instead.
21938
21939 * Now waits for chess program to print its first message (normally "Chess")
21940 before sending it any commands.
21941
21942 * Matches between two machines can now start from a black-to-play position or
21943 black-to-play opening.
21944
21945 * Bug fix: The program would sometimes lose track of the board position after
21946 the end of the game, drawing a board full of white pawns next time it got an X
21947 redraw request.  Now fixed.
21948
21949 * Cleaned up handling of illegal moves in game files.  Now we just stop reading
21950 and go into ForceMoves mode.
21951
21952 * Saved games against gnuchess indicate who won (restored and debugged 1.2
21953 feature).
21954
21955 * Setting -searchTime turns off -clockMode.
21956
21957 * My trick for setting up a black-to-play position broke in the transition from
21958 gnuchess 3.1+ to 4.0.  Installed a different trick that works with both.
21959
21960 * Bug fix: Was clobbering memory by mallocing one byte too few for the file
21961 name in SetupPositionFromFileProc.  This usually resulted in a crash on the
21962 second attempt to load a position from a file.
21963
21964 Mon Mar 16 16:49:00 PST 1992 (patchlevel 8)
21965
21966 * Game and position files are saved in CHESSDIR as well as loaded from there.
21967 We actually chdir there, so gnuchess listing files also wind up there.
21968
21969 * Underpromotion moves from gnuchess really work now.
21970
21971 Sat Mar 14 14:55:24 PST 1992 (patchlevel 7)
21972
21973 * Cleaned up lots of bugs and kruft in parser.l.  It's a wonder the old version
21974 worked at all.  Improved rejection of random text interspersed with the moves.
21975
21976 * Relabeled buttons to reduce confusion (Play From File --> Load Game;
21977 Setup From File --> Load Position).
21978
21979 * Bug fix:  Doesn't exit at the end of a game that was started by pressing
21980 the Two Machines button.
21981
21982 * Bug fix:  Doesn't get confused if you hit Machine Black (White) while
21983 the machine is already playing black (white) and is on move.
21984
21985 * Prints "White to play" or "Black to play" after loading a position file.
21986
21987 * Bug fix:  No longer hangs if no start-of-game is found in a game file.
21988
21989 * More permissive about game file format.  The first line is not assumed
21990 to be a header comment unless it starts with "#".  We don't insist on
21991 seeing a "1." before the first move.
21992
21993 * Added pop-up dialog to allow underpromotion.  Moving a pawn to the last rank
21994 pops up a dialog to let you select what piece to promote to.  Also added code
21995 to handle underpromotion moves from gnuchess or from a game file correctly.
21996
21997 * Added code to send SIGINT to gnuchess before trying to move, if gnuchess
21998 might be busy thinking on our time.  The code is ifdef'ed out because it's
21999 not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or
22000 below require it.
22001
22002 Mon Feb 24 20:10:22 PST 1992
22003
22004 * Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode
22005 and to ShutdownChessPrograms.  (They both sent the same fixes.)  I did not
22006 install the change that removed "easy" from the initialization string, so
22007 xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's
22008 time) by sending this command.
22009
22010 Version 1.3 -- Thu Dec 19 18:19:00 PST 1991  mann@src.dec.com (Tim Mann)
22011
22012 * I've fixed a slew of bugs in this version of xboard:
22013
22014 * You can now back up from the end of a game, even if gnuchess was playing
22015 against you.  Since gnuchess exits upon mate or draw (when it's not in force
22016 mode), this feature works by starting up a new copy of gnuchess and feeding it
22017 the saved starting position and moves.  Drawback: the new gnuchess starts with
22018 clocks at the beginning of a fresh time control.
22019
22020 * Note: the "force" command to gnuchess is a toggle.  I fixed a couple of
22021 places in xboard where "force" was being issued when gnuchess was already in
22022 force mode, which resulted in chaos.  I don't know if they were in 1.2 or if I
22023 added them myself in the course of putting in new features.
22024
22025 * ForceMoves button is now legal in PlayFromFile mode.  It closes the game file
22026 and lets you force moves (or go Backward) from whatever position you've
22027 reached.
22028
22029 * The parser now recognizes "white resigns" and "black resigns" (in any
22030 combination of upper and lower case, with or without the closing "s").  These
22031 used to be misinterpreted as meaning "white wins" or "black wins" respectively!
22032 Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1".
22033
22034 * I removed the parser feature of considering "!" as a comment delimiter.
22035 "!" is so common as an annotation in game scores that this feature seems like a
22036 very bad idea.
22037
22038 * Added a wait() after each successful call to kill() to avoid leaving zombie
22039 processes around.
22040
22041 * Removed the feature of putting an indication of how the game ended into the
22042 internal move list when playing from a file.  The only benefit of this was that
22043 it would get written back out if you saved the game at that point.  This
22044 feature doesn't seem too useful, since you are unlikely to save a game you've
22045 read in without making any changes, and it caused a lot of problems in the code
22046 and user interface.  The end condition is still displayed as a message when
22047 it's first read in from the file.  End conditions when playing against gnuchess
22048 are still saved, too.
22049
22050 * programName is now the last file name component of argv[0], not all of it.
22051
22052 * xboard.c got three compiler warnings due to arguments that didn't match the
22053 prototypes on X toolkit functions.  I got rid of them by adding some casts, and
22054 adding extra unused arguments to the ReceiveFromProgram function.
22055
22056 * As I received it, the distribution had an extra period glued on the front
22057 of every line that started with a period.  This broke the manpage in an
22058 obvious way.  It also broke parser.l in a nonobvious way that stopped
22059 PlayFromFile from working.
22060
22061 * Fixed one or two bugs where the clock was started when it shouldn't have
22062 been.  I think one example was if you tried an illegal move in ForceMoves mode.
22063
22064 * Now starts the machine's clock if you hit MachineWhite when white is on move
22065 or MachineBlack when black is on move.
22066
22067 * Now updates the to-move indicator (highlight on clock display) when you use
22068 Forward/Backward or ForceMoves.
22069
22070 * gnuchess 3.1+ has a bug that makes it try to think on its opponent's time
22071 even when in force mode; this causes problems with xboard's SetupFromFile
22072 command because gnuchess's saved hint move is garbage after the new position is
22073 loaded, so gnuchess prints out an error message when it tries to think about
22074 what it would do if the user made this move.  Here is a patch for gnuchess
22075 3.1+:
22076
22077 *** nondsp.c~   Mon Dec  2 12:37:18 1991
22078 *-- nondsp.c    Thu Dec 19 15:36:06 1991
22079 ***************
22080 *** 1223,1229 ****
22081     ok = flag.quit = false;
22082     player = opponent;
22083     ft = 0;
22084 !   if (hint > 0 && !flag.easy && Book == NULL)
22085       {
22086         fflush (stdout);
22087         time0 = time ((long *) 0);
22088 *-- 1223,1229 ----
22089     ok = flag.quit = false;
22090     player = opponent;
22091     ft = 0;
22092 !   if (hint > 0 && !flag.easy && Book == NULL && !flag.force)
22093       {
22094         fflush (stdout);
22095         time0 = time ((long *) 0);
22096
22097 * SavePosition/SetupFromFile now handle black-to-play positions.  If it's
22098 black's move in a saved position, the line "black to play" is printed
22099 immediately after the board display.  Upon loading a position, xboard
22100 looks for "black" at the beginning of this line to determine whether it's
22101 black's move.
22102
22103 * SetupFromFile now leaves you (effectively) in ForceMoves mode.  This
22104 eliminates some cases where the program would get into an inconsistent state,
22105 and hopefully is more intuitive for the user, too.
22106
22107 * PlayFromFile now leaves xboard in ForceMoves mode after playing through all
22108 the moves in the file.  You can use Backward/Forward, make moves, get gnuchess
22109 to join the game with MachineWhite or MachineBlack, etc.  The game file can end
22110 with either white or black to play.
22111
22112 * Backward/Forward now seem to work in all cases.  Previously using these
22113 buttons during a game against the machine would get xboard out of sync with
22114 gnuchess's idea of what was going on, resulting in chaos.  Now using these
22115 buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the
22116 game using the MachineWhite or MachineBlack buttons.
22117
22118 Thu Jun 27 15:06:25 PDT 1991
22119
22120   * Remove comment popups during a reset.
22121
22122   * Bug in my forward move fix.  Didn't work for playgamefile mode.
22123
22124 Thu Jun 20 15:04:06 PDT 1991
22125
22126   * Can't do a backward move when it isn't your turn because gnuchess
22127     gets confused.  Similar bug for forward move.  Do a bunch of moves,
22128     back up move and go forward.  These get filtered out now.
22129
22130   * Put easy back into the initString.  This DISABLES easy mode which by
22131     default is ON.
22132
22133   * New-line wasn't always being added to forward move strings sent to gnuchess.
22134
22135   * Parsed comments as [ ..............text follows ] into d7d5
22136
22137   * Long game file comments cause core dumps on HP systems.
22138
22139   * Multiple uses of the get positition file button got confused
22140     on the second click.
22141
22142   Minor fixes to the 1.2 release
22143
22144 Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991
22145
22146   * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D.,
22147     Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found
22148     a lot of bugs that we put into xboard just to see if they were paying
22149     attention.  They were.
22150
22151   * Changed the protocol that xboard uses to work with the new version of
22152     gnuchessr.
22153
22154   * There was an off by one error with the clock resetting code.  Also,
22155     the clock display highliting was wrong.  Thanks to Bill Shauck for
22156     pointing these out.
22157
22158   * enumerations are not really integers on some C compilers.  I added casting.
22159     The new version of gnuchess expects the "go" command for two machine
22160     and machine plays white cases.  The whiteString resource is for
22161     compatibility with previous gnuchess versions which get confused by go.
22162     Thanks to Martin D. for catching these.
22163
22164   * Fixed a bug where the checkmate message wasn't being parsed and xboard
22165     kept playing.  Also, the message was added to game file if saved.
22166     Thanks to Scott Hemhill for pointing this out.
22167
22168   * Fixed a bug where saving a long game, resetting and saving a short game
22169     resulted in appending the end of the long game to the short one.
22170     If a game is just being played out and there is no reason for gnuchessr
22171     to be used, ignore pipe signals.  This allows people to use xboard
22172     as a chess board without need for gnuchess.  Also, trivially bad moves
22173     such as e2e2 are not passed on to gnuchessr but instead ignored out of
22174     hand.  This allows people using xboard as a chessboard with gnuchessr
22175     to pick a piece up, think and put it back down without making a move.
22176     Thanks to Jeff Kenton for pointing these out.
22177
22178   * Added the CHESSDIR environment variable.  Game and position files are
22179     found in this directory.  If this variable is not declared, then the
22180     current directory is used.  File names starting with / are treated
22181     specially.
22182
22183   * The bitmap file names were changed so that none exceeded 14 characters.
22184     This is necessary for R5.
22185
22186         fcntl(from_prog[0], F_SETFL, O_NDELAY);
22187
22188     The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr
22189
22190         printz ("Illegal move (no matching move generated)");
22191
22192   * fixed a problem with the new version of gnuchessr where xboard wasn't
22193     getting gnuchessr error messages for illegal moves.  The problem seems
22194     to be fixed *without* any gnuchess changes but this is likely to be
22195     highly system dependant.  There should be a new line on line 246 of nondsp.c
22196
22197   * -iconic doesn't work at all now.  The Iconify() does work.  This was
22198     a tradeoff and it is really an Xt bug.
22199
22200   * Fixed a compiler warning for gcc and an error for the IBM RT compilers.
22201     This is the VOID_PROC macro in xboard.h.  Thanks to David Jensen for this.
22202
22203   * If the DisplayWidth or DisplayHeight is less than 800, use small size mode.
22204     Also the size of the name widget was reduced from 500 pixels to 400 pixels
22205     because in small size mode there was a gap on the right.
22206     Changed the default font from fixed to helvetica_oblique14 to:
22207         **-helvetica-bold-r-normal--14-*-*-*-*-*-*-*
22208     helvetica_oblique14 is a font alias not on all R4 systems.
22209     Curiously enough, the 17 point is not available on 75dpi systems
22210     and the 18 point font is not available on 100dpi systems.
22211     Thanks to Richard K. Lloyd for pointing these out.
22212
22213   * Minor hacks to work with R5 alpha.  Had to add an event handler to the
22214     boardWidget to get translations to work.  This may go away with the real R5.
22215     Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility.
22216
22217   * If the first character of the file is not `1' then the first line
22218     of a game or position file is displayed as the name in a label widget.
22219
22220   * Added a PopUp dialog for getting file names.
22221
22222   * Modified the code to use the R4 routines rather than R3 compatibility.
22223
22224   * Changed the forwards/backwards/readgamefile code to allow a play to step
22225     back and forth in a game.  If he steps all the way to the beginning
22226     he has to restart the game.  If he gets into a mated position, same problem.
22227
22228   * Moved the man page from xboard.1 to xboard.man.  This makes imake man page
22229     installs work correctly.  Thanks to Richard K. Lloyd for pointing this out.
22230
22231   * Corrected the queening code.  XBoard was sending the wrong syntax.
22232     It was sending for example h8(Q) when it should have been sending h8q.
22233     Thanks to Paul Vaughan and Mike McGann for pointing this out.
22234
22235   * Added a lex parser for algebraic games.  It should be easy to use the parser
22236     for other interfaces such as the Microsoft Windows version.
22237     It parses comments of the form [anything] and ! to the end of a line.
22238
22239 Version 1.1 -- Mon Jan  7 14:46:03 PST 1991
22240
22241   * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,
22242     Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during
22243     beta-testing.
22244
22245   * older non-ANSI versions of Sun compilers complain vociferously.
22246
22247   * the remoteShell resource was added for HP-UX systems
22248     and other systems where the remoteShell isn't rsh.
22249
22250   * -iconic doesn't work properly.  If XBoard is opened iconic then
22251     iconifying it later with a keystroke doesn't work.  I think
22252     this is an Xt bug.
22253
22254   * For systems with smaller screens, XBoard can use smaller pieces,
22255     and a smaller board.  -bigSizeMode False uses a smaller set of pieces.
22256     These are scaled versions of the large pieces.  They look ok but could
22257     be improved.
22258
22259   * getlogin() does not work in all cases.
22260     It was replaced by getpwuid(getuid())->pw_name).
22261
22262   * Warning messages get displayed in the message box.
22263
22264   * Any button restarts a paused game.
22265
22266   * Kayvan Sylvan contributed a patch for ESIX.
22267     It seems that select() on pipes is broken on his system.  We declined
22268     to incorporate his patch though, because it was a work-around for
22269     something that was broken on one system, and selfishly, that system
22270     was not my own.  Nevertheless, it is likely that other System V users
22271     on PC's may need to use this patch and it is is included as the file
22272     ESIX.patch.  To use it, type
22273
22274         patch xboard.c ESIX.patch
22275
22276   * Fixed a bug where hint didn't work.  The local version of gnuchessr
22277     had been hacked.  The fix was to clone stderr and stdout for gnuchessr.
22278
22279   * Fixed a bug where a player could play after a game had been finished.
22280
22281   * The bitmaps have been pushed into the bitmaps directory.
22282
22283   * Substantially rewrote and simplified the Two Machine code.
22284
22285   * Added StrStr() because many systems don't have this ANSI function.
22286
22287   * Added keyboard equivalents.  Added an iconify keystroke, C or c.
22288
22289   * Works with gcc now.  gcc complained about casting float constants
22290     as XtPointers.
22291
22292   * Detect if the visual doesn't support color.  If so, run in monoMode.
22293     An alternative would be to detect grayscale visual and use a collection
22294     of gray user interface colors.
22295
22296         XBoard.clockMode:    False
22297
22298   * For people who don't like or use chess clocks a clockMode switch
22299     has been added.  It is on by default.  It can be turned off in the
22300     .Xdefaults file with
22301
22302   * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.
22303
22304   * Hal Peterson contributed a new Imakefile.
22305
22306   * Rewrote DisplayClocks().
22307
22308   * Rewrote TwoMachinesPlay mode.
22309
22310   * Konstantinos Konstantinides added the -searchTime option.
22311
22312   * Substantially rewrote and simplified the clock code.  If a game was paused
22313     and then resumed, the clocks were out of sync.
22314
22315   * Fixed a bug in HandleUserMove() where the user could make a move while the
22316     machine was thinking.  The fix detects and ignores these moves.  onMove
22317     was not being used and was removed.