updated Changelog, NEWS, etc.
[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 2012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>:
7 add information about our webpage and were to report bugs into the help menu
8
9
10 2012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>:
11 fixed "make install-pdf": missing target for recursive make in po directory
12
13
14 2012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
15 Suppress recent-engines menu items in ICS mode
16
17
18 2012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
19 Fix 50-move counter in ICS mode
20
21 Marking irreversible moves in the EP_STATUS did not work in ICS mode,
22 as ApplyMove,which did that is never executed there. Only the boards
23 sent by ICS are displayed,especially in observing mode. Now the status is
24 derived from the ICS mov strings (x in the SAN move, or P in the long move.
25
26 2012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
27 Fix two 64-bit warnings
28
29 Passing the engine number in a pointer variable to the callback needed
30 a two-step cast.
31
32 2012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
33 Fix piece symbols on switch back to variant normal
34
35 Variant switches were not properly detected, meaning the variable pieces
36 could keep a form belonging to a previous variant. (E.g. Queen remained
37 a Lance image after switching from shogi to normal.)
38
39 2012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
40 Keep XBoard windows attached on resize
41
42 Windows attached to bottom or right are displaced with the size increase.
43 Their perpendicular dimension is also scaled, to keep their edges at the same
44 fraction of the main window, unless they stick out. In the latter case the
45 fraction is clipped to 1, so that edge moves with the full size increase.
46
47 2012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
48 Implement -stickyWindows in XBoard
49
50 This makes the auxiliary windows  move with the main window when they were
51 touching, as in WinBoard. A control is added in the General Options dialog.
52
53 2012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
54 Use more reliable X-call for getting window position
55
56 XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems
57 to give more reliable results, and automatically accounts for the width
58 of window dressing. The -frameX/Y options are no longer needed bcause
59 of this, and were removed.
60
61 2012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
62 Make frame width configurable in XB
63
64 New persistent options -frameX, -frameY now can be used to specify
65 the amount by which Xt lies about the window coordinates.
66
67 2012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
68 Use combobox line for recent engines when available
69
70 The entry made in the -recentEngineList for the startup engine was
71 derived from the -fcp value, but this would ignore a possible nickname.
72 In WinBoard we now use the full combobox line to derive the entry.
73
74 2012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
75 Fix translation of EngineOutputTitle WB
76
77
78 2012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
79 Updated Danish translation
80
81
82 2012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
83 One missed translation of cps->which
84
85
86 2012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
87 Undo translation of cps->which = first/second
88
89 The string in cps->which should not be translated, because it goes into
90 the debug file to label engine I/O, and many tools for processing
91 debug files (broadcasters, PGN extractors) rely on this being "first" or
92 "second". In all contexts where "first" and "second" need to be translated,
93 cps->which itself is already enclosed in _().
94
95 2012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
96 Implement -serverFile option
97
98 This writs an extra debug file with only engine communiation on it,
99 for the benifit of programs like TLCS.
100
101 2012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
102 Implement -autoCopyPV
103
104 This option causes automatic copying of the last position of a PV walk
105 to the clipboard.
106
107 2012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
108 Delete some load-game debug printing
109
110 The debug printing in Disambiguate was no longer needed. The printing
111 of the started process in XBoard that went to stderr is now diverted
112 to debugFP, so it ends up in the debug file.
113
114 2012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
115 Move change of debug file to before game load
116
117 Loading a game from -lgf is done before TwoMachinesEvent is called,
118 but logically belongs to the game. So the code to switch to the new
119 debug file for the game is moved to NextMatchGame now.
120
121 2012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
122 Fix button grab for sweep selection
123
124 The piece-menu initialization limited the grab of button events to those
125 occurring inside the board window (presumably intended to limit them to
126 the piece menu, but that does not pop up in sweep-selection mode).
127 This is now suppressed when -pieceMenu is off, so that selection continues
128 outside the the board. (Which is very convenient for pieces pu close to the
129 edge.)
130
131 2012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
132 Don't leave piece selected after piece menu
133
134 PieceMenuEvent left the just introduced piece selected, which is almost
135 never what one wants, as it makes it jump to the next square when selects.
136 Which is especially annoying if it captures the piece you wanted to grab...
137
138 2012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
139 Fix use of middle button for position setup
140
141 With sweep selection the actual drop is made on releasing the button,
142 and this event was not caught for button 2. Button-2 motion events were
143 also not caught by the sweep-selection handler.
144
145 2012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
146 Fix one more typo in the translator comments explaning "first" and "second"
147
148
149 2012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
150 Fix typo in translator comments explaning "first" and "second"
151
152
153 2012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
154 Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string
155
156 Having msg as a format string will ease translations because then
157 badArg doesn't have to come last.
158
159 2012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
160 Mark the strings "first" and "sencond" for translation.
161
162 ... and assign the translated strings to cps->which in function InitEngine()
163
164 2012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
165 Use ngettext() instead of gettext() for a string to allow better translation.
166
167
168 2012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>:
169 translation: updated uk.po
170
171
172 2012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>:
173 modified configure and makefile for handling mimedb update
174
175 the default configure will install them using the xdg commands (if they exist on the system)
176
177 2012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>:
178 add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms
179
180 in case the target system doesn't have the xdg-programs available, we test for them.
181 Distributions often have their own macros to install these, so we add an enable option to configure
182
183 2012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
184 Remove a debug printf
185
186 The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN,
187 so it was deleted.
188
189 2012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>:
190 new developer release
191
192
193 2012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>:
194 updated po/pot files
195
196
197 2012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>:
198 updated Changelog, NEWS, etc.
199
200
201 2012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>:
202 translation: updated uk.po
203
204
205 2012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
206 Leave height of row that only contains buttons free
207
208 All elements of the GenericPopUp are still scaled to the text height,
209 including buttons appended behind them (browse or color buttons).
210 But we now make an exception for a row that only contains buttons,
211 as there is no harm in it being a little higher (and the buttons look
212 prettier that way).
213
214 2012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
215 Fix OK button of error popup
216
217 The error dialog popped up as a child of the board window, even when
218 DisplayError was called from a dialog. Now it checks if a transient
219 dialog is up, and if so, it pops up as a child of that, grabs focus,
220 and suppresses the system popdown of the transient dialog through a flag
221 dialogError until it is popped down itself.
222
223 2012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
224 Update texi file
225
226
227 2012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>:
228 added some comments for translators
229
230
231 2012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>:
232 fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file
233
234
235 2012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
236 Also configure sweep selection
237
238 To make sure this feature is tested, we set -pieceMenu false in the
239 master settings file.
240
241 2012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
242 Fix date in copyright notice about-box
243
244
245 2012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
246 Fix switching animation masks on variant switch
247
248 The masks for variant-dependent piees (E,H in Seirawan, promoted Golds
249 in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes
250 because of the patch to reduce X-server calls.
251
252 2012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
253 Configure wider game list
254
255 The game list was by default too small, so that there was no room for the
256 filter field. Now a width of 500 is specified, whcih works at -size 49
257 as well as 72.
258
259 2012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
260 Fix button chaining and combo/textbox label height
261
262 Previous patches forgot to specify the height for the text labels on
263 -combo and -text options, so they were still too high. Buttons that go
264 on the same line as the previous element should be chained right, not rubber.
265
266 2012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
267 Make -pgnNumberTag option setable from menu
268
269 The Save Options dialog now containes a checkbox for this.
270
271 2012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
272 Configure some new features switched on
273
274 The master settings file switches -showTargetSquares, -sweepPromotions
275 and -seekGraph on, so that they will get more testing.
276
277 2012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
278 Fix heigth of multi-line labels
279
280 The previous height patch overlooked that some labels are multi-line,
281 and need more height.
282
283 2012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
284 Fix popdown seekgraph on forward-event XB
285
286 Only the grid was drawn when the > or >> button were operated, because
287 a full redraw was not forced by ForwardInner. The recent patch to take
288 the seek graph down on such events did not account for that. (BackwardInner
289 always seems to do full redraw, however?)
290
291 2012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
292 Put front-end support for -recentEngines in XBoard
293
294 The engines are added to the menu. Problem is still that in XBoard
295 startup engines are given by command, rather than selected by combobox,
296 so the command rather than the nickname ends up in the menu. If this is
297 then selected, it cannot be found in the list. To limit the damage,
298 Fairy-Max is now pre-installed without nickname. -recentEngines is now
299 configured to 4.
300
301 2012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
302 Better solution to button-height problem
303
304 In stead of adapting the height of text widgets to that of buttons,
305 (as represented by the message widget), we now do the opposite, and
306 adapt the button & label heights. This is made safe by obtaining textHeight
307 from the fontSet's max_logical_extent, though an XExtendsFontSet() call.
308 Turns out the default height of text widgets is not exactly that, but
309 4 pixels larger for borders and margin.
310   The parameter XtNvertDistance is now used to align the checkboxes with
311 the following text widget, and their size is derived from textHeight as
312 well.
313   The XtNvertDistance is set to -1 for the lower spin button, so that it
314 its border coincides with that of the upper spin button. Their height is
315 set to textHeight/2. This makes their combined height just 1 pixel more
316 than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for
317 other buttons we use that too (i.e. textHeight = font_extent + 5).
318
319 2012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
320 Fix warning
321
322 Deleting debug printing had made a variable unused.
323
324 2012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
325 Fix sleeping bug
326
327 The text-edit-height patch introduced a bug that did not have any consquences
328 (yet), as the extra arg erroneously included leftover from a previous
329 SetValues call happened to be the same as one of the intended args.
330
331 2012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
332 Fix unloading of first engine on tourney start
333
334 Because NextTourneyGame was loading a new engine before ReserveGame was
335 called to unload it with dummy game nr = -1), the first engine proc kept
336 hanging.
337
338 2012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
339 Remove some of the most verbose debug output
340
341
342 2012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
343 Delete some unused WinBoard bitmaps
344
345 There waere up-side-down knight icons that apparently hid by mistake
346 in the bitmaps directory: they were not part of WinBoard
347
348 2012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
349 Cosmetic: change 4.5 to 4.6 in xboard.conf comment
350
351
352 2012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
353 Fix crash on empty combobox menu XB
354
355 XBoard crashed when a combobox without items was opened, as could easily
356 happen in the Load Engine dialogs when -firstChessProgramNames contained
357 no items, as it would without configuring. Now the creation of the popup
358 menu is suppressed in that case.
359
360 2012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
361 Fix position of checkbox XB
362
363 With the large height the widget get in internationalization, the
364 checkboxes are position way too high above the text. To shift them down
365 a dummy borderless label widget is drawn above them (when needed).
366
367 2012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
368 Fix heights in Engine Output window XB
369
370 The icons did not fit in the space above the memos anymore, so the height
371 of this area is now left free.
372
373 2012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
374 Derive height of text-edits in dialogs from message widget
375
376 With internationalization the default height of buttons has inexpliquably
377 inreased compared to that of text-edits, messing up the layout of the
378 GenericPopUp. The message widget is now used as a emasure of how high
379 the widgets should be.
380
381 2012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
382 Configure XBoard engines and textures
383
384 The new -useBoardTexture option is needed in xboard.conf, as we want to
385 distribute with the texture on, while the compiled-in default is off.
386 A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess),
387 as the Load Engine and Match Options checkboxes crash XBoard when the list
388 is empty. The -recentEngines option is set to 0 to make sure the code
389 associated with it is never executed: the code is still experimental,
390 and the required front-end support is only present in WinBoard anyway.
391
392 2012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
393 Update Dutch WinBoard translation
394
395
396 2012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
397 Create room in some WB dialogs for translations
398
399
400 2012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
401 Add 5 missing strings to WinBoard translation template
402
403
404 2012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>:
405 new developer release
406
407
408 2012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>:
409 updated po-filies
410
411
412 2012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>:
413 updated Changelog, NEWS, etc.
414
415 2012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
416 Fix non-bug in WinBoard
417
418 The IDM_RecentEngines was not used in symbolic form everywhere.
419
420 2012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
421 Fix MAXENGINES in WinBoard
422
423 The front-end arrays for expanding the engine list measured 1000 entries,
424 in stead of MAXENGINES, leading them to overflow.
425
426 2012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
427 Implement kludge to set options through Move Type-in
428
429 A leading "!!! " will cause the rest of the line to be parsed as
430 command line. Very dangerous, as an unknown option (e.g. because of a typo)
431 will cause a fatal error, which makes XBoard exit.
432
433 2012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
434 Put move number in Eval Graph title
435
436
437 2012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
438 Implement -pgnNumberTag option
439
440 A new (persistent) boolean option controls if the sequence number is to
441 be written in saved tourney games as a Number tag, to make it easier
442 to correlate games with debug files.
443
444 2012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
445 Create separate debug fil for each tourney game
446
447 Users can now apecify a -debugfile with %d in its name, and this will
448 be replaced by the sequence number of the game. TwoMachinesEvent then
449 starts by opening a new file when the name has changed, so that each
450 game will go to a different file, with recognizable name.
451
452 2012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
453 Fix bug in WB combobox readout
454
455 The previous patch exposed a latent bug in the readout of the generic popup.
456
457 2012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
458 Allow grouping of engines in engine list
459
460 Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames.
461
462 2012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
463 Fix TidyProgramName
464
465 A trailing .exe was not removed if the engine name was quoted.
466
467 2012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
468 Put recently used engines in WB menu
469
470 A new option -recentEngines specifies how many engines should be listed.
471 The list of nicknames is stored in the ettings file as -recentEngineList.
472 The engines are appended to the Engine menu.
473
474 2012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
475 Fix registering of EditTagsProg
476
477 This was registered with X as EditCommentProc!
478
479 2012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
480 Increase max nr of engines to 2000
481
482 Move the #define for MAXENGINES also to common.h, so that both the
483 Load and Tourney dialog use the same maximum.
484
485 2012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
486 Fix fix of switch to mono-mode
487
488 The previous fix had == in stead of != for testing if mono-mode had changed.
489
490 2012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
491 Make New Variant dialog visible in mono-mode
492
493 All colored buttons did get a black background, and also black text...
494 Use timer background color in stead, which is white.
495
496 2012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
497 Incease size of WB array of translated items
498
499 For the BoardOptions dialog 42 items are now needed
500
501 2012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
502 Implement Clone Tourney button XBoard
503
504 This makes use of the new GenericUpdate().
505
506 2012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
507 Implement GenericUpdate function
508
509 This does the opposite from GenericReadout: it copies the current
510 parameter values into the dialog.
511
512 2012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
513 Fix arrow damage with highlightDragging XB
514
515 With highlight dragging the highlights of the previous moves are cleared
516 when lifting the piece. Logically, this should also clear the arrow, but
517 to do that requires a board redraw, which is not done at this stage. (And
518 even then this would only be effective after marking the arrow damage,
519 which is not done yet either). As a temporary fix, we repair the arrow
520 by redrawing it.
521   This patch has moved marking of the arrow damage from DrawArrowHighlight
522 to a separate routine, so a future better fix can also call that when the
523 arrow should be erased.
524
525 2012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
526 Prevent unnecessary loading of engines
527
528 For engines that can be reused, the unloading at the end of a pairing
529 is in some cases wasteful, as the same engine will be used in the next
530 pairing as well. In simple gauntlets the gauntlet engine will always
531 stay first engine, while in multi-gauntlets the oppent engine will stay
532 the same for an entire round. In these cases unloading is now suppressed.
533
534 2012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
535 Reset protocol version before loading new engine
536
537 The protocol version was not reset, so if the previous engine was v1,
538 the newly loaded engine would not be sent a protover command, so
539 that its features would remain unknown!
540
541 2012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
542 Give focus to board window after ICS login
543
544 toprevent that the focus remains on any popped up chat boxes, it is
545 explicitlly set otherwise. The board window is preferred over the
546 ICS interaction window, because you can type from there to the ICS anyway,
547 and it makes all accelerator keys available.
548
549 2012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
550 Fix seek-graph popup and  popdown
551
552 Clicking outside the board area in WB (e.g.on the clocks) would also
553 trigger seek-graph 'popup'. This is now suppressed by testing for
554 y-coord > 0. In addition, the seek graph is automaticaly taken down
555 when we step to another position in the current game (using buttons,
556 arrow keys or whatever).
557
558 2012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
559 Suppress empty lines when observing on VICS
560
561 Capture of the engine kibitzes when observing an engine game with
562 -autoKibitz on was still leaking a linefeed on the Variant ICS
563 (but not FICS or ICC!?).
564
565 2012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
566 Fix printing non-numeric kibitz with -autoKibitz
567
568 Messages that were not considered kibitzed engine PV info for lack of
569 numeric content, were kibitzed as coming from "your opponent", which
570 is nonsense if you were iobserving, and masked the source. Fortunately
571 star_match[0] is still holding the original name, at that point.
572
573 2012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
574 Fix 4 warnings
575
576
577 2012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
578 Use same translation of "vs." everywhere
579
580
581 2012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
582 Add new translations to WB language file
583
584
585 2012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
586 Fix re-allocation of PGN-cache memory
587
588 It  allocated 8 times too much!
589
590 2012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
591 Fix height board dialog
592
593
594 2012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
595 Enable WB time-control dialog even when no clock mode
596
597 The dialog could be called from the tournament dialog to set a TCfor
598 the tourney even when currently in game-viewer mode, so it'd better work.
599
600 2012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
601 Exempt variant seirawan from -disguisePromoted inheritance
602
603 This is not a variant where promoted Pawns have to be distingushed
604 from primordial pieces, as captured pieces do not go into the holdings.
605
606 2012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
607 Add control for overrideLineGap in WB Board dialog
608
609 Make it a checkbox to choose between 0 and -1.
610
611 2012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
612 Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard
613
614 The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7.
615
616 2012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
617 Fix seek graph for VICS
618
619 The sought command on the open-source ICS code is ICC-like (no terminating
620 line), although the server is FICS like. So also accept prompt as seek-graph
621 trigger on FICS.
622
623 2012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
624 Open WB startup chat boxes only after logged on
625
626 The init code for opening the chat boxes ismoved to DisplayIcsTitle().
627
628 2012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
629 Install mime types directly
630
631
632 2012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
633 Install desktop files directly
634
635
636 2012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
637 Install icons directly
638
639 Rather than letting make-install copy the pixmaps to the XBoard data
640 directory they are installed directly from the source files. The name
641 of the TRN icon was also corrected and changed.
642
643 2012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
644 Update texi file and remove duplicate control
645
646 Some missing option descriptions were added. The highlight-dragging
647 control was removed from the General Options dialog, as it did the same
648 as Show Target Squares. -highlightDragging wa changed to a volatile option
649 with default value true, making it effectively disappear as an XBoard
650 option. (In WinBoard it is still persistent.)
651
652 2012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
653 Remove the direct commands to the engines
654
655
656 2012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>:
657 forgot to list new desktop files in EXTRA_DIST section in Makefile.am
658
659
660 2012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>:
661 added some autogenerated po files to .gitignore
662
663
664 2012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>:
665 added desktop and mime-type association to autoconf install process
666
667 This should install and uninstall the mime assocciation and also the icons.
668 Also renamed the desktop files to avoid possible name collisions.
669
670 2012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>:
671 code cleanup: make function definition confirm to GNU coding style
672
673 change everything in the main directory to
674
675 void
676 funcname (int a, int b)
677
678 format
679
680 2012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>:
681 Updated copyright notice to 2012
682
683
684 2012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
685 Implement -viewerOptions
686
687 A mechanism is added to allow the user to configure persistently if the
688 game viewer that starts on clicking PGN files will use -ncp mode, or
689 load an egine for analysis (or, in fact, do anything). This by introducing
690 a persistent string option -viewerOptions, which will be parsed as a
691 command line after the real command line when the option -viewer was present.
692
693 2012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
694 Fix crash in auto-comment
695
696 Trailing linefeeds in AppendComment were not properly stripped off,
697 leading to a mismatch between the allocted and used memory, and thus
698 possible buffer overruns.
699
700 2012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
701 Fix crash at match end
702
703 The -afterTourney option had broken old-style matches, because the ranking
704 string that was tested for "busy" is not set there at all, and remains a
705 NULL pointer, which strcmp doesn't like.
706
707 2012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
708 Add desktop files for PGN viewer and tournament player
709
710 The desktop files define startup commands for handling PGN, FEN and
711 tourney files, calling xboard with the proper command-line options.
712
713 2012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
714 Add xml file for defining mime types
715
716 The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen
717 and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files,
718 so these files can be associated with XBoard in various modes.
719
720 2012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
721 Add icons for PGN and tourney files
722
723 Icons are provided in two sizes: 32x32 and 48x48.
724
725 2011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
726 Clear square markers on new game
727
728 Now that the markers can stay on after a first click, they need to be
729 explicitly cleared when moving to another board, including a new game.
730
731 2011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
732 Abandon single-letter menus in tinyLayout
733
734 Now that the items on the main menu bar are clipped, it iso longer
735 necessary to abbreviate them.
736
737 2011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
738 Implement peeking previous position in WinBoard
739
740 The backspace key is used to temporarily display the previous position.
741
742 2011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
743 Fix parsing of faulty PGN tags
744
745 A closing bracket could be missed in a malformed tag
746
747 2011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
748 Fix parser for variant seirawan
749
750 The new parser didnot understand gating suffixes with /, and did not
751 allow any suffix at all on SAN castling moves.
752
753 2011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
754 Try to not confuse ICS rating adustments as shouts
755
756 An explicit pattern match for the rating adjustment is added before
757 matching the shouts.
758
759 2011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
760 Describe -overrideLineGap option in texi file
761
762
763 2011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
764 Use <Enter> in stead of Ctrl+. for peeking last move
765
766 I commented out the explicit detection of the Ctrl key, as this
767 is not needed when there are no 'unnatural' Ctrl keystrokes used
768 for binding.
769
770 2011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
771 Next try for menu-bar sizing
772
773 This time request the width needed to just fit everything, and then start
774 shaving off pixels from the currently largest until the entire thing fits.
775
776 2011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
777 Clip texts on menu bar
778
779 The width of the items on the main menu bar is restricted so the bar
780 will never exceed board width.
781
782 2011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
783 Fix format in temporary timing printf
784
785
786 2011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
787 Don't test drops as mate evasions in variant seirawan
788
789
790 2011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
791 Fix ICS castling rights
792
793 Copying the castling rights together with CopyBoard seems to have
794 broken handling of ICS rights, where ParseBoard12 prepares a board
795 in a local variable, an copies it before parsing the rights.
796
797 2011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
798 Fix initial holdings ICS seirawan games
799
800
801 2011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
802 Fix sending of S-Chess gating moves to ICS
803
804 Normal moves did not get the gating suffix sent.
805
806 2011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
807 Fix menu grayout after illegal move
808
809 TheThinkingEnables were not reset to user state after the engine rejected
810 the entered move as illegal.
811
812 2011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
813 Allow setting of holdings with edit command
814
815 For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command
816 no also sends holdings contents (if the engine sent feature xedit=1), encoded
817 as pieceType + '@' + holdingsCount (if the count is non-zero).
818
819 2011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
820 Fix out-of-bounds access in check test
821
822 Thepath to make the check test work with drops had broken the test
823 after null move (both have rf<0), which led to corruption of the high
824 word of the black clock.
825
826 2011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
827 Fix legality of Spartan promotion to king
828
829 In the check test promotion to King is only allowed if there are not
830 yet 2 kings.
831
832 2011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
833 Fix switching back from mono-mode XB
834
835 Suppressing unnecesary X-server calls in InitDrawingSizes had broken
836 switching back from monoMode, because the animVars have to be recreated
837 for that, and this was only done when the variant changed.
838
839 2011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
840 Fix showTargetSquares in mono-mode XB
841
842 Make the marker dots black (captures) and white, and draw a circle
843 in the opposite color around them in monoMode.
844
845 2011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
846 Fix arrow highlighting in mono-mode XB
847
848 Draw a line around it in darkSquare color in monoMode.
849
850 2011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
851 Fix alignment of generic browse button XBoard
852
853 The width ofthe browse button is now read back after creating it,
854 and subtracted from the preceding text edit.
855
856 2011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
857 Add -afterTourney option
858
859 Only the instance pinting the tourney result will execute this.
860
861 2011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
862 Fix buffer possible overflow when writings tags
863
864 PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it.
865 It starts by calculation the required buffer size and then allocate the buffer.
866 PrintPGNTags() now prints directly to the file without having a buffer.
867
868 2011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
869 One more string marked for translation
870
871 And it is moved inside the if statement that uses it.
872
873 2011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
874 Fix checking of return value from snprintf()
875
876 snprintf() returns the needed space excluding the trailing 0 byte, so
877 it has truncated if the returned valued is greater than or EQUAL TO the buffersize
878
879 2011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
880 Fix unportable memory initialisation
881
882 Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL
883
884 2011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
885 Add 2 strings for translation
886
887
888 2011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
889 Remove the last 2 compile warnings in gamelist.h
890
891
892 2011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
893 Add #include "moves.h" to gamelist.c for def. of CopyBoard()
894
895
896 2011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
897 Definition of TimeMark moved from 3 c files to backend.h
898
899
900 2011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
901 Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980
902
903
904 2011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
905 Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails.
906
907
908 2011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
909 Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined.
910
911
912 2011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
913 Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined.
914
915
916 2011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
917 Fix possible crash on 64-bit systems when copying game or position
918
919 The two convertproc's for X selections caused reads out of bounds on 64-bit systems.
920 I hope that this is the right solution. I am not experienced with X stuff, but it
921 follows that I have seen in other programs, testing shows that copying still works,
922 and the reading out of bounds have disappearinged with this patch.
923
924 2011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
925 Fix a possible crash in the file browser
926
927 If the OK button was selected in the file browser when no file was selected
928 there was a read out of bounds which could crash xboard
929
930 2011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
931 Fix a memory leak in Sound Options
932
933
934 2011-12-16 02:57:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
935 Fix crash when selecting user soundfile due to free() of not malloc()'ed memory
936
937
938 2011-12-16 02:32:37 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
939 Make GenericPopUp() more readable by using more named flags instead of numerals
940
941 Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks.
942 There should no functional change.
943 Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both
944 branches do the same (that is nothing) when the value is uninitialised.
945
946 2011-12-15 02:51:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
947 Add NO_GETTEXT flag for combobox. Fix bug #34991
948
949 Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK
950 flag to call comboCallback() when an item is selected in a combobox (no new code for this,
951 just a symbolic value instead of a number). The flags are used for the min field of struct Option.
952 NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows.
953
954 2011-12-13 19:48:37 -0800 Arun Persaud <arun@nubati.net>:
955 only translate entries in CreateComboPopup if strlen>0; fixes #34991
956
957
958 2011-12-12 19:06:26 -0800 Byrial Jensen <byrial@vip.cybercity.dk>:
959 fix for repeating key issue, with this allissues this bug should be closed; fixes #35000
960
961
962 2011-12-12 18:45:05 -0800 Arun Persaud <arun@nubati.net>:
963 also don't translate selection in ComboSelect; fixes #34991
964
965
966 2011-12-12 18:40:23 -0800 Arun Persaud <arun@nubati.net>:
967 make entries in CreateComboPopup not translateable; fixes #34991
968
969
970 2011-12-10 16:06:47 -0800 Arun Persaud <arun@nubati.net>:
971 fix translation for engine list; fixes #34991
972
973 * click on browse button should be recognized in translated versions
974 * width of button should auto-scale
975
976 2011-12-10 11:04:17 -0800 Arun Persaud <arun@nubati.net>:
977 change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000
978
979 two keybindings were using keys without modifiers, adjusted these to use the ctrl key.
980 Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs.
981
982 Also added documentation for these keybindings.
983
984 2011-12-10 10:51:18 -0800 Arun Persaud <arun@nubati.net>:
985 replaced unicode character for "'" in xboard.texi
986
987
988 2011-12-10 10:08:48 -0800 Arun Persaud <arun@nubati.net>:
989 removed Iconify function. Should be handled by the window manager.
990
991
992 2011-12-08 20:53:13 -0800 Arun Persaud <arun@nubati.net>:
993 marked an error messages for translation
994
995
996 2011-12-08 20:33:29 -0800 Arun Persaud <arun@nubati.net>:
997 translation: updated uk.po
998
999
1000 2011-12-03 17:52:23 -0800 Arun Persaud <arun@nubati.net>:
1001 fixed size of XBoard icon to 48x48
1002
1003 the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation.
1004
1005 2011-12-03 08:07:32 -0800 Arun Persaud <arun@nubati.net>:
1006 updated pot file
1007
1008 marked a lot of new strings for translation
1009
1010 2011-12-03 08:06:42 -0800 Arun Persaud <arun@nubati.net>:
1011 added new files to po/POTFILES.in
1012
1013
1014 2011-12-02 22:13:36 -0800 Arun Persaud <arun@nubati.net>:
1015 marked more strings for translation
1016
1017
1018 2011-12-02 20:08:01 -0800 Arun Persaud <arun@nubati.net>:
1019 translation: added danish translation
1020
1021
1022 2011-12-01 18:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1023 Change encoding of seirawan ICS gating-castlings
1024
1025 In stead of using upper/lower-case promoChar, the ICS now uses
1026 RxK notation, like WinBoard writes in SAN, for better consistency.
1027
1028 2011-11-30 15:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1029 Put promo-suffix on ICS move in variant seirawan castlings
1030
1031 The distinction upper-case / lowercase determines gating at R / K
1032
1033 2011-11-28 11:56:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1034 Refrain from making unnecessary resize X request
1035
1036 The window resizing code in InitDrawingSizes is suppressed when no
1037 change is needed. Similarly, changing piece bitmaps is suppressed when
1038 we stay in the same variant (and InitDrawingSizes is called e.g. because
1039 of chaging lineGap through the Board dialog).
1040
1041 2011-11-27 22:27:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1042 Fix parsing of O-O castling in variant janus
1043
1044 The new parser did not realize it meant e1i1 rather than wild e1h1.
1045
1046 2011-11-26 22:28:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1047 Show 50-move counter also when observing ICS games
1048
1049 To not cheat 50-move display was suppressed in ICS mode,
1050 but for observing a game this made no sense.
1051
1052 2011-11-26 22:22:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1053 Ignore ICS game starts when already in game
1054
1055 The advance switching of the variant on game-start messages was
1056 disruptive for users with gin=1, which also sends such messages
1057 for other games than your own. For now fixed by only reacting on
1058 them when idle (detected by invalid game number).
1059
1060 2011-11-11 18:16:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1061 Fix WinBoard  clock-click bug
1062
1063 Clicking on the clock in WinBoard also called the LeftClick routine
1064 for handling clicks on the board. This led to the from-square being set
1065 to some inalid value, so that the next genuine board click was interpreted
1066 as a to-click, with undesired effects, especially with legality testing off
1067 or in EditPosition mode, where weird things are accepted.
1068
1069 2011-11-06 17:20:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1070 Add feature-override options
1071
1072 A few (dangerous) options are added to allow a user to override
1073 engine features, or change their defaults, by supplying a string
1074 with feature commands (e.g. "sigint=0") which tricks XBoard into
1075 thinking the engine sent that. There is a -featureDefaults which is
1076 processed before the engine features, and -first/secondFeatures
1077 which is parsed just before engine initialization.
1078   This goes horribly wrong when the user wouldtry silly things like
1079 including 'option' or 'done' features!
1080
1081 2011-11-05 12:32:39 -0700 Arun Persaud <arun@nubati.net>:
1082 translation: updated uk.po
1083
1084
1085 2011-11-04 21:58:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1086 Fix handling of -secondOptions option
1087
1088 The -firstOptions and -secondOptions settigs were not swapped when
1089 -singleEngieList was true, so the second engine's options would never
1090 be set in that case, but used for the first engine.
1091
1092 2011-11-04 21:55:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1093 Accept setup command in variant fairy even with legality testing on
1094
1095 Variant fairy does not really have a defined opening position, but lots
1096 of pieces defined, so we might want to play with legality checking on,
1097 but still rely on the engine for the opening position
1098
1099 2011-11-04 21:52:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1100 Set pieceToCharTable by setup command even when ignoring FEN
1101
1102 When the user starts from a set-up position, the egines default
1103 openingposition has to be ignored, but the pieceToCharTable would
1104 still be relevant.
1105
1106 2011-11-04 21:48:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1107 Change default sweep-promotion choicein queenless variants
1108
1109 The initial scanning of the sweep piece until a defined piece is found
1110 is now in the increasing direction (still starting at Queen), so that
1111 the fairy pieces are suggested before R, B and N.
1112
1113 2011-11-03 16:38:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1114 Clear board markers when moving to other position
1115
1116 Now the markers from -showTargetSquares would stay on after a first click
1117 for the benefit of a click-click move, they would also stay on when not
1118 finishing the move, but operating the < > buttons in stead to call up
1119 other positions. ForwardInner and BackwardInner now clear the markers,
1120 like they also cleared highlights.
1121
1122 2011-11-01 18:30:22 -0700 Arun Persaud <arun@nubati.net>:
1123 updated Changelog, NEWS, etc.
1124
1125 2011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1126 Fix two warnings
1127
1128 2011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1129 Don't adjust clock on right-click in EditGame mode WB
1130
1131 This was a change that was already done for the left-clicks, but somehow
1132 never made it togit for the right-clicks
1133
1134 2011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1135 Change chase message in .lng files
1136
1137 2011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1138 Let perpetual-chase message mention square
1139
1140 In stead of a boolean, PerpetualChase now returns the square the chased
1141 piece ends on (encoded as an int), and on adjudication it will be printed.
1142
1143 2011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1144 Add mechanism to translate variable messages in WinBoard
1145
1146 A message prefixed with % in the lng file will be considered a match
1147 if it matches the start of the text to be printed, and the remaining
1148 part of the latter will remain untranslated. This was needed to allow
1149 translation of the perpetual change message, now it indicates the square
1150 of the chased piece.
1151
1152 2011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1153 Use other interpretation of Asia rules for chase detection
1154
1155 The detection of perpetual chases now ignores pre-existing checks.
1156
1157 2011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1158 Fix crash on loading garbage game file
1159
1160 The code to cache games was not resistant to moves before a valid
1161 game start, or a game filewithout any games at all.
1162
1163 2011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1164 Incorporate variant type in book hash key
1165
1166 This prevents booksforone variant being used for another, and allows
1167 multi-variant books.
1168
1169 2011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1170 Update language.txt file
1171
1172
1173 2011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1174 Update Dutch lng file
1175
1176
1177 2011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1178 Fix Load Options dialog WB
1179
1180 Defined fastkeys; reordered elements so that fastkeys focus edit they
1181 are intended for. Changed some of the more obscure texts. Corrected
1182 list of transatble dialog items, adding a few missing ones.
1183
1184 2011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1185 Fix some warnings
1186
1187 Prototypes were added, ormoved from backend.c to backend.h.
1188
1189 2011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1190 Put 'Load Next' button back in WB Game List
1191
1192 The '>' button for loading the next (filtered) game is re-instated in the
1193 WinBoard GameList. The main window has now accelerator keys Ctrl+Up and
1194 Ctrl+Down for loading the previous and next filtered game.
1195
1196 2011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1197 Speed up position search and consider side to move
1198
1199 The position search is made to pay attention to the side to move,
1200 which produces a speedup, because we only have to compare half the
1201 game positions when looking for an exact position match. An addition
1202 we now keep track of the total number of pieces, and abandon a game when
1203 it drops below the number of pieces in the position we seek.
1204
1205 2011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1206 Dynamically allocate move cache
1207
1208 A small statically declared cache good for 250k moves (~3200 games)
1209 will be expanded in steps of a factor 8 when it overflows.
1210
1211 2011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1212 Translate search strings
1213
1214
1215 2011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1216 Implement flipped search
1217
1218
1219 2011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1220 Debug position search cache
1221
1222
1223 2011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1224 profile
1225
1226
1227 2011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1228 Translate search-mode strings
1229
1230
1231 2011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1232 Quickscan
1233
1234
1235 2011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1236 Fix duplicate loading of second engine in tourneys
1237
1238 To decide if new engines should be loaded, it was tested if first.pr
1239 equalled NoProc, assuming that ReserveGame would have left the engine
1240 loaded if the next game would need the same engines. But a reuse=0 engine
1241 could have caused termination of the first engine process anyway, while
1242 the second would still be alive. So unconditionally starting of the second
1243 engine would cause redundant engine processes to abound.
1244   Now we only start new engine processes if both engine processes are dead.
1245
1246 2011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1247 Fix PV walking with -fSAN
1248
1249 The SAN options had broken the PV walking, because the shelving of the
1250 walked PV to create space for the conversion to SAN of an incoming PV
1251 would not be properly undone, but would add the walked PV to the game.
1252
1253 2011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1254 Refine clock adjusting
1255
1256 Adjusting the clocks by shift-clicking them is now only allowed with
1257 autoCallFlag off, and an error-popup results when you do it otherwise.
1258 Also, swtching to Edit Game mode won't reset the clocks to the stored
1259 value anymore when you have just adjusted it.
1260
1261 2011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1262 Fix crash on adding items near book end
1263
1264 When Edit Book would add so many entries near the end of an opening
1265 book that the end of the added info would surpass the old end of the
1266 file, the copying of the tail got stuck in an infinite loop, extending
1267 the file without limit with repeating info.
1268
1269 2011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1270 Print message on wrong use of Clone Tourney
1271
1272 The user is urged to first provide the name of an existing tourney file
1273 when he presses the button without one. The button is also renamed.
1274
1275 2011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1276 Fix invalid combobox entry WB
1277
1278 A combobox label that was not in the list (because the user typed
1279 it, rather than selecting one) would cause a crash.
1280
1281 2011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1282 Fix crash on loading garbage game file
1283
1284 XBoard crashed when a game file contained a PGN game result before
1285 any valid game start, because data would be written in a game-list
1286 node that did not exist yet. This would occur frequently when garage
1287 was read; basically any asterisk in the data would do it.
1288
1289 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1290 Add control to set -discourageOwnBooks WB
1291
1292
1293 2011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>:
1294 only require 0.17 of gettext
1295
1296 This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones.
1297
1298 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1299 Add option -discourageOwnBooks
1300
1301 This boolean option determines the default setting of the hasOwnBook
1302 option before a tourney game starts. By setting it, the hasOwnBook
1303 option is cleared, which would enable use of the GUI book, like the
1304 engine was installedwith the /firstXBook option. An explicit option
1305 on the engine install line can still overrule this, though.
1306  A control to set this option has been added in the XBoard Match dialog,
1307 and it is saved in the tourney file to force consistency.
1308
1309 2011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1310 Reset initString and computerString on engine load
1311
1312 These options are typically engine specific, and must thus be
1313 reset to their default value before loading a new engine.
1314
1315 2011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1316 Add Romanian lng file
1317
1318
1319 2011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1320 Reactivate Falcon Chess
1321
1322 Now the patent for this has expired, Fairy-Max plays it again.
1323 So the XBoard support for it is now switched on, and an item for it is
1324 added to the XBoard New Variant menu dialog. (WinBoard still had that.)
1325 In the array the Lance was changed for the Falcon as a wild-card piece.
1326
1327 2011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1328 Update texi file for new features
1329
1330
1331 2011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1332 Update texi file for position search
1333
1334 The new items in the Load Game Options dialog are described, as well
1335 as the command-line options used to store them in the settings file.
1336
1337 2011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1338 Remove paragraph about .Xresources from texi file
1339
1340 Command-line options can no longer be set through .Xresources already
1341 since version 4.5.0.
1342
1343 2011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1344 Add Dutch WinBoard translation
1345
1346
1347 2011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1348 Prevent Edit Book window from stealing focus (WB)
1349
1350 In WinBoard updating the book window would give it focus. Now the
1351 focus is given back to the main window, except when the Edit Book
1352 window is first created.
1353
1354 2011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1355 Make book-window update part of HistorySet
1356
1357
1358 2011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1359 Fix position loading in tourneys
1360
1361 In a tourney a position must be loaded when the engine is not yet
1362 started, and the old version of LoadPosition could not handle that:
1363 It would start up the engine, and send it commands unconditionally.
1364
1365 2011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1366 Fix resetting -fSAN on engine change
1367
1368 There were two places for loading another engine, Load (from menu) and
1369 SetPlayer (in tourneys), and the previous patch for this missed the
1370 second one.
1371
1372 2011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1373 Make too-long game non-fatal
1374
1375 GameEnds is now called when the maximum number of moves is exceeded,
1376 rather than DisplayFatalError. Not sure if this properly terminates the
1377 game in all situations, but DisplayFatalError (after calling GameEnds)
1378 would also wait for the user to confirm the error popup before really
1379 exiting, so that in an unattended automatically running tourney there
1380 was not much fatal, and the entire tourney would in fact be finished.
1381
1382 2011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1383 Keep book file open
1384
1385 Rather than opening and closing the book file on every probe, it is
1386 now only closed and opened when the name of it changed.
1387
1388 2011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1389 Suppress playing of book moves with weight 0
1390
1391 Bookmoves with weight 0 could be played when the sum of the weights
1392 of all moves from the position was 0. So it was not possible to suppress
1393 the only move by giving it weight 0. This is now corrected.
1394
1395 2011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>:
1396 added NEWS for release of 4.5.3
1397
1398
1399 2011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>:
1400 better contrast for XBoard icon on a dark background
1401
1402
1403 2011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>:
1404 translationproject.org: updated Ukrainian translation
1405
1406
1407 2011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>:
1408 updated pot file and send to translation project
1409
1410
1411 2011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>:
1412 (tiny change) Clarify "-name" option is Xt-only
1413
1414 There's a set of standard options with will get used by Xt, before Xboard
1415 itself will use them.  "-name" is an Xt-only option which will set the name
1416 and resource of the window to the value requested.  It has nothing to do
1417 with setting opponent/player names.
1418
1419 Signed-off-by: Thomas Adam <thomas@fvwm.org>
1420
1421 modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL)
1422
1423 2011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1424 Fix LoadGameOrPosition starting up engine
1425
1426 When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that
1427 is called in LoadPosition() when you are running from a position file
1428 would prematurely start up the engine (without waiting for features).
1429 The kludge to suppress this behavior for the explicit call to Reset()
1430 is now extended to encompass LoadGameOrPosition.
1431
1432 2011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1433 Clear fSAN option before new engine load
1434
1435 This to prevent the new engine will inherit it from the previous one.
1436 As the command-line options an only set it, this has to be done by
1437 explicit assignment.
1438
1439 2011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1440 Fix some warnings (prototypes)
1441
1442
1443 2011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1444 Fix write failures in concurrency
1445
1446 In WinBoard a flood of writes by differentprocesses to the same PGN can
1447 cause a "permission denied" error in fopen. This patch causes retries after
1448 a random (5-15 msec) wait, in such cases.
1449
1450 2011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1451 Move HistorySet to back-end
1452
1453 This existed in exact duplicates in both front-ends.
1454
1455 2011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1456 Make DoSleep front-end wrapper for msec sleep
1457
1458 DoSleep was #defined as a macro for Sleep/ sleep, with an argument
1459 indicating msec in WinBoard, but seconds in XBoard. Nuw it universally
1460 uses msec, by defining it as a wrapperin the respective front-ends.
1461 (For XBoard itwraps FrameDelay.)
1462
1463 2011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1464 Fix playing sounds when -soundProgram is empty
1465
1466 It made no sense to just send the names of the sound files to the shell.
1467 So the soundProgram isnow tested for being an empty string, and if so,
1468 PlaySound() is aborted.
1469
1470 2011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1471 Add -afterGame option
1472
1473 This option specifies a command line to be executed after each game of
1474 a tournament. To execute the line, the function RunCommand() was added
1475 in the front-end. For XBoard this was a simple call to system(); for
1476 WinBoard part of the StartChildProcess code was cloned (without the pipe
1477 stuff).
1478
1479 2011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1480 Upgrade -serverMoves option
1481
1482 The (undocumented) -serverMoves option was upgraded to conform to the
1483 ChessLive! protocol extension for sending SAN tags. A bug that allowed
1484 upper-case promoChar to leak through was also fixed, and code was added
1485 to write engine PVs to file. Flushing of the game result to the -serverMoves
1486 file was also fixed.
1487
1488 2011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1489 Fix AppendComment
1490
1491 The joining of two comments was not performed correctly if the second
1492 one had the braces yet to be added: the closing brace was not added in
1493 that case.
1494
1495 2011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1496 Auto-popup ICS Input Box
1497
1498 Typing to the board made the move type-in pop up, but in ICS mode
1499 this is of course undesirable. Like in WinBoard, the ICS Input Box
1500 should pop up in stead, and accept the typed character. This is now
1501 realized. If the box already exists and has text in it, the typed
1502 character is appended to that text, and the box is given focus.
1503 Spaces now also are considered as printable.
1504
1505 2011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1506 Slightly decrease sensitivity of sweep actions
1507
1508 The sweep-selection of promotion and drop pieces, or step through the PV
1509 was so sensitive that it was difficult to reliably make the intended choice.
1510 It has now been reduced by a factor 1.5-2, and the sweep selection and
1511 PV walk now also use a different value.
1512
1513 2011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1514 Extra buttons in WB Tournament dialog
1515
1516 A button to copy contents of the tournament fileto the dialog is added.
1517 Buttons to invoke the Common Engine and Time Control dialogs are also added.
1518
1519 2011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1520 Fix crash on typing non-existent enginein Load Engine dialog
1521
1522
1523 2011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1524 Fix display state after failed analysis attempt
1525
1526 When an engine responded to the "analyze" command with an "unknown command"
1527 message, a Reset was done without altering the display, causing a
1528 discrepancy between display and internal state, which caused confusion
1529 when it finally corrected itself. I replaced the Reset call by an
1530 EditGameEvent call, to preserve the loaded game. The Reset was presumably
1531 used to allow for the case where the engine would be so upset by the
1532 analyze command that it needed to be reset by a "new" command, but this
1533 seems overly paranoic for an engine that just recognized the command
1534 as an unknown one.
1535
1536 2011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1537 Fix treatment of PGN score/depth info with linefeeds in them
1538
1539 This is needed to make the PGN more Arena-proof.
1540
1541 2011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1542 Fix quoting in Load Engine dialog
1543
1544 A (space-contaning)  engine name only needs quoting when there are parameters,
1545 because the over-all engine command will be quoted anyway. For UCI engines
1546 duplicate quoting is fatal, because when passed as the -ec argument of
1547 Polyglot, it will be quoted yet another time, also with double quotes.
1548
1549 2011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1550 Replace Analyze File by Analyz Game function
1551
1552
1553 2011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>:
1554 new developer release
1555
1556
1557 2011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>:
1558 update po files
1559
1560
1561 2011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>:
1562 updated Changelog, NEWS, etc.
1563
1564
1565 2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
1566 malloc.h is not needed
1567
1568
1569 2011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1570 Fix ICS move-list header mistaken for null moves
1571
1572
1573 2011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1574 Allow two-games-per-opening to work with book
1575
1576 A new option -seedBase is added, and written to the tourney file.
1577 It allows all XBoard instances working on a tourney to generate the same
1578 'random' openings in a deterministic way, based on this one-time seed
1579 and the game number. When -loadGameIndex equals -2, it uses the same seed
1580 for an odd and the following even game.
1581
1582 2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1583 Fix use of random
1584
1585 In some places rand() was called explicitly, rather than through the
1586 (configured) place-holder random().
1587
1588 2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1589 Translate search texts
1590
1591
1592 2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1593 Add -useBoardTexture and -usePieceFont options
1594
1595 These options suppress the use of the given texture files or piece fonts
1596 without relying on the kludge to disable them by prefixing an asterisk
1597 to the file or font name. Checkboxes have been added to the Board dialog
1598 to control them. The user can now set piece font in WB font dialog.
1599 The sample text can be used to specify the -fontPieceToCharTable,
1600 the font name itself the -renderPiecesWithFont value.
1601
1602 2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1603 Fix crash on start without settings file
1604
1605 A primordial -1 in currCurrent caused a crash when WinBoard was started
1606 without ini filein game-viewer mode.
1607
1608 2011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1609 Fix generic-popup failure after empty engine-settings dialog
1610
1611 The error exit ofthe Engine #N Settings dialog in case of an engine without
1612 options forgot to clear currentCps, with as a result that the generic popup
1613 thought every subsequent popup was an empty one, and kept repeating the
1614 'engine has no options' error message for every dialog.
1615
1616 2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1617 Allow substitution of engines during tournament
1618
1619 Two buttons are added in the tournament options dialog, for upgrading
1620 and for replacing a tourney participant. Lots of tests on the validity
1621 of the request are done, and if all are passed, the tourney file is
1622 written with the new participants (and in case of replace) with the
1623 results of the replaced engines erased from the -results string.
1624
1625 2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1626 Fix up/down arrows in game list
1627
1628
1629 2011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1630 Add key bindings for loading next/previous game of list
1631
1632 These bindings are set both for the game list and the board window.
1633 To make them useful, focus has to be transferred to the board widget
1634 after loading (it tends to transfer to the tags window), which now
1635 seems to work, but not always. From the game list the shellWidget
1636 seems to get focus rather than the board, which is bad as it is not
1637 sensitive to the key bindings.
1638
1639 2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1640 Allow deletion of last book move
1641
1642 The book-edit function refused to delete the entiremove list,
1643 for no good reason. This limitation now has been lifted.
1644 Also the error message that the key for the current book entries
1645 is different from that of the currentposition has been suppressed
1646 if there were no entries found for the current position (so that the
1647 book is positioned at the next key), so that it is possible to add
1648 moves from scratch.
1649
1650 2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1651 Speed up parser
1652
1653 Line numbers > 1, which are common, can exit already during move parsing,
1654 to save lots of matching on resultsand castlings.
1655
1656 2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1657 Fix missing files in file browser
1658
1659 The file browser was throwing away the first two files, assuming
1660 they were "." and "..". Alas, this is no longer true on every Linux.
1661 Now we actuallyc compare for these names, before skipping them.
1662
1663 2011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1664 Delay file loading to allow expose event first
1665
1666
1667 2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1668 Fix paging
1669
1670
1671 2011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1672 Better fix of crash on empty game list
1673
1674 An empty list is now replaced by a list containig a simple message.
1675
1676 2011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1677 Add plain arrows as key binding for stepping forward/backward
1678
1679
1680 2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1681 Debug position selection
1682
1683
1684 2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1685 Print progress during load / selection of game
1686
1687 The title bar of themain window is used to display a running count
1688 of the number of games loaded / searched.
1689
1690 2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1691 Parse PGN tags without allocating memory
1692
1693 In WinBoard malloc/free did not seem to work when preparing the game list,
1694 leading to a huge memory list when ParsePGNTag was used. The added code
1695 parses the required tags in an alternative way as a work-around.
1696
1697 2011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1698 Implement searching games in Game List for a position
1699
1700 For this it was needed to reconstruct all positions of the games
1701 without loading them, so they could be compared to the currently
1702 displayed position. A new routine GameContainsPosition is made for that.
1703  In Disambiguate, when the global quickFlag is set, we now do the
1704 disambiguation ignoring check,and only if this leads to an ambiguous
1705 move, we repeat it taking check into account to see if that resolves
1706 the ambiguity. This causes us to miss if unambiguous moves are illegal
1707 because they put their King in check, but who cares?
1708  We now do not make game-list line when not needed. If we do not filter
1709 by text, but by position, there is no need for preparing the game-list
1710 line for games that are not selected. All for efficiency.
1711
1712 2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1713 Allow entry of variations in PlayFromGameFile mode
1714
1715 Adding variations is more like editing a comment,and not really editing
1716 the game. Therefore we allow it on loaded games. As soon as we are in a
1717 variation, we temporarily switch to a (hidden) EditGame mode, restoring
1718 the original mode when we revert to the main line.
1719   We now also stay in PlayFromGameFile mode after loading a game,
1720 And opening variation (fromtheComment window) in PlayFromGameFile mode
1721 is also allowed.
1722
1723 2011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1724 Force Move History refresh after loading/reverting variation
1725
1726 The Move History window was not refreshed after switching to or from
1727 a variation if that variation happened to have the same length as
1728 the main line. Now a change in storedGames since the previous refresh will
1729 force a full refresh to avoid this. For this to work, storedGames
1730 did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
1731 calls HistorySet before the history is restored, so we don't want
1732 it to snatch away the full refresh. A call to HistorySet had to be
1733 added after PopInner is done restoring the move history.
1734
1735 2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1736 Popdown Comment window on new game
1737
1738 What is in this window cannot possibly remain valid, and can even be harmful.
1739
1740 2011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1741 Allow null move in analysis and edit-game mode
1742
1743 In some games it is allowed to pass your turn. The internal
1744 representation picked for such a null move is the drop of an empty
1745 square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
1746 SAN form is "--", (for compatibility with ChessBase / SCID), and the
1747 non-compliant forms "null", "pass"and "Z0" are recognized in
1748 the parser as well. ApplyMove() has to test for this special case
1749 (to not actually clear a1), and a way to enter the pass for the user had
1750 to be found (clicking the opponent clock, like in EditPosition mode).
1751  The null move is made move irreversible to prevent repetition draws
1752 spanning null moves being adjudicated.
1753   Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
1754 Because Chess engines will not accept null moves, SendMoveToProgram had
1755 to be adapted to send not the move, but the position after it in
1756 case of a null move. This erases the move history in the engine,
1757 so it will not react to 'undo' for that null move, so BackwardInner
1758 had to be adapted to test for intervening null moves, and if one is
1759 found, approach the target from the other side after loading the
1760 earliest position before it not crossing another null move, and
1761 then loading the moves upto the target.
1762   XBoard clock clicks had to be fixed, to pay attention to the shift key.
1763
1764 2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1765 Give WinBoard Game List its own font
1766
1767 The font fort he Game List used to be shared with the Engine Output and
1768 Move History windows, but this made it impossible to use a figurine font
1769 in the latter two (which displays piece symbols for capitals) without
1770 messing up the Game List. An option -gameListFont has been added to specify
1771 the font for the Game List(and save it in the settings file), while a
1772 control for it is added in the fonts dialog.
1773
1774 2011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1775 Fix crash on OK after Save Changes in Tags and Comment popup.
1776
1777 The global variables tagsText and commentText were used to pass
1778 a string obtained from a widget (and thus not malloc'ed), which
1779 caused a crash when the GenericReadout tried to use those variables
1780 for the new value. Fixed by using GenericReadout (which does malloc)
1781 to read out the text,in stead of GetWidgetText.
1782
1783 2011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>:
1784 Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
1785
1786 This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
1787
1788 2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1789 Suppress some XBoard warnings
1790
1791
1792 2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
1793 fixed segfault in xengineoutput
1794
1795
1796 2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1797 Disable -showTargetSquares in ICS mode
1798
1799 Help like this is considered cheating on FICS, so it is disabled for
1800 all 'classical' ICS variants. (For variants eyont Shogi we don't care.)
1801
1802 2011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1803 Put grab on sweep-selecting in Edit Position
1804
1805 A right down-click starting a sweep-selection event did not grab the
1806 mouse events, so that an up-click outside the window would go
1807 unnoticed, and the pointer motion stayed coupled to selecting the
1808 piece until the next click. By returning 2 from the RightClick back-end
1809 routine we request the grab.
1810
1811 2011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1812 Write more labels on score axis of eval graph
1813
1814 The labels for +/-1 and +/-3 are now also written, provided there is
1815 enough space.
1816
1817 2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1818 Improve Eval Graph  with -evalZoom and -evalThreshold
1819
1820 The score range between -1 and +1 can now be blown up by a factor
1821 specified through -evalZoom. The threshold below which histogram bars
1822 are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
1823 be set through the -evalThreshold option.
1824
1825 2011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1826 Print reversible plies done in stead of plies to go
1827
1828 Printing the number of plies left to the draw-adjudication point was
1829 confusing when the N-move rule was set to a non-standard value.
1830 In stead we now print the number of plies since the last irreversible
1831 move, so the user can compare it to both the engine claim point (100)
1832 and the adjudication point he set (which might be beyond 100).
1833
1834 2011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1835 Let WB eval graph react ot single left-click
1836
1837 Unlike in XBoard, the WinBoard eval graph awatys had required double-
1838 clicking to go the the corresponding move, while there really is no
1839 reason for this, as it is no text edit, and single-clicks have no function
1840 (like select).
1841
1842 2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1843 Add -scoreWhite option
1844
1845 This is similar to -absoluteAnalysisScores, except that it works in
1846 all modes, and flips the score given by the engines in the engine-output
1847 window when black is to move.
1848
1849 2011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1850 Print 50-move counter in Engine-Output title
1851
1852
1853 2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1854 Display score/depth in Eval Graph title
1855
1856 No longer print it in the comment window.
1857
1858 2011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1859 Let -sweepPromotions also work for click-click moves
1860
1861 A click-click promotion no longer causes auto-queening, but the down-click
1862 on the to-square causes a Queen to stick to the mouse pointer, and then
1863 allows the user to change it through dragging backwards before releasing it
1864 with an up-click.
1865   In WinBoard this required a slight change in DragPieceBegin, because
1866 the dragged piece there only was made visible when the mouse pointer
1867 actually started moving (and dragInfo.pos was set), presumably under the
1868 assumption that before mouse move the piece was already on the clicked
1869 square. Which in the case of a to-square was of course not true. (Because
1870 a piece jumps to the mouse pointer when the click is not centered on a
1871 square, this gives less jittery static clicks.) So DragPieceBegin has
1872 been given an extra argument now, to indicate whether it should attach
1873 the piece to the mouse pointer immediately.
1874   To make the click-click sweepPromotions work in Shogi (for which the
1875 drag-drop sweepPromotions could never work, because it is not clear the
1876 piece has a posibility to promote when you pick it up), translation of
1877 the sweep-selected piece to a Shogi promoChar had to e added.
1878
1879 2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1880 Improve -showTargetSquares on click-click moves
1881
1882 The markers on move targets are now kept when a first click merely
1883 selects a piece, rather than dragging it elsewhere. The second click
1884 (by definition on the to-square) then clears the markers.
1885
1886 2011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1887 Let PGN parser accept lower-case piece in drop moves
1888
1889 The @ sign prevents amiguity with other notations anyway.
1890
1891 2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1892 Fix parser.c line endings
1893
1894
1895 2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1896 Fix writing searchTime in tourneyFile
1897
1898 This had to be derived from the variable searchTime, which gives it
1899 in seconds, as appData.searchTime (a string in minutes) is not reliable,
1900 as it contains the command-line value, which might have been altered
1901 through the time-control dialog.
1902
1903 2011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1904 Fix resetting searchTime if other TC mode is chosen (XB)
1905
1906 This fixes a bug in the new time-control dialog.
1907
1908 2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1909 Fix coords display on large boards
1910
1911 The file indicators can now run upto 'w'. Only the lowest digit
1912 of the rank number is printed, from a table that is valid to 22.
1913
1914 2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1915 Fix crash on making too-long FEN
1916
1917 The buffer for in PositionToFEN was only 128 bytes, which was not enough
1918 for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
1919 There also is some approximate overflow checking added (but it is not
1920 fool proof in case there are holdings...)
1921
1922 2011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1923 Fix drop moves on boards with more than 10 ranks
1924
1925 The internal encoding for rank 16 is '@', and thus ambiguous with drop
1926 moves. They were always printed as 16, breaking drop games on large
1927 boards. The ambiguity is now solved (for boards with more than 16 ranks)
1928 by checking if the preceeding letter is upper case, in which case it
1929 cannot be a fileindicator, but must be a piece, and thus a drop.
1930
1931 2011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1932 Don't one-click move when legality testing is off
1933
1934
1935 2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1936 Reorder controls in Engine Setings dialog WB
1937
1938 To get tabbing through the controls in left-to-right order, they are
1939 now added to the template structure in that order. Also add a tabstop
1940 to Label options, so that JAWS will read those.
1941
1942 2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1943 Add tab stops in WB generic popup
1944
1945 The WinBoard generic popup did not put tab stops on push buttons,
1946 including the OK and cancel button, with as a consequence that these were
1947 skipped when tabbing through the dialog controls. In addition the tabbing
1948 could not begin before the user selected one of the controls with the mouse.
1949   Now all buttons have tab stops, and the cancel button is given focus
1950 when the dialog pops up.
1951
1952 2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1953 Implement Grand Chess
1954
1955 Grand Chess requires a lot of exceptional handling similar to Superchess
1956 and Great Shatran, because it also allows only promotion to a captured
1957 piece. In addition it shares the enlarged promotion zone with Makruk and
1958 Shogi, as well as the fact that promotion can be deferred. The 10-rank
1959 board furthermore required a better generalization of double-pushes and
1960 e.p. captures. On such a board double puhes are now allowed from 2nd and
1961 3rd rank, e.p. capture from 5th and 4th.
1962
1963 2011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1964 Allow promotion to Pawn with legality testing off
1965
1966 In stead of ImpossibleMove promotionto Pawn now merely is an
1967 IllegalMove, so it can be played with legality testing off.
1968
1969 2011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1970 Create some space in WB New Variant dialog
1971
1972
1973 2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1974 Allow double-digit rank numbers
1975
1976 The parser already understood double-digit numbers on input, and
1977 CoordsToAlgebraic produced them on otput. This patch also fixes sending
1978 of the moves to the computer, for which the moveList was used. The latter
1979 stored 10 as ':', etc,to always get a 4-char move, the characters of which
1980 were frequently being converted to fromY or toY by adding/subtracting ONE.
1981 To not break that the one-character encoding of rank number is kept in
1982 moveList, but in SendMoveToProgram, characters > '9' are converted to
1983 double digits.
1984
1985 2011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1986 Add Absolute Analysis Scores in Genral Options dialog XB
1987
1988
1989 2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1990 Fix texi file, and update it further
1991
1992
1993 2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1994 Modified po
1995
1996
1997 2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1998 Update texi file
1999
2000
2001 2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2002 Restore echo after ^C in ICS password
2003
2004
2005 2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2006 Fix some warnings
2007
2008
2009 2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2010 Increase efficiency of SAN generation / disambiguation
2011
2012 **************** Risky patch! **********************
2013 The algorithm used for disambiguating and generating SAN was extremely
2014 inefficient, because it generated all pseudo-legal moves from the relevant
2015 position, and then for each of those did a check test (involving generation
2016 of all moves of the opponent), before determining if the move matched the
2017 (proposed or given) SAN move. While it is pointless to generate moves
2018 with a piece that does not match (let alone checking them for legality).
2019 And for a piece that matches, it is pointless to test legality of moves
2020 that do not match the to-square.
2021   To speed up the process GenLegal and GenPseudoLegal have been equiped
2022 with an argument that can indicate the piece type of the required move,
2023 so they can skip generating moves with other pieces. TestLegality,
2024 Disambiguate and CoordsToAlgebraic make use of this facility, and set also
2025 (through global variables rFilter and fFilter) a to-square filter to be
2026 applied in the GenLegalCallback before it tests the move for legality.
2027   This patch is especially tricky for Crazyhouse, where the piece indicated
2028 in the move might not be the piece actually on the board, because the latter
2029 is a promoted Pawn, and has to be demoted toits base type before the
2030 comparison.
2031
2032 2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2033 Fix compile errors WinBoard
2034
2035 The patch to make non-existing options non-fatal broke WinBoard. All calls
2036 to ExitArgError from it now supply a third argument TRUE to fix it.
2037
2038 2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2039 Add -fSAN / -sSAN options
2040
2041 These options force the PV of the applicable engine to be converted to SAN.
2042 They make use of the existing ParsePV routine, after shelfing a possible
2043 PV (from user PV walking) to free the space after the last move.
2044 Could be costly in terms of CPU usage.
2045
2046 2011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2047 Cure flicker in Move History window, fix highlighting
2048
2049 The highlighting of the current move in the Move List window by selecting
2050 it did not always work, because some other windows were clearing their text
2051 widgets by selecting the contents and killing it, thus snatching the
2052 selection away. This has been changed to setting XtNstring to an empty
2053 string as a method for clearing without side effects on the selection.
2054 As a bonus the Engine Output window now also no longer has the black flicker
2055 on clearing it.
2056   In addition, triggering a scroll by setting the insertion point to the
2057 end of the text caused excessive flicker in the Move List window, apparently
2058 clearing it and redrawing from scratch, (even if there was no scroll motion),
2059 to the point where on my slow laptop the move history stayed entirely blank
2060 during a rapid succession of moves. This has been combatted by using the
2061 end-of-line action procedure (which does not seem to suffer from this) to put
2062 the insertion point at the end, when we need to scroll to close to the end.
2063
2064 2011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2065 Fix crash on clearing new Move List window
2066
2067 When a new game started and a previous game had filled the Move List
2068 window, a crash occurred because an attempt was made to undo the
2069 highlighting of a no-longer-existing move, and then scrolling to it.
2070
2071 2011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2072 Use sound for ICS tells also with engine telluser popups
2073
2074 The telluser and tellusererror commands now can be assigned a sound.
2075
2076 2011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2077 Add Score in Move List option to general options dialog XB
2078
2079 Now that we have a WinBoard-style Move History window, this option is
2080 no longer a no-op in XBoard.
2081
2082 2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
2083 new developer release
2084
2085
2086 2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
2087 updated Changelog, NEWS, etc.
2088
2089
2090 2011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2091 Update window itle after last game of match
2092
2093 The result printed behind player names during a match would still be the one
2094 without the game, differing from what the popup would show, which looked
2095 sloppy enough for people to complain about it.
2096 .
2097
2098 2011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2099 Make WB generic popup translatable
2100
2101 When used for internal settings (as in the Load Engine and Tournament
2102 Options dialogs), the option names are now subectto translation.
2103
2104 2011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2105 Redo Move History with generic popup in WinBoard style
2106
2107 The use of color and boldness to make the move list more readable
2108 unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move.
2109
2110 2011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2111 Remove stray else
2112
2113 Due to an erroneous else, the window parameters of Move History were
2114 not retreived (and thus incorrectly saved) when the Engine Output was up.
2115
2116 2011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2117 Make non-existing opton in settings file non-fatal
2118
2119 It is rather difficult to recover from a situaton where the settings
2120 file contains an unknown option (e.g. because you downgraded to a
2121 previous version that had fewer options), especially in WinBoard, where
2122 the user settings file is in a hidden folder, and people might not be
2123 able to find it, let alone edit it. By just skipping the line with the
2124 offending option, rather than generating a fatal error, when reading
2125 from a settings file, such options will be automatically purged from the
2126 file as soon as you save settings.
2127   Small problem is that the user cannot be warned, as the initialization
2128 has not progressed far enough at this point to generate error popups. In
2129 XBoard we can at least print to the console, but in WinBoard there is no
2130 warning at all. But the worst thing that can happen is that new options
2131 in a settings file of a more advanced version will revert to their
2132 defaults.
2133
2134 2011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2135 Change long form of -tf option to -tourneyFile
2136
2137 This is a more logical name, and in the WinBoard docs it was already
2138 described as such. Also remove the -processes option, which in the
2139 current design of the tourney manager is no longer used.
2140
2141 2011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2142 Fix default of -remoteUser
2143
2144 This has to be an empty string, rather than NULL, to prevent XBoard from
2145 segfaulting when the -gateway option is used.
2146
2147 2011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2148 Add -at and -opt options as alternative for @
2149
2150 Windows XP and Vista shortcuts do not display command lines with @ in
2151 them correctly, and these optionsprovide a work-around for that.
2152
2153 2011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2154 Fix empty-string option values in XBoard
2155
2156
2157 2011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2158 Fix crash on switching sound in Vista
2159
2160 When choosing a new sound the wave form of the old one was free'ed, but
2161 because built-in sounds are not really malloc'ed, this led to a crash.
2162
2163 2011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2164 Update WB docs for tourney manager
2165
2166
2167 2011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2168 Add icon to WB for tournament files
2169
2170
2171 2011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2172 Redo Time Control dialog with generic popup
2173
2174 As poor-man's disabling of the unneeded input fields, we print the word
2175 "Unused" in them.
2176
2177 2011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2178 Some refactoring in xoptions.c to separate out front-end
2179
2180
2181 2011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2182 Redo New Shuffle Game dialog with generic popup
2183
2184 The buttons are slightly renamed, and in stead of having an 'off'
2185 button to clear it, shuffleOpenings now has its own checkbox, which is
2186 ticked when a fixed or dynamic random is chosen with the buttons.
2187
2188 2011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2189 Fix type of shuffleOpenings
2190
2191 This was a Boolean option, and thus accessed by the args.h code as such,
2192 while it was declared as an int (and used in backend.c as such). This
2193 could have led to problems with different endianness.
2194
2195 2011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>:
2196 Internationalize the file browser.
2197
2198 The file browser was missed in the previous round of
2199 internationalization and had gotten broken by setting international =
2200 True in its widgets.  I got nothing but segfaults trying to set
2201 international to False in the file browser widget subtree when it was
2202 True in the main window, so I gave up and did the
2203 internationalization.  It turned out to be pretty easy.
2204
2205 As a tiny bonus fix, I removed some ../'s from includes, and you can
2206 now configure and build xboard in a subdirectory again.  This was
2207 useful for building both --enable-nls and --disable-nls from the same
2208 sources to compare functionality and make sure both still work.
2209
2210 2011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2211 Fix crash at end of Swiss tourney
2212
2213
2214 2011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2215 Fix display of logos
2216
2217 The logo files are now sought relative to the WinBoard install
2218 directory. Non-existing logos cause clearing of the logo, rather than
2219 letting the logo of the prevous engine hang. Logo change is requested
2220 explicitly from the back-end (when an engine is initialized for a new
2221 game), rather than using the kludge in StartChileProcess. This required
2222 a dummy UpdateLogos routine in the XBoard front-end.
2223
2224 2011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2225 Fix parameter handling in adapter command
2226
2227 A backslash was not considered the end of an option name, which was
2228 fatal for UCCI2WB, which needs %fd\\%fcp in its command line.
2229
2230 2011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2231 Clear Engine-Output pane when initializing engine
2232
2233 This to prevent output from the previous game hanging there during the
2234 next game, when the engine that is really playing is in book and
2235 doesn't produce thinking output there.
2236
2237 2011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2238 Fix display of last move of last match game
2239
2240 When a game was adjudicated (e.g. because XBoard detected mate) GameEnds
2241 would trigger an exit if it was the last game of the match, and thus
2242 never returned, while the ShowMove was called only after return from
2243 Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to
2244 cause ShowMove to be called before exiting. (Ugly kludge...)
2245
2246 2011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2247 Fix concurrency in Swiss tourneys
2248
2249 The pairing engine was consulted for the next round before all games of
2250 the previous round were finished, if other XBoard instances were still
2251 playing games. This caused the instances finishing early to stall
2252 indefinitely. This is fixed by moving the Swiss pairing code to after
2253 the syncInterval code. The normal pairing code (the call to Pairing)
2254 must stay before it, because it determines the syncInterval. So ther is
2255 a bit of tourneyType dependence cluttering up the code here. :-(
2256
2257 2011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2258 Give error popup when pairing engine fails
2259
2260 An invalid pairing now produces an error popup to inform the user, so he
2261 knows why the tourney stagnates.
2262
2263 2011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2264 Fix clock mode in tourney starting from -ncp mode
2265
2266 When a tourney started from -ncp mode, which was allowed in MatchEvent,
2267 because the tourney loads its own engines anyway, the menu enablings and
2268 clockmode where not restored to their 'GNUMode' state.
2269
2270 2011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2271 Fix round-robin schedule
2272
2273 The first round was played twice, and the formulas used to derive the
2274 pairing were not even-odd resistant anyway. Both even and odd number of
2275 participants should work now.
2276
2277 2011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2278 Fix interrupting tournament
2279
2280 Stopping a tourney by using the Machine Match menu item did not wor
2281 properly.
2282
2283 2011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2284 Improve quoting of engine name on install
2285
2286 Rather than always using double quotes for the engine command, the
2287 engine filename is now double-quoted if it contains spaces (and no
2288 double-quotes), and the comand is single-quoted if it contains
2289 double-quotes (and double-quoted otherwise).
2290
2291 2011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2292 Print sensible window title during tourneys
2293
2294 Rather than the "(W-L-D)" in the title we now print game number and
2295 total games, plus indication of the tourney type (rr, gt or sw).
2296
2297 2011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2298 Let XBoard propose name of tourney file
2299
2300 Add an option -defaultTourneyName to configure the name that will be
2301 proposed in the Tournament Options dialog's tournament-file field. The
2302 option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour,
2303 mintes, seconds of the curret time in %02d format, or %Y for the year in
2304 %04d format. Any tournament -file name is ignored when no participants
2305 are given. Participants without a tourney file remains an error.
2306
2307 2011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2308 Improve Tournament dialog layout WB
2309
2310
2311 2011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2312 Fix -matchGames option
2313
2314 The new MatchEvent code had broken the -mg option, and used always
2315 -defaultMatchGames in stead.
2316
2317 2011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>:
2318 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.
2319
2320 - Several files were in utf8 but needed to be marked as such (that is,
2321   "CHARSET" changed to "UTF-8").  Affected es.po, it.po, ru.po, vi.po,
2322   zh_CN.po, zh_TW.po.
2323
2324 - it.po was missing a \n at the end of one translation.
2325
2326 - ru.po had unescaped double-quote marks in one translation.
2327
2328 - vi.po needed to be normalized to Unicode normalization form C.  With
2329   this fix, more characters display correctly, though at least one is
2330   still missing in the X core fonts that xboard is able to use.
2331   See http://vietunicode.sourceforge.net/ for more about Vietnamese.
2332
2333 - zh_HK.po was written in big5 and then utf8-encoded on top of that,
2334   making it unusable.  I stripped off the spurious utf8 encoding and
2335   then used recode to convert the file to Unicode properly encoded as
2336   utf8.
2337
2338 Unfortunately, I wasn't able to test any of the Chinese translations,
2339 as I haven't been able to get XCreateFontSet to work in Chinese
2340 locales with any of the fonts I have installed, even after adding the
2341 Ubuntu language support packages for both simplified and traditional
2342 Chinese.  I did spot check a bunch of the translations using Google
2343 Translate.
2344
2345 I've checked in a couple of tiny Perl scripts that I used to do part
2346 of the fixups on vi.po and zh_HK.po in case we need them again.
2347
2348 2011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>:
2349 The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "".
2350
2351
2352 2011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>:
2353 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.
2354
2355
2356 2011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>:
2357 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.
2358
2359 In the process I had to rewrite the code to insert the pixel size into
2360 a font name (replacing a "*" in that field).  The new code is much
2361 more general.
2362
2363 2011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>:
2364 translation: activated Ukrainian translation
2365
2366
2367 2011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>:
2368 translation: added new Ukrainian PO file from the TP
2369
2370
2371 2011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>:
2372 Fix display of international characters outside the ASCII range.
2373
2374 1) Set Xaw resources required for internationalization --
2375    *international and *fontSet.
2376
2377 2) Untangle the new XFontSet-aware code from the old FindFont code.
2378    It doesn't make any sense to apply the old (and obsolete) size
2379    searching code from FindFont to a font set, which contains fonts
2380    that are all the requested size.
2381
2382 3) With these changes, the -font option doesn't work at all when given
2383    on the command line.  The -font option actually is parsed by the Xt
2384    library, used to set the *font resource, and removed from argv
2385    before xboard can see it, so the option didn't really work properly
2386    with the new WinBoard-style option framework anyway.  Now that
2387    -font is even more broken, I changed the documented name of the
2388    option to -messageFont and changed args.h so the option is saved in
2389    ~/.xboard as -messageFont.
2390
2391 2011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>:
2392 Move "hide thinking" option into alphabetical order.
2393
2394
2395 2011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>:
2396 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.
2397
2398
2399 2011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2400 Fix layout tournament Load Engine dialog WB
2401
2402
2403 2011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2404 Fix ArgTwo warnings
2405
2406
2407 2011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2408 Add Swiss tourneys through pairing engine
2409
2410 An external program can be designated pairing engine through the new
2411 persistent option -pairingEngine. Defining the option will allow
2412 tourneytype -1 to be chosen for Swiss. In this case the pairing engine
2413 will be queried for a pairing before every new match game, by sending it
2414 the -results string, plus the command 'pairing' + game number.
2415
2416 2011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2417 Allow generic dialog to ignore OK
2418
2419 The EndMark callback can now suppress popdown of the dialog on OK, when
2420 it somehow does not like the values entered by the user. In XBoard this
2421 required all the callbacks to return a value.
2422 Caveat: A refused OK would still have set all new values given in the
2423 dialog!
2424
2425 2011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2426 Fix CR in multi-line WinBoard text-edits
2427
2428 The generic popup did not add CR when strings containing '\n' were
2429 printed in a multi-line text-edit, thus joining the lines. It was also
2430 not possible to type a CR in a multi-line text-edit.
2431
2432 2011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2433 Let mentioning completed tourney file add one cycle
2434
2435 Secifying a tourney file of a fully completed tourney will now resume
2436 that tourney with another cycle added. When there are still uncomleted
2437 games in the tourney, the usual error message will appear. There are
2438 also error popups added for when the user fails to specify a tourney
2439 file, or gives too few participants.
2440
2441 2011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2442 Make engine startup failure non-fatal in WinBoard
2443
2444 Unlike XBoard, which forks first, the parent process WinBoard has direct
2445 knowledge of a failure to execute the engine command, and used it to
2446 trigger a fatal error. The code doing this has now been disabled. Only
2447 in case of a first engine we switch back to -ncp mode in stead, but no
2448 action is taken to 'bury' the deceased engine process. Like in XBoard,
2449 errors in writing or reading the pipes will trigger this.
2450
2451 2011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2452 Add secondry adapter command for UCCI or USI
2453
2454 The option -uxiAdapter can define a second adapterCommand, which will be
2455 invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
2456
2457 2011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2458 Obey san feature when sending book moves
2459
2460 Book moves were always sent in long algebraic, even when the engine had
2461 said it wanted to receive SAN.
2462
2463 2011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2464 Fix initialization of engine state
2465
2466 Some of the initialization relied on variables being zero at startup,
2467 which meant value from the previouly loaded engine hng on after loading
2468 a new one.
2469
2470 2011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2471 Take account of holdings in book key
2472
2473 The board is numbered by rank, for comptibility with Polyglot format,
2474 starting at a1. We then continue counting in the holdings 'files', in
2475 up-rank direction, each holding spanning the full board height (even if
2476 it is not fully used). Firstthe left (black) holdings, then the right,
2477 Even in Shogi this limits the square number to < 99, which is below the
2478 absolute limit of 128 (where we would run out of hash keys).
2479
2480 2011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2481 Alow promotions and drops in book-editing
2482
2483
2484 2011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2485 Include learn info in book edit
2486
2487
2488 2011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2489 Adapt default directory of lng2po
2490
2491 The path is prefixed with "../" to make it runable from the po directory.
2492
2493 2011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2494 Recode some po files
2495
2496 po files were generated with the aid of lng2po for Russian,
2497 Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251,
2498 CP1258, GB2312 and BIG5, respectively.
2499
2500 2011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2501 Implement Edit Book in XBoard
2502
2503
2504 2011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2505 Improve WB Load Engine dialog texts
2506
2507
2508 2011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2509 Make 'add to list' default in Load Engine dialog
2510
2511
2512 2011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2513 Add -userFileDirectory option
2514
2515 This volatile option is initialized from 'installDir'. It is
2516 primarily intended for configuration of WinBoard through its master
2517 settings file, and specifies an alternative place to create saveGameFile
2518 or look for other user files, in stead of looking in the installDir.
2519
2520 2011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2521 Add option -absoluteAnalysisScores
2522
2523 This persistent option flips scores in the when black is thinking in
2524 analysis mode, just before they are printed in the engine-output window.
2525
2526 2011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2527 Automatically play moves of clicked PV in analyze mode
2528
2529 The Shift key now no longer needs to be pressed to play moves from the
2530 PV in analyze mode (so it could be given back its original meaning of
2531 starting a variation with the entered moves). In analyze mode the PV
2532 walk begins after the first move, so a static right-click plays the
2533 first PV move. To just peek the PV you have to walk to the start of it
2534 before releasing the mouse button. In other modes the PV walk
2535 stillstarts at the very end.
2536
2537 2011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2538 Let ParsePV always generate SAN move
2539
2540
2541 2011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2542 Fix vscrolling in XBoard Engine-Output window
2543
2544 After clicking the memos they scrolled to the bottom, because SetFocus
2545 put the insertion point at the very end of the text. This behavior is
2546 now reserved for text-edits containing less than 100 characters.
2547
2548 2011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2549 Fix button sizing in generic popup
2550
2551
2552 2011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2553 Allow changing MultiPV setting from Engine-Output window
2554
2555 In analyze mode a header line is printed in the first engine-output
2556 pane, which can be right-clicked to increase or decrease the number of
2557 PVs. (Only with engines that support the MultiPV option.)
2558
2559 2011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2560 No clearing of Engine-Output memos on stat01
2561
2562
2563 2011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>:
2564 updated xboard.pot with released version
2565
2566
2567 2011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>:
2568 new developer release
2569
2570
2571 2011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>:
2572 updated ChangeLog, NEWS, etc.
2573
2574
2575 2011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>:
2576 deactivated new languages for the moment...
2577
2578 po files need some cleanup, probably better to wait until the translation-project looked at them
2579
2580 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
2581 added translations generated via lng2po from all winboard languages
2582
2583
2584 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
2585 lng2po.sh: added command line options, GPL header
2586
2587 also use a temporary file generated with mktemp instead of a hard coded one
2588
2589 2011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>:
2590 fixed access rights to winboard language files (644 instead of 655)
2591
2592
2593 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2594 Import WinBoard language files into git
2595
2596
2597 2011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2598 Let Shift+RightClick on PV actually play the PV moves
2599
2600
2601 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2602 Make book-edit function WB
2603
2604 The tags dialog is used to display the GUI book moves from the current
2605 position, and will be updated when you step or move to another one.
2606 The edited move list (with weights) can be written back to the book.
2607
2608 2011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2609 Fix resetting engine options
2610
2611 Not all options were reset, and -needsNonCompliantFEN was 'reset'
2612 to a completely wrong value, so that bad FENs would be sent.
2613
2614 2011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2615 Add -first/secondPgnName option
2616
2617 This option replaces the tidy name of the engine in the PGN player tags
2618 of engine-engine games. In WinBoard engines can be installed with this
2619 option through a checkbox in the Load Engine dialog.
2620
2621 2011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2622 Let XB generic popup define default file extensions
2623
2624
2625 2011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2626 Save time-control settings in tourney file
2627
2628 Because parsing the options and storing them in appData is not enough,
2629 the time-control code setting the internally used parameters from the
2630 appData info in InitBackend was made into a subroutine, and also caled
2631 after parsing the tourney file.
2632
2633 2011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2634 Put saveGameFile in tournament dialog
2635
2636
2637 2011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2638 Plug memory leak, filenames relative to installDir
2639
2640 String options are consistently freed now, before assigning a new value
2641 to them through strdup. The init code now even does use strdup when
2642 setting defaults. This is important for optionslike -lgf, which are not
2643 saved in the settings file, and thus are usually left with their
2644 default. When a dialog to set them then uses free, this causes a crash.
2645 When setting the defaults uses strdup, ParseArgs can already free them.
2646 This plugs an important memory leak, as ParseArgs in now called to parse
2647 the tourney file before every tourney game (twice!), and the lists of
2648 participants and results in it can be quite long.  Macros are defined in
2649 common.h to make the code look simpler.
2650   Filenames entered through the generic popup are now interpreted
2651 relative to the WinBoard installation folder, just as the saveGameFile
2652 already was. The code handling the atter was made into a subroutine for
2653 this.
2654
2655 2011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2656 Add WB new popup prototypes
2657
2658
2659 2011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2660 Add partcipants at bottom in tourney dialog (WB)
2661
2662
2663 2011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2664 Fix range of tourneyType spin WB
2665
2666
2667 2011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2668 Fix exit popup in tourney mode
2669
2670 Only the instance finishing the last tourney game will cause a popup
2671 with final standings. As long as there are still busy games, it exits or
2672 switches back to idle mode silently.
2673
2674 2011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2675 Fix stopping of match in tourney mode
2676
2677
2678 2011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2679 Add default extension in file browser
2680
2681
2682 2011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2683 Improve sizing of comment and tags dialogs
2684
2685 There seems to be a bug in Xaw for the sizing of buttons; they get
2686 unpredicatble and weird sizes when the size is not explicitly set,
2687 possibly stretching the initial width of a dialog to rediculous values.
2688 Sizing back to a remembered value from the settings file then makes
2689 buttons overlapand text edits shrink to almost nothing. To prevent that
2690 we now define exlicit sizes for the buttons in tags and comment popups.
2691
2692 2011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2693 Fix generic combobox bug
2694
2695 The patch placing gettext markers was done wrong, setting the
2696 translated menu text outside the loop, so all entries became the same.
2697
2698 2011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2699 Fix PV walking in analysis mode
2700
2701 ParsePV assumed that the PV would always have been produced by an engin
2702 thinking about the final position of the game (or the one before it). In
2703 analysismode, however, the engine can be analysing positions internal to
2704 the game, and the PV would be considered invalid. This is fixed by
2705 cutting of the tail off the game (shelving it in variation fashion)
2706 before starting the PV walk, and reverting afterwards.
2707   For this the PushTail and PopTail routines had to be split into an
2708 'inner' part, doing the pushing and popping, and an outer part, handling
2709 menu graying and popdowns (which is undesirable in in this application).
2710
2711 2011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2712 Lift length-limit on text-edits in WB generic popup
2713
2714
2715 2011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2716 Lift limitation of text length in generic dialog XB
2717
2718 All string options should now point to allocated memory, as strdup /
2719 free is consistently used on them. This is OK for values received from
2720 ParseArgs, but for non-arg intermediate variables that must receive strg
2721 values, such as in the comment and tags popups, strdup has to be used to
2722 initialize those.
2723
2724 2011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2725 Implement Tournament Options dialog WinBoard
2726
2727 The file browser now can select on extension WB generic dialogs,
2728 with a default based on the option.max value of the option for which it
2729 browses. A textBox can be forced to be multiline by putting the number
2730 of extra lines in option.min.
2731
2732 2011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2733 Make option to draw second engine from first list
2734
2735
2736 2011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2737 Fix error message on engine load
2738
2739
2740 2011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2741 Implement Load Engine dialog in WinBoard
2742
2743 The Load Engine dialog is implemented for WinBoard, and is invoked by
2744 the menu item Engine->Load, which formerly was Install 2nd. Install 1st
2745 is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
2746 fields for the engine executale and its parameters.
2747   The dialog is implemented by converting the Engine Settings popup into
2748 a generic dialog generator.
2749
2750 2011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2751 Load new logo on engine change WinBoard
2752
2753 Picking the logo for the first engine is made into a subroutine. The
2754 code for picking the logo of the first engine was made into a subrroutne
2755 for this. We use the kludge to recognize the engine by its command line
2756 when starting a new engine process.
2757
2758 2011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2759 Allow switching off match mode through menu
2760
2761 The Machine Match menu item is now checkmarked, and no longer grayed
2762 during a match, and clicking it while a match is running will terminate
2763 the match after the current game. To not be left with hanging
2764 checkmarks, the checkmark is already removed duringthe last match game
2765 (which is logically equivalent to ordinary Two Machines mode anyway).
2766
2767 2011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2768 Calculate and display tourney result
2769
2770
2771 2011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2772 Implement Tournament Manager
2773
2774 New command-line options are added to specify the tourney: -tourneyType
2775 (-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
2776 -syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
2777 otherwise volatile. When a tourneyFile is specified during a match,
2778 a new routine NextTourneyGame is called from NextMatchGame before every
2779 game, to decide the pairing, and unload and redefine the engines, when
2780 needed. The XBoard Match Options dialog can be used to set the options
2781 and create the tournament file.
2782   Actual loading of new engines is done by TwoMachinesEvent, which is
2783 now modified to also wait for the feature timeout of the first engine.
2784 Waiting for the matchPause is now also implemented there, after waiting
2785 for the engines (so they can be started during the pause).
2786   Pairings and color assignment is now all done in an absolute
2787 (non-incremental) way, based on a new global game-number variable
2788 nextGame, which takes over the function of matchGame in a tourney. The
2789 latter is now used to count games between the same players, so it can be
2790 still used to derive the load-file indexes (again in absolute fashion).
2791   The next game to play is already picked in GameEnd, so it can be
2792 decided if there is a game to be scheduled, or if we can terminate.
2793
2794 2011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2795 Display note in stead of empty engine-settings dialog XB
2796
2797
2798 2011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2799 Fix crash on empty Engine Settings dialog
2800
2801 The generic popup was not foolproof against this.
2802
2803 2011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2804 Refactor code for loading games and positions in match
2805
2806 The code in NextMatchGame and MatchEvent was nearly the same,
2807 (MatchEvent did a little more error checking, but that is never
2808 harmful), and could be combined. In stead of determining the load index
2809 incrementally, it is now calculated in an absolute way from the game
2810 number, so it can be used more easily in tournament mode.
2811
2812 2011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2813 Add callback possibility to combobox selection
2814
2815
2816 2011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2817 Lock game an position file during writing
2818
2819 The use of flock() on the file desctiptor of the opened stream should
2820 guarantee multiple XBoard instances, saving on the same file, will not
2821 interleave their PGN games or FEN positions.
2822
2823 2011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2824 Remove building rule for parser.c from WB makefiles
2825
2826
2827 2011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2828 Fix Engine Settings buttons in WinBoard
2829
2830 This was broken by a leftover statement from debugging the -file/-path
2831 patch.
2832
2833 2011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2834 Implement flock in WinBoard
2835
2836 This system function seems unknown in a MinGW compile, so it is
2837 implemented with the aid of file byte-range locking, using a lock on the
2838 first 1024 bytes of the file as a semaphore.
2839
2840 2011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2841 Fix grayout XB Match Options in ICS mode
2842
2843
2844 2011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2845 Delay loading of second engine until it is used
2846
2847
2848 2011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2849 Fix zippy bughouse partner bug
2850
2851 The patchs to subject Zippy messages to coloriation was faulty, because
2852 there were messages recognized by zippy that were not colorized, and
2853 such messages would then not be 'read away' after zippy recognition
2854 (except for the first character). As a result the messages were
2855 processed over and over again.
2856
2857 2011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2858 Silence more rpm warnings
2859
2860
2861 2011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2862 Fix warnings XBoard file browser
2863
2864 All the prototypes have been moved to selfile.h, to force uniformity.
2865 The order of the #include files xstat.h and selfile.h had to be
2866 swapped, to make sure 'struct stat' is a nown type atthe time of
2867 prototype declaration. The event handler SFmotionList is considered
2868 wrong type because of its third argument (XMotionEvent in stead of
2869 XEvent), and had to be casted to (XtEventHandler) when passed to
2870 XtAddEventHandler.
2871
2872 2011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2873 Fix some warnings and header-file improvement
2874
2875 Ther were lot of 'extern' declarations in the x-files, so called
2876 'imports from xboard.c', (sometimes backend.c) which logically belonged
2877 in xboard.h (backend.h) to ensure their uniform definition. These have
2878 now been moved there. Some prototypes have been added in xboard.h as
2879 well, for functions that needed calling from xoptions.c.
2880
2881 2011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2882 Create conversion tools for language files
2883
2884 A shell script "lng2po.sh" is provided, to apply the translation given
2885 in a WinBoard .lng file to "xboard.pot", in order to generate a
2886 "language.po" file containing translations for all strings for which
2887 the .lng file had a translation. It makes use of a file "metascript",
2888 which is the ed script used to turn the .lng file in an ed script to
2889 turn the .pot into .po. For example, the command "./lng2po.sh
2890 espa?ol.lng" will create a file "language.po", which can be renamed to
2891 "es.po".
2892 ****************************** WARNING ********************************
2893   Note that the lng2po script does a "recode" that assumes the given
2894 .lng file is encoded in latin-1. This means it canot be used without
2895 modification for the Vietnamese and Chinese translation; you would have
2896 to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
2897 BIG5).
2898
2899 2011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2900 Put gettext markers in generic dialog creator
2901
2902 This is done by adding extra XtNstring argumentsto the widget gcreaton,
2903 so the displayed name can be different fromthe widget name.
2904
2905 2011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>:
2906 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.
2907
2908
2909 2011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>:
2910 updated German translation
2911
2912
2913 2011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>:
2914 replaced hardcoded email address with generic PACKAGE_BUGREPORT
2915
2916
2917 2011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>:
2918 updated po-files; updated german translation
2919
2920
2921 2011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>:
2922 updated list of files that include translation strings; updated pot-file
2923
2924
2925 2011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>:
2926 marked more strings for gettext that were only marked with N_()
2927
2928 they need to be marked again with _() when they are used to get the translated string
2929
2930 2011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>:
2931 updated translation files
2932
2933
2934 2011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>:
2935 added/fixed i18n support via gettext to xboard
2936
2937 this was already added a long time ago, but now it's added again to
2938 autoconf. Also fixed some compile errors that showed up.
2939
2940 2011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2941 Make engine startup error non-fatal
2942
2943 When engine startup fails, do not generate a fatal error, but swicth
2944 back to -ncp mode. Write on broken pipe errors had to be suppressed for
2945 this.
2946
2947 2011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2948 Make engine loadable during session
2949
2950 A "Load Engine ..." menu item is added to the Engine menu, which pops
2951 up a dialog where one can replace the first or second engine by a new
2952 one, without destroying the game state. Switching from -ncp to engine
2953 mode needed activation of some menu items in SetGNUMode, and
2954 re-enabling clockMode. It was also important that noChessProgram is
2955 cleared before re-initializing the ChessProgramState.
2956   The Load-Engine dialog can select from the list of installed
2957 engines, and also add a newly specified engine to this list. In this
2958 case it saves the directory, hasBook, and isUCI info with the engine,
2959 and optionally the current variant. When loading an engine with a
2960 specified variant, it resets the game and switches to the new variant.
2961
2962 2011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2963 Generalize WaitForSecond to WaitForEngine
2964
2965
2966 2011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2967 Add UnloadEngine routine
2968
2969
2970 2011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2971 Put engine initialization code in per-engine function
2972
2973 Initializing of the ChessProgramStates first and second from the
2974 option settings in appData is now done by separate calls to the same
2975 routine. Clearing of options is added to the initialization. This is
2976 needed when reloading an engine. This is done in a separate routine,
2977 which could also be called on -reset options.
2978
2979 2011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2980 Bring structure in appData engine options
2981
2982 All options in appData that came in pairs for both engines are replaced
2983 by arrays of ENGINES (=2, for now) elements. The use of the named
2984 appData field that are replaced in the source is replaced by use of the
2985 corresponding array element, by #define directives in common.h, awaiting
2986 their replacement.
2987
2988 2011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2989 Fix gettext macros in option dialogs
2990
2991 The strings in the tables were using _() in stead of N_().
2992
2993 2011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2994 Fix crash on using Engine #1 Settings in ICS non-zippy mode
2995
2996 If XBoard is compiled with zippy the Engine #1 Settings menu was not
2997 grayed out even when you don't run in zippy mode, and using it would
2998 then crash XBoard.
2999
3000 2011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3001 Fix shogipixmaps
3002
3003 Some pixmaps forptomoted pieces had wrong background color, others had a
3004 wrong name (so the one with the correct name was missing).
3005
3006 2011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3007 Change texture-install directory to pixmaps/textures
3008
3009
3010 2011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3011 Limit install of sound files to those in menu
3012
3013 The sounds directory is set to .../xboard/sounds, and only ten
3014 sounds are kept (all non-spoken).
3015
3016 2011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3017 Remove some bitmaps from install
3018
3019 Some files in the bitmaps source directory need not be installed,
3020 because they are there only to be linked to the binary in a build
3021 without LIBXPM, are README files or conversion programs. I left only the
3022 stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.
3023
3024 2011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3025 Configure some default sounds
3026
3027 The move sound is set to Wood Thunk; the sounds for tell and challenge
3028 events to Phone and Gong, respectively.
3029
3030 2011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3031 Change default sounds in Xboard menu
3032
3033 All spoken sounds are removed now. Thud, Click and Ching are replaced by
3034 Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.
3035
3036 2011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3037 Make user wav file available for try-out in sound dialog
3038
3039 The GenericReadout was adapted to be able to read a single selected
3040 value, so that the callback to the 'play' button in the sounds dialog
3041 could get the name of the 'user WAV file' without accepting all settings
3042 for the other sounds (which should only happen on 'OK', and might still
3043 be cancelled in stead).
3044
3045 2011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>:
3046 configure: enable silent rules by default
3047
3048
3049 2011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>:
3050 configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/
3051
3052
3053 2011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>:
3054 configure: added install of sounds in .../games/xboard/sounds/default
3055
3056
3057 2011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>:
3058 configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir
3059
3060 pixmaps will now be installed under .../games/xboard/pixmaps/default/
3061
3062 2011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3063 Fix gamelist highlight
3064
3065 Reopening the gamelist should highlight the current game.
3066
3067 2011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3068 Fix size limit on 'save as diagram'
3069
3070 In stead of a fixed-size buffer the diagram-save code now uses an
3071 allocated buffer with size calculated from the bitmap parameters to
3072 retreive the bitmap data, so it should work for all sizes.
3073
3074 2011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3075 Fix chaining of bottom-row dialog buttons
3076
3077 The OK & cancel buttons are chained to the bottom. This patch makes sure
3078 that other buttons appearing in the same row (as in the tags and
3079 comment dialogs) will be chained that way too, so that they will behave
3080 the same on vertical sizing. The bottom of a full-width text-edit above
3081 it will be chained to bottom too. To make this work in the tags dialog,
3082 the (optional) cmail-message field had to be put above the tags memo.
3083
3084 2011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3085 Fix switching between pixmap and bitmap pieces
3086
3087 There were still several flags that had to be reset when redoing the
3088 graphics initialization. The Debian patch to use a default bitmap
3089 directory when none is given but monoMode is selected or forced, is
3090 moved to a more sensible place, so that it does not disturb matters when
3091 compiled without LIBXPM (when we do have built-in bitmaps).
3092
3093 2011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3094 Remove outline-pieces option from board-options dialog
3095
3096 This option does not exist in XBoard (yet).
3097
3098 2011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3099 Fix running of clock during hash allocation engine
3100
3101 In TwoMachinesEvent we now wait for the second engine to acknowledge the
3102 'ping' after 'new', to make sure it is done allocating hash in reaction
3103 to the preceding 'memory' command, before the clock for the game is
3104 started.
3105
3106 2011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3107 Describe move type-in in texi file
3108
3109
3110 2011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3111 Describe Copy Game List menu item in texi file
3112
3113
3114 2011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3115 Describe -sweepPromotions in texi file
3116
3117 The new method for selection promotion piece, and the -sweepPromotions
3118 option are described in the texi file.
3119
3120 2011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3121 Describe -pieceMenu option in texi file
3122
3123 The sweep method for selecting a piece in Edit-Position mode is
3124 explained, as well as the -pieceMenu option.
3125
3126 2011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3127 Update texi file
3128
3129 Descriptions of the new XBoard menu dialogs are included in the docs.
3130
3131 2011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3132 Reorganize texi description
3133
3134
3135 2011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3136 Fix sweep-promotions patch
3137
3138 Setting of the from square was moved to before OKtoStartUserMove in the
3139 LeftClick handler, to make sure we could test the promotion possiblity
3140 when OnlyMove() would have altered (x,y) to be no longer the from
3141 square. But this setting of fromX, fromY hung on also if the move was
3142 not OK, so you could effectively select opponent pieces and empty
3143 squares. The from-square is now set back to undefined when it is not OK
3144 to move the piece you clicked.
3145
3146 2011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3147 Alter treatment of moves with empty squares
3148
3149 In Edit Position mode one can move empty squares, and use them to
3150 'capture' pieces as a means to clear their square. But this often leads
3151 to unintended disappearence of pieces one wants to grab for dragging, if
3152 a previous click had inadvertantly left an empty square selected: the
3153 click on the piece is then seen as the to-click of a click-click move.
3154   This patch treats to-clicks of moves with an empty-square differently
3155 from other to-clicks: Rather than performing the move (in this case
3156 clearing of the to-square) on the down-click, it defers that to the
3157 up-click, and only does it if that up-click is in the same square. This
3158 allows the user to grab the piece on the down-click, and drag it to
3159 another square, if that is what he wanted to do, without being disturbed
3160 by sudden implosion of the piece he tried to grab.
3161   If the to-square is in the holdings, grabbing the piece is the only
3162 action, as moves of empty squares into the holdings are forbidden anyway.
3163
3164 2011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3165 Block selection of a directory when file is needed
3166
3167 When we are not browsing merely to obtain a name to put in a text edit,
3168 but really must return an open file pointer, selection of a directory
3169 (ending in '/') can no longer be OK'ed in the file browser. (XBoard
3170 tends to segfault when offered garbage for game or position file...)
3171
3172 2011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3173 Let double-click select file in file browser
3174
3175 A second click on the already selected entry now has the same effect as
3176 pressing the OK button.
3177
3178 2011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3179 Couple mouse wheel to v-scrolls in file browser
3180
3181 A newly added mouse-wheel event handler was made to call the v-scroll
3182 callback routines with parameters to step one entry. The button-press
3183 handler for the lists themselves was also made to intercept the wheel
3184 events (buttons 4 and 5), to prevent they would select an entry, and
3185 make them scroll in stead as well.
3186
3187 2011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3188 Fix crash copying game list when there is none
3189
3190
3191 2011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3192 Fix changing of float setting by generic popup
3193
3194 Changing a float setting (so far the only one is in the Load Options
3195 dalog) did not always work, because the old value was clipped to (int),
3196 so that changing it back to an integer value might erroneously conclude
3197 there was no change.
3198
3199 2011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3200 Fix crash on closing dialogs in wrong order
3201
3202 When a menu dialog was closed when it still had an open file-browse
3203 daughter, which could be done through the system menu X on the title
3204 bar, later closing of the file browser caused a crash. This is solved by
3205 keeping track of the fact that there is such a daughter through a global
3206 flag, and ignoring the pop-down command if there is one.
3207
3208 2011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3209 Fix startup focus of board window
3210
3211 When there were open auxiliary windows, these would have focus on
3212 starting up XBoard. The XtSetKeyboardFocus call added in XBoard main()
3213 was ineffective in curing that. It has now been replaced by a call to
3214 XSetInputFocus, which does do the job. By giving input focus to the form
3215 widget, rather than the board widget, XBoard will be immediately
3216 sensitive to all key bindings.
3217
3218 2011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3219 Fix game-list highight error when filtered (WB)
3220
3221 When the gamelist was filtered, the game that was highlingted was the
3222 n-th game in the list rather than the n-th game in the file, when the
3223 latter was loaded (and n did not exceed the number of filtered games).
3224 This is fixed now by searching for the line in the listbox that starts
3225 with the game number n, rather than taking the n-th line.
3226
3227 2011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3228 Refactor move type-in code
3229
3230 Common code between XBoard and WinBoard was moved to the back-end
3231 creating TypeInEvent() and TypeInDoneEvent() routines.
3232
3233 2011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3234 Fix saving of XBoard fonts with spaces in name
3235
3236 SaveFontArg now prints quotes around the saved font string, so that the
3237 general option-argument parser doesnot stop at the first space it sees.
3238
3239 2011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3240 Implement move type-in for XBoard
3241
3242 By adding an event handler to the main window for key presses, users can
3243 now type moves when the board has focus, like in WinBoard. The typed
3244 character appears as first character in the type-in box that willpop up.
3245 Enter and Escape close the box; finishing the typing of the move enters
3246 it. Like in WinBoard it is also possible to type a move number (to go
3247 there) or (in Edit Position mode) a FEN.
3248
3249 2011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>:
3250 new developer release
3251
3252 tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG.
3253 The Changelog is just the one from master.
3254
3255 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
3256 updated Changelog, NEWS, etc.
3257
3258
3259 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3260 Fix use of game/position file in first match game
3261
3262 When a match was started from the menu, it was not paying attention to
3263 game and position files. (Later games were.) The code that handled this
3264 in the initialization when a match is started through the command line
3265 was made into a routine MatchEvent, which can be called from the menu
3266 proc too.
3267
3268 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3269 Fix crash on opening ICS Text Menu
3270
3271 The patch for the color defaults had broken the ICS Text Menu.
3272
3273 2011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3274 Implement Copy Game List menu item for XBoard
3275
3276 Some WinBoard code was cloned for this.
3277
3278 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3279 Third method of sweep selection
3280
3281 This method sweeps through the possible promotion choices for the piece
3282 that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
3283 draggin such a Pawn forwards, it immediately shows it as the piece you
3284 are going to promote to.
3285
3286 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3287 Alternative sweep promotions
3288
3289 The sweep takes place on the from-square here.
3290
3291 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3292 Make sweep-select promotions work in WinBoard
3293
3294 The mouse-move handler had to be connected to the PromoScroll back-end
3295 routine.
3296
3297 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3298 Fix path browsing in WinBoard
3299
3300 The routine BrowseForFolder was still declared as static in woptions.c,
3301 while it was used from wsettings.c.
3302
3303 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3304 Fixes to sweep selection
3305
3306
3307 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3308 Implement sweep selection of promotion piece
3309
3310 When the option -sweepPromotions is true, a click-click promotion move
3311 will first display the default choice (usually Queen) on the promotion
3312 square. While you have the mouse button still down, you can change the
3313 piece by moving the mouse vertically.
3314
3315 2011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3316 Implement sweep selection as alternative for the piece menu
3317
3318 When the option -pieceMenu is off, the piece menu will no longer appear
3319 on right-clicks in Edit Position mode. In stead a Pawn of the chosen
3320 color will appear immediately in the clicked square, and vertical
3321 movement of the mouse with the right button down will cycle through
3322 all other pieces defined in the pieceToCharTable of the current variant.
3323   Setting the side to move is acheived by clicking the correspondig
3324 clock. Clear board can be effected by clicking the clock of the side
3325 that already has the move.
3326
3327 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3328 Remember Tags and Comment dialog coordinates
3329
3330 The save-settings code now uses the shell and shellUp arrays from the
3331 GenericPopUp to read out the window coordinates for Tags and Comment
3332 window. Pointers used by GenericPopUp are set topoint to the
3333 corresponding WindowPlacement structs.
3334
3335 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3336 Redo Tags dialog
3337
3338 The generic popup is used for generating the Tags / EditTags popups.
3339 The tags popup use a 'label' field to display the cmail message
3340
3341 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3342 Implement Edit-Comment window through generic popup
3343
3344 The Edit Comment and Comment popups are combined into one, that can
3345 always be edited (similar to WinBoard). It uses shell number 1.
3346 (Number 0 is for all transient dialogs.) A save-changes button is added.
3347 The positioning is not implemented yet.
3348
3349 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3350 Refinements to generic popup and color picker
3351
3352 *) The text part of a checkbox can now be clicked to toggle the option.
3353 *) Typing <Enter> in single-line text edits is ignored
3354 *) Using a spin button now sets focus to the affected text edit, with
3355 the insert position at the end.
3356 *) Using the sample field or an RGB button sets focus to the
3357 corresponding text edit, with the insert position at the end.
3358 *) The adjust buttons now work in reverse, with a D button for "darker".
3359 *) Editing a color field causes the sample field to update to the new
3360 color when you type <Enter>.
3361 *) The color pickers now define a default color, which can be instated
3362 by clicking on the sample field.
3363 *) Fix some 64-bit pointer warnings
3364
3365 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3366 Let file browser filter on extension
3367
3368 A new text field is added in the file-browse dialog, to hold (space-
3369 separated) extensions, on which the filenames are then filtered. This
3370 field is initialized by the caller, depending on what we need the file
3371 for, but can be changed by the user. (Directories are always displayed!)
3372   Changes in the extension field  become effective after typing a return
3373 in it. Escape typed in the extension field gives focus to the filename
3374 field, and restores the contents. Escape in the filename field cancels
3375 the dialog, return ther OKs it. The extension filter of the browser is
3376 initialized to the extension (if any) of the file currently in the text
3377 edit you are browsing for.
3378   When re-opening the file browser from the XBoard File menu, and there
3379 is no suggested filename, it will now start with the last succesfully
3380 opened name as suggestion. Calling the browser with a NULL argument
3381 for the suggested filename requests that (unlike calling with an empty
3382 string, which will start it in the current directory). To make this
3383 work smoothly, the filebrowser saves the last used name on entry, so it
3384 can be restored on cancel, so that a cancelled browse session really
3385 erases all memory of it.
3386
3387 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3388 Fix animation masks on changing piece pixmaps
3389
3390 The animation masks were not remade when new pieces were loaded
3391 interactively through the board-options dialog.
3392
3393 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3394 Fix linegap option in board dialog
3395
3396 The lineGC was not recalculated, so the grid lines stayed the same
3397 thickness. In addition, setting the line-gap override to -1 now
3398 retrieves the original line gap that belongs to the current board size.
3399
3400 2011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3401 Make a kind of ICS text menu in XBoard as a dialog
3402
3403 The dialog with buttons can be opened from the View menu. It is
3404 configured by the option -icsMenu; a default setting for this is
3405 included in the master settings file.
3406   The commands specified by the -icsMenu can now contain $name and $input
3407 keywords, which will be replaced by the current primary selection, or
3408 text the user types, respectively. Commands that contain $name will not
3409 be sent when the current selection is empty. Commands that do not
3410 contain $input will be sent to the ICS immediately; otherwise they will
3411 be placed in the ICS Input Box, with the cursor at the point of the
3412 $input, and input focus given to the Input Box, so the user can start
3413 typing. When a command is prefixed by "$add " it will be appended to the
3414 existing ICS Input Box contents, rather than replace it.
3415   The items now have to be separated by ";\n", and button text from
3416 command by ';' (with optional linefeed). This allows configuring of
3417 multi-line commands, as a single linefeed no longer has special
3418 sigificance.
3419
3420 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3421 Redo ICS input box with generic popup
3422
3423 This box is just a single text edit, but the complexity is in the added
3424 callbacks. These callbacks remain in xboard.c, and were altered to
3425 access the edit through the option.handle field.
3426
3427 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3428 Activate -path and -file options
3429
3430 In XBoard the generic popup was prepared for this. In WinBoard, for
3431 -path options the BrowseFolder routine is used, and had to be made
3432 global (prototype in winboard.h).
3433
3434 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3435 Let generic popup generate Engine Settings dialog
3436
3437
3438 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3439 Merge SettingsPopUp into GenericPopUp
3440
3441 Based on currentCps the values read from the dialog are sent to the
3442 engine, or stored into the option.target in the callback, and fetched
3443 from the option.target in the PopUp. The currentCps is cleared in the
3444 generic popdown of a transient dialog.
3445
3446 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3447 Make generic dialog popup reentrant
3448
3449 To allow persistent dialogs to be implemented through the generic popup,
3450 it must be possible to have several dialogs open at the same time, and
3451 thus make sure the popdowns under the cacel or close-window button know
3452 which one to pop down. To this end an array shells[] is created that
3453 takes over the function of settingsShell, and GenericPopUp gets an extra
3454 parameter telling it which element to use for storing the dialog shell.
3455 This number is then also passed to the callbacks that trigger popdown.
3456 This was a bit nasty for the CatchDeleteWindow stuff, which passes user
3457 data to the callback as text strings.
3458 Keep a separate up/down indicator, so that shell widgets can be kept
3459 for persistent dialogs. Also keep a currentOption per dialog type.
3460   The coordinates and size of the window is read out and stored in a
3461 WindowPlacement structure, (if one is specified for that dialog), when
3462 the dialog is popped down. When initialized the structure is also used
3463 to set the window parameters when the dialog is created. (The idea being
3464 that the structure was saved in the settings file.)
3465   The routine MarkMenu checkmarks a given menu item, and logs it for the
3466 given dialog type, so that a later popdown automatically unchecks is.
3467
3468 2011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3469 Implement Machine Match menu item and options dialog
3470
3471 An item to start a match from the menu is added, similar to what
3472 WinBoard has. (The code is duplicated, so I guess it should be moved to
3473 the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in
3474 the Options menu was added with the aid of the generic popup, and allows
3475 the user to set the load Game / Position File and Index.
3476
3477 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3478 Create General-Options dialog
3479
3480 The generic popup is used to implement a General-Options dialog, which
3481 contains all Boolaen options that used to be set directly from the main
3482 Options menu, plus a spin option for the flash count and flash rate.
3483 The corresponing options are removed from the main Options menu, but the
3484 whole thing is made conditional on a compiler switch OPTIONSDIALOG.
3485 The dialog needs an OK callback for sending an altered ponder-state to
3486 the engine. (Why isn't this option disabled in -ncp mode, btw?)
3487 A spin control is added to adjust -animateSpeed between 5 and 100.
3488 Add dropMenu and showTargetSquares item as well.
3489
3490 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3491 Redo new-variant dialog with generic popup
3492
3493 Some special code was added in GenericPopUp() to force buttons of the
3494 type needed in the New Variant dialog (wide, colored, greyed-out on
3495 variant type). The dialog was implemented with these, and callbacks for
3496 the buttons directly exit the dialog, without the need for OK. New spin
3497 controls are added to the dialog for adjusting the board format.
3498
3499 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3500 Redo common-engine dialog with generic popup
3501
3502 The ponder option was removed, as it is already in the main Options
3503 menu, and would require nastiness in the OK callback. Added book options
3504 in common-engine dialog.
3505
3506 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3507 Redo adjudications dialog through generic popup
3508
3509 We dropped the periodic-updates option, as it is already in the main
3510 Option menu.
3511
3512 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3513 Make sounds dialog for XBoard
3514
3515 This uses the combo boxes. A 'play' button isimplemented for a test
3516 sound. A sound directory is introduced, and can be set through the
3517 dialog. A default setting for -soundDirectory is added to xboard.conf.
3518
3519 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3520 Add ICS options dialog
3521
3522
3523 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3524 Add board dialog XBoard
3525
3526 The GenericPopUp() is used to implement a dialog for board options. The
3527 board dialog needs to trigger redraw and redefinition of the
3528 colors, through an OK callback. Color-pickers are used for the 6 basic
3529 color settings.
3530   To allow changing board settings during the session (i.e. from a menu
3531 dialog), the routines to allocate resources have to free the resources
3532 for the previous settings first. This patch take care of XtCreateGCs(),
3533 preventing re-creation of resources that are unchangeable (such as the
3534 grid color), and calling XtReleastGC() on GCs that can be changed.
3535 To prevent resource leaks the old pixmaps are deleted before making new
3536 ones on second or later calls of CreateXPMPieces().
3537
3538 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3539 Add browse button to generic popup
3540
3541 Options of type FileName and PathName cause a browse button to be added
3542 behind the text field. The SpinCallback is used to handle the
3543 button presses, and invokes the file browser dialog to obtain a
3544 filename, which is then copied to the text field.
3545
3546 2011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3547 Make generic XBoard popup, and implement 2 dialogs
3548
3549 The Engine-Settings dialog of XBoard was cloned to work on predefined
3550 lists of (XBoard) options, rather than engine options. An extra field
3551 was added to the Option struct, to hold a pointer to the XBoard variable
3552 that should hold the option setting, so on OK'ing the dialog the altered
3553 values can be copied there. Not usable for options which should trigger
3554 an action (like redraw, or sending something to the engine).
3555 A Load Game, Save Game and ICS Options dialog were then defined by
3556 tables fed to GenericPopUp(). Options set from these dialogs were removed
3557 from the main Option menu, which removes a lot of code from xboard.c
3558 (for checkmarking, disabling the menu items).
3559   A button defined in the GenericPopUp can attain the color indicated
3560 by a previous text field, and add a callback to change the color in a
3561 spin-like manner (but using R G B W in stead of + - butons).
3562 The EndMark option can specify a callback, to be used on OK.
3563 A non-zero max field in the Option descriptor will be used to set the
3564 width of ComboBox, TextBox and Button optons.
3565 The elements are chained such that extra space goes fully into the input
3566 fields. A label type is added for clarifying texts that would not fit in
3567 the option names. A break-type (pseudo-)option is added. Make OK and
3568 cancel button suppressable in generic popup (by 2 bit of the option.min
3569 field).
3570
3571 2011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3572 Add file-browser option to just return name
3573
3574 By passing mode "f" the file browser dialog will not open the selected
3575 file at all, so it can be used to retreive the name for the benefit of a
3576 file-browser button to a -file option. A mode "p" will limit the
3577 selection to directories only, to browse for a path.
3578
3579 2011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3580 Put insertion point at end of text on SetFocus
3581
3582
3583 2011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>:
3584 fixed 64 bit warnings by casting integers to intptr_t before casting to int
3585
3586
3587 2011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>:
3588 removed check and #includes for malloc.h, since it's not needed
3589
3590 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
3591
3592 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
3593 check if malloc.h is present before including it
3594
3595 OS X 10.6 doesn't have malloc.h, so it complained.
3596
3597 2011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>:
3598 Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file
3599
3600 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
3601
3602 2011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3603 Fix display of promotion piece in ICS superchess
3604
3605 In Great Shatranj and Superchess promoted Pawns were displayed as shadow
3606 piece because these variants had holdings, while captured pieces should
3607 go back into the holdings unchanged, rather than reverted to Pawns.
3608
3609 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3610 Fix o-o castling in new parser
3611
3612 The non-compliant notation of castling with lower-case 'o' should be
3613 preferred over the non-compliant interpretation of moving a Pawn along
3614 the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for
3615 castling! So an exception is now made for the o-file in the 'fxg'
3616 case.
3617
3618 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3619 Implement yynewstr entry point in new parser
3620
3621 This entry point, used for parsing an ICS move list, was forgotten, and
3622 was still an empty routine. This made XBoard crash when observing an ICS
3623 game.
3624
3625 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
3626 fixed wrong default for polyglotDir mentioned in docs.
3627
3628 Thanks to Hans Aberg for reporting it.
3629
3630 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
3631 Fix "make install" on Os X10.6.6 (removed a "/")
3632
3633 seems like an extra "/" made "make install" unhappy
3634
3635 2011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>:
3636 removed parser.l from build process, also removed flex dependency from configure
3637
3638
3639 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3640 New parser, written in C
3641
3642 A new parser was written to replace the flex-generated one. Immediate
3643 improvements are that it understand double-digit rank numbers, and Shogi
3644 coordinates. No changes were made in the Makefile yet to reflect the
3645 new, flexless building procedure.
3646
3647 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3648 Fix bugs in FRC castling rights
3649
3650 When parsing a castling move in FRC when no rights existed, the parser
3651 returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of
3652 the absence of rights was not adapted to the new encoding NoRights in
3653 stead of -1.
3654
3655 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3656 Fix parsing bug of FRC castling
3657
3658 The code that was supposed to intercept castling when no rights existed
3659 in FRC was not adapted to the new encoding for this by NoRights, rather
3660 than -1, and furthermore returned 0 (= EndOfFile) rather than
3661 ImpossibleMove. Not sure if the former would manifest itself in any
3662 way, but the latter seems bad.
3663
3664 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3665 Fix two bugs in reading position diagram
3666
3667 When reading a game without FEN tag, a position diagram is used to set
3668 the initial position. This calls CharToPiece() with a '.' as argument,
3669 because that is the position-diagram way to indicate empty squares.
3670 altered CharToPiece() over time this would be recognized as the first
3671 undefined piece or, more recently, the first piece without nickName,
3672 which is a white Pawn. Now it returns EmptySquare again in that case.
3673 A second problem was that for position diagrams in braces the brace was
3674 not in the list of ignored characters, and would cause the reading to
3675 get out of phase, so that the side to move was not recognized.
3676
3677 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3678 Fix flipBlack option XBoard with board texture
3679
3680 In XBoard -flipBlack is implemented by swapping white and black pieces,
3681 because the Shogi bitmaps from XShogi are made that way. But the mask
3682 used to cut out the whole in the board texture to fit the piece was not
3683 swapped, both when drawing static pieces, as well as during animation.
3684
3685 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3686 Improve repairing damage of arrow highlight XBoard
3687
3688 With line gap the highlight arrow necessitated redrawing of the entire
3689 board, to repair damage on the grid. This interfered with flashing of
3690 pieces, which was only done on selective redraws. In stead of forcing a
3691 total repaint we now just redraw the grid lines.
3692
3693 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3694 Fix unintended translation in debug file
3695
3696 The words "first" and "second" (cps->which) were sometimes used in
3697 context that should definitely not be translated. (e.g. the indicator
3698 for which engine printed/got the line in the debug file.) So translation
3699 is now deferred to all uses in popups.
3700
3701 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3702 Fix nps bug
3703
3704 The nps settingwas tested for being > 0 in stead of >=0, so that the
3705 case of CPU time was not properly handled.
3706
3707 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
3708 Added missing fclose()
3709
3710 (tiny change)
3711 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
3712
3713 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
3714 release of version 4.5.1
3715
3716 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
3717 updated Changelog, NEWS, etc.
3718
3719 2011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3720 Fix two typos in option names in texi file
3721
3722 Polyglot was capitalyzed
3723
3724 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3725 Fix some resource leaks
3726
3727 Some files were opened not closed in XBoard, when loading XIM images
3728 (which I doubt anyone ever does) but also when copying the clipboard
3729 (which has the potential of being done very often). There was also some
3730 code that would not work if conditional code which is permanently
3731 disabled would be enabled.
3732
3733 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
3734 new developer release
3735
3736 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
3737 updated Changelog, NEWS, etc.
3738
3739 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3740 Fix MSVC snprintf problem
3741
3742 In MSVC snprintf has to be redefined as _snprintf, and this happens
3743 conditionally in config.c. But the latter was not #included in help.c.
3744
3745 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
3746 updated configure.ac to check for Xaw header files
3747
3748 check for Xaw header files when --without-Xaw3d was given. Before the test was
3749 only done when Xaw3d was specified, but could not be found.
3750
3751 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
3752
3753 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3754 Fix ICS channel 0
3755
3756 Channel 0 messages were not displayed in the console, because the test
3757 for channel number considered every non-numeric or non-existent handle
3758 in a chatbox to be zero. So the messages were diverted to a non-exsting
3759 chatbox. Now it test first for the handle to start with a digit.
3760
3761 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3762 Make language choice from menu persistent
3763
3764 Set appData.language to the chosen language file, or empty if English is
3765 chosen, so that the choice is saved with the settings. Increase the
3766 number of possible language choices from 5 to 20. (After all, we already
3767 have 7 now!)
3768
3769 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3770 Fix showing of user move after adjudication
3771
3772 The correction of the fishy patch (removing ShowMove() from Adjudicate())
3773 had broken the adjudication of user moves (that actually did work before
3774 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
3775 the correct values for the move to be shown). An entered move that led
3776 to adjudication (like a checkmate) now was not displayed at all. Adding
3777 an extra ShowMove() after (successful) return of Adudicate() solves it.
3778
3779 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3780 Fix Xiangqi King facing
3781
3782 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
3783 was cleared after the King-facing test, rather than before it.
3784
3785 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3786 Fix variant janus size prefix
3787
3788 The default board size of Janus Chess was not consistently taken to be
3789 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
3790
3791 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3792 Fix Alfil bug
3793
3794 The test for Alfil (suppressing single steps on the Elephant) contained
3795 a wrong logical operator, so that it could never be active. It also
3796 failed to include Xiangqi as variant with traditional Alfil. This led to
3797 one-step moves of the Elephant in these variants, and false check or
3798 unreliable mate detections.
3799
3800 Fix move of Xiangqi Elephant
3801
3802 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
3803 fixed configure script to correctly detect Xaw3d library
3804
3805
3806 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3807 Fix unmarked translation
3808
3809 The file-browser wndowtitle in WB was not marked for translation.
3810
3811 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3812 Put warning in HTML help
3813
3814 A warning is added that the help file is not yet updated for the new
3815 menu organzation.
3816
3817 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3818 Fix 64-bit Windows compilability
3819
3820 The API interface for Set/GetWindowLong has been changed for 64-bit
3821 Windows, both in the name of the call as in the arguments.
3822
3823 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3824 Fix MSVC compilability
3825
3826 Both the makefile and the project file had to be adapted for the new
3827 source file history.c, and the new location of parser.c.
3828
3829 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
3830 added missing #includes and missing prototypes to filebrowser
3831
3832 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
3833
3834 Also cleaned up missing prototypes and some casts.
3835
3836 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
3837 added missing header file for sprintf
3838
3839
3840 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
3841 added history.c to the tar-ball. Needed for Winboard
3842
3843
3844 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3845 Fix deselection of greyed-out variant button (WB)
3846
3847 In Windows a disabled radiobutton refuses to deselect when you select
3848 another (enabled) button from the group. There are then 2 buttons
3849 checked, and the code to readout the buttons took the first one. Now it
3850 is changed to take the first enabled one.
3851
3852 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
3853 Revert "Implement -reset option feature in WinBoard"
3854
3855 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
3856
3857 picked the wrong commit from HGM's git tree.
3858
3859 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
3860 add DIFFSTAT and SHORTLOG to tar-ball
3861
3862 was only in the v4.4.x branch and not in master
3863
3864 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
3865 release of version 4.5.0
3866
3867 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
3868 changed size of borders around squares from 0 to 1 as a default
3869
3870 this way highlights show up again.
3871
3872 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3873 Implement -reset option feature in WinBoard
3874
3875 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
3876 updated Changelog, NEWS, etc.
3877
3878 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
3879 updated parser.c form parser.l
3880
3881 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3882 Clean up fishy patch
3883
3884 None of the ShowMove() calls in Adjudicate() was working, because when
3885 this code was taken out of HandleMachineMove() it was taken outside the
3886 scope of the local fromX, fromY etc. there, so that it started using the
3887 global variables from the mouse driver. As these usually contain -1,
3888 this suppressed move animation and highlighting. All these calls have
3889 now been removed, and ShowMove() is called after a positive return (from
3890 HandleMachineMove(), so within the correct scope).
3891 This improves the previous fix, which led to some flicker, because the
3892 erroneous ShowMove() calls did draw the new board (instantly), wich in
3893 the fishy patch was then immediately overwritten by the old position, to
3894 start animation. This drawing of the old position is now no longer
3895 needed either.
3896
3897 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3898 Update RTF file
3899
3900 The RTF file is adapted to the new menu organization.
3901
3902 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3903 Update texi file
3904
3905 The highlight-with-arrow and one-click-move menu items are described.
3906 The highlightMoveWithArrow and variations option are described.
3907 Load Next /Previous Position descriptions are moved to File menu.
3908 The description for entering variations is updated (using Shift key).
3909 The remark that editing holdings is impossible is removed.
3910 Spartan Chess is added to the list of supported variants.
3911
3912 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
3913 Updated copyright notice to 2011
3914
3915
3916 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3917 Greyout unavailable variants in New Variant dialog
3918
3919 The WB radio-button code is refactored to be driven from a list (which
3920 must be kept in phase with the variant definitions in common.h!). It now
3921 also checks if the first engine supports the variant, and greys out the
3922 item if it isn't. XB now also makes this check. Slight re-ordering of
3923 10x8 variants there, to have the more common on top.
3924 If no radio button is selected, keep old variant even on OK.
3925
3926 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3927 Move clock-click code to back-end
3928
3929 Some duplicated (or should-be-duplicated) code for handling clicks on
3930 the clocks from the XBoard and WinBoard front-ends was merged and
3931 relocated to the back-end, so it can be shared. Noticeable was that
3932 XBoard allowed turn change in ICS examine mode by clock clicking,
3933 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
3934
3935 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3936 Fix legality testing of drop moves
3937
3938 Drops of noexistent pieces (i.e. with a piece indicator letter that is
3939 not corresponding to any defined piece) are now parsed as
3940 ImpossibleMove, rather than IllegalMove, so they are also rejected with
3941 legality testing off.
3942
3943 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3944 Fix WB Sound Options greyout and remove some grossness
3945
3946 The sound and ICS Options menu items in WB were accessed 'by position',
3947 with fixed defined positions (always messing up any reorganization of
3948 the menus when you forgot to redefine the position constants in
3949 winboard.h). And not only that, but for completely mysterious reasons,
3950 the greying of the sound item greyed out the game-list options (above
3951 it) in stead when it was defined as 9, and the ICS options (below it)
3952 when it was 10 !!!. Now they are addressed 'by command' (and the
3953 position definitions are removed), which fixes things.
3954
3955 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3956 Re-instate load next/prev position menu items
3957
3958 As positions do not use something similar to the game list, these are
3959 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
3960 so I settled for Shift+PgUp/Dn.
3961
3962 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3963 Remove superfluous copying of machine move
3964
3965 There was explicit code in HandleMachineMove() and FinishMove() to put
3966 the move in the moveList, while MakeMove() already does this later in a
3967 more reliable way by calling CoordsToComputerAlgebraic(). This
3968 superfluous code is removed now.
3969
3970 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3971 Fix spurious mate test in Edit Game mode
3972
3973 When entering a game, it was terminated by the mate test even when
3974 legality checking was switched off (so that mates might not be reliably
3975 recognized). The mate test is now made dependent on legality testing.
3976
3977 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3978 Fix type-in of drop moves
3979
3980 Drop moves entered through the move type-in already come in the (piece,
3981 DROP_RANK, x, y) format, rather than having a holdings from square. This
3982 caused UserMoveEvent to consider them illegal when testing if the
3983 piecewas of the side to move, and when this was fixed, to recognize
3984 Knight drops as coming from between board and holdings (and thus
3985 illegal).
3986
3987 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3988 Fix move type-in truncating game
3989
3990 Starting a new variation by keeping Shift pressed did not work when
3991 OK'ing the move type-in, because there was some code ther that truncated
3992 the game. While this could be safely left to UserMoveEvent, which it
3993 calls, as the situation is not different from entering moves through the
3994 mouse.
3995
3996 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3997 Fix legality testing for promotions
3998
3999 Turns out WB has never tested for the legality of the chosen promotion
4000 piece, and would allow promotion to King innorml chess even with
4001 legality testing on (when entered through the keyboard)! Now strict
4002 testing is done, outlawing Pawns and Kings (or Unicorns in
4003 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
4004 spartan a black King if you do not have two yet.(And promotion
4005 toLnce,representing Hoplite Pawn,is forbidden there.)
4006
4007 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4008 Reset 50-move counter on all pawn-like Lance moves
4009
4010 Now the Lance represents a Pawn-like piece not only in variant fairy,
4011 but anywhere outside Shogi / Superchess, its moves should also reset the
4012 50-move counter in those cases. Especially important for Spartan Chess,
4013 where the Lance actually participates.
4014
4015 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4016 Fix logo repainting
4017
4018 The logos were not repainted when the main window was moved out of the
4019 display area, and then back into view. The reason for this is
4020 unknown, as the PaintProc calls HDCDrawPosition, which was calling
4021 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
4022 sometimes half drawn!) despite the fact that the rest of the board was.
4023 The drawing of logos now has been decoupled from drawing the board,
4024 and has been moved to a separate routine DisplayLogos() (in analogy to
4025 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
4026 not change when the board does. So apart from in PaintProc, it has only
4027 to be called when the mode changes (ModeHighlight()) or on swap clocks.
4028 This seems to fix the problem.
4029
4030 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4031 Fix time in PGN info
4032
4033 Saving of the thinking time in the PGN was broken by the patch that
4034 removed the race condition in the clock switching, because that moved
4035 the incrementing of forwardMostMove to behind the code that used fmm to
4036 index pvInfoList. As a result the time was stored in the slot for the
4037 opponent's previous move. The value is corrected now.
4038
4039 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4040 Fishy fix
4041
4042 The move that delivers checkmate in two-machines mode is not animated
4043 when adjudication is on. There then also is no highlighting of this move
4044 Redrawing the board and calling ShowMove fixes it. Which is rather
4045 strange, because ShowMove was already called in Adjudicate (when it
4046 adjudicates), before GameEnds. For reasons that are not understood this
4047 call to ShowMove() (which calls AnimateMove()) is not effective.
4048
4049 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4050 Reset machine colors after match
4051
4052 The colors each engine playse are set to the originals after the last
4053 match game, so that a new match or two-machines game will not have
4054 swapped colors.
4055
4056 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4057 Reset win/loss counters before match
4058
4059 The win/loss counters were not reset, because the code counted on them
4060 being initialized to zero. But with matches startable from the menu,
4061 this is no longer true after the first match.
4062
4063 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4064 Show move that causes false illegal-move claim
4065
4066 Without claim testing XBoard takes back moves that an engine objects to.
4067 But when the engine is forfeited for a false claim, the move should of
4068 course stay. So the claim test is moved to before the take-back.
4069
4070 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4071 Fix Spartan promotion to King
4072
4073 Promotions toKing were refused when in check, because XBoard thought
4074 they would not resolve the check. Now the promotion is actually
4075 performed before doing the check test.
4076
4077 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4078 Fix WB font-based piece rendering on variant switch
4079
4080 The piece bitmaps were only created from the font characters when the
4081 number of ranks or files changed, because it was done in
4082 InitDrawingSizes(). This caused missing pieces when changing to a
4083 variant on the same board that used other pieces. Now InitDrawingSizes()
4084 is called for any variant switch.
4085
4086 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4087 Fix right-alignment pproblem in WB ICS window
4088
4089 Use of Ctrl-R to summon the context menu still trickled through to the
4090 default text-edit window routine, and caused right-alignment. This was
4091 because the text-edit reacts on keyDown rather than the character event.
4092 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
4093
4094 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4095 Fix chat window title
4096
4097 The title was using the engine name, rather than the ICS handle, which
4098 did not work outside zippy mode. Now it only uses the engine name when
4099 no ICS handle is known. The titleis now also subjected to translation.
4100
4101 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4102 Fix spurious reading of old game title by JAWS
4103
4104 Because focus was switched to the board window before loading the
4105 selected game from the game list, the titlebar still contained the
4106 name of the previously loaded game, which would spontaneously be read by
4107 JAWS. Now the focus switch is done after loading the new game (which
4108 updates the window title.)
4109
4110 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4111 Add variant Spartan Chess
4112
4113 In the WB menu it takes the place of the defunct Twilight Chess item.
4114 The setup routine needed patching for setting up Lances in stead of
4115 Pawns for black, the check test had to be adapted to handle duple check,
4116 Alfil and Dragon moves were fine tuned in this variant to make the exact
4117 moves, and the promotion popup was adapted to show King and interpret
4118 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
4119 moves as Modern Elephant except in Shatranj and Courier.
4120
4121 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4122 Fix mate test
4123
4124 Due to a bug in logical operators drops were tried for mate evasions
4125 even in non-drop games, which broke it in Superchess and Great Shatranj,
4126 and wasted CPU time in other variants.
4127
4128 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4129 Fix promotion suffixon disambiguated piece moves
4130
4131 The promotion suffixon piecemoves that needed disambiguation was not
4132 passedon to the back-end in most variants. Now it is passed on in any
4133 variant.
4134
4135 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4136 Fix promotion of Pawn-like Lance
4137
4138 In variants where the Lance is used to represent an unorthodox Pawn, it
4139 must promote when it reaches last rank. With legality testing on,
4140 however, the promoChar was ignored in ApplyMove in this case. The
4141 promotion suffix also was not appended in SAN moves.
4142
4143 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4144 Fix WB promotion popup
4145
4146 The promotion popup did not work properly in variants where black did
4147 not use the pieces that white wanted to promote to. Now the character
4148 for the selected piece is taken from the piece encodings of the side to
4149 move. In addition, selection of undefined pieces is ignored.
4150
4151 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4152 Fix bug in parsing variations
4153
4154 The moves parsed from a variation were stored in the moveList without
4155 appended linefeed. This caused errors if the variation extended to
4156 beyond the end of the main line,into a hitherto unused part of the move
4157 list, as the linefeed was then not there from the overwritten move. As a
4158 result moves sent to the engine were concatenated, triggering
4159 illegal-move messages and bringing the engine out of phase.
4160
4161 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4162 Define Ctrl-R as right-click in WB Comment dialog
4163
4164 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
4165 equated to a right click at the position of the caret or selection.
4166
4167 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4168 Allow starting a variation from keyboard entry in WB-JAWS
4169
4170 The status of the shift key is remembered when space is pressed to
4171 select a board square.
4172
4173 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4174 Disable some accelerators in JAWS version
4175
4176 Single-key accelerators that could result in irreversible data loss are
4177 undesirable, because the risk of accidentally pushing them is too large.
4178 So the non-Alt duplicates of next/previous game/position are disabled,
4179 as are Home and End for Revert and Truncate Game. JAWS users will have
4180 to rely on the menus for those functions.
4181
4182 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4183 Group engine-output memos with engine names
4184
4185 The engine names are now defined just before the text edits, so that
4186 JAWS 11 will read the engine name when the memo for the output of that
4187 engine is selected. (JAWS 10 will still read the NPS, as it reads in
4188 geometrical order.)
4189
4190 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4191 Put nr CPU earlier in tab cycle of WB Common Engine dialog
4192
4193 By defining the max CPU control after hash size, the tabbing steps
4194 through the controls in geometrical (and logical) order, rather than
4195 having the max CPU in between the book controls.
4196
4197 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4198 Update WB language template file
4199
4200
4201 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4202 Subject JAWS menu and spoken strings to translation
4203
4204
4205 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4206 Let JAWS SayString buffer full sentence
4207
4208 The meaning of the flag parameter of SayString was changed to indicate
4209 buffering of flushing. On flushing a message of a single space is used
4210 as a kludge to indicate interruptability. Calls to force flushing where
4211 added everywhere.
4212
4213 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4214 Adapt JAWS menu to new menu organization
4215
4216 The menus did not correspondto the texts after translation of the main
4217 menu bar.
4218
4219 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4220 Translate menus after creation of JAWS menu
4221
4222
4223 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4224 Fix ICS context menu for JAWS
4225
4226 The Ctrl+R key did select text at the mouse pointer in stead of at the
4227 curser, now that up and down-click were combined.
4228
4229 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4230 Reorganize order of WB New Variant dialog controls
4231
4232 The definitions are re-ordered so that at least JAWS 11 will speak the
4233 board-size elements properly.
4234
4235 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4236 Fix order of elements in WB time-control dialog
4237
4238 Someleading texts were defined after the text edit they referred to,so
4239 that JAWS 11 associated them to the wrong one. A tab stop was added to
4240 the time-odds label, to make JAWS speak it.
4241
4242 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4243 Change tabbing order in WB sounds dialog
4244
4245 The 'Play' button now gets focus immediately after the controls for
4246 selecting the sound, rather than at the end of the dialog (after OK).
4247
4248 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4249 Remove tab stops on first radio button of WB dialogs
4250
4251 The New Variant and Board dialogs had a tab stop on the first radio
4252 button,so that tabbing toit would automatically select variant
4253 normal or size tiny. Now it tabs straight to the current size, without
4254 changing anything. (Important for JAWS users.)
4255
4256 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4257 Put OK/Cancel last in tab cycle of some WB dialogs
4258
4259
4260 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4261 Fix duplicate menu character for Edit Comment
4262
4263 Edit Comment did have the same shortcut character as Copy Game. Changed
4264 to m now.
4265
4266 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
4267 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
4268
4269
4270 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
4271 new developer release
4272
4273
4274 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4275 Subject WB context menus to translation
4276
4277 The innerloopof the menu translation has been made into a separate
4278 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
4279 better preserve menu breaks. Menu #10 is used for context menus (from
4280 the routine that pops them up), and for this number the orignal texts
4281 are not saved in menuText. (This is not needed, because the menu is
4282 created everytime anew from the resource data.)
4283
4284 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4285 Update translation template
4286
4287 Add the new menu items; add some notes.
4288
4289 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4290 Resize buttons in WB engine-settings dialog
4291
4292 The OK and cancel buttons were to narrow for most translations, and were
4293 a non-standard order as well.
4294
4295 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4296 Add one-click move control to WB general-options dialog
4297
4298 This is a duplicate of the one in the ICS options dialog, but the latter
4299 is inaccessible in non-ICS modes, and one-click move is now
4300 alsoavailable in engine mode.
4301
4302 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4303 Create space in dialogs for translation
4304
4305 The translated texts often did not fit, because controls were defined
4306 needlessly small (when there was empty space between them). In these
4307 cases they have been enlarged to consume all available space. Some
4308 dialogs are made wider.
4309
4310 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4311 Add handle for translator acknowledgement
4312
4313 An empty string is printed in the about box, which can be 'translated'
4314 to a message acknowledging the translator.
4315
4316 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4317 Use default logo for user
4318
4319 When no logo with the name of the current user is found, use dummy.bmp.
4320
4321 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
4322 added rlwrap tip to FAQ
4323
4324
4325 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
4326 replace hard coded paths with path from configure script
4327
4328 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
4329
4330 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
4331 fixed a typo in the configure script output
4332
4333
4334 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
4335 added a desktop file
4336
4337 taken from the openSUSE project
4338
4339 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4340 Fix Edit Game/Position checkmarking in WinBoard
4341
4342 Because the entries in Edit and Mode menu were pure duplicats, the
4343 entries in the wrong menu (Edit) were checkmarked while active. By
4344 defining different IDs for those in the Edit menu, those in the Mode
4345 menu are checkmarked again.
4346
4347 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4348 Add XBoard menu items for arrow highlight and one-click move
4349
4350 These items are put in the options menu; the 'Old Save Style' item is
4351 removed.
4352
4353 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4354 Provide menus for editing WinBoard engine and server lists
4355
4356 The Edit Tags dialog in the WB front-end is adapted to act as a general
4357 edit for string variables, by giving it an extra parameter to indicate
4358 where to store the edited result. Menu items are added to invoke this
4359 dialog for editing the /first, /secondChessProgramNames and /icsNames
4360 options. This solves the problem that people would have to edit an ini
4361 file that they can no longer locate (because the %APPDATA% folder has
4362 different names and locations in the various Windows versions, and is
4363 often a hidden folder on top of that).
4364 There is a slight memory leak here, as the memory for the previous
4365 value of the altered string option is not freed.
4366
4367 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4368 Configure arrow highlighting as default in XBoard
4369
4370 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
4371 lineGap of 0 to make that efficient (and the wood theme even nicer).
4372
4373 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4374 Port highlighting with arrow to XBoard
4375
4376 Unfortuntely this duplicates a fair amount of code in the front end.
4377 Removing the arrow is done by a total repaint if there is a non-zero
4378 lineGap, because the clever algorithm for selective redrawing (based
4379 on damage) that XBoard uses does not repair damage to the grid lines.
4380 For lineGap=0, however, (for which the arrow is mainly intended) the
4381 damage mechanism is used, and the damaged squares are determined by
4382 tracing out the arrow in 64 steps, and marking all squares in the
4383 neighborhood as damaged.
4384
4385 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4386 Strip CR from xboard.c
4387
4388
4389 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4390 Let user decide if he wants highlights in blindfold mode
4391
4392 Remove the automaticsuppression ofhighlighting.
4393
4394 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4395 Fix fag-fell marker with logos on
4396
4397 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
4398 two-machines mode was printed twice when the clock was split over two
4399 lines (as with logos on).
4400
4401 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4402 Also exempt variant seirawan from eval-scale doubling
4403
4404 It is not really a drop game, so a scale from -7 to 7 in the eval graph
4405 is good enough (like variants great and super).
4406
4407 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4408 Configure EGTB cache size in adapterCommand
4409
4410 The hash size, nr of CPUs and EGTB path are transferred through the WB
4411 protocol interface commands memory, cores and egtpath. But there is no
4412 WB command for detailing the EGTB cache size. So the value of the
4413 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
4414 through its startup command to make it known to UCI engines.
4415
4416 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4417 Move Hint and Book items to Engine menu in XBoard
4418
4419
4420 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4421 Correct the key bindings fo view menu in texi file
4422
4423 The mentioned bindings for Game List and Eval Graph were wrong.
4424
4425 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4426 Fix sub-variation display with negative score
4427
4428 The test if the displayed score was the pvInfo score failed for negative
4429 scores, because floats are truncated towards zero. So the previous fix
4430 of spurious score/depth info was not working when the score was
4431 negative.
4432
4433 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4434 Peel PV out of comment
4435
4436 Arena stores engine PVs not in variation format, but within both braces
4437 and parentheses, before the score/depth info. This caused XBoard to
4438 overlook the score/depth info, (frustrating, e.g., the eval graph),
4439 while the PV would not be accessible for walking it as a variation.
4440 The routine that extracts the score/depth from a comment now has
4441 been made more clever, to recognize a leadin PV in the comment, and then
4442 place it in front of the comment as variation (by moving the opening
4443 brace to behind it). For some reason it does not work if the PV and
4444 score/depth were separated by a newline, but this happens quite rarely.
4445
4446 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4447 Allow line-straddling result comments
4448
4449 Some GUIs (in particular Arena) do not have the decency to keep the
4450 result comment on a single line. In this case the parser rules would not
4451 recognize it, and treat it as a normal comment, plus an undetailed PGN
4452 result. The rules are now fixed to allow linefeeds in the comment, and
4453 between comment and PGN result. To correctly process the comment further
4454 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
4455 back-end routines that do use the result comment.
4456
4457 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4458 Write key bindings in XBoard menus
4459
4460 Unfortunately tabs are not understood in menu texts, so fine-tuning
4461 through spaces is necessary to get some sort of ragged alignment.
4462
4463 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4464 Configure XBoard to use wood board texture by default
4465
4466 The texture pixmaps are sought in /usr/share/games/xboard, with names
4467 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
4468 to put them there. XBoard is resitent to non-existence of the files,
4469 btw. It simply ignores the arguments in that case.
4470
4471 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4472 Configure -inc as volatile option in XBoard
4473
4474 XBoard users are not used to options being persistent, and thus have
4475 many scripts assuming the timeIncrement is -1 when they don't specify it
4476 on the command line, and want to specify -mps. But a persistent -inc of
4477 0 fom a preious session would then force their -mps to zero, causing
4478 big-time confusion.
4479
4480 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4481 Make WinBoard clocks translation-proof
4482
4483 With logos on, the splitting of the clock over two lines assumed the
4484 lengths of the words "white" and "black" would always be 5. Used strlen.
4485
4486 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4487 Improve drawing of highlight arrow
4488
4489 A diagonal arrow sometimes had a notch in the shaft because of
4490 independent rounding of the starting and ending point coordinates.
4491 Furthermore the width of the shaft was unnecessary variable(as a
4492 function of direction) because half the width was rounded and then used
4493 twice. Now rounding of end-points is always done towards a fixed grid
4494 of square centers, which keeps diagonals purely diagonal, and one side
4495 of the shaft is drawn relative to the other side, after the
4496 position of the latter has been rounded, so any rounding error affects
4497 the shaft width only once.
4498
4499 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4500 Alter descriptionof Analyze File menu item
4501
4502 This menu item has been given a new function, so a new description was
4503 needed.
4504
4505 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4506 Add description of Game List Options in texi file
4507
4508
4509 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4510 Update texi file for new menu organization
4511
4512 The descriptions are shuffled around and organized into sections
4513 corresponding to the new main menus. Where necessary the name of the
4514 items was changed to their new names. The items removed from the File
4515 menu (the next/previous/same stuff) are nowmoved to the section "other
4516 shortcut keys", as the key bindings for some of them are still active.
4517
4518 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4519 Update info on key bindings in texi file
4520
4521 The texi file was still listing the old XBoard key bindings. Where
4522 necessary this is now changed to the new (WinBoard) bindings, and all
4523 the new bindings were added.
4524
4525 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4526 Add XBoard key bindings for Revert and Truncate
4527
4528 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
4529
4530 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4531 Divorce the Edit and Show Tags/Comment menu items
4532
4533 In WinBoard the items in the Edit and View menu for Tags and Comment now
4534 have different IDs, so they can be independently controlled. Only the
4535 items in the View menu are check-marked. The items still do the same.
4536
4537 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4538 Alter WinBoard menu text
4539
4540 The texts are slightly adapted, mostly by choosing more convenient
4541 tabbing characters for the new menu organization. The translation
4542 template is updated accordingly.
4543
4544 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4545 Let move-history window scroll to bottom after adding move
4546
4547 By activating the scrollbar of the viewport through XtCallActionProc
4548 the move-history window is scrolled to the bottom.
4549
4550 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4551 Fix Shogi promotion popup
4552
4553 The texts were adapted to shogi by printing new text items over the
4554 Queen and Knight buttons, but these did not alwys cover it. Now the text
4555 on the buttons is changed as it should be. Also the window title is
4556 adapted.
4557
4558 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4559 Apply gettext macros to menu texts
4560
4561 Now texts and references are separated, the texts in the tables can be
4562 decorated with the N_() macro, so that the _() macro no longer has to be
4563 applied when they are used. (This makes the texts appear in the .po
4564 files.)
4565
4566 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4567 Adapt some XBoard menu texts
4568
4569 The "Show" prefix is removed from the "View" menu items, as this seems
4570 implied. An ellipsis is added to the Engine #N Settings items, which
4571 could not be there before, because periods in a menu name would break
4572 any reference to it. For some other names the ellipsis was deleted.
4573 (These were not refered to, but who knows what we will do in the future.)
4574
4575 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4576 Separate menu text from menu name in XBoard
4577
4578 The text string in the menu-definition tables was used both for the menu
4579 text, as well as for referencing the items from the code (for enabing or
4580 checkmarking). Now these can be defined separately, so that altering the
4581 menu texts is possible without breaing any references to the item.
4582 (Moving them to another menu would still break XBoard, though!)
4583 Currently the texts and names are still the same.
4584
4585 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4586 Bugfix XBoard menu translation
4587
4588 The gettext macro N_() was applied to the menu definition tables, but
4589 this would break any translation, as these items are both used as menu
4590 texts as well as reference for enabling and checkmarking. The routines
4591 that create the menus already apply _() dynamically to these items when
4592 they are used as menu texts.
4593
4594 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4595 Restrict drops in variant seirawan to back rank
4596
4597 Drops aren't really llowed at all in Seirawan Ches, but there exists an
4598 engine that supports a variant where drops on the back-rank are allowed.
4599
4600 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4601 Let Analyze File annotate the loaded game
4602
4603 By not suppressing the auto-play loop in AnalyzeFle mode, we step
4604 through the game while the engine is analyzing, and store the PV info
4605 that the engine produces, as well as the full PV (as variation comment)
4606 with each move.
4607
4608 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4609 Revive Analyze File menu item in WB
4610
4611 We will keep this menu after all, becase it can be given a new meaning.
4612
4613 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4614 Fix spurious scores in comments
4615
4616 The comment popup is also used to display engine PV info, but when the
4617 contents of the window is written back when we select a variation,
4618 it was treated as a real comment. This is fixed now by checing in
4619 ReplaceComment() if the comment starts with the PV info, and if so,
4620 ignore the latter. This solves the problem, but I guess the real bug is
4621 that selecting a variation tries to write the comment even if it did not
4622 change.
4623
4624 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4625 Display error for wrong use of Machine Match
4626
4627
4628 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4629 Reorganize XBoard menus
4630
4631
4632 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4633 Reorganize WinBoard menus
4634
4635 New main menus Edit, View and Engine are added; the step menu
4636 disappears. The menu items are redistributed over the new menus.
4637 Sometimes duplicates are created. No adaptation of short-cut characters
4638 as made yet (as this affects translation).
4639
4640 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
4641 removed trailing whitespaces from NEWS
4642
4643
4644 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
4645 merged readme_HGM.txt into the NEWS file
4646
4647 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.
4648
4649 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
4650 typo in date of developer release
4651
4652 but will leave the tagged version as it is, since it's still a unique version number
4653
4654 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
4655 new developer release
4656
4657
4658 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
4659 added latest version of parser.c
4660
4661
4662 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
4663 updated Changelog, etc for developer release
4664
4665
4666 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
4667 Revert "adding gnu-readline support"
4668
4669 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
4670
4671 Conflicts:
4672         backend.c
4673
4674 better to use the (relatively) new ICS input box then add readline support.
4675
4676 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
4677 Revert "bugfix: fixed readline support with icslogon option"
4678
4679 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
4680
4681 Conflicts:
4682         backend.c
4683
4684 better to use the (relatively) new ICS input box then add readline support.
4685
4686 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4687 Make Hoplite moves irreversible in Spartan Chess
4688
4689 Consider Lance moves in variant Fairy (where the Lance represents the
4690 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
4691
4692 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4693 Give Lance moves of Amazon in variant super
4694
4695 Now that Lance is no longer a wild-card piece the moves of Amazon must
4696 be programmed explicitly, to keep the possibbilty to play Superchess
4697 with legality testing on.
4698
4699 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4700 Change representation of Bede in variant fairy initial position
4701
4702 This used to be Lance, but the promoted Bishop (Dragon Horse)
4703 is more applicable. Especially now that Lance is supposed to move like a
4704 Berolina Pawn.
4705
4706 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4707 Make yyskipmoves also suppress examining of drop moves
4708
4709 Not sure if this does any good, but it seemed illogical that this would
4710 happen in all other moves, but not drops.
4711
4712 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4713 Define moves for Dragon Horse outside Shogi
4714
4715 Let it move like Bishop + Wazir + Dababba.
4716
4717 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4718 Fix safety crash when appending comments
4719
4720 The length limit imposed on safeStrCpy was one too short when copying
4721 an existing comment to the space allocated for the longer (concatenated)
4722 one. It allowed no space for the terminating '\0'.
4723
4724 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4725 Fix safeStrCpy
4726
4727 The test for when to terminate a non-fiting string was one off, and the
4728 debug message was written stdoutin stead of debugFP.
4729
4730 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4731 Fix default holdings size for variant seirawan
4732
4733 The holdings for 7 pieces werealways considered an overrule, so that the
4734 variant name was prefixed with "8x8+7_".
4735
4736 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4737 Fix home-dir crash
4738
4739 When confronted with a path name starting with ~ and not containing a /
4740 XBoard would segfault.
4741
4742 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4743 Fix one-click moving on up-click
4744
4745 (First) up-clicks were not always ignored: in Edit-Game mode with
4746 one-click moving enabled this could lead to a capture being made on
4747 the down-click, and the recapture on the correspoding up-click.
4748 This has now been corrected, and only the down-click of a first click
4749 can lead to selecting a piece or a one-click move.
4750
4751 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
4752 fixed buffer size for snprintf
4753
4754
4755 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4756 Accept Seirawan-style gating suffixes
4757
4758 The parser rules were extended to accept / as an equivalent of = in
4759 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
4760
4761 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4762 Use Falcon and Alfil as built-ins for Seirawan chess
4763
4764 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
4765 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
4766
4767 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4768 Implement entering gating moves with mouse
4769
4770 A move with a back-rank piece that starts when a piece in the holdings
4771 is selected will be interpreted as a gating move in variant seirawan.
4772 The front-end uses a 'gatingPiece' selected this way todisplay it on the
4773 from square during animate dragging.
4774
4775 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4776 Implement variant seirawan
4777
4778 Set upthe position, including Hawk and Elephant in holdings, in
4779 InitPostion(). Suppress putting captured pieces in holding. Let
4780 promoChar indicate gating in ApplyMove(). Remove gated pieces from
4781 the holdings there. Let GenLegal() generate RxK-type castlings to act as
4782 base for gating on Rook square. Gatings are tested for legality
4783 based on the holdings content and whether they occur on the back
4784 rank. Disambiguate() also tests this. Make sure the gated pieces are
4785 printed as move suffixes in CoordsToAlgebraic().
4786
4787 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4788 Add -variant seirawan to menu
4789
4790
4791 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4792 Fix acceptance of null-move with legality testing off
4793
4794 A second click on the same piece was interpreted as a to-square rather
4795 than deselection of the piece.
4796
4797 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4798 Fix one-click bug
4799
4800 Disambiguate was imagining captures, so an only capture by double
4801 clicking your own piece did not always work.
4802
4803 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4804 Fix mouse-driver buglet
4805
4806 The highlights were not cleared on moves that went vertically off board.
4807
4808 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4809 List some undocumented commands as compliant
4810
4811 The engine->GUI commands setboard and setup are now always printed in
4812 the debug file as well.
4813
4814 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4815 List Hint with compliant commands
4816
4817 This command was omitted, so that in some -engineDebugOutput modes it
4818 would not appear in the debug file.
4819
4820 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4821 Restrict use of escape expansion
4822
4823 Only expand escape sequences like \n and \t in telluser(error) comamnds
4824 that ask for it by preficing the messages by double backslash. Otherwise
4825 backward copatiblity is too severely broken for messages that display
4826 DOS-style filenames.
4827
4828 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4829 Make safeStrCpy safe
4830
4831 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
4832 always writing the character at the length limit of the destination.
4833 Now no memory is accessed that is is not needed to hold the copy.
4834
4835 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4836 Allow clicked name internal to the icsMenu command string
4837
4838 A command in the /icsMenu that was specified to contain the selected
4839 text or clicked word always appended this word at the end. Now the user
4840 can also configure it to appear in the middle, by putting a %s in the
4841 command string where he wants it to appear.
4842
4843 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4844 Let Engine #2 Settings start second engine
4845
4846 If the second engine is not yet running, it would be impossible to use
4847 the settings dialog for it, as the features have not been received and
4848 the dialog will be empty. So the user could not adjust the engine
4849 parameters before starting a match. Using this menu now automatically
4850 starts the engine, and delays the appearence of the popup untill the
4851 features are received, using a similar mechanism as in
4852 TwoMachinesEventIfReady().
4853
4854 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4855 Newly lexed parser.c
4856
4857
4858 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4859 Fix bug in parsing illegal Pawn captures
4860
4861 When a pawn move of type exf5 was illegal, the parser made an attempt to
4862 interpret it as e.p. capture of f5. This, however, messed up the move,
4863 so that it was now permanently mistaken for e5xf6. Even in cases with
4864 legality testing off, where you would want the original move to be
4865 accepted despite the fact that it was illegal.
4866
4867 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4868 Keep last PV while clearing engine-output display
4869
4870 When ponder is on, the display is cleared immediately when the last line
4871 of thinking output appears by the appearing ponder output. So you would
4872 never get the chance to see it. This line is now re-written after
4873 clearing, so it appears at the bottom of the output for the next search.
4874
4875 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4876 Give Lance moves of Berolina Pawn
4877
4878 In stead of using it as a wildcard piece, the Lance gets the moves of
4879 the Berolina Pawn (straight capture, diagonal move). The initial double
4880 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
4881 Chess.)
4882
4883 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4884 Use SAN even on illegal moves
4885
4886 If there is only one piece of type T, moves like Ta1 or Txa1 are never
4887 ambiguous, so adding the from square is just cumbersome.
4888
4889 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4890 Use normal SAN for wildcard pieces
4891
4892 SAN often can also be used with pieces we don't know the moves of, e.g.
4893 if there is only one of that type. We just always get rank or file
4894 disambiguators if there are more (even when they might be unnecessary).
4895
4896 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4897 Fix some warnings
4898
4899 Unused variables were removed from parser.l
4900
4901 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4902 Allow arbitrary nesting of sub-variations in PGN input
4903
4904 The parsing of subvariations is moved out of the state-machine parsing,
4905 to allow arbitrary nesting. In stead of the entire sub-variation being
4906 parsed by lex as Comment, it now returns Open and Close for the
4907 corresponding parentheses, which are then handled in a wrapper routine
4908 for yylex(): Myylex(). Problem was that yy_text is supposed to return
4909 the entire parsed text of the returned symbol, which thus has to be
4910 collected. To make this possible, yylex has to return everything that it
4911 parses, (even white space!), and a symbol "Nothing" was added to return
4912 in parsing rules that before just ate away irrelevant text without
4913 returning anything.
4914
4915 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4916 Implement setup (engine-GUI) command
4917
4918 This allows the frst engine (when legality testing is off) to overrule
4919 the default opening position, in reply to the variant command. Syntax is
4920 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
4921 where the FEN string is interpreted in the context of the given
4922 pieceToCharTable (which is optional, and only delimeted by parethesis if
4923 it is present).
4924 Sendng the position to the second engine is delayed until the first
4925 engine has responded to the ping after the new-game sequence, to make
4926 sure it gets the chance to alter the position before it is sent to the
4927 second engine. This feature is useful for playing variants that WinBoard
4928 does not even know the opening positon for, and can be used even if they
4929 are shuffle variants.
4930
4931 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4932 Restrict use of a2a3 kludge
4933
4934 The kudge to send "a2a3" in stead of "black" to get black to move is
4935 fatally flawed in varants that have no Pawn on a2. So in that case we
4936 revert to use of the deprecated "black" command.
4937
4938 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4939 Remember values set by -firstOptions, -secondOptions
4940
4941 When an engine announces its option features, and the option name
4942 matches that of a setting given in -first/secondOptions, the engine is
4943 sent hte specified value, but this value was not remembered as current
4944 value (but the latter  was left at the engine-announced default),
4945 leading to inconsistent behavior in the Engine #N Settings dialog.
4946
4947 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4948 Make test for valid promotion piece color-dependent
4949
4950 This is needed to make it work in variants where white and black have
4951 different armies; quite likely white will promote to pieces that do not
4952 exist in the black army, so we really have to make sure we test if the
4953 white (upper-case) piece exists in this case.
4954
4955 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4956 Remove validity test on promochar from parser
4957
4958 The backend routines Disambiguate() and LegalityTest() will catch
4959 invalid promotions, so no need to do it here.
4960
4961 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4962 Add the actual size-33 Shogi bitmaps
4963
4964 These were forgotten in the original commit that fixed the .rc file.
4965
4966 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4967 Delete some stale promotion code
4968
4969 The correction of the promotion piece to Ferz in Shatran-like variants
4970 in ApplyMove() was no longer needed, as the new promotion code already
4971 does this in the move parser.
4972
4973 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4974 Augment moves of some fairy pieces
4975
4976 To get better disambiguation in variants that have to be played with
4977 legality testing off, the Elephant is given also one-step moves (making
4978 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
4979 King (Crowned Rook), which had no moves defined for it outside Shogi at
4980 all, has been given Rook moves plus an orthogonal 2-jump, so that it
4981 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
4982 currently aways force long algebraic notation...)
4983
4984 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4985 Bugfix safeStrCpy patch, WinBoard
4986
4987 The use of sizeof on pointers was detected through the same method as
4988 the previous patches, this time while compiling WinBoard. A typo in
4989 jaws.c was fixed as well.
4990
4991 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4992 Bugfix for safeStrCpy patch for XBoard
4993
4994 By a trick (temporarily redefining safeStrCpy in common.h as
4995 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
4996 could be generated for every occurrence where the size argument was equal
4997 to 4, i.e. where the 1st argument was likely a pointer rather than an
4998 array. These cases are now fixed. The file xoptions.c, which is the
4999 only ne that does not #include common.h had to be fixed by making
5000 the #define in the file itself.
5001
5002 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5003 Fix spurious promotions with legality testing off
5004
5005 The recent promotion patch had broken playing without legality testing
5006 completely: without legality testing one always gets the piece that was
5007 asked for, but a NULLCHAR should not be taken as a request for a piece!
5008 But it was, and this resulted in any moved piece turning into a white
5009 Pawn! For true promotions the piece was always black, which was also not
5010 very useful.
5011
5012 Also revert to the use of '+' as internal Shogi promoChar, because
5013 pre-processing turns out not to be possible when reading a game file.
5014 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
5015 can no longer be recognized as checkmate symbol.
5016
5017 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5018 Make deferral default in Shogi promotions
5019
5020 Because '+' is intercepted by the parser as check indicator, Shogi moves
5021 are pre-processed to change a trailing '+' into an internally used
5022 alternative '^'. The testing if a promotion character is OK is now done
5023 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
5024 the character does not correspond to any piece, and IllegalMove when in
5025 Shogi anything other than '^' or '=' is used. (Except for the ICS
5026 notations.) On output, in CoordsToComputerAlgebraic() and
5027 CoordsToAlgebraic(), the '^' is translated back to '+'.
5028
5029 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5030 Animate piece explosions in drag-drop moves and in XB
5031
5032 This required some code restructuring: the decision if an explosion is
5033 needed is now taken in a new routine Explode() in the backend. This then
5034 calls the front-end driver, and it returns the info if there was an
5035 explosion or not, so the caller (AnimateMove() or the mouse driver) can
5036 take action to repair the damage to the board caused by the blast wave.
5037 A front-end driver for XBoard is provided as well, so that both
5038 click-click (and replay, which is the same) and drag-drop atomic
5039 captures are animated in XB as well as WB.
5040 Explosions on rejected moves are suppressed.
5041
5042 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5043 Suppress promotion popup if piece will explode
5044
5045 In atomic, a Pawn capture to last rank is not really a promotion.
5046 Fix choice to Queen.
5047
5048 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5049 Make Knight hop first straight, then diagonal
5050
5051 It used to be the other way around, which looked pretty illogical in
5052 Xiangqi: to see Horses, which are blockable pieces there, move over an
5053 occupied square.
5054
5055 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5056 Let -oneClickMove also work in EditGame mode
5057
5058 There is really no reason why people that lke one-clcik moves enough to
5059 switch them on would not want to use them too when editing a game.
5060 This solves a nast inconsistency, as before it used to work in -ncp mode
5061 on the _first_ move, as the mode is then BeginningOfGame, and not yet
5062 EditGame, and we do want it to work for BeginningOfGame, as this is
5063 also the game mode when you start playing as white.
5064
5065 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5066 Make -flipBlack and -allWhite option volatile
5067
5068 As these options are very Shogi specific, and the variant is volatile,
5069 it seems logical to make them also volatile. Not completely sure about
5070 -allWhite, though. It cold be useful if you want, for example, to play
5071 wth dark-brown pieces for black, as any color but black looks much
5072 better with outline pieces than with solid pieces.
5073
5074 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5075 Provide some sample board-texture pixmaps
5076
5077 Wood and marble themes are provided as textures for light and dark
5078 squares, plus two complete Xiangqi boards (wood and evenly colored).
5079 These should probably not goint the distro tar ball.
5080
5081 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5082 The -overrideLineGap option is made to work in XBoard
5083
5084 Although XBoard already allowed this in the -boardSize specification,
5085 it is still seful to globally disable grid lines, e.g. for an
5086 oriental Xiangqi board. And it converges XB and WB.
5087
5088 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5089 Implement board textures in XBoard
5090
5091 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
5092 XBoard too, for loading a pixmap that will be used to cut out the dark
5093 and light square backgrounds. The cutting algorithm is such that the
5094 pixmap image is completely restored if the size was that of the total
5095 board (e.g. a drawing of a Xiangqi board).
5096
5097 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5098 Complete WB (western) bitmaps for Shogi at size 33
5099
5100 The Lance was not replacing Queen in some sizes where the bitmaps were
5101 already available, and new bitmaps for the promotion Golds were added.
5102
5103 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5104 Make starting new variation dependent on shift key
5105
5106 The shift key is read during mouse events, and posted in a global
5107 variable, which can then be used by the back-end. The decision to start
5108 a new variation (pushing the game tail rather than clipping it off) when
5109 entring a move in Edit Game or Analyze mode is made dependent on this.
5110 The move-typein also records the shift-key state.
5111
5112 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5113 Fix merging bug
5114
5115 A %g format was used to print an int in sending the level command,
5116 because decimal points were dropped when merging patches. Also an unused
5117 variable was removed to suppress a warning.
5118
5119 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5120 Add set of shogi pixmaps for XBoard
5121
5122 The -size 64 pieces from gShogi (and originally XShogi) are made
5123 suitable for loading by XBoard, through redefining the transparent
5124 background color as either light or dark square color. These bitmaps are
5125 not included in the XBoard build, and perhaps should not even be
5126 included in the source distribution, but made available in a separate
5127 distribution?
5128
5129 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5130 Implement -flipBlack in XBoard
5131
5132 When -flipBlack is true, the white and back piece pixmaps are swapped in
5133 flipView. The idea is that the black pieces are upside-down versions of
5134 the white (Shogi) pieces, so that swapping white and black in effect
5135 turns all pieces upside down, which is what should happen in flipView.
5136
5137 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5138 Disable some very verbose debug printing
5139
5140 The internationalization seems debugged enough to do without them.
5141
5142 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5143 Add option -variations to control variation-tree walking
5144
5145 Just so that users can switch it off if the find it annoying.
5146
5147 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5148 Allow full promotion suffixes on SAN piece moves
5149
5150 This facilitates the parsing of (non-standard) Shogi moves in ICS
5151 protocol. It can also be useful for Seirawan Chess, where a future
5152 implementation of it can use promotion suffixes to indicate gating.
5153
5154 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5155 Allow lower-case piece indicator in drop-move notation
5156
5157 As it seems that XBoard also sends such moves in zippy play, it seems
5158 more fair to recognize them from the engine as well.
5159
5160 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5161 Fix bug in ICS variant switch for Shogi
5162
5163 Because a test for 8x8 variants was done by <= VariantShogi,
5164 rather than <, spurious move-list fetching occurred in Shogi.
5165
5166 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5167 Fix WinBoard Lance bug
5168
5169 The choice between Lance and Queen was made on appData.variant, in stead
5170 of gameInfo.variant. Because of this it was not always up-to-date in ICS
5171 games.
5172
5173 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5174 Adapt WinBoard to Shogi implementation on Variant ICS
5175
5176 The Variant ICS does not use the '+P' notation for promoted pieces,
5177 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
5178 and uses 'H' and 'D' for +B  and +R. The Shogi promotion code in
5179 LegalityTest() and Disambiguate(), which are used in move Parsing, are
5180 adapted to handle this. Deferred promotions sent to the ICS now use an
5181 == suffix.
5182
5183 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5184 Inherit promoted-info that ICS does not give from previous board
5185
5186 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
5187 primordial or a promoted pawn (or a promoted other piece). We now derive
5188 this info from the previous board. The option -disguisePromotedPieces
5189 controls this feature.
5190
5191 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5192 Limit multi-session clock handling to non-ICS games
5193
5194 In ICS games a time forfeit crashed XBoard, apparently because the
5195 fullTimeControl string is not properly set when we try to use it to see
5196 if a sudden-death session is indeed the last session.
5197
5198 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5199 Change evalgraph scale in drop games
5200
5201 Score swings tend to be much larger in Crazyhouse and Shogi, so the
5202 vertical rangee in those games is doubled to (-14, 14).
5203
5204 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
5205 bugfix: fixed readline support with icslogon option
5206
5207 The icslogon option sends the login and password, so we don't need to handle
5208 special cases for the readline buffer.
5209
5210 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
5211 fixed some typos that were introduced during the sprintf->snprintf changes
5212
5213
5214 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5215 Fix uninitialized variable in book code
5216
5217 The variable ' power' was used uninitialized in case -bookVariation was
5218 set to 0, which can be an error even if it was only multiplied by zero.
5219
5220 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5221 Fix menu translation bug
5222
5223 The menuText array was declared too small, so that the last entry of the
5224 File menu got out of bounds and was overwritten by the first of the Mode
5225 menu.
5226
5227 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5228 Allow -timeIncrement to be a float
5229
5230 The increment can now be fractional seconds. The printing in
5231 ParseTimeControl() and SendTimeControl() is done with %g format, so that
5232 for integer increment there is backward compatibility with the old level
5233 command.
5234
5235 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
5236 adding gnu-readline support
5237
5238 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.
5239
5240 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
5241 added warning if icsLogon file couldn't be opened
5242
5243
5244 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
5245 security fix: replaced some strcat with strncat
5246
5247 there is still more to do
5248
5249 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
5250 add option for silent builds
5251
5252 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
5253 It should still work for older automake versions too
5254
5255 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
5256 bugfix: missing array index
5257
5258
5259 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
5260 added new case for (Chessmove) 0 in common.h
5261
5262 this cleans up a few more -Wall messages
5263
5264 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
5265 cleaned up -Wall warnings (apart from settings some parentheses)
5266
5267 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
5268
5269 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
5270 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
5271
5272
5273 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
5274 security fix: replaced sprintf with snprintf
5275
5276 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.
5277
5278 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
5279 security fix: replaced strcpy with safeStrCpy from backend.c
5280
5281 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
5282
5283 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5284 Enhance multi-session TC clock handling
5285
5286 Some new TC types are introduced: Bronstein and free sessions. The
5287 former is implemented by letting an exclamation point '!' in front of an
5288 increment (in the -tc string) indicate that the increment is limited to
5289 the time actually used on the previous move. The latter is an interval
5290 of given duraton in which you can do any number of moves (even zero),
5291 before the next session starts. This is needed for implementing Shogi
5292 byoyomi-type TC, as a first session, followed by a session of fixed-time
5293 per move. The latter can now be specified with the -tc argument as a
5294 degenerate case of Bronstein, where the time on the clock is <= the
5295 increment (so that it is never possible to think longer than the
5296 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
5297 300:10+!10.
5298
5299 The sessions are now separated by ':' in stead of '+', and all times in
5300 the TC string are converted to seconds first (in ParseTimeControl), so
5301 the fullTCstring can now be directly used in a PGN tag.
5302
5303 Note that this patch only addresses clock handling; the engine will not
5304 be informed yet if the TC type or parameters change at the start of new
5305 session!
5306
5307 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5308 Remove promotion-piece encoding from ChessMove type
5309
5310 The shizophrenic way to indcate promotion pieces in the XBoard code
5311 (sometimes using a promoChar, at other times relying on moveType) was
5312 cured by combining all promotion move types (such as WhitePromotionRook)
5313 into a single one (WhitePromotion), and relying on promoChar to specify
5314 the piece. This solves the problem of promoting to new piece types in
5315 variants, which formerly also required addition of new move types.
5316
5317 In Shogi the '+' character is now consistently used to indicate
5318 promotions (and recognized in ApplyMove), rather than 'q' or
5319 PieeToChar(BlackQueen), as the latter did not work in minivariants where
5320 the Queen (representng the Lance) did not partcipate.
5321
5322 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5323 Pass promoChar to SendMoveToICS
5324
5325 SendMoveToICS was the only place where the promotion piece was derived
5326 from moveType, rather than an explicity passed promoChar.
5327
5328 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5329 Suppress spurious use of SAN castling in mini variants
5330
5331 King moves from a central file to the king-side-castled position (1
5332 square away from the right corner) were intercepted and printed as O-O
5333 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
5334 normal King move Kc1-d1 as well. The castling notation is now reserved
5335 for King moves larger than one step.
5336
5337 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5338 Make Shogi promotion zone board-size dependent
5339
5340 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
5341 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
5342 Shogi (6x6), which are indeed what these variants need.
5343
5344 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5345 Make board-size overrule options volatile
5346
5347 The options -boardWidth, -boardHeight and -holdingSize were legacies
5348 from the day choosing a variant would not automatically set a board
5349 size. As a result they are seldomly used anymore. The first real
5350 application is mini-Shogi (on 5x5 board), and it turned out very
5351 annoying if the 5x5 settings persisted to the next session, where you
5352 almost certainly want to play another variant.
5353
5354 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5355 Strip DOS line endings from parser.l
5356
5357
5358 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5359 Extend mate test to drop games
5360
5361 MateTest() in case of no legal moves now also looks if there are legal
5362 drops that can resolve the check. This provides reliable mate testing in
5363 Crazyhouse and Shogi, so these are now made subject to adjudications too.
5364
5365 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5366 Extend legality testing to drop moves
5367
5368 LegalityTest() can nowbe called with (internal-format) drop moves, and
5369 delegates their testing to a new routine LegalDrop(). This routine
5370 performs the 'no-pawn-on-back-rank' test that used to be in
5371 UserMoveTest (which now calls LegalityTest also for drop moves).
5372 The more complex Shogi case is also handled (except for Pawn mate
5373 drops) in LegalDrop().
5374
5375 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5376 Revert splitting of UserMoveEvent
5377
5378 This splitting into UserMoveTest and FinishMove was no longer needed,
5379 now that the new mouse driver no longer calls UserMoveTest to figure out
5380 if a move is a promotion, and XBoard and WinBoard are unified in this
5381 respect. It was counter-productive, because UserMoveTest was not able to
5382 change the fromX, fromY (call-by-value) parameters for passing them to
5383 FinishMove, so it had to defer the conversion of drop moves to internal
5384 format to the latter, while it did not belong there. (Because
5385 DropMenuEvent already delivers the moves in internal format.) This
5386 whole kludgy construction was therefore abandoned, by going back
5387 to the original 4.2.7 calling scheme, where UserMoveEvent completely
5388 pre-processes the move, and when it is valid, calls FinishMove directly.
5389
5390 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5391 Fix silent bug in drop moves
5392
5393 In ApplyMove() the piece on the from square was accessed and used before
5394 we tested for drop moves. As drop moves have off-board from-squares this
5395 led to out-of-bound array access, which apparently was usually harmless.
5396
5397 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5398 Allow parsing of upper-case machine moves
5399
5400 Dubious patch, as it caters to non-compliancy. Some variant engines are
5401 very non-compliant, though.
5402
5403 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5404 Prevent transmission of spurious promo char to other engine
5405
5406 The parser now strps off spurious promotion characters.
5407 New move types "White/BlackNonPromotion" had to be introduced for this,
5408 to indicate NormalMoves that could have been a promotion, to make sure
5409 the '=' suffix of Shogi deferred promotions survives.
5410
5411 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
5412 fixed internationalization for winboard
5413
5414 in the original commit some files were forgotten. This should fix it.
5415
5416 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5417 Fix JAWS bug saying side to move in ICS play
5418
5419 This was done the wrong way around.
5420
5421 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5422 Make WB run-time language switch possible from menu
5423
5424 This is a rather involved patch that might not be worth it. It is
5425 difficult, because translation of things that live forever is not easy
5426 to invert (menus, the auxiliary windows). We hae to remember all
5427 original, English texts there to be able to put them back,or
5428 re-translate. Still does not fully work, although the menus and
5429 temporary dialogs now are all OK.
5430
5431 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5432 Update WB translation template
5433
5434 The language.txt file now also contains all translatable strings from
5435 the C source files, rather than jsut the resource.
5436
5437 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5438 Update docs
5439
5440 Add descriptions for machine-match menu support and enhanced book
5441 control, nick-name options and language.
5442
5443 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5444 Add some forgotten translation hooks
5445
5446 The general-options, file-browse dialogs and the about box did not call
5447 Translate() yet. Also translate contents of combo boxes. Some small bug
5448 fixes.
5449
5450 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5451 Do not translate game-end messages in PGN
5452
5453 The messages themselves are not subjected to _(), but in stead their
5454 displaying in DisplayMove is subjected to T_().
5455
5456 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5457 Internationalization for WinBoard
5458
5459 A function Translate() was added, which uses a list of item dialogs,
5460 reads their value, and replaces it by a translation (if available). It
5461 also reads the window title and sets a translation. Calls to this
5462 routine are added in the initialization code of every dialog callback.
5463 In addition all translatable strings in the WnBoard front end are marked
5464 by the gettext macro _(). Because WB is not gettexted yet, a hard
5465 re-definition of this macro is added in each file using it, to the
5466 string-translation routine T_() supplied in winboard.c.
5467 Code to read the translation file, and translate the menu texts is added
5468 in winboard.c. In backend.c the meaning of the gettet macros is
5469 redefined for the WIN32 case.
5470
5471 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5472 Make the ID of all WB dialog items unique
5473
5474 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
5475 replace tet at run-time for translation purposes, they need to be
5476 addressed individually. So they were given new IDs, with symbols defined
5477 for those.
5478
5479 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5480 Mark XBoard result messages for internationalization
5481
5482 The GNU gettext macro _() is used with the game-end messages. This might
5483 be controversial, as they will appear in the PGN as well. But only as a
5484 comment. We can always decide not to supply a translation.
5485
5486 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5487 Do not exit after match when match started from menu
5488
5489 The codelooks weird, but matchMode == 2 in this case. We then use
5490 DisplayNote() to report the match result.
5491
5492 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5493 Trivial-draws recognition improved in Xiangqi
5494
5495 Now based on a routine "SufficientDefence". If both have it, it is draw.
5496
5497 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5498 Update .dev files
5499
5500 The relocation of parser.c and the addition of history.c was not yet
5501 incorporated in the devcpp proect files.
5502
5503 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5504 Fix some MSVC compile errors
5505
5506 Some statements has moved up stream of declaratons, which is an error
5507 that gcc is forgiving about, but where MSVC is strict.
5508
5509 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5510 Improved patch for expansion of WB settings-file name
5511
5512 The expansion of environment variables now allows multiple environment
5513 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
5514 and %APPDATA%\winboard.ini.
5515
5516 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5517 Add -colorNickNames option
5518
5519 This option allows non-standard designation of side to move in FENs.
5520 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
5521 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
5522 Can also be used for FENs in a local language. A match of theinput
5523 character with the nick name translates it to the standard; this means
5524 the standard will continue to be recognized, unless it was defined as a
5525 nick name.
5526
5527 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5528 Tricked by the grossnes
5529
5530 Some WB menu items were referenced by a hard number. As items had been
5531 added over the years, the wrong menu items were grayed. In particular
5532 the Options -> Adjudication menu was grayed out, in -ncp mode, where
5533 this was intended for the Sounds dialog. This accidentally proved
5534 useful, until we started to apply adjudictions also to the Human moves.
5535 Then it was suddenly undesirable, and a small mystery why it happened at
5536 all, when I tried to change it. The numbers are now corrected to the new
5537 locatons of the items in the menus.
5538
5539 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5540 Allow match to be started from WB menu
5541
5542 A menu item Machine Match was added in the Mode menu to switch to
5543 matchMode. A persistent option /defaultMatchGames determines the number
5544 of games. A control was added to the Options -> Common Engine dialog to
5545 set this option.
5546
5547 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5548 Add some book-control options
5549
5550 Options /bookDepth and /bookVariation have been added to control the use
5551 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
5552 contains fields to set them.
5553
5554 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
5555 new developer release
5556
5557
5558 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5559 Repair exit-popup deadlock patch
5560
5561 Relocating the exit popup call had made it lose access to the message it
5562 should print, because it was declared only in an inner code block, by
5563 the same name: buf[]. Deleting the inner declaration fixes it.
5564
5565 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5566 Fix erors when compiling with --disable-zippy
5567
5568 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
5569 fields.
5570
5571 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5572 Fix zippy handling of draw offers from ICS
5573
5574 The patch by DM to fix the problem introduced by the coloration of
5575 zippy-matched commands (namely that the coloration code beat the zippy
5576 draw recognition to it, and ate the draw offer away) was only targeting
5577 ICC. The new fix should work on any ICS (by using the same pattern in
5578 zippy as in the colorization code).
5579
5580 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5581 Fix regression in colorization of zippy-matched commands
5582
5583 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
5584 that in XBoard no coloration would take place of ICS commands that were
5585 matched by zippy. (It was using &i as input pointer, rather than &backup.
5586 The XBoard-specific code now has been deleted completely, to remove a
5587 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
5588 now use the XBoard method, to only match zippy commands when logged in.
5589
5590 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5591 Suggest default file name in browser dialog
5592
5593 The argument 'def' to FileNamePopUp() was not passed through to the new
5594 file-browser routine, which got NULL in stead, and thus started with an
5595 empty input field.
5596
5597 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5598 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
5599
5600 Because the %s expansion of WB options in the /fcp and /scp lines only
5601 works for options that contain 'first' or 'second', and /fUCI thus did
5602 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
5603 install UCI engines. (The latter option should be deprecated really;
5604 the UCI-ness of the engines is a volatile option, so it makes no sense
5605 to supply a way to set them both to false or true. One only needs to be
5606 able to set it to the non-default state.)
5607
5608 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5609 Add string option /pieceNickNames
5610
5611 This (volatile) option allows definition of alternate letters for the
5612 pieces, which will be recognized next to the standard symbols as given
5613 in the /pieceToCharTable on input. (Output always uses the standard.)
5614 This can be useful for reading PGN from another language, or
5615 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
5616   The format of the argument is the same as for /pieceToCharTable.
5617 Because the nickNames are consulted before the standard table, it is
5618 possible to redefine a standard name as a nick for another piece.
5619
5620 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5621 Fix deadlock in match-result display
5622
5623 At the end of a match, GameEnds() was recursively calling itself,
5624 through DisplayFatalError() and ExitEvent(), and the latter was then
5625 delaying until the calling GameEnds() terminated. (Which it would of
5626 course never do before ExitEvent returned; fortunately there was a tim
5627 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
5628  Now the calling of DisplayFatalError() (to show the result popup) is
5629 delayed until after GameEnds completes (and resets the anti-recursion
5630 flag 'endingGame'), so that it is simply executed a second time, unaware
5631 of the earlier call. But this second time it does not do anything,
5632 because the gameMode ws set to EndOfGame the first time, and the writing
5633 of the PGN is blocked by the checksum being still the same.
5634
5635 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5636 Fix WinBoard game-list title
5637
5638 Number of displayed games and WDL stats were always appended to the
5639 existing title, leading to an ever-growing title in the game-list
5640 window. Now the old actual title is ignored, and the starts is appended
5641 to the original title "Game List". (In the future we could use the
5642 filename here?)
5643
5644 In addition, the title was not updated when re-opening the game-list
5645 window, while the stats could change if filtering was active when the
5646 window was closed. (In that case the filter is cleared on re-opening, so
5647 the number of displayed games changes.) Now a title-update (after
5648 recalculating the stats) is done every time the game-list window is
5649 opened.
5650
5651 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5652 Refactoring of material-draws adjudication code
5653
5654 Insufficient mating material is now determined per side individually, by
5655 testing for MatingPotential of each side. If both lack mating potential
5656 the game is adjudicated as draw (if the -materialDraws option is set).
5657
5658 This way MatingPotential() can later also be used to correct losses by
5659 forfeit to draws (which currently is only done when the opponent has a
5660 bare King).
5661
5662 The accuracy of this type of adjudication in Xiangqi has been highly
5663 improved.
5664
5665 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5666 Fix bug in sending cores command to engine
5667
5668 The cores command was alwas sent to the engine(s) when the user changed
5669 it through the menu, even when the engine had sent feature smp=0 (which
5670 is default anyway). NewSettingEvent() was patched to send the new
5671 setting conditionally, based on the engine properties as recorded in
5672 ChessProgramStates first, second; In this particular case it now
5673 consults cps->maxCores. (Note the code for testing the second engine
5674 contains some dirty pointer arithmetic.)
5675
5676 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5677 Fix oneClickMove bug
5678
5679 When checking for unique captures, no attention was payed to the option
5680 setting, so the capture was also made when the option was off.
5681
5682 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5683 Remove duplicate testing for cores feature
5684
5685 The testing for this BooleanFeature occurred twice.
5686
5687 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5688 Remove misspelled prototype
5689
5690 NewSettingEvent occurred, next to the correct one, in misspelled form.
5691
5692 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5693 Fix parsing of SAN shogi promotions
5694
5695 A missing promotion character defaults to promotion in the move type,
5696 but the promotion character was not set when this happened in variant
5697 shogi. And it is especially important there, as the promotion character
5698 '+' will always be missing, as the parser will take it to be a 'check'
5699 symbol, and strip it from the move.
5700
5701 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5702 Fix variant switch on PGN loading
5703
5704 When the PGN specified an essentially different variant, the
5705 piece bitmaps were not properly adapted, because the switch was done by
5706 calling InitPosition(), rather than Reset(). (The latter would destroy
5707 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
5708 (which is normally done from Reset()).
5709
5710 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5711 Adjudicate Xiangqi material draws with Advisor-less Cannons
5712
5713 Used the Queen counter for counting Cannons. Note that material draws
5714 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
5715
5716 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5717 Remove font settings from master settings file
5718
5719 xboard.conf should not contain general font settings (not specific to
5720 one board size) with specified point size. In fact it should not even
5721 specify sizable fonts, as the new system would make specification of a
5722 general font overrule the size-specific settings in the .xboardrc file,
5723 so the persistence of fonts would be completely broken.
5724
5725 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5726 Cut board squares out of texture bitmap more cleverly
5727
5728 When the bitmap is larger than the entire board, the squares are now cut
5729 out of the center of the virtual squares from subdividing the bitmap, so
5730 that they stay centered on the grid of a Xiangqi board bitmap. If the
5731 board size exceeds that of the bitmap, the old algorithm is still used,
5732 as the centering would make the edge squares exceed the bitmap, and
5733 cause a black rim around the board.
5734
5735 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5736 Allow -flipBlack to work with font-based piece rendering
5737
5738 In addition the font-based pieces will also be flipped vertically in
5739 flipView for variant shogi when -flipBlack is off.
5740
5741 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5742 Allow font-based piece rendering in board sizes below petite
5743
5744 At least for variants that use unorthodox pieces, so that switching back
5745 to using bitmaps is not really an option anyway.
5746
5747 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5748 Ignore checks in 50-move count for Xiangqi
5749
5750 Both checks and evasions are discounted; this is only done after the
5751 naive counting exceeds the maximum, so during most of the game it causes
5752 no CPU load.
5753
5754 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
5755 removed some garbage from configure.ac that got added a while ago
5756
5757
5758 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
5759 Remove unnecessary double equals from configure.ac.
5760
5761
5762 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5763 Fix e.p. bug in xiangqi with -serverMoves option
5764
5765 Sideway Pawn moves were written as e.p. captures in the file with moves,
5766 which led to disappearence of pieces in the viewer.
5767
5768 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5769 Repair score printing with -serverMoves option
5770
5771 A previous patch had moved MakeMove to before the update of pvInfoList,
5772 so that the score/depth info would not appear in the file with moves.
5773
5774 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5775 Repair animate dragging
5776
5777 The previous patch had left a stray semicolon in the mouse handler.
5778
5779 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5780 Fix game end during dragging
5781
5782 The stale-first-click fix interfered with proper handling of a piece
5783 being dragged when a game suddenly ended (because of opponent resign,
5784 or caling the flag), because up-clicks when the from-square was reset
5785 were completely ignored. Now such an 'unmatched' upclick calls
5786 DragPieceEnd() and redraws the board.
5787
5788 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5789 Pop down old tags on loadng new game in WinBoard
5790
5791 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
5792 (unlike XBoard), so that the tags from the previous game were left on
5793 display when -autoDisplayTags was off.
5794
5795 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5796 Reverse mousewheel action
5797
5798 Apparently WinBoard was stepping in the opposite direction through the
5799 game in reaction to the mousewheel as every other GUI in existence.
5800
5801 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5802 Fix bug in sending "usermove" when forcing book moves
5803
5804 The keyword "usermove" was copied to the buffer, but not sent before it
5805 was overwritten by the actual book move.
5806
5807 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5808 Fix engine stall on perpetual-check evasion
5809
5810 The adjudication code had already put the engine in force mode after
5811 postponing the actual adjudication to the next move. Now first determine
5812 if we want to adjudicate now, and with which result, before stopping the
5813 engine and ending the game.
5814
5815 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5816 Let move parser return ImpossibleMove for off-board moves
5817
5818 It used to return 0, which interfered with buiding a game list. This
5819 broke reading of multi-game PGN files containing games in a variant with
5820 a board size larger than that of the currenty active variant.
5821
5822 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5823 Alter XBoard key bindings to mimic WinBoard
5824
5825 A lot of new bindings were added, and four menuProcs had to be registered
5826 to be able to add bindings to them. The use of the control key as
5827 temporary take-back for the last move conflicted with the use of Ctrl
5828 keystrokes, and this function was migrated to '.'. The iconify function
5829 had no shortcut in WinBoard, but to get rid of letter bindings it was
5830 migrated to '-'.
5831
5832 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5833 Update README file
5834
5835
5836 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5837 Fix typos in html help file
5838
5839
5840 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5841 Fix JAWS piece drop cursor, and streamline some sentences
5842
5843 The cursor square was reset to a1 after every use of the piece menu,
5844 which was very inconvenient. Some of the spoken sentences have been
5845 improved; the square is read before the piece now, when using the arrow
5846 keys on the board.
5847
5848 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5849 Allow escape sequences in telluser(error) messages
5850
5851 The routine EscapeExpand was moved to backend.c, and applied to the
5852 message received from the engine.
5853
5854 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5855 Allow lower-case promochar in moves of type h8=Q
5856
5857 Updated the parser rules. Other move formats already allowed this.
5858
5859 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5860 Fix Alt+M JAWS command in Two-Machines mode
5861
5862 The command refused to read the ast move because it contained thinking
5863 output of the other engine. Let it pay attention to evenIfDuplicate.
5864
5865 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5866 Fix rep-draw recognition
5867
5868 The refactoring had broken the rep-draw recognition, by adding and extra
5869 condition in a conditional with side effects. The testing of this extra
5870 condition is now moved to after the side effect.
5871
5872 2010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5873 Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~
5874
5875 Only a single variable at the beginning of the file name is recognized,
5876 and the matching is not fool proof (it matches across backslashes).
5877
5878 2010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5879 Fix info lines being used as normal thinking output
5880
5881 The new standard of using thinking output with time = nodes = score = 0
5882 as info messages for printing in the Engine-Output window was not
5883 understood everywhere, and led to such info lines being used for
5884 autoKibitzing and PGN annotation. The programStats are now only updated
5885 from thinking output received from an engine when it is not an info line.
5886
5887 2010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>:
5888 new developer release
5889
5890
5891 2010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5892 Suppress background observe for boards with own game number
5893
5894 This is really a work-around for an ICS bug. The Variant-ICS sent the
5895 initial board of a game in a move list with relation = 0, which means
5896 'observed'. So XBoard was thinking it was observing its own game, and
5897 switched to dual board. It seems harmless to suppress such a switch for
5898 all boards of your own game, however, which is now done.
5899
5900 2010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5901 Fix crash on switching to ICS xiangqi game
5902
5903 The oldBoard was a local variable, and only squares of the old board
5904 were initialized. This led to a crash if the copied board was enlarged,
5905 and then displayed. The variable is now declared static, so the
5906 uninitialized squares contain harmless zeros.
5907
5908 2010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5909 Let Chat Boxes pop up above console, rather than on top of it
5910
5911 Use EnsureOnScreen() to have them overlap if there was no room.
5912
5913 2010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5914 Fix disabling of Chat Box navigation buttons
5915
5916 The buttons for non-open boxes were enabed, rather than disabled.
5917
5918 2010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5919 Prevent <Esc> closing chat box
5920
5921 Let it in stead switch focus back to the console window.
5922
5923 2010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5924 Let WinBoard recognize ~ in settings file name as HOMEPATH
5925
5926 Fetch the appropriate environment variable to build the mathname in
5927 MySearchPath() whenever the file name starts with "~\".
5928
5929 2010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5930 Change name of Global Settings menu item to Common Engine Settings
5931
5932 The old name confused ICS users, as this is an engine-only dialog.
5933
5934 2010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5935 Update WinBoard RTF docs
5936
5937
5938 2010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5939 Update WinBoard html help
5940
5941
5942 2010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5943 Allow adjustment of clocks in any mode with shift+click
5944
5945 In practice changing to edit-game mode during a game was very
5946 cumbersome. In WinBoard shift+click is now offered as an alternative.
5947 Make sure a right-click in the clock area is not also counted for other
5948 purposes.
5949
5950 2010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5951 Allow loading of PGN variations in XBoard
5952
5953 Right-clicking variation comments in the comment-window was implemented
5954 through a translation. The right button is now bound to routines that
5955 set both the end and start of the selection, as setting a new start does
5956 not seem to work if the previous select-start was not completed by a
5957 select-end or extend-end. Finally the main handler uses the selection
5958 cursors to know what was clicked.
5959
5960 2010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5961 Update XBoard docs
5962
5963 Added a descripton of the new ICS options (seek graph, back-ground
5964 observe) and menus (Upload) to the texi file. Also added a description
5965 of the variation (Annotate menu item and PGN variation comments) and PV
5966 walking (clicking engine-output). Describe the -shuffleOpenings option.
5967
5968 2010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5969 Paint highlights on dual board (WB)
5970
5971 The highlight info is hidden in the partner board to pass it to the
5972 front-end.
5973
5974 2010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5975 Fix handling username change during game
5976
5977 The title bar and gameInfo (going into the PGN) were not adapted when
5978 the username was changed through the menu, so that the change became
5979 only effective on the next game. Requires SetGameInfo to be called from
5980 the front-end, and thus a prototype for it in backend.c.
5981
5982 2010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5983 Fix window-position upset on failing engine start in WinBoard
5984
5985 The main window was only positoned according to the settings-file data
5986 after the engine was started up from InitBackend2(), so that if the
5987 latter gave a fatal error, and Save Settings on Exit was on, a wrong
5988 position for the main window would be saved. The call to InitBackend2()
5989 is now moved until after setting the main-window position.
5990
5991 2010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5992 Display PV from Engine-Output window (XBoard)
5993
5994 Translations are added to bind button 3 to the PV walk for the memo
5995 widgets, and the corresponding handlers are ported from wengineoutput.c.
5996
5997 2010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5998 Set keyboard focus at startup to board window
5999
6000 This makes XBoard sensitive to the keybindings also when the cursor is
6001 outside the board window. This focus seems to persist indefinitely: each
6002 time the board window gets selected, the key bindings become activem
6003 wherever the mouse pointer is. Downside: the mouse pointer is no longer
6004 an arrow outside the board window, but becomes a text-insert tool there.
6005
6006 2010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>:
6007 added logo files for xboard
6008
6009 logos are installed in the hicolor theme [1] using $datadir as the basedir.
6010 Added both png and svg logo.
6011
6012 [1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
6013
6014 2010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6015 Remake programVersion string after receiving engine features
6016
6017 The engine could have sent a more accurate version of its own name
6018 than the one derived from the exe filename in a myname feature, and we
6019 better use that in the programVersion string, which will be sent as
6020 interface name to the ICS.
6021
6022 2010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>:
6023 Revert "Repair settings-file name"
6024
6025 This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85.
6026
6027 2010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6028 Add -autokibitz checkbox to UCI-options menu dialog
6029
6030
6031 2010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6032 Also capture (numeric) whispers of players for -autoKibitz
6033
6034
6035 2010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6036 Add kibitzes and c-shouts Chat Box
6037
6038 A box dedicated to c-shouts will snatch any c-shout before it is
6039 diverted to a normal shouts box. The kibitzes box can capture the
6040 left-overs of -autoKibitz, if the latter is active.
6041
6042 2010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6043 Mark non-compliant lines of engine in debug file
6044
6045 The option -engineDebugOutput is extended to accept value 3 for printing
6046 a cear indication of non-compliancy in the debug file.
6047
6048 2010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6049 Redraw second board on expose events
6050
6051 The -dualBoard option now does refresh the second board after another
6052 window uncovers it. To acheive this, some data structures remembering
6053 what is displayed had to be duplicated. (lastBoard and damage for XB,
6054 lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.)
6055 WinBoard now uses clipping also for second board. This required the
6056 clips for the destination to be translated horizontally!
6057
6058 2010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6059 Print seconds with 2 digits in backgroundObserve status line
6060
6061
6062 2010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6063 Do not recognize non-ICS variants from PGN event tag
6064
6065 These variants were introduced after supporting the variant tag, so if
6066 the variant tag is missing, their recognition from the event tag will be
6067 a false match. (Mainly to prevent events with 'super' in the name being
6068 recognized as Superchess.)
6069
6070 2010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6071 Fix display of uninitialized boards in background observe
6072
6073 A variable partnerBoardValid is cleared on starting our own game, and
6074 set when a board from the background game comes in during it. At the end
6075 of our own game, a valid partner board now is put in the display.
6076
6077 2010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6078 Add option Display Logo in WB general-options menu
6079
6080 Changing the option requires InitDrawingSizes to be called for
6081 re-formatting the board window. Switching it off requires clearing of
6082 the cps->programLogo fields to take effect immediately. Switching it on
6083 only takes effect the next session, as we will need some refactoring to
6084 redo the figuring out what logos to display.
6085
6086 2010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6087 Group Chat Boxes with console in stead of board window
6088
6089 They now open and close with the console, which seems more natural, and
6090 prevents the console from covering them.
6091
6092 2010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6093 Put new options in WB ICS-options dialog
6094
6095 The Seek-Graph, background-observe and Chat-Box options are added to the
6096 ICS options dialog. They only control the appData settings, there are no
6097 special actions yet on switching the settings.
6098
6099 2010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6100 Create space in WinBoard ICS-options dialog
6101
6102
6103 2010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6104 Use side-by-side boards to display background game
6105
6106 A game observed in the background (i.e. if -backgroundObserve true) will
6107 be displayed right of the normal board in the same window if the new
6108 (persistent) Boolean option -dualBoard is also set.
6109 Very flakey hack, especially in XBoard, where clocks and messsage
6110 field all get the wrong width (and resist adjustment in the strangest
6111 ways). The clocks of the partner game are not yet displayed, and
6112 disaster happens when the background and foreground games do not have
6113 the same board format.
6114
6115 2010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6116 Repair background-observe patch
6117
6118 Apparently a commit was lost that I collapsed with 3018a6 while the
6119 latter was already pushed to savannah. Here I recreated this commit from
6120 a diff between the respective commits in the savannah & nubati gits.
6121
6122 2010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6123 Repair settings-file name
6124
6125 The default name is put back to /etc/xboard/xboard.conf, so that XBoard
6126 can again find its settings file. "make install" will still install it
6127 in the wrong place.
6128
6129 2010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>:
6130 new developer release
6131
6132
6133 2010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>:
6134 fixed compiler warning for file-browser code
6135
6136 missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now.
6137
6138 2010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6139 Put newly opened Chat Box on top
6140
6141 Dialogs always pop up in front, so set the onTop variable that prevents
6142 highighting the button to navigate to it from other Chat Boxes
6143 to reflect that a newly opened Chat Box is in view.
6144
6145 2010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6146 Fix copying of kibitzed info in Engine-Output window
6147
6148 Make sure all lines end with "\r\n" to not lose line breaks on
6149 copy-paste from the memo. (XBoard would strip those again.)
6150
6151 2010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6152 Allow walking a kibitzed PV
6153
6154 If no tabs are found in te 'thinking output' we assume it is a captured
6155 kibitz message, and look for "PV=" to locate the start of a PV in it.
6156 Also try to include any continuation lines below the selected line.
6157
6158 2010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6159 Insert autoKibitz continuation lines at end of line
6160
6161 In the engine-output window lines that start with the ICS continuation
6162 sequence "\   " are inserted behind the line they belong to, in stead of
6163 at the top. This required keeping thrack of the length of the currently
6164 active line in OutputKibitz().
6165
6166 2010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6167 Don't disturb background observe when receiving new piece
6168
6169 When new holdings are sent when the background game is displayed, we now
6170 ignore this, as presumably we are peeking at our partners game, and thus
6171 should be well aware of what is captured there.
6172
6173 2010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6174 Newly lexed parser in XBoard directory
6175
6176
6177 2010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6178 Let yy_text determine progress of PV parsing
6179
6180 The parsed unit yy_text was not available after ParseOneMove(), because
6181 the buffer switch in yylexstr() apparently destroys it. To solve that,
6182 yylexstr() now is equiped with an extra buffer argument, where it copies
6183 yy_text before the switch, so the caller, ParsePV(), can see what was
6184 parsed in yy_textstr. This is used to update the PV pointer, but also to
6185 save any parsed comments (when ParsePV is used for parsing a PGN variation).
6186
6187 2010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6188 Support playing through PGN variation comments
6189
6190 Right-clicking a variation line in the comment dialog will shelve the
6191 current variation, and parse the comment to replace it. This uses
6192 ParsePV() in an alternative way, for which the latter had to be
6193 enhanced: it was made resistent to move numbers and comments inside
6194 the PV. It now has an argument to indicate if such comments should be
6195 stored with the moves. The Comment Popup is closed on revert, to
6196 make sure no comments to moves that are destroyed, containing
6197 variations on a non-valid line, can keep hanging around.
6198
6199 2010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6200 Add Annotate item in Step menu
6201
6202 This does the same as Revert, except that it adds the destroyed
6203 variation as comment to the original movem in PGN variation format.
6204 RevertEvent now has an argument to indicate if it should add the
6205 comment, or not. Comments in the abandoned variation are included in the
6206 varriation command to the main line. (The exact layout of the variation
6207 comment that results leaves still to be desired.)
6208
6209 2010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6210 Add option -shuffleOpenings
6211
6212 This volatile option is added just to make the existing variable
6213 available from the command line, not only from the menus.
6214
6215 2010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6216 Let the sounds sound on receiving a message in a Chat Box
6217
6218 Use Colorize() to the applicable color to trigger the sound, and then
6219 restore the original color as 'continuation', to do it silently.
6220
6221 2010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6222 Allow WB Chat Box to be dedicated to shouts and 'it'
6223
6224 By putting 'shouts' in the handle field, a chat window will capture all
6225 shouts and c-shouts, and send messages typed into it as shouts.
6226 The bracketing of the shouter name now indicates the type of shout.
6227 The handle for WHISPER Chat Boxes has been changed to 'whispers', to
6228 make it easier to pop them up by clicking the console.
6229
6230 2010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6231 Add -chatBoxes option to open Chat Boxes at startup
6232
6233 This string option contains a semicolon-separated list of handles for
6234 which Chat Boxes should be opened at startup. The value saved in the ini
6235 file is the value that was read, not the actual chat boxes that were
6236 open at the time of saving.
6237
6238 2010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6239 Make Chat Windows pseudo-tabbed
6240
6241 By adding buttons in every Chat Box to navigate directly to every other
6242 Chat Box, a stacked set of Chat Windows behaves like a single tabbed
6243 window, but can still be unstacked. The buttons turn grey to warn that
6244 new text appeared in hidden boxes (i.e. not the one last brought to top).
6245
6246 2010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6247 Allow arrow keys in WB Chat Box to access command history
6248
6249 The history is shared between al boxes and the ICS console.
6250
6251 2010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6252 Make WB Chat Boxes wrap and handle URLs
6253
6254 Cloned the code for the console text field to hande URL. (Initialization
6255 to recogize the link, and notifiction to open it when clicked.)
6256 Removed the ES_AUTOHSCROLL style from the RichEdit in the resource.
6257
6258 2010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6259 Fix copying of WB Chat Window contents
6260
6261 All line breks were lost on copy-pasting the contents of a chat window.
6262 Adding CR to each outputted line in the front-end (wchat.c) solves this.
6263 (Tell messages sent to a handle (which are not echoed by the ICS, and
6264 thus have to copied to the chat box directly) also need CR!)
6265
6266 2010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6267 Add upload of game to ICS for examining
6268
6269 New item "Upload to Examin" in Action menu, calls UploadGameEvent().
6270 Use SAN moves to upload game to ICS, rather than long algebraic
6271 (The ICS did not understand long-algebraic promotion moves)
6272 Use bsetup within examine to set position onFICS, and also variant.
6273 Castling rights do not work yet for FRC. Totally different set of
6274 commands are needed on FICS and ICC.
6275  FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the
6276 besetup command that specifies the variant. XBoard variant names are
6277 used, except for fischerandom, which is 'fr'. Things like nocastle will
6278 probably still not work.
6279
6280 2010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6281 Handle display of PV that starts with other move than played
6282
6283 Insert the retraction of the played move, without premove highlighting.
6284
6285 2010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6286 Bugfix smart capture
6287
6288 Disambiguate was changed to make sure that for ambiguous moves, a
6289 capture would always prevail in the closure, rather than the last move
6290 that happened to be generated. Before, double-clicking a piece would
6291 sometimes plsy a non-capture.
6292
6293 2010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6294 Fix XB crash on giving keyboard focus to non-text widget
6295
6296 In the Engine-Settings dialog SetFocus() could be called for non-text
6297 widgets, and this made XawTextSetInsertionPoint() croak. Setting the
6298 insertion point to the end in SetFocus() was a bad ide anyway, as it
6299 interfered with copying from the engine-output window, which would
6300 uncontrollably scroll on getting focus. It is solved now by setting the
6301 insertion point already on creation of the text widgets.
6302
6303 2010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6304 Seek-Graph bugfix: disappearing output in ICS console
6305
6306 Suppression of output to the cosole was handled fundamentally wrong: it
6307 was not enough to set next_out to after the unit that should be
6308 suppressed, as there can be a backlog in printing of previous units that
6309 came in the same packet. So this has to be flushed first, or it will be
6310 lost. -autoKibitz probably got away with that, because it comes in a
6311 separate packet. But seek ads are often suffixed to other output, and
6312 then that output disappeared! Now we flush everywhere before suppressing.
6313 We now totally rely on the prompt to restart the printing, so that
6314 acknowledgements following the echo of the sent message are also
6315 suppressed. Also suppress LF before diverted chat messages.
6316   Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of
6317 a "* (*): " pattern in tell messages, because of a missing continue.
6318
6319 2010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6320 Pop up ICS text menu with default item under mouse pointer
6321
6322 The menu popup is migrated to the down-click (was up-click), so the
6323 up-click can select the item. Some trickery is needed to fool the menu
6324 into thinking that the mouse moved, so that a moveless up-down click in
6325 the ICS text field selects the default item (the upper-right one).
6326 Also allow dummy item in ICS text menu: The command "none" in the ICS
6327 text menu will now be treated as a grayed-out (disabled) entry, so it
6328 can be defined in the position underthe mouse pointer to prevent the
6329 up-click from doing anything, while keeping the menu open. Recommended
6330 for use with an entry of spaces.
6331
6332 2010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6333 Allow ICS context menu to pop up a Chat Box on clicking handle
6334
6335 A command "chat" defined in the WinBoard icsMenu string will cause
6336 ChatPopUp() to be called when it is clicked, with the clicked handle
6337 (name) in the ChatPartner field, and focus on the input field.
6338 ChatPopUp() had to get a parameter (the handle) to make this possible.
6339 If that parameter is NULL (as when it is called from the Mode menu),
6340 focus will still start on the (empty) ChatPartner field of the box.
6341
6342 2010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6343 Fix right-edge spillover of Seek-Graph dots in WinBoard
6344
6345 Rescale the X-axis to allow margin for dot size and color offset.
6346
6347 2010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6348 Interface XBoard to GhostView file-browser dialog
6349
6350 Note: The Ghostview dialog was using some deprecated variables for error
6351 printing, and conditionally used getwd() on some systems that presumably
6352 do not have getcwd(), but it did not assess the latter properly.
6353
6354 2010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6355 Allow recalling history in ICS input box with arrow keys
6356
6357 By adding translations for the Up and Down keys, and stealing some code
6358 from winboard.c. Still needs some refactoring to move the duplicate code
6359 to the back-end.
6360
6361 2010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6362 Start insertion point at end of text edits in XB dialogs
6363
6364 The function SetFocus now uses XawTextSetInsertionPoint to position the
6365 end of the string it aready contains, rather than at the beginning.
6366
6367 2010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6368 Capture holdings of background observed game
6369
6370
6371 2010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6372 Match handles with multiple titles for channel Chat Boxes
6373
6374 Only handles with at most one suffixed 'title', such as (U), (C), (IM)
6375 or (TD), followed by the parenthesized channel number, were recognized,
6376 so tells by people with more titles always went to the ICS console window.
6377 Patterns are added to recognize handles with upto three such qualifiers.
6378
6379 2010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6380 Do not pop down Seek Graph on on-dot click
6381
6382 Leave the graph up, and let the incoming board of a started game cause
6383 the pop-down. This in case the clicked ad is no longer vailable, or
6384 manuay refused, and fails to start a game.
6385
6386 2010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6387 Observe a game in the background while playing
6388
6389 A new (persistent) option -backgroundObserve true|false is added. When
6390 set, observed boards received while playing a game will not trigger a
6391 game switch, but will be ignored except for storing in a dedicated board
6392 buffer. Pressing the right mouse button will cause the board to be
6393 displayed, until we release it. Time, strength and stm are always
6394 displayed in the message window.
6395
6396 2010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6397 Remove race condition in clock switching
6398
6399 The move number is now incremented inside SwitchClock, when no timer
6400 interrupt is scheduled, so the interrupt cannot occur at the wrong side
6401 of the increment, and decrement the wrong clock.
6402
6403 2010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6404 Let second click on piece make only capture, with -oneClickMove
6405
6406 Normally this would clear the highlighting of that piece.
6407 Required new field in DisambiguateClosure to count nr of captures.
6408
6409 2010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6410 Bugfix stale first-click
6411
6412 When the opponent resigned after the user had cicked a from-square,
6413 clicking the from-square for the first move in the next game would
6414 produce an "illegal move" message, because it was considered a to-click!
6415 We now set fromX and fromY to invalid in GameEnds().
6416 Should we also reset them on mode changes?
6417
6418 2010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6419 Add promotions and e.p. to oneClickMove
6420
6421 For e.p. the to-Square of the Pawn has to be clicked. Promotions are
6422 always to Queen when you click the to-square, but use the promotion
6423 pop-up when you click the from-square.
6424
6425 2010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6426 Fix error that compiler does not notice
6427
6428 Boolean GLT_GetFromList did not return a value. But no error on Ubuntu!
6429
6430 2010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>:
6431 new developer release
6432
6433
6434 2010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>:
6435 updated year in copyright info
6436
6437
6438 2010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6439 One-click moves
6440
6441 Playing on ICS or against engine, clicking a square from or to which
6442 only a single move can be made causes the move to be done, when the new
6443 option -oneClickMove is set to true.
6444
6445 2010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6446 Use squares for computer seek ads
6447
6448 Shape indication passed in sign bit of color (char) variable.
6449
6450 2010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6451 Use right mouse button to view seek ads
6452
6453 Right down-click does the same as left down-click, right up-click
6454 simulates a left up-click off board (so it misses all dots).
6455
6456 Use right-click miss to refresh Seek Graph
6457
6458 The 'moving' parameter had to be made into an int for this, to indicate
6459 right clicks with code 2. Right press now already pushes the clicked ad
6460 to the back, so that the up-click will display an underlying one.
6461
6462 Bugfix pushing back seek ads on right-click
6463
6464 On a right button press the previous in stead of currently hit ad was
6465 receiving the penalty.
6466
6467 Indicate seek-ad multiplicity
6468
6469 If more than one seek ad is inside the capture range of the mouse
6470 pointer, an exclamation point is printed before the seek-ad text.
6471
6472 Some fixes to make seek-ad suppression work in WinBoard
6473
6474 In WinBoard the z-depth was immediately erased by redrawing the graph;
6475 the clearing of zlist had to be moved from PlotSeekAd() to AddAd()
6476 (where it really belongs). Also aging of z-depth is now suppressed on
6477 mere pointer motion.
6478
6479 2010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6480 Dynamic Seek Graph
6481
6482 The new option -autoRefresh sets FICS and ICC to report removal of seek
6483 ads, and then removes those from the Seek Graph. New seek ads are added
6484 to the graph, as soon as the ICS reports them.
6485
6486 2010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6487 Implement SeekGraph in XBoard
6488
6489 For now only controlled by left mouse clicks on board. New options
6490 -seekGraph true|false and -sg to switch this feature on.
6491
6492 Facilitate selection of coinciding seek ads
6493
6494 Seek-ads that are viewed but not answered get a distance penalty on the
6495 up-click that makes their selection more difficult next time, so that
6496 the ad they covered gets a (better) change. The penalty ages away in the
6497 course of 5 clicks.
6498
6499 Slightly offset Seek-Graph dots of different color
6500
6501 Dots of different color are now displaced horizontally be 3 pixels, to
6502 prevent them from completely covering each other. (Required the axis
6503 labels to be moved a little too, to not be covered by the 1-min ads.)
6504
6505 Auto-show seek-ad texts in WinBoard
6506
6507 Hovering the mouse above a Seek-Graph dot will make the text belonging
6508 to it appear in the message field without the need to press a button.
6509 Required SeekGraphClick() to be called from the WB mouse event handler,
6510 with an extra argument 'moving' to make the distinction with a real
6511 click.
6512
6513 Show seek-ad text on mouse hovering (XBoard)
6514
6515 The Eventproc is also set to trigger on PointerMotion, and this event
6516 then calls SeekGraphClick with motion=true to handle it.
6517
6518 Put poetic name of wilds in seek-ad text
6519
6520 Use XBoard variant names, except for 'loadable' and 'fischerandom'
6521 (becomes 'setup' and 'chess960'), but leave number (to distinguish wilds
6522 that transate to same XBoard variant).
6523
6524 2010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6525 Fix highlighting bug in XBoard
6526
6527 The from-square was drawn before the to-square was erased, which led to
6528 a missing highlight line if they shared an edge or corner.
6529
6530 2010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6531 Shorten autoKibitz confirmation on FICS
6532
6533 Strip off the "players)", but leave the separatng space.
6534
6535 2010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6536 Repair damage to -autoKibitz done by FICS atomic zippy claim
6537
6538 The sending of -autoKibitz info was also moved back in that patch, but
6539 unfortunately to after clearing of the programStats info. Now the
6540 clearing has been moved also, to remain after it.
6541
6542 2010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6543 Send continuation lines to chat box they belong to
6544
6545 The variable savingComment is used as a kludge to remember where the
6546 comment should go (i.e. which chatbox, or elsewhere), so that when a
6547 continuation line is matched, chatPartner (which was reset at EOL) can
6548 be restored to its original value. Also put space after handle of talker
6549 in channel Chat Windows
6550
6551 2010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6552 Fix u64 format for cygwin
6553
6554 With a -mno-cygwin compile %llu and %lld are definitely not understood
6555 by scanf and printf, although they are by the compiler. In stead, %I64u
6556 seems to work. Put it in under control of a switch USE_I64, which is
6557 defined only in the gcc makefile when MINGW is used.
6558
6559 2010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6560 Remove stray dot from WinBoard makefiles
6561
6562 There was a period suffixed to config.h in the wgamelist.o dependency.
6563
6564 2010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6565 Fix bug in display of logos
6566
6567 The logo continued to be drawn after a boardSize change to a tinyLayout
6568 size, although there was no space reserved for it. Fixed by explicitly
6569 resetting logoHeight when no logo space is reserved in InitDrawingSizes().
6570
6571 2010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6572 Right-click refactoring: step III
6573
6574 Let WinBoard call RightClick in back-end, and delete the duplicate code
6575 it had for this, after rescuing the front-end bits, and let the letter
6576 act depending on the result returned by RightClick.
6577
6578 2010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6579 Right-click refactoring: step II
6580
6581 Migrate the Right-click routine to the back-end. Let it communicate back
6582 square coordinates through pointer arguments, to accomodate their
6583 different naming in XBoard and WinBoard. Template added in frontend.h.
6584
6585 2010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6586 Right-click refactoring, step I
6587
6588 Divorce front-end part from back-end part of PieceMenuPopup in XBoard
6589 front-end, and forge the back-end part into a new routine RightClick.
6590 The right up-click in XBoard, which called unLoadPV() directly, now
6591 calls RightClick through PieceMenuPopUp().
6592
6593 2010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6594 Merge gamelistopt sources into gamelist source files
6595
6596 The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c
6597 and gamelist.c, respectively. The WB front-end for the dialog already
6598 resided in winboard.c, so there was little need to move it to wgameist.c
6599 file. Makefiles adapted accordingly. Unsuitable key bindings were
6600 removed. The low-level front-end prototypes are now defined in in
6601 frontend.h.
6602
6603 2010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6604 Game-List options dialog for XBoard
6605
6606 A dialog similar to that of WinBoard was cloned from the game-list
6607 window. The XBoard front-end is in a separate file xgamelistopt.c,
6608 which in fact implements most of the low-level front-end as back-end.
6609
6610 2010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6611 Refactoring of game-list-options dialog
6612
6613 The back-end part is separated off, and moved to a file gamelistopt.c.
6614 Front-end for now stays in winboard.c. No prototypes in frontend.h yet.
6615
6616 2010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6617 Fix of ancient WB bug: test integer option values for validity
6618
6619 Only a string of digits preceded by an optional sign is accepted now.
6620 Before, any string was accepted, and leaving out a value could lead to
6621 the next option being ignored (if it did not need a value) because it
6622 was considered the value for the previous one!
6623
6624 2010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6625 Fix bug in edit-position of holdings
6626
6627 The holdings were effectivelly taken one too large, so that a promoted
6628 shogi Pawn moved to, or created in the holdings was not demoted to Pawn,
6629 but put in the dark (which you could see by the holding count if you did
6630 it twice). The overflow tests in these two cases now have been corrected.
6631
6632 2010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6633 Save fonts in XBoard settings file per boardSize
6634
6635 Each -boardSize now can have its own font specified in the settings file
6636 (and thus by a command-line option, although it would in general not be
6637 very useful to specify a font for a size other than the selected). E.g.
6638 a prefix "size33:" to the font name will apply it only to -size 33.
6639 An unspecified-size font option (not normally in the settings file) will
6640 always prevail over a font option specific for the current size.
6641 A font of some size must have been used or specified in order to be
6642 saved.
6643
6644 2010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6645 Fix width of filter field in XBoard GameList
6646
6647 An empirical dependence of the width of this text edit on the square
6648 size now makes for an acceptable layout at any board size.
6649
6650 2010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6651 Use FICS atomic draw claim for sending move in zippy mode
6652
6653 For this the relaying of the move had to be moved until after the
6654 adjudication, which again has to be done after MakeMove(), which is a
6655 bit dubious, as MakeMove might take significant time when animating.
6656
6657 2010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6658 Send FICS atomic claim to ICS if move creates draw after offer
6659
6660 The FICS format "draw MOVE" is used to send the move to the ICS  when
6661 the user enters a move that adjudicates as a claimable draw, and he
6662 offered a draw before the move. For the benefit of ICS that do not
6663 understand this format, the plain move is sent afterwards.
6664
6665 2010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6666 Also allow user to claim by offering draw before his move
6667
6668 Use the existing userOfferedDraw variable to test for such offers in
6669 Adjudicate().
6670
6671 2010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6672 Also adjudicate after user move
6673
6674 Call Adjudicate() in FinishMove().
6675
6676 2010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6677 Refactoring of adjudication code
6678
6679 Put all the rule-based (as opposed to score-based) adjudications in a
6680 separate routine, so they can also be called on user moves. This
6681 requires sending the drawing move to the opponent engine to be made
6682 conditional on existence of the latter. Execution of the code is no
6683 longer dependent on the condition TwoMachinesPlay, but actual game
6684 terminations are now all restricted by an alternative condition (no ICS
6685 mode).
6686
6687 2010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6688 Use -keepAlive option to determine connection health
6689
6690 When there has been no ICS response since the previous 'ping', assume we
6691 are disconnected and do a fatal-error exit. Also auto-start the ping
6692 process in InitBackend3().
6693
6694 2010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6695 Use arrow keys in XBoard GameList for entry selection
6696
6697 Add translations for arrows and home/end, to call LoadSelectedProc with
6698 argument to indicate the step, and let the latter perform the action.
6699
6700 2010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6701 Allow <Enter> to apply filter in XB GameList filter edit
6702
6703 Apply a translation to intercept the <Enter> key. Set focus back to the
6704 list display afterwards.
6705
6706 2010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6707 Accept <Enter> for changing chat partner
6708
6709 A kludge stolen from Alessandro's GameList filter allowed to let the
6710 typing of <Enter> while updating the chat-partner field of the WinBoard
6711 chat windows to act as pressing the Change button. Gives focus to the
6712 input field of the window afterwards.
6713
6714 2010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6715 Move duplicat gamelist code to backend
6716
6717 The filtering routines are moved from xgamelist.c and wgamelist.c to
6718 gamelist.c, and a prototype for them is placed in backend.h.
6719
6720 2010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6721 Port game-list filtering to XBoard
6722
6723 Added a text edit and apply button to the XBoard game-list dialog, and
6724 only have it print those lines that match the filter. Translate index in
6725 list to index of game in file when a game is selected, and index in file
6726 to index in list when a line is highlighted. Duplicates some code
6727 between xgamelist.c and wgamelist.c, which should be moved to back-end.
6728
6729 2010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6730 Convert to DOS line endings
6731
6732 For easier understanding of upcoming diffs of winboard.c
6733
6734 2010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6735 Refactoring of move-history code
6736
6737 The WinBoard code in whistory.c was split in a front-end part (remaining
6738 in whistory.c) and a back-end part (now in history.c in the xboard
6739 directory). This to allow easy porting to other platforms.
6740
6741 2010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6742 Add fixed-time/move button in XBoard time-control dialog
6743
6744 Put the TC-type buttons in a radio-group, and highlight the selected mode.
6745
6746 2010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6747 Fix bug in XBoard PV display
6748
6749 The PV was unloaded on anything but a button release, in stead of the
6750 other way around.
6751
6752 2010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>:
6753 fixed hardcoded location of config file for xboard
6754
6755 the location should now follow sysconfdir during the configuration process.
6756 Also added some more output to the configure script.
6757
6758 2010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>:
6759 new developer release
6760
6761
6762 2010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>:
6763 fixed Makefile.am to handle config file correctly
6764
6765
6766 2010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6767 Change opening array -variant fairy
6768
6769 We now use the position of "Chess with Different Armies", FIDE army vs.
6770 a fantasy army (inspired on the Color-bound Clobberers) as opening
6771 position.
6772
6773 2010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6774 Add variant Makruk
6775
6776 Thai Chess, played by 2 million world-wide. Required pawn promotion to
6777 happen in a zone, and the Alfil to move as Shogi Silver, a new opening
6778 array, and unusual Pawn placement. Because of the latter, I consider it
6779 a setup position, so a FEN will always be sent to the engine.
6780
6781 2010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6782 Fix parsing of O-O and O-O-O after FEN pasting in FRC
6783
6784 Because the initial rights were not set in the FEN reader, the
6785 initial rights of the previous game remained in force, so that the
6786 parser did not understand OO-castling (although it would allow KxR
6787 castling).
6788
6789 2010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6790 Fix reading FEN castling rights for knightmate and twokings
6791
6792 Scanning the back-rank for a King did not work in these variants,
6793 because either the Unicorn castles, or there might be two Kings.
6794
6795 2010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6796 Fix omission in castling refactoring for ICS received boards
6797
6798 A default of -1 was still used, in stead of NoRights, when no Rook was
6799 found. In theory this could have had effect in a setup board 0 in FRC,
6800 when there were no Rooks on the back rank.
6801
6802 2010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6803 Fix TwoKings ICS castling-rights bug
6804
6805 Scanning the rank (as is done because of FRC) assigned castling rights
6806 to the rightmost King. Even scanning the opposite direction would not
6807 work, as it is not always the eftmost King that can castle. So we now
6808 explicitly test for a King on e1/e8 in TwoKings and assign it rights,
6809 relying on the Rook rights received from the ICS to control castling.
6810
6811 2009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
6812 fix double start of zippy engine after switch to gothic
6813
6814 In ICS mode we now switch to the proper variant as soon as we receive
6815 the generic game-start message, to prevent a mismatch when the first
6816 board is received (which would trigger fetching of a move list).
6817
6818 2010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6819 Extensive bugfix of -autoKibitz
6820
6821 Suppression of printing of diverted kibitz messages failed when they
6822 extended over more than one read. This could even lead to such
6823 messages being erroneously saved as comments, which then lead to
6824 crashes. The suppression mechanism now waits for a prompt, in stead of
6825 the end of buffer. This required the printing of any leftover in the
6826 buffer to be deferred until the next read completes it.
6827 The number of people kibitzed to is now printed.
6828
6829 2010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6830 Fix piece-to-char table -variant fairy
6831
6832 The letters for Lance and Snake where swapped.
6833
6834 2010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6835 Make WinBoard makefiles use parser.c in XBoard directory
6836
6837
6838 2010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6839 Docs update for new features
6840
6841
6842 2010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6843 Fix new args parsing of -lowTimeWarningColor
6844
6845 This did not occur in the XBoard color translation table yet.
6846
6847 2010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6848 Allow editing of holdings in EditPosition mode
6849
6850 Dragging pieces to and from the holdings now consistently keep track of
6851 the home square of pieces and the piece counts, as does creation of
6852 pieces in the holdings through the piece menu.
6853
6854 2010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6855 Indicate squares a lifted piece can legally move to
6856
6857 Under control of the new option -showTargetSquares when
6858 -highlightDragging and -testLegality are on, the squares a piece can
6859 move to are marked by fat dots in the highlightColor (non-captures) and
6860 premoveHighlightColor (captures), as soon as you grab it for dragging.
6861 In variants with mandatory capture, the capture target of other pieces
6862 is marked with the highlightColor (as non-captures are then not allowed).
6863
6864 2010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6865 Fix bug for incommensurate time odds
6866
6867 After normalization (-timeOddsMode 1) the time odds factors can be
6868 non-integer, and thus must be stored as float.
6869
6870 2010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6871 Display PV right-clicked from EngineOutput window
6872
6873 The clicked PV is selected and the memo gets focus, so that it is
6874 highlighted. This selection is restored in the proper place after
6875 insetrtion of a new line in the memo.
6876
6877 2010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6878 Display PV on right-clicking board
6879
6880
6881 2010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6882 Bugfix legality null move in parsing with -testLegality off
6883
6884 The pointers were compared, in stead of the values.
6885 Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off.
6886
6887 Also exclude moves with empty squares and enemy pieces.
6888
6889 2010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6890 Newly lexed winboard/parser.c
6891
6892
6893 2010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6894 Harmonize declarations of XBoard and WinBoard
6895
6896 The engine-exit and settings patches make some stuff common to WinBoard
6897 and XBoard, which needed to be harmonized, and is moved to frontend.h.
6898
6899 2010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6900 Allow Ctrl-C copying from EngineOutput window text to clipboard
6901
6902
6903 2010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6904 Allow popup-less (fatal) exit of engine after tellusererror
6905
6906
6907 2010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6908 Improve layout of Engine #N Settings dialog
6909
6910 An attempt is made to align the input fields of spins and text-edits
6911
6912 2010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6913 Let XBoard print version with argument --version or -v
6914
6915
6916 2010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6917 Fix castling rule assignment in shuffle games
6918
6919 The conversion to in-board storage for rights copied directly to boards[0] in steadof
6920 initialPosition, and was then overwritten when the latter was copied with uninitialized
6921 rights to boards[0]. This affected FRC and CRC, where rights are non-standard.
6922
6923 2010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6924 Implement castling in -variant caparandom
6925
6926 CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING.
6927
6928 2010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6929 Fix default castling rights on reading incomplete FEN
6930
6931 This was overlooked in the conversion to the in-board storage of rights.
6932
6933 2010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6934 Fix NoncompliantFEN defaults.
6935
6936 This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields.
6937
6938 2010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6939 Change format of -adapterCommand.
6940
6941 first or f at the start of an option name are now automatically changed into second or s,
6942 rather than needing %% to be recognized. The values of -ec and -ed in the default
6943 -adapterCommand are now quoted (now XBoard understands quoting in the engine command line).
6944
6945 2010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6946 Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings.
6947
6948
6949 2010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6950 Delete old indirection settings-file code
6951
6952
6953 2010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6954 Correct XBoard default debug file name
6955
6956
6957 2010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6958 Suppress saving font settings.
6959
6960 The fonts are size dependent, and might thus not be reusable in the next
6961 session. For now we therefore suppress the saving of them in the
6962 settings file, until we diversify the fonts per boardSize.
6963
6964 2009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>:
6965 added missing sounds files to be able to compile on windows
6966
6967
6968 2009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>:
6969 Changes needed to compile master branch.
6970
6971
6972 2009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
6973 implements the eval-graph window for XBoard
6974
6975
6976 2009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
6977 improves the XBoard handling of the engine command line
6978
6979 it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled.
6980
6981 2009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
6982 A better and more flexible way of invoking Polyglot
6983
6984 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.
6985
6986 2009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
6987 remove trailing \r in xboard output
6988
6989 there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not
6990 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.
6991
6992 2009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
6993 double buffer size to prevent overflow
6994
6995 This patch doubles the size of the ICS input buffer to 16KB, to prevent
6996 the suspected overflow with -keepLineBreaksICS false when using
6997 "inchannel 1" on FICS and over 500 people are tuned in.
6998
6999 2009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7000 fix problem with empty string in -firstNeedsNoncompliantFEN
7001
7002 This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with
7003 an empty string as argument. (Which led to truncation of the FEN.)
7004
7005 2009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7006 updates makefiles to include dependency on config.h
7007
7008 adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource
7009
7010 2009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7011 correctly apply some check boxes from the option menu
7012
7013 Usng the check-boxes in the Option->Adjudications menu to indicate the
7014 engine reports absolute scores is now copied directly to the ChessProgramState,
7015 from where it is used, in stead of only to appData. This makes the change take
7016 effect immediately, in stead of after restarting.
7017
7018 2009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7019 score sign in analysis mode
7020
7021 this does not alter any of the current behavior with compliant engines,
7022 but does extend the correction for non-compliant score reporting under
7023 control of the -first(second)ScoreIsAbs option to cases where the engine
7024 is analyzing or playing on an ICS.
7025
7026 2009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>:
7027 fix for bug #28077: xboard needs to link against x11
7028
7029 hopefully fixed automake to take care of this
7030
7031 2009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7032 Fix castling rights when copying FEN to clipboard (again)
7033
7034 missed a spot last time
7035
7036 2009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7037 restoring windows (EngineOutput and MoveHistory) on startup
7038
7039 restoring the open / closed status of the
7040 auxiliary windows (EngineOutput and MoveHistory) on startup
7041 in XBoard like they do in WinBoard, which makes sense now that
7042 we aso remember their coordinates between sessions.
7043
7044 2009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7045 fixed some outstanding pixmaps
7046
7047 fixed transparency issues
7048
7049 2009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7050 use linux style options for config file and add a system config file for XBoard
7051
7052 This patch makes XBoard write the options to its conf file in
7053 Linux style, "-option value" rather than Windows style "/option=value".
7054
7055 The WinBoard option parsing code has always understood both formats
7056 (including any hybrids), but the format it preferred for writing might
7057 look quite strange to Linux users. I also attached a file to be installed
7058 as /etc/xboard/xboard.conf on "make install".
7059
7060 2009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7061 fix window positioning
7062
7063 This patch adds stuff in the header files that allow the various front-end files
7064 to share information on which windows exist, are up, and how they are positioned.
7065 The EngineOutput, MoveHistory and GameList windows now all remember their
7066 position and size, even when they are closed when XBoard exits.
7067
7068 2009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7069 same argDescriptor parsing for Xboard and Winbaord
7070
7071 This patch makes XBoard and WinBoard use the same argDescriptor
7072 list of options, and (largely) use the same code for parsing and saving them.
7073 This is acheived by moving this code to a new file args.h, and #including this
7074 in both winboard.c and xboard.c (so that tiny differences, e.g. in default
7075 values in the table, are decided by the context). XBoard has new menu items
7076 "Save Settings Now" and "Save Settings on Exit" in the "Option" menu.
7077 XBoard uses /etc/xboard/xboard.conf as default settings file.
7078 A new option, -saveSettingsFile, can specify where settings should be saved,
7079 without parsing the file. (So that it also works if the file does not yet exist.)
7080
7081 2009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>:
7082 new developer release
7083
7084 changed release name to <branch>-<date>
7085
7086 2009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7087 fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
7088
7089
7090 2009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7091 use xtell for talking to handles, but tell for talking into a channel.
7092
7093 by changing the chatboxes to use xtell in stead of tell, we broke
7094 the possibility to use the chat-box for chatting into a channel (which is
7095 apparently not possible with xtell).
7096
7097 2009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7098 fix bug in bughouse drop menu
7099
7100 This patch fixes the bughouse drop menu, which was broken by the
7101 new mouse driver, and could no longer drop white Pawns.
7102
7103 2009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7104 2nd step for moving option parsing from winboard to the backend
7105
7106 This is the next step in option-setting refactoring: All options that are
7107 defined in XBoard are now included in the WinBoard ArgDescriptor list.
7108 The handling of sound option has been harmonized: the sound names
7109 now all initially go to the appData array, (as in XB) in stead of directly to the
7110 WB-specific variables, and LoadAllSounds now takes care of the copying.
7111 A new routine ExportSounds copies them back before saving settings
7112 (which, in XBoard, could be a no-op).
7113
7114 The definition of defaults for the XB-only options has been moved to common.h.
7115
7116 2009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7117 1st step for moving option parsing from winboard to the backend
7118
7119 This is a preparatory step in moving option parsing of WinBoard to the back-end.
7120 The table of command-line options now contains a fifth field, holding the compiled-in default.
7121 This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven
7122 initialization routine SetDefaultsFromList(), which could be back-end.
7123
7124 2009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7125 refactoring evalgraph code
7126
7127 This is the refactored EvalGraph code: the back-end part is separated off,
7128 and put in a file evalgraph.c, which in the future can also be used with XBoard.
7129 Only the WinBoard front-end code is left in the file wevalgraph.c. A new
7130 header file defines the variables and routines they share.
7131
7132 2009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>:
7133 clean-up
7134
7135 some file permissions where set up wrong
7136 (e.g. execute permissions for text files)
7137
7138 2009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7139 refactoring of engineoutput
7140
7141 This refactoring patch separates the back-end part out of
7142 xengineoutput.c, and puts it in a separate file engineoutput.c.
7143 A new header engineoutput.h included by both defines the routines
7144 for cross calling. Similarly wengineo.c will be stripped from its
7145 back-end code, (and renamed to wengineoutput.c), so WinBoard and
7146 XBoard now both use engineoutput.c rather than maintaining duplicate
7147 code in their front-end part.
7148
7149 I also let the back-end now call EngineOutputUpdate directly, rather then
7150 through a relay in the front-end, by renaming it to SetProgramStats
7151 (the former name of the relay in winboard.c / xboard.c).
7152
7153 Moved some templates of functions in engineoutput.c from winboard.h
7154 to frontend.h
7155
7156 2009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>:
7157 fixed build on openbsd
7158
7159 added missing header file
7160
7161 2009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7162 improve thinking-output for mulit-variant
7163
7164 Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window.
7165
7166 2009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7167 fix castling rights when copying FEN to clipboard
7168
7169 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.
7170
7171 2009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7172 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.
7173
7174
7175 2009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>:
7176 fixed prototype for AppendComment
7177
7178
7179 2009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7180 cleaned up some debug messages and typos
7181
7182
7183 2009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7184 variation-support patch
7185
7186 It allows you to Revert to the main line (or previous variation) when
7187 playing variations on an existing game in EditGame or Analyze mode.
7188
7189 2009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7190 fix for new way of saving castling and e.p. information
7191
7192 I forgot to make some conversions to the new-style encoding of castling there
7193 (using the enum constant NoRights instead of -1 to indicate
7194 the absence of rights, which was the price of storing the
7195 rights in the board, which is an unsigned enum type.)
7196
7197 I also was a bit worried about portability, because I casted the enum type ChessSquare
7198 to (int) before comparing it with (possibly negative) constants EP_NONE etc.
7199 Now on my system enum types are (unsigned int), and this works, but I could
7200 imagine there are systems where this would be an unsigned char. (Not sure
7201 if there are rules for this). So to be safe I cast ChessSquare to (signed char),
7202 which should always work to make small negative ints assigned to it read
7203 back as themselves.
7204
7205 2009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>:
7206 removed files that should only be in the windboard directory
7207
7208
7209 2009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>:
7210 add Winboard source files into tar-ball
7211
7212 forgot to add them when rewriting the Makefile.am
7213
7214 2009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7215 Integrate castling and e.p. rights into board array; bugfix for EditPosition
7216
7217 A large-scale operation that I have been postponing since the very first 4.4.0:
7218 The castling and e.p. rights are now integrated into the board array, as
7219 boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and
7220 boards[moveNr][EP_STATUS] replacing epStatus[moveNr]
7221 These quantities are now automatically copied with the position by CopyBoards
7222 (allowing the removal of lots of dedicated copying code), and passed as
7223 function arguments with the position (so that the moves.c functions like
7224 TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal
7225 no longer need explicit e.p. and castling parameters.
7226
7227 Also fixed a bug introduced by a recent previous fix: by adding fake castling
7228 rights to a position set up through the EditPosition menu, I destroyed the
7229 castling rights of a pasted FEN. Faking castling rights is now made conditional
7230 in EditPositionDone(), depending on the caller. (I had not realized it was also
7231 called after FEN pasting, to send the position to the engine.)
7232
7233 2009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>:
7234 added missing library for build on OS X
7235
7236 Xmu seems to be missing
7237
7238 2009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7239 Some code refactoring and cleanup; one small bug fix
7240
7241 Some code refactoring, mainly to bring definitions of routines and variables
7242 shared between winboard.c and one of the auxiliary-windows files
7243 whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file
7244 (winboard.h). Unfortunately this made winboard.h dependent on data types
7245 defined in frontend.h, so that the #include order had to be changed in many
7246 other .c files.
7247
7248 The operation revealed one potentially bad bug: engineOutputDialogUp was
7249 written as int in engineo.c, but declared as char in winboard.c.
7250
7251 I also changed the storage mechanism of the the comment and tags window
7252 positions to use WindowPlacement structs rather than simple variables,
7253 so that in the future they can be docked, like the others.
7254
7255 I also removed some remnants of the Analysis window.
7256
7257 The wgamelist.h and wedittags.h header files contained only 3 lines, and
7258 I absorbed them in winboard.h, rather than creating other such nearly empty
7259 headers engineo.h, whistory.h and wevalgraph.h. This affects the make files.
7260
7261 2009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7262 let the clocks run in -searchTime mode
7263
7264
7265 2009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
7266 add fixed time per move to the WinBoard time-control menu dialog
7267
7268
7269 2009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>:
7270 updated version number to unstable
7271
7272
7273 2009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>:
7274 release of version 4.4.1
7275
7276
7277 2009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7278 cleaned up ChangeLog and NEWS
7279
7280 2009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7281 use xtell instead of tell in wchat
7282
7283 2009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7284 prevent buffer overflow
7285
7286 This is a buffer-size adjustments to prevent the JAWS version from
7287 crashing when it has to read out loud very long comments.
7288
7289 2009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>:
7290 Further copy/paste fixes
7291
7292 We needed to implement the XA_TARGETS target in order for more
7293 sophisticated apps to really believe we put anything on the clipboard
7294 they can use.
7295
7296 2009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>:
7297 Make copy/paste position and game use clipboard, bug #27810
7298
7299 Copy actually sets both the clipboard and the selection for
7300 convenience and compatibility with the old way of doing things.
7301 Paste pastes from the clipboard by default, but the new -pasteSelection
7302 option lets you get back the old behavior of pasting from the
7303 selection.
7304
7305 2009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7306 switch focus to the board after loading a game
7307
7308 2009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7309 fix for bug #27826: fixed autoDisplayComment
7310
7311 apparently the -autoDisplayComment option was not working,
7312 not even in WinBoard. This patch should fix it,both for WB and XB.
7313 (Unfortunately xboard.c and winboard.c were using a different name
7314 for the same front-end variable I needed, so I had to change one of them.)
7315
7316 2009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7317 fix for bug #27826: ported two options to xboard
7318
7319 also updated the documentation
7320
7321 2009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7322 fixed jaws version
7323
7324 turns out the new mouse handler broke the JAWS patch, as I discarded
7325 the function IsPromotion. I adapted it to call HasPromotionChoice instead.
7326 Also fixed two arnings by removing a no-longer needed debug print.
7327
7328 2009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>:
7329 reformated html to be correctly validated
7330
7331 2009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7332 quick fix for "White Mates" in parser.l
7333
7334 2009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>:
7335 fixed a regression
7336
7337 2009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7338 changed stderr to debug output, since stderr is closed in winboard
7339
7340 2009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7341 removing empty lines from ICS play
7342
7343 this patch causes removal of spurious prompts during ICS play
7344 also if the prompt is preceeded by a number of empty lines
7345 (as the board for the opponent move is on FICS).
7346
7347 2009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7348 another bug in VariantSwitch: an unitialized board was printed.
7349
7350 Must have been there a long time, but this time it crashed WinBoard.
7351
7352 2009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7353 more work on variant switch
7354
7355 the previous solution to the cosmetic problem of displaying a wrong shuffle
7356 in an ICS game that was observed from the very start unfortunately turned
7357 out to cause a real error in diplaying a stored game through the smoves
7358 command, for variants not using the FIDE setup as standard.
7359
7360 This patch displays the position from before setting up the start position
7361 of the new variant, but does setup boards[0] to the initial position of that
7362 variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board
7363 will immediately be sent from the ICS to correct the shuffle.)
7364
7365 2009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7366 force full redraw in winboard
7367
7368 Full redraw is now always forced when highlightMovesWithArrow is on,
7369 rather than only when highlight info is available. (As in drop moves the
7370 latter is invalid, but we must still erase the arrow from the previous move.)
7371
7372 2009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7373 fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle
7374 when observing shuffle games from the first move (#27790 bis),
7375 and the sounding of the FICS bell on crazyhouse captures (#27772 bis).
7376
7377 2009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7378 fixed bug related to unsigned char in convert.c
7379
7380 I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the
7381 129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed
7382 afterwards (so I could use it to create a new m33s.bm)
7383
7384 2009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>:
7385 unguarded debug printf. added the appropiate if statement
7386
7387 2009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7388 fix for two compiler warnings
7389
7390 2009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7391 fix for bug #27799: fix for nested-nested-nested variations
7392
7393 2009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7394 The book-probe code forgot to close the book file after opening it.
7395
7396 fixed by adding an fclose at two points.
7397
7398 2009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7399 removed unused v54?.bm bitmaps from resource file
7400
7401 it seems the v54?.bmp bitmaps were actually included in the WinBoard build
7402 (in the resource file), although they were never actually used. So I have
7403 removed their inclusion in the resource file now.
7404
7405 2009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7406 replaced defective bitmaps with copies from 4.2.7
7407
7408 2009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7409 removed bitmaps files that are not needed any more
7410
7411 2009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7412 fixed some bitmaps
7413
7414 2009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>:
7415 Drop an obsolete script that was only used to update my personal web site
7416
7417 2009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>:
7418 Silence warnings when compiling 64-bit xboard
7419
7420 Some harmless warnings were caused by 64-bit mode having 32-bit
7421 int but 64-bit long and pointer.  Add casts (etc.) to silence them.
7422 This might require adding a definition of intptr_t (a signed int
7423 type that is the same width as a pointer) on old systems that don't
7424 have it.
7425
7426 2009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>:
7427 Fix up man page some more
7428
7429 Sigh, the project history was still partly in reverse chronological
7430 order and partly in forward order.  Swapped the order of some
7431 sentences to help straighten it out.  I don't really care about this,
7432 so other project members should feel free to do what they like here,
7433 but the messed-up order was bugging me.
7434
7435 2009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>:
7436 Fix some issues in the XBoard man page
7437
7438 Correct places where the XBoard man page was calling XBoard
7439 "WinBoard".  Change references to "WinBoard engines" and "WinBoard
7440 protocol" to "XBoard/WinBoard ...".  Update bug reporting guidelines.
7441 Reorganize project history to something more like chronological order
7442 -- it had gotten pretty randomly ordered.
7443
7444 2009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>:
7445 new pre-release version; updated version numbers
7446
7447 2009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7448 This patch adds <Enter> to the characters that cause an automatic
7449 switch to the ICS console when typed to the board window.
7450
7451 2009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7452 fix to the minor graphics issue contained some typos,
7453 as was remarked in the bugs reports
7454
7455 2009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7456 improved mouse handler
7457
7458 The improved mouse handler still needed an extra call to DrawPosition to
7459 work in XBoard.
7460
7461 2009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7462 NPS plays and pondering
7463
7464 Clock updating did not work correctly in node-based time controls when the
7465 engine was pondering. (It was not really meant for use with pondering. Oh well...)
7466 This patch checks if the engine reporting the node count is indeed thinking
7467 (as opposed to pondering).
7468
7469 2009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7470 holdings update and regression fix
7471
7472 The holdings-update patch was not yet satisfactory, because FICS seems to send
7473 holdings both before and after the board! And those received before did overwrite
7474 the holdings received after the previous board. I know tried to fix that in a kludgey
7475 way, by hiding a flag in the board that tells if the holdings have already been written
7476 by the ICS or not, and ignore new holdings when they are. (Except in bughouse,
7477 where holdings updates cannot be tied to a particular board and multiple updates
7478 between boards are normal. (I hope?).)
7479
7480 I also undid a regression in my previous fix for the minor graphics problem,
7481 and solved it in a slightly different way to prevent flicker.
7482
7483 2009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7484 improved mouse handler
7485
7486 I improved the mouse handler in a way which will preclude disappearence of pieces
7487 on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
7488 in the "premove bug?" thread. Also the command-line premove problem reported there
7489 is now fixed, by removing the prefixing.
7490
7491 2009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7492 fix for bug #8847: moving backward while examining on FICS not reported to engine
7493
7494 I moved Daniel's code that backs up the engine when a bord with a
7495 lower number is received to a place where it is always done in zippy mode,
7496 rather than only when the engine is analyzing.
7497
7498 Apart from taking back moves, there was also the case where the
7499 user moves forward by more than one move (usually immediately to
7500 end-of-game). In this case a new movelist is fetched from the ICS
7501 to recover the moves that were skipped. But this assumes that the
7502 engine is at the start of the game and feeds all these moves to the
7503 engine. So the engine had to be reset in this case to stay in sync.
7504
7505 2009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7506 better init for random number generator
7507
7508 2009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7509 fix for bug #27772: holdings not updated
7510
7511 holdings lines from the ICS nor update the holdings
7512 of boards[forwardMostMove] in stead of boards[currentMove].
7513
7514 2009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7515 allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
7516
7517 This patch allows parsing / disambiguation of SAN moves like Xe4, if there
7518 is only one wild-card piece X on the board. Moves with wild-card pieces
7519 are now considered illegal if they leave the King in check by a piece of
7520 known gait.
7521
7522 2009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7523 fixed bug when switching to variantsuper
7524
7525 2009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7526 fix for bug #27715: 2 (minor) graphic issues
7527
7528 I forced a total redraw when Reset is called from the ICS code in case a
7529 new game is encountered, in the hope it will make the reported
7530 (irreproducible) problem go away. As game switches are not frequent, I
7531 guess there is hardly any downside to this.
7532
7533 2009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7534 fix for bug #27667: PV line missing in analysis window, part 3
7535
7536 "3. Wish for Engine state string (right to the icon):
7537 Can you add the actual search depth in analyzing mode? A change like "
7538
7539 I also added the requested display of depth of the analysis move in the
7540 EngineOutput window. I guess a similar change could be made to wengineo.c
7541 (as this is in the code they share in common), but no one ever requested
7542 that in the 5 years since Alessandro wrote it. So for now I leave it alone.
7543
7544 2009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7545 fix for bug #27760: debug printf in backend.c and additional check for variant
7546
7547 2009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>:
7548 fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
7549
7550 this is correct, deleted the text out of the documentation that claims we support it
7551
7552 2009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>:
7553 new alpha version; first one with new naming scheme
7554
7555 2009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7556 smarter analysis of the boards that XBoard receives from an ICS
7557
7558 I added smarter analysis of the boards that XBoard receves from an ICS,
7559 based on board size and piece types in the position, to recognize cases
7560 where the board does not match the current variant, and switch to an
7561 appropriate variant.
7562
7563 2009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7564 fix for bug #27667: window should be reference to toplevel
7565
7566 The remaining objections of #27667 should be fixed by bringing the
7567 EngineOutput window under control of the TOPLEVEL compile-time switch.
7568
7569 2009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7570 partly fix for bug #27715: scaling of menu bar
7571
7572 the menu bar to the left edge of the window.
7573
7574 2009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7575 fixed bug reported in WB forum: second game of a match would
7576 not start when using the GUI book
7577
7578 2009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7579 fix for bug #27751: negative holding counts displayed
7580
7581 I put code in the back-end to prevent holdings counts from
7582 becoming negative when a drop move is made from empty holdings.
7583 (This can happen when re-loading ICS bughouse games,
7584 as the smoves command fails to fill the holdings.)
7585
7586 2009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>:
7587 Updated compiling instructions.
7588
7589 2009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>:
7590 Changes to allow fonts with any charset (such as terminal)
7591
7592 Affects winboard only.
7593
7594 2009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>:
7595 Moved SIGWINCH signal so it can be used...
7596
7597 I goofed putting this in StartChildProcess() originally.
7598
7599 2009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>:
7600 Added internal wrapping ability.
7601
7602 New options:
7603   -wrapContinuationSequence "foo"  (default: "\\   "
7604   -useInternalWrap (Winboard default: false, XBoard default: true)
7605
7606 Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
7607    useInternalWrap setting.  The idea is if you want to keep ICS line
7608    breaks, then you don't want internal wrapping.  Because of this,
7609    the new default for keepLineBreaksICS is now false for XBoard.
7610
7611 2009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7612 fixed segfaul in convert.c used to convert pixmaps
7613
7614 2009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7615 new mousehandler to correct for premove and promotion popup
7616
7617 this is the new mouse handler for XBoard, which should fully implement
7618 premove, including promotion popup, and yet suppress the promotion popup
7619 on illegal moves that are not premoves. It is almost completely moved to
7620 the back-end now, so that WinBoard will be able to use it as well. I just
7621 must hook it up to winboard.c, in particular harmonize the call-backs of
7622 the mouse driver into the front-end for grabbing and releasing pieces for
7623 dragging, to make sure they have the same names and arguments.
7624
7625 2009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7626 updated black fairy pieces
7627
7628 here is a set of black fairy pieces with opaque white details,
7629 so they have the same style as the orthodox XBoard pieces.
7630
7631 2009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>:
7632 Adjustment to joining to work around server not always including space.
7633
7634 This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004
7635 into the updated joining routine.  This issue seems not to be server
7636 variance, but instead the server electing to omit the space between
7637 words when it occurs at exactly your width setting (-1 actually).
7638
7639 This patch makes the joiner add back the space just like the referenced
7640 commit.  Note: this is just a workaround to a server issue-- the joiner
7641 actually joins correctly before this patch.
7642
7643 2009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>:
7644 Fixed joiner detection, allowing it to work with timeseal
7645
7646 When timeseal's buffer fills in the middle of the continuation
7647 sequence, detection fails, and the lines aren't joined.
7648
7649 As a result of this fix, measures intended to bypass joining are
7650 no longer needed, so I removed them.  These utilize server vars
7651 when available to prevent splitting.
7652
7653 2009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7654 fixed engingeoutput routine
7655
7656 removed outdated code regarding analysis window
7657
7658 2009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7659 moved bitmap to correct location
7660
7661 was misplaced in a previous commit
7662
7663 2009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7664 fixed wrong number of arguments for EngineOutputPopUp
7665
7666 2009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7667 new bitmap converter (including fill option) and new pixmaps
7668
7669 2009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>:
7670 forgot to add these two lines to the last commit
7671
7672 2009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>:
7673 removed AnalysisPopUp. Use EngineOutputPopUp instead
7674
7675 this was already in Winboard, copied it to xboard and removed unused code.
7676
7677 2009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7678 Proper board and holdings size when switching to variants
7679 gothic, capablanca, great and super within an ICS game.
7680
7681 2009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>:
7682 cleaned up an old #ifdef in zippy
7683
7684 2009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>:
7685 neglected this for the auto-width updating in xboard
7686
7687 2009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>:
7688 Added server width adjustment based on client width changes
7689
7690 2009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>:
7691 silence some compiler warnings
7692
7693 2009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>:
7694 Maintainence to support all compilers.
7695
7696 2009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>:
7697 Adjusted alternative joining method to obey keepLineBreaksICS
7698
7699 2009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7700 fix for bug #27668: e.p. field still not passed to engine
7701
7702 PositionToFEN now takes the e.p. rights from epStatus[moveNr],
7703 rather than calculating it on the spot from moveList[moveNr-1]
7704 (which failed on the first move).
7705
7706 2009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7707 fix for bug #27666: naming of variants
7708
7709 Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
7710 to not get confused by the board "misc shogi" run by FICS.
7711
7712 2009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7713 changed enable menus
7714
7715 Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
7716 in the appropriate enable lists for graying them out wen not applicable.
7717
7718 2009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7719 Added a command-line option -keepLineBreaksICS true/false to control line joining.
7720
7721 2009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>:
7722 Added code to prevent unnecessary width updates.
7723
7724 2009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>:
7725 Turned off wrap when possible on ICS servers.
7726
7727 Turning off line wrap prevents splitting lines up using the
7728 continuation sequence "\\   ".  This is desirable when using
7729 timeseal because timeseal's buffer is sometimes too small,
7730 causing it to break lines itself.  These lines can't be joined.
7731
7732 2009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>:
7733 vsnprintf() must be _vsnprintf() for MSVC
7734
7735 2009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>:
7736 added code to handle initial width update
7737
7738 2009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>:
7739 Added width updates to ICS client on font and window size changes
7740
7741 What still needs to be done is placing an update call after login
7742 to initialize with the correct width.  I didn't see where to put
7743 that.
7744
7745 2009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>:
7746 added ics_printf() and ics_update_width() and utility functions
7747
7748 2009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>:
7749 Cleaned up ConsoleWndProc  (not complete, see below)
7750
7751 Using static variables this way is not appropriate.  I only addressed
7752 hInput and hText in this commit though.  But imagine the WndProc being
7753 used by multiple windows instead of just one, and you can see why
7754 using static variables in this way is wrong.
7755
7756 2009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>:
7757 Restructured URL code so it fits better with how winboard is set up.
7758
7759 2009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>:
7760 cleanup: removed "#if 1" statements
7761
7762 2009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>:
7763 cleanup: removed "#if 0" from source
7764
7765 a bit of cleanup of the source code
7766
7767 2009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7768 fix joining of lines split by ICS
7769
7770 This patch fixes the joining of lines that were split by an ICS, so that adding
7771 a space at the break point is done only when there was not a space already.
7772 (Some ICS leave a space at the end of the broken line, others do not.)
7773 An extra space would interefere with board12 in Gothic Chess, which is so
7774 long that the ICS breaks it, and the WB parser could not handle a double
7775 space within the board.
7776
7777 2009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7778 fix for bug #27642: Clock jumps strangely in engine mode
7779
7780 This moves SwitchClocks() back to after incrementing forwardMostMove,
7781 so that it knows again who has the move (which was broken by the "bare" patch),
7782 and will take the appropriate tick length.
7783
7784 2009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7785 removed test for premove
7786
7787 this was added while looking for the premove bug, but is not needed
7788
7789 2009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>:
7790 added URL detection and provided hotlinks in the ICS client
7791
7792 2009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>:
7793 reverted winboard.c beofre URL commit to correct whitespace conversion
7794
7795 2009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>:
7796 Added URL detection into the console text window for ICS.
7797
7798 2009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>:
7799 added some comments and formated code
7800
7801 2009-10-08 23:46:52 -0700 Chris Rorvick <>:
7802 fix printing out help message (list of command line options) (tiny change)
7803
7804 The postfix increment always resulted in an attempt to print out an
7805 option on the right side regardless of one actually existing. Use
7806 prefix increment to prevent a crash when printing an odd number of
7807 options.
7808
7809 2009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>:
7810 Updated navigation accelerators, fixing ICS problems.
7811
7812 Recent changes to the navigation accelerators were in the wrong
7813 accelerator table.  Since the goal was to correct non-JAWS versions
7814 back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
7815 retained the #ifdef JAWS conditional compilation.
7816
7817 On an ICS, the navigation keys took control away from the ics
7818 client to navigate the game.  The update requires the ALT key to
7819 be pressed, but it works identical to 4.2.7, not causing an
7820 unexpected focus back to the board window when you're just editing
7821 text.
7822
7823 2009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7824 fixed premove recapture problem;promotion popup appearing on
7825 obviously illegal moves; promotions in Superchess and Great Shatranj
7826
7827 1) the premove recapture problem
7828 2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
7829 problem)
7830 3) promotions in Superchess and Great Shatranj, where the piece can now be
7831 selected from the holdings
7832
7833 2009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7834 added forceIllegalMove to xboard
7835
7836 2009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>:
7837 bugfix: segfault when invalid option argument was given (bug #27427)
7838
7839 when given a wrong argument to an option (e.g. -tc 0) xboard aborts
7840 before setting up the window, but tried to write a message to the
7841 messageWidget which doesn't exist at that point.
7842
7843 2009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7844 small improvement for JAWS version
7845
7846 This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
7847 As focus does not stay on the Comment window, the comment was not spoken otherwise.
7848
7849 2009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7850 updated to winboard internationalization scripts
7851
7852 Also a slight improvement of the internationalization scripting,
7853 to prevent it from crashing on messages containing a slash.
7854
7855 2009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7856 new forceIllegalMoves option
7857
7858 The -forceIllegalMoves option uses setboard or edit to force a position
7859 when an engine refuses the move leading to it by an "Illegal Move" message.
7860 Especially for engines using the edit command this was a bit tricky,
7861 because of the a2a3 kludge to avoid using the white and black commands.
7862
7863 2009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>:
7864 removed _winmajor if not defined so that VC 2008 can compile the project
7865
7866 The oldDialog variable should just be set to 0 in all cases now, and
7867 as such, legacy code supporting the old dialog ought to be removed.
7868 The test for _winmajor is against < 4, which is always false at present,
7869 causing oldDialog to be 0 in every conceviable circumstance.
7870
7871 2009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>:
7872 getting ready for 4.4.1 release
7873
7874 2009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>:
7875 Simplified future version changes.
7876
7877 Added a numeric version to config.h that is now used in winboard.rc
7878 instead of being hard-coded there.  Just be sure to preserve the
7879 proper format (4 comma-separated 16 bit integers) or else it won't
7880 compile.
7881
7882 2009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>:
7883 updated version number to 4.4.1.pre
7884
7885 should have done this straight after the last release, but forgot...
7886
7887 2009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7888 worked on premove bug
7889
7890 I made an attempt to make premove unsensitive to a race condition,
7891 just in case the premove problem was caused by that (which seems unlikely,
7892 but in any case  I added some debug printout to test this).
7893
7894 2009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7895 fixed loading of saved games via command line
7896
7897 the variables forwardMostMove and backwardMostMove where set to zero
7898 at the wrong place.
7899
7900 2009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7901 small fixes for the JAWS version
7902
7903 * I moved saying 'check' by the JAWS version to where castling also benefits from it.
7904 * I made sure the check symbols are also recognized on promotion moves
7905 * In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
7906
7907 2009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>:
7908 Fixed bug dereferencing garbage, causing crash.
7909
7910 Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
7911 resultDetails of the gameInfo structure.  That exact code exists a few lines
7912 above where it was added.  None of these free() calls finish by setting the
7913 member to NULL afterword, therefore repeated attempts to test/free() the
7914 members result in an attempt to free() memory winboard no longer owns, and
7915 an eventual crash.
7916
7917 link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
7918
7919 2009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>:
7920 Added wchat.c to the project files we maintain.
7921
7922 2009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>:
7923 Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
7924
7925 2009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>:
7926 Add resource ID for new Mute menu item.
7927
7928 I know this was probably done by HG, and simply left out of
7929 his commit.  Anyway, the project can be built now after this change.
7930
7931 2009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>:
7932 Use of strcasecmp() broke Visual C++.
7933
7934 2009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>:
7935 wrong default value for engineDebugOutput
7936
7937 the new default is now 1
7938
7939 2009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>:
7940 updated cmail.in to adapt the CVS->git change
7941
7942 don't reference $Revision:$ anymore.
7943 Instead use reference xboard-version via autoconf.
7944
7945 2009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7946 bugfix for protocol extensions: egtbpath -> egtpath
7947
7948 A new and very bad bug was discovered in the implementation of
7949 the protocol extensions: XBoard sends a command "egtbpath" to the
7950 engine in stead of "egtpath" from the protocol specs.
7951 After discussion on WB forum it was decided that egtpath was better
7952 than the egtbpath I originally had proposed, and I changed it accordingly,
7953 but I had not realized that this string occurred TWICE in backend.c,
7954 depending on if matched the -defaultPathEGTB of -egtFormats option.
7955 I only changed the first occurence.
7956
7957 2009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7958 fix for edit-position "moves" being sent by XBoard to the engine
7959
7960 2009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7961 Engine did not start playing when out of GUI book on second move with white
7962
7963 2009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7964 Opening Engine #1 Settings crashed XBoard when there were no
7965 text-edit options in the dialog (to which to set keyboard focus)
7966
7967
7968 2009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7969 added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
7970
7971 2009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7972 Updated the RTF docs for the chat windows, engine-settings dialog,
7973 /keepAlive option and new game-list tag
7974
7975 2009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7976 Made the beep sounds for JAWS board navigation configurable through
7977 command-line options
7978
7979 2009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7980 Prepared a system to internationalize the WinBoard menus
7981
7982 2009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7983 added the result comment to the game-list tags when the game list is
7984 exported to the clipboard
7985
7986 2009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7987 rewrote wevalgraph for better frontend/backend separation
7988
7989 I have finished re-writing the eval-graph code to have some
7990 front-end / backe-end separation, something I had already started on my
7991 holiday in Norway (when I had no internet :-)  ).
7992 The new code now appears to work exactly like the old code,
7993 and I guess it could be ported to gtk comparatively easily.
7994
7995 2009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
7996 fix for keepalive and chat window
7997
7998 I made a fix to the keepAlive option so it does not send the date command
7999 to the ICS after every move. This required changing ScheduleDelayedEvent()
8000 so that it does not execute the event if a new identical one gets scheduled.
8001 I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c
8002
8003 (This also cures the regression of the winboard.c copyright patch)
8004
8005 I extended the chatbox patch to also listen to channel tells, and divert
8006 them to a chatbox for that channel number. Affects
8007 backend.c and wchat.c
8008
8009 That should make those patches fully operational. No docs for either of them
8010 yet, though.
8011
8012 2009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8013 fixed parse bug for pgn files
8014
8015 fixed the existing bug that the time-control tag was displayed as "?"
8016 in the game list; turns out it was never parsed on reading PGN files
8017
8018 2009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8019 allow the result comment as a display item in the game list
8020
8021 2009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8022 fixed the HAVE_LIBXPM-dependent compile errors
8023
8024 2009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8025 added a chat window to keep track of multiple conversations
8026
8027 The chat-window patch affects:
8028 winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
8029 the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
8030
8031 In addition I added a new option -keepAlive, which affects
8032 common.h (in addition to winboard.c and backend.c).
8033
8034 As I had to modify backend.h, I also defined the -reset option type there,
8035 which we are going to add later. This required some changes
8036 to suppress warnings in wsettings.c.
8037
8038 2009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>:
8039 more files for git to ignore
8040
8041 most of these are generated by make distcheck
8042
8043 2009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>:
8044 another bug fix found by Stanislav Brabec
8045
8046 returned -1  in some case although the variable was a char...
8047 changed to signed char
8048
8049 2009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>:
8050 Swapped 'tell' and 'message' parsing order for colorization.
8051 Sometimes messages are relayed as tells and should be colorized as tells.
8052
8053 2009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>:
8054 added some more files to be distributed via make dist
8055
8056 as suggested by Stanislav Brabec
8057
8058 2009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>:
8059 fixed some implicit declarations reported by Stanislav Brabec
8060
8061 2009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>:
8062 fixed a few more small bugs reported by Stanislav Brabec
8063
8064 - A function uses a 'return;' statement, but has actually a value to
8065 return, like an integer ('return 42;') or similar: xboard voidreturn
8066 xengineoutput.c:766, 782
8067
8068 - Program returns random data in a function at xengineoutput.c:602
8069
8070 - With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker
8071 ignores them. Fix is attached.
8072
8073 - ToDo: Convenient name in most projects is TODO (autotools package it
8074 automatically).
8075
8076 2009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>:
8077 reverted .texi file and fixed Makefile.am
8078
8079 the problem was actually not in the texi-file, but the Makefile.am.
8080 Reverted changes in the .texi and fixed it (hopefully) correctly now.
8081
8082 2009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>:
8083 get "make distcheck" to work
8084
8085 needed to add all *.h files to Makefile.am and also the bitmaps that
8086 are needed and some other files. Also had modified copyright.texi.
8087
8088 2009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>:
8089 changed to version 4.4.0
8090
8091 2009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>:
8092 updated AUTHORS, README and ChangeLog files for release
8093
8094 2009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8095 fixed some typos
8096
8097 2009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8098 set castling rights after setting up a position
8099
8100 I was going through old WB forum posts, and I encountered a
8101 bug report for a bug that I never fixed: The castling rights should
8102 be properly set (actually: cleared) after setting up a position
8103 in Edit Position mode (as opposed to pasting a FEN).
8104
8105 2009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>:
8106 removed install files from master
8107
8108 they now live in their own branch
8109
8110 2009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8111 updated polyglot protocol
8112
8113 I added a new option type "-reset" to the protocol for the new option feature.
8114 4.4.0 does not implement it yet, but Michel wants it for future Polyglots,
8115 and I think it is best to update the protocol in one big swoop.
8116 So I want to already include it in the specs now. (engine-intf.html)
8117 I made xboard's response to an unknown option type compliant
8118 with the new protocol specs.
8119
8120 2009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8121 fixed some typos
8122
8123 2009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>:
8124 Updated project files for DevCpp and Visual Studio to add wsettings.c
8125
8126 2009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>:
8127 Added newline at end of file to silence warning.
8128
8129 2009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8130 workaround for error message for missing pieces used in variants
8131 and initstring bugfix: error messages showed for non-existing pieces
8132 showed up for old user supplied pixmaps.
8133 Loading a pixmap of the king for the missing pieces now.
8134
8135 Another bad bug surfaced: the -initString argument does not work in any
8136 XBoard version! (Including 4.2.7b) The escape sequences for linefeed in
8137 the string are not understood: -initString "new\nrandom\n" actually sends
8138 the \ and n to the engine (which then does not recognize the line as a
8139 valid command)!
8140
8141 So I also added a patch to expand escape sequences in the InitString and
8142 ComputerString command-line options.
8143
8144 2009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8145 updated installe script
8146
8147 I re-organized the doc files in the install, so they now all go in the
8148 WinBoard\doc folder (and none in the root). I so included the COPYING
8149 and COPYRIGHT files there. This required some updates of the links in
8150 some html files, and of the menu link to README.html in the install script.
8151 I also fixed an error with the current directory
8152 in the menu short-cuts of some engines (which started in the fonts folder,
8153 and could not find the opening book there...).
8154
8155 2009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8156 updated documentation
8157
8158 2009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8159 updated installer script
8160
8161 2009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8162 new help files for windows
8163
8164 2009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8165 updated installer
8166
8167 2009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8168 undid some previous changes
8169
8170 some files got mixed up
8171
8172 2009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8173 fixed small bug in wsetting
8174
8175 2009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8176 trigger a focus switch to ICS input field when typing
8177
8178 old behavior was that "." or "," triggered this,
8179 now every printable character  except 1-9 will trigger the focus switch
8180
8181 2009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8182 bug in backend.c when receiving lines from ICS
8183
8184 A space was appended to every character received from an ICS
8185 in stead of just at line breaks.
8186
8187 2009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8188 fixed warning messages from compiler
8189
8190 2009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>:
8191 fixed build on OS X
8192
8193 this seems to fix it. Bug reported by Louis Zulli who also did the testing.
8194
8195 2009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8196 OK, this is the beefed up version of the Polyglot info-string kludge,
8197 for WB and XB.
8198
8199 2009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>:
8200 added missing X_LIBS references to Makefile.am
8201
8202 2009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>:
8203 made the install script and executable
8204
8205 2009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>:
8206 changed beta1 to beta2
8207
8208 2009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>:
8209 fixed enable zippy in configure script and added some checks for OS X
8210
8211 make tried to compile zippy even when --disable-zippy was given.
8212 Also fixed a bug in xboard.c where #ifdef instead of #if was used
8213 to test for ZIPPY (it's either 0 or 1, so we need #if). Also added
8214 some special checks for OS X, not sure if these will do it, but it's a start;)
8215
8216 2009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>:
8217 added configure summary to configure output, also cleaned up configure.ac a bit
8218
8219 used AS_HELP_STRING where possible
8220
8221 2009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>:
8222 added check for malloc.h
8223
8224 this should fix a build error on OS X
8225
8226 2009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8227 A small cosmetic change in the size of buttons
8228 inside a groupbox of the Engine-Setup dialog.
8229
8230 2009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8231 make xboard usable with UCI engines
8232
8233 I made a small patch in xoptions.c (where the corresponding Engine Settings
8234 dialog was for XBoard), to make it at least usable for UCI engines: I now
8235 divide the options over upto 4 columns, if there are too many to fit into
8236 a single column. This seems to work. Still looks very ugly, but it is
8237 functional.
8238
8239 2009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8240 fix premove for winboard
8241
8242 This might fix the illusive premove problem. In 4.2.7 the code was not properly
8243 indented, and this led to an unbalanced braces error that I then fixed the
8244 wrong way. Click-click premoves did only work after clicking the toSquare twice.
8245 It might be that they actually did work after clicking it once,
8246 but that the highlights were not displayed (although set)
8247 for lack of a display refresh.
8248
8249 2009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8250 fixed bug for double saved games
8251
8252 This patch should solve the problem with doubly saved games when XBoard is
8253 closed. I calculate a cecksum of each saved game now (including move comments),
8254 and suppress saving if the checksum is not changed.
8255
8256 2009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8257 fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c.
8258
8259 2009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8260 updated xboard.texi: added warning that pixmaps are not build for all variants
8261
8262 2009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8263 added a dialog for engine-specific option settings
8264
8265 2009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8266 updated some documentation
8267
8268 2009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8269 fixed several bugs in the backend and added some more polyglot support
8270
8271 * I added recognition for the new UCI3 option types that are recognized in the WB
8272 option features, to make sure this version is compatible with future Polyglots.
8273 Also fixed a bug that failed to strip an asterisk prefix from the first
8274 combo-box item.
8275
8276 * I fixed the ICS-time-in-PGN bug.
8277
8278 * I fixed a bug which caused a space to be missing when long lines broken up by
8279 an ICS were joined.
8280
8281 2009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8282 better polyglot support for engine ouput
8283
8284 I fixed the algorithm for clearing the Engine Output window to work better with
8285 the latest Polyglot, whight outputs UCI "info strings" amongst the thinking
8286 output.
8287
8288 2009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>:
8289 Beginnings of installer for 4.4.0.  HGM asked me to forward the nsi file,
8290 but it seemed best to just add the installer tree to git even though
8291 it's not finished.  You must install NSIS then FontName-0.7.exe
8292 (included in installer folder) then run build.bat in the same directory.
8293
8294 2009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8295 patch backend.c to make the -noGUI option also work in ICS mode.
8296
8297 2009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8298 temporary fix for pre-select
8299
8300 As a temporary kludge I replaced looking into the holdings for the piece type
8301 by figuring out which piece would belong on the clicked holdings square.
8302 This is a non-trivial process, as it depends on which pieces participate
8303 in a certain variant.
8304
8305 2009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8306 changed click-click moves
8307
8308 I got complaints about the way XBoard 4.4.0 handles click-click moves,
8309 in particular changing the selected piece after selecting King
8310 (for which I suppressed interference with FRC castling in a rather brutal way).
8311 People tell me it is very annoying that clicks sometimes don't work to select a piece.
8312 WinBoard uses refined logic in the back-end to handle this, but the XBoard
8313 front-end is not interfaced with that yet.
8314 (This would require a major rewrite of the mouse handler.)
8315 This temporary patch suppresses this behavior in all variants that do not support
8316 Fischer castling, and even there only exhibit it for Rook-after-King selection
8317 (which will be interpreted as an attempt to enter a castling move as K x own R).
8318
8319 2009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8320 option -adjudicateDrawMoves is not included in the XBoard list.
8321
8322 added it to the option list
8323
8324 2009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>:
8325 converted files from dos to unix format
8326
8327 run dos2unix over a bunch of files
8328
8329 2009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>:
8330 Stripped out unused VersionInfo
8331
8332 2009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>:
8333 changed version to 4.4.0.beta1
8334
8335 2009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>:
8336 updated INSTALL file to add ./autogen.sh
8337
8338 2009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8339 higher number of engine options possible now
8340
8341 I upped the number of options per engine from
8342 50 to 100, and the average number of characters per option from 10 to 20.
8343
8344 2009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>:
8345 Fix of bad bug
8346
8347 2009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>:
8348 Added version information to resources.
8349
8350 2009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>:
8351 Added Jaws targets to IDE projects.
8352
8353 2009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>:
8354 Final makefile adjustments and compiling instructions.
8355
8356 2009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>:
8357 Cleaned up garbage left behind from my makefile update.
8358
8359 2009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>:
8360 Updated cmdline makefiles to be able to produce JAWS binaries.
8361
8362 This breaks support for MSVC 4.x.  It may still be possible to
8363 use that compiler if you obtain the latest SDK from Microsoft.
8364 MSVC 6.0 still works, but I had to change the target windows
8365 version to 0x500 which causes warnings about building beta
8366 applications.  This is all due to the use of MENUBARINFO data
8367 type in the jaws binary.  You can reduce the WINVER to 0x0400
8368 safely if you are not building a JAWS binary, and MSVC 4.x
8369 will work fine.
8370
8371 2009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>:
8372 Removed dependency on jfwapi.h
8373
8374 Allows anyone to compile a jaws compatible binary.
8375
8376 2009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>:
8377 Fixed duplicate resource in winboard.rc
8378
8379 PLEASE remember to pull before commiting.  This is the 2nd
8380 time I've fixed this.  It's a waste of time to keep fixing
8381 the same problems.
8382
8383 2009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>:
8384 resolved conflict between Xt and Xaw libraries
8385
8386 seems like we don't need to link against Xt.
8387
8388 2009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8389 help-menu was not un-grayed in the JAWS version, when it played with engines
8390
8391 2009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8392 integrated jaws into winboard
8393
8394 I integrated the JAWS patch now into WinBoard in such a way that the
8395 JAWS and standard version can use the same resource file. This new
8396 winboard.c contains the improved dialog layot of the JAWS version,
8397 but none of the menus and JAWS-specific acclerator keys. The latter
8398 are now generated at run time by code in jaw.s. As a result jaws.h
8399 could be cancelled, as there the JAWS-specific defines are no
8400 longer needed outside jaws.c (now the .rc does not use them), and
8401 is incorporated in it.
8402
8403 2009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>:
8404 fixed problem in autoconf using Xaw3d
8405
8406 rewrote the section for Xaw3d in the autoconf file
8407
8408 2009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>:
8409 Added Jaws support to GCC makefile
8410
8411 2009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>:
8412 added help support: MSVC IDE and DevCpp IDE project files
8413
8414 2009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>:
8415 Removed obsolete makefiles and support files.
8416
8417 2009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>:
8418 updated AUTHORS with the help of git. use
8419
8420 git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD  |sort |uniq
8421
8422 a bit of hand editing and a quick emacs macro later and you have a nice
8423 comma seperated list of all files changes by one author between two commits.
8424
8425 2009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>:
8426 updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7
8427
8428 2009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>:
8429 cleaned up some more copyright notices
8430
8431 2009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>:
8432 updated copyright to reflect A. Scotte as copyright holder
8433
8434 need to mention him, since the paperwork won't be finished before the next release
8435
8436 2009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>:
8437 updated patchlevel to "k"
8438
8439 2009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>:
8440 fixed autoconf problem with VERSION/PATCHLEVEL variables
8441
8442 xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables.
8443 Switched to PACKAGE_STRING provided by autoconf
8444
8445 2009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>:
8446 cleaned up old CVS left overs
8447
8448 removed $Id tags from all files
8449
8450 2009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>:
8451 converted xhistory via dos2unix
8452
8453 2009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8454 fixed crash in history window
8455
8456 someone discovered that opening the move-history window in XBoard leads to
8457 an immediate crash. Turns out that renaming the menu item broke it! (The
8458 name of the item was apprently used elsewhere in the code to access it,
8459 for putting a check mark there.)
8460
8461 2009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8462 fix for Animation of castling moves in Chess960
8463
8464 Animation of castling moves in Chess960 turned out to sometimes make the
8465 king disappear from the display. For the time being I patched this in
8466 xboard.c to suppress animation of FRC castling moves altogether. As FRC
8467 castlings internally are represented as KxR, the to-square does not make
8468 sense anyway, which made the animation look very weird even when it led
8469 not to a king disappearance act. And the Rook move of a castling is never
8470 animated.
8471
8472 2009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
8473 Update GCC makefile to remove .obj targets.
8474
8475 Dunno how they got in there, but they should be .o
8476
8477 2009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>:
8478 Update makefile dependencies on help.c and help.h.
8479
8480 2009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>:
8481 Allow compiling with MSVC6.0 and 4.1
8482
8483 Move prototypes into help.h, after making sure that DWORD_PTR is
8484 defined.  Include help.h from winboard.c and help.c so both files
8485 benefit from the definition.
8486
8487 2009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8488  lists these accelerator keys in the menus for JAWS
8489
8490 2009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8491 added shortcuts
8492
8493 This patch allows the use of Ctrl+C and Ctrl+V for Copy Game
8494 and Paste even in I C S mode when the board has focus.
8495
8496 2009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8497 better handling of pasting a game without PGN tags
8498
8499 patch in wclipbrd.h to make it smarter to decide between pasting
8500 a game or a position so it can handle games without PGN tags.
8501 If it doesn't parse as a FEN it is assumed to be a game.
8502
8503 2009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8504 fixed parser error for knight move
8505
8506 The parser had a strange quirk: it recognized bd2 as a valid Knight move
8507 (Nb1-d2) while this SAN format should be reserved for Pawn moves only.
8508
8509 2009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8510  fixed a few warnings in connection with the help patch (now warning free)
8511
8512 2009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8513 some major re-assignment of accelerator keys in the JAWS
8514
8515 2009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
8516 several small fixes
8517
8518 uptracked winboard.ini
8519
8520 * Cleanup: moved "Some definitions required..." from winboard.c to config.h,
8521 and combined some definitions from borland w/ MS.
8522
8523 * Changed internal HtmlHelp return type and 4th argument to facilitate various
8524 compilers.  These changes, while not strictly adhering to HtmlHelp() conventions,
8525 won't impact anything since the function modified is internal only.
8526
8527 * Modified HtmlHelp return values to integer to silence warnings.
8528 * Added help.c to the project in makefile.gcc & makefile.ms.
8529 * Fixed duplicate resource in winboard.rc.
8530
8531 2009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8532 added JAWS support; help files for Vista; bugfixes for winboard.c
8533
8534 * JAWS support
8535 * help files should now work under Vista (the user has to have either
8536   a program to view old windows help files or to view html-files installed)
8537 * I fixed the tabbing between all windows that were added according to Tim's sugestions.
8538 * I added typing in of a move number in the move type-in dialog as a shortcut
8539   to going to that position by use of the < and > buttons. Mainly intended to
8540   ease life for the blind, but I think it can be generally useful.
8541   (Although the move-history dialog provides that functionality too,
8542   this is quicker if you don't happen to have it open.)
8543 * I added typing of a FEN in the move type-in dialog in Edit Position mode.
8544   (Which could not be used without mouse at all, and is defective
8545   in crazyhouse even with mouse, as there was no way to populate holdings.)
8546
8547 2009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8548 some bugfixes: ICS error handling
8549
8550 * play a different sound for takebacks in ICS mode
8551 * pop up error messages for illegal moves for typed-in moves
8552
8553 2009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8554 removed no longer needed debug message
8555
8556 2009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8557 fixed compile error from a previous change
8558
8559 2009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8560 user selectable font in game list
8561
8562 This makes the game list use the same (user selectable) font
8563 as the the move-history window.
8564
8565 2009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8566 fixed typos in xboard.texi documentation.
8567
8568 2009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8569 updated the FAQ
8570
8571 2009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8572 changed font in engine output window
8573
8574 The engine-output window now uses the same font as the move-history window
8575 (which was selectable in the "Options  -> Fonts..." menu, while the other
8576 wasn't).
8577
8578 2009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8579 fixed some characters in xboard.texi
8580
8581 It seems that copying manual sections from the RTF to th texi file did
8582 somehow mess up the double-quote characters, and changed them into some
8583 strange (unicode?) symbols.
8584
8585 2009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8586 two shogi related bugfixes
8587
8588 I discovered a bug in the move generator for the Shogi Dragon King. I
8589 guess it went unnoticed so far because this is a promoted version of the
8590 Rook, which hardly occurs in games. (moves.c)
8591
8592 There was also a problem with the piecesfix I sent you before; Shogi
8593 chosen as initial variant did use wrong piece symbols. (I had tested this
8594 on gothic, but there it happened to work for a different reason, unique to
8595 gothic.) This affects xboard.c.
8596
8597 2009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>:
8598 small cleanup
8599
8600 2009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8601 adds bitmaps for shogi promotions, and selects the bitmaps or
8602 pixmaps for the more rarely used piece types on a per-variant basis.
8603
8604 2009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8605 adds new piece types in the promotion dialog and edit-position piece menu
8606
8607 2009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8608 updated bitmaps files: files for fairy pieces where missing,
8609 others had names that didn't work with autoloading.
8610
8611 2009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8612 fixed a bug concerning bitmaps
8613
8614 2009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>:
8615 give a default directory for bitmaps files (tiny change)
8616
8617 this is also one of the debian patches, should be rewritten to use
8618 the correct install directory. No Author was given.
8619
8620 2009-06-27 15:47:52 -0700 Brian May <>:
8621 verbose_error_message_about_recognized_options (tiny change from Debian patches)
8622
8623 2009-06-27 15:45:14 -0700 Matt Zimmerman <>:
8624 add a visual low time warning (tiny change from Debian patches)
8625
8626 2009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>:
8627 dos 2 unix conversion of backend.c
8628
8629 2009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>:
8630 exchanged some sprintf with snprintf found in a patch for the debian system,
8631 extended it a bit to other sprintf's original patch included only 11 lines
8632 by Florian Ernst <florian@debian.org>
8633
8634 2009-06-24 23:07:23 -0700 Mark Ioli <chessknight>:
8635 enabled a patch for default settings in winboard
8636
8637 2009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8638 updated copyright notice
8639
8640
8641 2009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8642 patches a bug in chosing the initial board size on a virgin startup
8643 I introduced recently
8644
8645 2009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8646 I put in testing for the winning condition in 3checks
8647
8648 on a check it just goes through the entire game to subject
8649 every position on a check test, to see if there were two more.
8650
8651 2009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8652 updated copyright notice in docs
8653
8654 2009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>:
8655 added small patch from debian (tiny change)
8656
8657 according to the debian patch tracker, this patch is by
8658 Florian Ernst <florian@debian.org>.
8659 It fixes whitespace issues in filename called from cmail.
8660
8661 2009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>:
8662 converted dos2unix format for xboard.texi
8663
8664 2009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>:
8665 deleted two more files that don't need to be in git
8666
8667 these files can be generated by autogen.sh
8668
8669 2009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8670 major overhaul of the -stickyWindows feature
8671
8672 I did a major overhaul of the -stickyWindows feature.
8673 The game-list and ICS-interaction windows are now also sticky.
8674 I also added a form of stickiness when the main window is resized;
8675 edges of auxiliary windows sticking to the right or bottom side of
8676 the main window stay attached when the window resizes
8677 (due to nr of board squares or their size). The way the window
8678 coordinates are saved in the .ini file is now relative to the
8679 main window, and some dummy options are added to be able to
8680 recognize right- and bottom-edge sticking, and reconstruct that
8681 when WB starts up with another board size. Also added are
8682 volatile options to ensure there will be space for auxiliary windows
8683 above and left of the main window.
8684
8685 2009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8686 fixed long-algebraic form of drops
8687
8688 The WB parser turned out not to understand the long-algebraic form
8689 of drops send by an ICS. (like B/@@-e4), so even with
8690 legality testing off I now use the SAN move for drops.
8691
8692 2009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8693 Refined stalemate adjudication in Suicide, some cleanup
8694
8695 Refined stalemate adjudication in Suicide, which seems to be not always won
8696 for the stalemated side, but for the side with the smallest number of pieces.
8697 Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h)
8698 Also includes a tiny change in the -autoKibitz format, as requested on
8699 Talkchess.
8700
8701 2009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8702 Enhancement of the way -autoLogo decides which logos to display
8703
8704 2009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8705 bugfix and enhancement in autoKibitz mode
8706
8707 changed the format of the autoKibitz: score/depth in stead of depth/score,
8708 as in PGN. I also supress the ICS time for the move now in the PGN
8709 if extended info is available. When enhancing the functionality of
8710 the autoKibitz command (using the opponent engine kibitz for the saved PGN)
8711 I discovered that the xengineoutput.c in our tree was obsolete,
8712 and contained a routine of which the arguments were no longer compatble
8713 with the call from backend.c, and caused segfaulting. I copied in
8714 the  corresponding routine in wengineo.c, which was compatible. That the
8715 compiler did not flag this is a sign of badly organized code, I suppose...
8716
8717 The enhancement itself affected backend.c.
8718
8719 2009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8720 modified clock layout
8721
8722 I altered the display of the clocks in the presence of engine logos; I used to
8723 stack them, but some inquiry on Talkchess sowed that people disliked the
8724 stacking. So now I display them next to each other again, but as 2-line-high
8725 fields to make room for te logos.
8726
8727 2009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8728 new zippy option zippyShortGame
8729
8730 On request of Mike Adams I added a new zippy option, -zippyShortGame,
8731 to make life more difficult for abusers of abort and disconnect for cheating.
8732
8733 2009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8734 fixed some bugs in the animation of atomic captures
8735
8736 2009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8737 some small bugfixes
8738
8739 I had overlooked one place from which the FEN writer
8740 (of whicf I changed the argument types), which made WB crash
8741 if you copied a FEN (or PGN that cotained FEN) to the clipboard.
8742 I must have overlooked a warning during compile, or some depedency
8743 is not correct in the makefile. Anyway, wclipboard.c had to be changed.
8744 I also moved adjudication of some losing conditions to before tetsing
8745 for stalemate, (e.g. in atomic, if your king get destroyd you lose,
8746 even if you have no moves after that because it was your only piece.).
8747 this affects backend.c.
8748 I had used the same bits in the rule-modifier flags for indicating
8749 mandatory capture as was already used for indicating FRC-style castling.
8750 This led to frequent illegal move calls in FRC... (moves.h)
8751
8752 2009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>:
8753 cleaned up HTML in FAQ.html -- still need to work on content
8754
8755 2009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8756 added option for work-around for some FRC engines in regards to FRCFENs
8757
8758 It suddenly occurred to me that I had promised on CCC to include an option
8759 to provide a work-around for the problem that some FRC engines do not
8760 understand FRC FENs (and thus do not play at all under WinBoard,
8761 as FRC always has to begin with sending the initial position).
8762 So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN.
8763 This affects winboard.c and xboard.c, (for defining the option),
8764 common.h, backend.h, backend.c, (for implementing it),
8765 xboard.texi and winboard.rtf (decribing it).
8766 This option provides users with a means to always force the FEN castling field
8767 to KQkq (but can be used for many other work-arounds as well).
8768
8769 2009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8770 fixed bug with random calls
8771
8772 There also seemed to be a bug with the shuffling of opening positions;
8773 I had changed the declaration of the position number from
8774 long long int to u64 to comply with MSVC, but this suppressed shuffling
8775 completely. I now changed it to int. I recently noted a problem with true
8776 randomizing anyway: this was based on srand(time()), but time() apparently
8777 did not change fast enough, so that starting several games in rapid succession
8778 (because the book line contained a 3-fold repetition) produced identical games.
8779 So I now seed the random once and for all during startup, based on the msec of
8780 the time mark, and removed the other calls to srand().
8781
8782 2009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8783 changed name for fairymax program in xboard.h
8784
8785 2009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8786 removed my name from copyright message in help->about menu
8787
8788 2009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8789 fixed -stickyWindows option
8790
8791 I figured out why -stickyWindows was not working in XP and Vista
8792 (while it always worked under Win2K), and I think I found a fix for
8793 it that works under all Windows versions. (I tried XP and Win2K.)
8794
8795 2009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8796 Updated docs for Engine-Settings menu
8797
8798 2009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8799 Awareness of winning conditions for atomic and giveaway variants; two bugfixes
8800
8801 fixed bug in claim verification
8802 Bugfix on initial position of Great Shatranj
8803
8804 2009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8805 Legality testing (mandatory capture) in giveaway variants
8806
8807 2009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>:
8808 don't ignore winboard/parser.c
8809
8810 2009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8811 Added new variant Twilight Chess
8812
8813 2009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8814 some renaming and restructuring of WB menu items, to conform more to XBoard
8815
8816 2009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8817 Fixed bug in atomic patch that interfered with non-atomic variants
8818
8819 2009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8820 fixed different use of engine option compared to Polyglot
8821
8822 it turns out the new Polyglot uses a sightly different version
8823 of the GUI->engine option command than the one I proposed
8824 (and implemented in XBoard; Michel sneaked in an '=' sign
8825 between the NAME and VALUE of the option, to allow for
8826 more unambiguous parsing. I guess in principle this is a good idea,
8827 so I adapted XBoard to Polyglot rather than the other way around.
8828 The result is that there are canges in xboard.c, and the documentation.
8829 I noticed that I unjustly had internationalized the option strings
8830 to be send to the engine in xoptions.c; this was of course nonsense,
8831 as this was WB protocol. So I undid that too.
8832
8833 2009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8834 add the already supported variants 3check and great (=Great Shatranj)
8835 to the New Variant... menu.
8836
8837 2009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8838 animate explosions in variant atomic (if animate moves is on).
8839
8840 2009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8841 fixed castling bug in variant twokings.
8842
8843 2009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8844 fixed forteitary wins for special game variations
8845
8846 feature that corrects forfeitary wins (e.g. on time)
8847 of a bare King to draws of course breaks proper operation
8848 in losers, suicide and giveaway
8849
8850 2009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8851 automatically test ini file extension for files from commandline option @filename
8852
8853 The winboard.c is a patch that automatically tries indirection files on the
8854 command line (@filename type arguments) also with an extension .ini if the name itself
8855 did not match any existing file and contained no period. This saves the user typing the
8856 .ini all the time (which I started to find pretty annoying while working on the installer
8857 package).
8858
8859 2009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8860 added gamelisttag option to xboard
8861
8862 also updated documentation.
8863
8864 2009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8865 updated RTF file for winboard
8866
8867 2009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>:
8868 fixed syntax error in texi file
8869
8870 2009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>:
8871 updated to patchlevel "j"
8872
8873 2009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8874 fixed adjudicating probelm in Shantranj
8875
8876 Refrain from adjudicating a draw based on insufficient mating material
8877 (except bare King vs bare King) in Shatranj (where in this case you can
8878 still win by baring the opponent's King).
8879
8880 2009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8881 updated documentation and FAQ
8882
8883 2009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8884 source clean up. Fix compiler warning, removed unused variables, etc.
8885
8886 2009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>:
8887 adding support for different windows compiler
8888
8889 Eric kindly provided us with some makefiles for different windows
8890 compiler and also fixed some issues that came up while using those compilers.
8891
8892 2009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>:
8893 cleanup: got rid of a lot of files that are not needed for a new release
8894
8895 lots of documentation was available in several places,
8896 old unused source files and not used graphics file were floating around
8897 in the tree. This should clean up most of it. No need to keep these files
8898 around, especially since we are using version control.
8899
8900 2009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8901 Added the Action-menu items that allow the user to adjudicate
8902 ongoing games in Two-Machines mode. This was an already existing
8903 backend function from Winboard_x; I only had to create a menu item for it
8904 to be called. Due to an oversight I had forgotten to do that so far.
8905 (Logically, I should have done it in the 4.3.5 release,
8906 where I updated the XBoard menus to conform to the WinBoard menus.)
8907
8908 I tested them, and they seem to work. (As expected.)
8909
8910 2009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>:
8911 updated patchlevel to "i"
8912
8913 2009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8914 small change to mousewheel support; two changes in window behaviour
8915
8916 * Visible effects during resizing suppressed, bug in chosing new size fixed.
8917 * No longer reserves left and top margins next to main window on first popup.
8918 * built in some hysteresis into mousewheel support, ignorng the first event in any new
8919 direction to suppress effects from accidential mouse movement.
8920
8921 2009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8922 corrected 'animate dragging'
8923
8924 I finally figured out how the 'animate dragging' works in XBoard,
8925 so that I could add code to do the unstacking of multiple pieces
8926 in the holdings, rather than always leaving an empty square while
8927 you drag them. (And then suddenly re-growing the remaining pieces
8928 as you make the drop.)  It does not look as fancy as in WinBoard
8929 yet, because the counts still only decrease when you release the
8930 piece, rather than when you lift it. But this is not nearly as
8931 disturbing as leaving empty holdings (if only temporarily) when
8932 you still have pieces there.
8933
8934 2009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8935 Added comand-line options -debugFile (as synonym for -nameOfDebugFile,
8936 as WinBoard also has these synonyms), and -engineDebugOutput
8937 (wich already existed in the backend).
8938
8939 2009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8940 updated documentation for new release
8941
8942 2009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8943 added Xiangqi perpetual-chase detection
8944
8945 2009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>:
8946 Updated all files to GPL version 3.
8947
8948 2009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>:
8949 converted two files from dos to unix format
8950
8951 2009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>:
8952 updated INSTALL, NEWS and other files for new release
8953
8954 cleaned up a bit and updated some information in the text files.
8955
8956 2009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>:
8957 winboard/config.h shouldn't be in .gitignore, only ./config.h
8958
8959 2009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8960 bumped patchlevel to 0g
8961
8962 2009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8963 corrected path in makefile
8964
8965 2009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8966 updated rtf
8967
8968 2009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8969 added firstOptions, secondOptions, noGUI, firstXBook, secondXBook
8970
8971 2009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8972 handle promotion case for Shogi
8973
8974 2009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8975 add note about RESULT command for GUI programmers
8976
8977 2009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
8978 small changes to book.c
8979
8980  added code for different board sizes
8981  added some debuginfo
8982  handle promotion of pieces
8983
8984 2009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>:
8985 added a .gitignore file
8986
8987 2009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>:
8988 wrong line ending for Unix... ran dos2unix on both files
8989
8990 2009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>:
8991 fixed texinfo files, added windows help file, removed config.h from git
8992
8993 texinfo.in is not needed anymore, since it only provided a
8994 version string, but this can be created automatically using autotools
8995
8996 deleted config.h from version control, since it is automatically created.
8997 added winboard.hlp file (not sure if needed)
8998
8999 2009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>:
9000 updated autoconf init file
9001
9002 * renamed autoconf init file from configure.in to configure.ac
9003 * added bug-report email address to ac_init
9004 * replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output
9005
9006 2009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>:
9007 parser.c is generated by lex, so it shouldn't be tracked
9008 and also parcer.c shouldn't be in Makefile.am
9009
9010 2009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>:
9011 added book.c to Makefile.am
9012
9013 2009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>:
9014 use autoheader to create config.h.in
9015
9016 no need to track this in git anymore
9017
9018 2009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>:
9019 fixed autoheader warings, remove depreciated acconfig.h
9020
9021 2009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>:
9022 added a autogen.sh
9023
9024 2009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9025 changes from H.G. Muller; version 4.3.16
9026
9027 2009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9028 changes from H.G. Muller; version 4.3.15
9029
9030 2009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9031 changes from H.G. Muller; version 4.3.14
9032
9033 2009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9034 HGM fixed cygwin compile for winboard
9035
9036 2009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>:
9037 cross compilier working
9038
9039 2009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9040 changes from H.G. Muller; version 4.3.13
9041
9042 2009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9043 changes from H.G. Muller; version 4.3.12
9044
9045 2009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9046 changes from H.G. Muller; version 4.3.8
9047
9048 2009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9049 changes from H.G. Muller; version 4.3.7
9050
9051 2009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9052 changes by H.G. Muller; version 4.3.4
9053
9054 2009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9055 changes from H.G. Muller; version 4.3.2
9056
9057 2009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
9058 changes from H.G. Muller
9059
9060 2009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>:
9061 cleaned up the directory a bit. Removed winboard-dm-beta,
9062 merged the two Changelogs together
9063
9064 2009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>:
9065 changes from Alessandro Scotti from 20060129
9066
9067 2009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>:
9068 changes from Alessandro Scotti from 20060112
9069
9070 2009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>:
9071 changes from Alessandro Scotti from 20051231
9072
9073 2009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>:
9074 changes from Alessandro Scotti from 20051129
9075
9076 2009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>:
9077 changes from Alessandro Scotti from 20050322
9078
9079 2009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>:
9080 translated a handfull of strings and set the codeset to UTF-8
9081 for the translations.
9082
9083 2009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>:
9084 Translation: added German po file (roughly 50% translated)
9085
9086 2009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>:
9087 fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi
9088
9089 2009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>:
9090 fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in
9091
9092 2009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>:
9093 fixed a warning message in the configure script
9094
9095 2009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>:
9096 fixed parser.l. Should fix bug #22812
9097
9098 2009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>:
9099 fixed parser.l. Should fix bug #22812
9100
9101 2009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>:
9102 added myself to the AUTHOR file
9103
9104 2007-06-15 04:26:57 +0000 Mark Loli <chessknight>:
9105 Initial check-in of NSIS Winboard installer files.
9106
9107 * 06/12/2005: bugfix some more possible buffer overflows.
9108
9109 * 06/27/2004: added simple icsEngineAnalyze for xboard
9110
9111 * 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games
9112 with a chessprogram on a Internet Chess Server (ICS)
9113
9114 * 02/12/2004: Bugfix ICS interaction console crashed while chess
9115 engine starting and user type in some stuff. We wait now to finish
9116 the engine boot.
9117
9118 * 02/11/2004: Winboard: Added color lines for the ics interaction
9119 console if zippy used
9120
9121 * 02/09/2004: Added mousewheel support for winboard. Play moves
9122 backward and forward with the mousewheel.
9123
9124 xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann
9125
9126 * 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output
9127 to WinBoard.debug too.  (This isn't needed in xboard because ICS
9128 output already goes to stdout, so it's easy to capture along with the
9129 debug output on stderr.)  This was issue #280 in the ToDo file.
9130
9131 * 11/23/2003: Cleaned up some minor problems in cygwin.mak.  Thanks to
9132 Hans Werner Strube for the problem report.
9133
9134 * 11/23/2003: Updated the default list of chess servers in
9135 winboard/defaults.h.  Deleted two that appear to be dead and added a
9136 new one that is active.
9137
9138 * 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.
9139 Hopefully this will get them the right way around by default on more X
9140 window managers.  I wish I understood this better.
9141
9142 * 11/18/2003: Implemented a simple 32-bit random number generator for
9143 WinBoard, replacing the Windows rand(), which ranges only up to
9144 0x7fff.  Formerly on Windows, only zippy.lines sayings that started in
9145 the first 32767 bytes of the file could ever be used.  This was issue
9146 #505 from the ToDo file.
9147
9148 * 11/16/2003: The xboard man page and info files are now built from a
9149 common set of texinfo source files, and the xboard man page now covers
9150 cmail as well.  Formerly, ever since the texinfo file was first
9151 contributed to the project, it was separate from the man page and the
9152 two files had to be updated in parallel, making for a maintenance
9153 nightmare.  To make combining the files possible, I took the Perl
9154 script "texi2man" from the GNU Units project and added support for a
9155 larger subset of the texinfo markup language.  I then carefully
9156 compared the old man page and old texinfo file to make sure the latest
9157 and clearest words survived into the new combined texinfo file.  It
9158 would be great to merge in WinBoard's help file too, but that's a
9159 larger project.  It would have to be heavily conditionalized to
9160 deal with differences in features between XBoard and WinBoard.
9161
9162 * 11/15/2003: Cleaned up and applied a small patch from Daniel
9163 Mehrmann, to stop overly long PVs in thinking output from causing a
9164 buffer overflow crash in backend.c.
9165
9166 * 11/5/2003: When a chess engine sends a "telluser" command (including
9167 the cases where "tellall" or "tellopponent" acts like telluser), the
9168 information now goes into a nonmodel popup that is automatically
9169 dismissed when the user clicks anywhere on the board.  This fix is
9170 more significant on WinBoard, where formerly you got a fully modal
9171 dialog that had to be dismissed by clicking on OK before anything else
9172 could happen.  The bug was issue #406 in the ToDo file.
9173
9174 * 11/1/2003: Removed email addresses from this file to reduce spam
9175 load, as it gets linked to from the Web.
9176
9177 * 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.
9178
9179 * Modified xboard and winboard makefiles to be able to build the
9180 project in the new combined directory structure.
9181
9182 * Applied a small security fix to pxboard, from Martin Maeok.
9183
9184 * Fixed a bug in the game list dialog.  The change in 4.2.6 to opening
9185 games in text mode (meant to avoid getting extra \r's into comments)
9186 caused a new bug in determining seek offsets when parsing a game file
9187 to form the game list.  Also, the change was incomplete; on some code
9188 paths games were still being opened in binary mode.  Thanks to Lenik
9189 Terenin for reporting the offset bug.  I've now gone back to always
9190 using binary mode when reading game files, and I've fixed the comment
9191 bug by adding code to remove \r's from parsed comments explicitly.  I
9192 still use text mode for writing game files so that games written by
9193 WinBoard will have Windows-style line endings.
9194
9195 * Fix for minor bug in WinBoard installer.  If you chose a non-default
9196 destination directory, the default directory was still used for a
9197 couple of unimportant things, namely setting the App Paths registry
9198 keys (unused by WinBoard) and trying to copy the existing WinBoard.ini
9199 file to WinBoard.old.  I inherited this bug from the InstallShield 5
9200 sample template.  Thanks to "l.d." for noticing the incorrect keys.
9201
9202 * Patch from Chris Priest: when two engines are being run through rsh,
9203 avoid reusing the same stderr port for both.  I'm not sure why this
9204 should be needed, but it's harmless, at least.
9205
9206 * Bugfix: The kludge to deal with old engines that give an error
9207 message because they don't know the "st" command was too sloppy; it
9208 could hit on an "st" substring anywhere in an error message.  GNU
9209 Chess 4 is the only engine I know of where the kludge was needed, so I
9210 changed the kludge to match a longer, more GNU-specific string.
9211
9212 * Changed the WinBoard self-extracting installer to choose a unique
9213 temporary subdirectory name within the Windows temp directory instead
9214 of always putting wb-setup directly in temp.  Besides being better
9215 practice, this avoids the need to deltree wb-setup first, which
9216 occasionally alarms someone who thinks that deltree is only used by
9217 trojans to delete all your files.  (Yes, I'm serious.)
9218
9219 * Fixed a bug where FICS-style "wild/0" strings were not parsed as the
9220 proper wild type.  The "/" was not being skipped.
9221
9222 * Fixed a WinBoard bug where temporary files created by game
9223 copy/paste were being created in the root directory of the current
9224 drive instead of the TMP directory and were not always deleted on exit.
9225
9226 * Fixed a small bug in winboard.c's ErrorDialog() function.  Thanks to
9227 "Ron" (no last name given).  The bug might have caused a problem when
9228 pressing OK or Cancel in an error dialog when more than one error
9229 dialog was being displayed, but I'm not really sure.
9230
9231 * Removed a hack that worked around a bug in very old versions of
9232 Crafty, where it would sometimes reply "illegal move" to a "."
9233 command.  The hack kept us from recognizing real illegal move messages
9234 in analyze mode from engines that don't respond to the "." command.
9235 Thanks to Fabien Letouzey for the report.
9236
9237 * Fixed a bug in the xboard version of GetDelayedEvent.  It would
9238 return the most recently scheduled event even if it had already fired.
9239 This caused at least one visible error: in -ics -xreuse mode, starting
9240 the engine again and seeing another "feature done=1" would re-run the
9241 initialization code in InitBackEnd3, including the code that opens the
9242 connection to ICS.  The WinBoard version didn't have this bug.  Thanks
9243 to Bob Hyatt for the bug report.
9244
9245 * The promotion popup for ICC wild 26 (giveaway) now includes King.
9246 Thanks to Fredrik Josefsson for the bug report.
9247
9248 * The first game in a file (or being pasted from the clipboard) can
9249 now start with a bare move -- no PGN tags, no move number "1", etc.
9250 Suggested by Shane Harrelson.  One could imagine taking this farther
9251 and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but
9252 I haven't done that.
9253
9254 * Bug fix: xboard didn't really accept a paste of multiple games,
9255 contrary to what I wrote when adding the feature to WinBoard in
9256 4.2.4.  Now it works in both.
9257
9258 * Fixed generic start/end of game messages to work on chess.net, where
9259 they put ratings in parens after the player names.
9260
9261 * Updated config.sub and config.guess to newer versions from
9262 automake-1.4p5-2.  This makes configure work with MacOS X + X11.
9263
9264 * Bugfix: when examining a game fragment on FICS where black plays
9265 first, don't show two "(0:00.000)" times on the initial "none" move.
9266
9267 * If TestLegality is on and one of the engines makes an illegal move
9268 in TwoMachines mode, it forfeits immediately.  Formerly the game would
9269 get stuck at that point and the engine that made the illegal move
9270 would eventually lose on time.
9271
9272 xboard/WinBoard 4.2.6 -- Fri Feb  1 22:26:31 PST 2002
9273 Tim Mann
9274
9275 Another small bugfix release.
9276
9277 * Put in a small change from Alexander Mai to allow xboard to build in
9278 an OS/2 EMX environment.
9279
9280 * Fix WinBoard-only bug where editing a PGN file with comments would
9281 insert more \r characters before the \n after every Load/Save cycle.
9282 For some unknown reason we were reading the files in "rb" mode but
9283 writing them in "a" mode, so we kept the \r characters on reading and
9284 added an extra one on writing.  Fix: change the "rb" to "r".  Thanks
9285 to Joel (last name not given) for the bug report.
9286
9287 * Put the arguments to rsh/remsh in the right order for better
9288 portability.  Thanks to Michael Kalisz.
9289
9290 * FreezeUI is now implemented in WinBoard; it was previously only
9291 implemented in xboard.  This function prevents the user from entering
9292 moves or other commands while we are waiting for an engine to
9293 initialize itself.  Implementing it fixes a bug where the user could
9294 start a game (etc.) during feature negotiation.  One of the symptoms
9295 of this bug was that we could send "new" one or move moves *after* the
9296 first game started!
9297
9298 * Fixed some handle leaks (WinBoard only), including a nasty one that
9299 leaked one handle per command sent to ICS.  Thanks to several folks
9300 who helped characterize the bug and tried to look for leaks.
9301
9302 * We now install and look for the info file in ${prefix}/share/info
9303 instead of ${prefix}/info.  The latter is still the default in
9304 autoconf, but the former is currently used in Red Hat Linux and
9305 probably elsewhere.
9306
9307 xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001
9308 Tim Mann
9309
9310 * Changed the bundled GNU Chess 5.02 in the WinBoard package to
9311 include a much smaller book and to use much less hash table space by
9312 default (8 MB transposition table, 0.5 MB pawn evaluation table).  The
9313 large book included with 4.2.4 made the WinBoard download too big for
9314 some people, and the default hash tables were larger than the
9315 available physical memory on some people's computers. I built the
9316 small book by running Crafty's "small.zip" book line collection
9317 through a Perl script that makes it look enough like real PGN games
9318 that the GNU Chess book builder will accept it.  The script and some
9319 minor patches to GNU Chess 5 are available in the WinBoard source
9320 distribution and at http://www.tim-mann.org/gnuchess.html.
9321
9322 * Fixed a bug in the code that deals with engines that complain that
9323 "time" and "otim" are illegal moves.  This was a new bug in 4.2.4.
9324
9325 * Revamped the implementation of ToStart in analysis mode.  Formerly
9326 there was some ill-conceived code that would try to get back to the
9327 start of the game by doing a "new" command (and all the followup
9328 commands that requires) while remaining in analysis mode.  This is
9329 problematic for engine authors to support, though it works with
9330 Crafty.  This code was trying to solve the problem of ToStart being
9331 slow because the engine would try to start an analysis after every
9332 "undo" command all the way back to the start.  But ToEnd already had a
9333 much better solution to this problem, and now ToStart does the same
9334 thing: we exit from analysis mode and enter force mode instead,
9335 make/unmake moves to get to the end/start of the game, and then
9336 reenter analysis mode.
9337
9338 * Formerly, Zippy could try to start playing a game before the engine
9339 was initialized; that is, during the initial timeout for protover 1
9340 engines, or before "feature done=1" for protover 2 engines.  We now
9341 wait until the engine is initialized before connecting to ICS, which
9342 fixes this in the common case.  If you turn off engine reuse for
9343 multiple games (that is, if you give the -xreuse option), there could
9344 still be problems; see item 503 in the ToDo file.  Thanks to Dieter
9345 Buerssner for the bug report.
9346
9347 * Bugfix: All WinBoard versions since the merge with WinBoard Plus
9348 (but not xboard) have had a bug in changing the PeriodicUpdates,
9349 PonderNextMove, and ShowThinking options from the menu.  The bug
9350 mostly just caused changing these options during a game to not take
9351 effect until after the next reset.  For TwoMachines games, though,
9352 changing PonderNextMove just before the game would take effect
9353 immediately for the second engine but not until the next game for the
9354 first engine.  Thanks to Koundinya Veluri for the bug report.
9355
9356 * Bugfix: In 4.2.4, we sometimes got confused when trying to leave and
9357 reenter analyze mode.  One symptom was that Analyze File did not work.
9358 Thanks to Igor Syry for the bug report.
9359
9360 xboard/WinBoard 4.2.4 -- Sun Dec  9 14:56:30 PST 2001
9361 Tim Mann
9362
9363 * WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.
9364
9365 * WinBoard's PasteGameFromClipboard will now handle a paste with
9366 multiple games in it, popping up the game list dialog.  xboard
9367 already did this.  Suggested by Robert Gerstman.
9368
9369 * We now use the "clearboard" command on ICC where appropriate.
9370
9371 * Bugfix: don't generate a bogus "variant normal" command to an engine
9372 for the loadable ICC wild types that we internally flag as
9373 VariantLoadable.  Also clarified the message that Zippy sends when
9374 declining such wild games -- it can't deal with the possibility of
9375 loading an arbitrary position into the game.  Thanks to Dieter
9376 Buerssner for reporting the problem.  It would be nice to be able to
9377 actually play these wild types some day; presumably there would have
9378 to be an option to either send "loadgame" with a specified position,
9379 or to deal with an opponent sending it.
9380
9381 * If we get a holdings message from ICS when we thought we were
9382 playing normal chess, we now try asking for a move list so that we can
9383 find out from the header what's really happening.  Formerly we guessed
9384 bughouse in this case.  Response to a comment from Gian-Carlo
9385 Pascutto.
9386
9387 * Fixed two longstanding bugs in the clock code.  These affected only
9388 play between a user and a local engine, or between two local engines,
9389 not ICS play.  (1) The last fractional second used by a player before
9390 moving and virtually pushing his clock was being charged to his
9391 opponent instead of to him.  (2) The time and otim commands were being
9392 sent to an engine before the (buggy) fractional second update was
9393 done.  The second bug was pretty harmless in itself, but the first one
9394 was serious.  Many thanks to Peter Rosendahl for carefully diagnosing
9395 and reporting these bugs!
9396
9397 * Changed WinBoard timestamp key.  Nothing is changed other than the
9398 key and a recompilation.  ICC may phase out the old key soon; if they
9399 do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later
9400 to connect to chessclub.com.
9401
9402 * Fixed an xboard-only bug where most dialogs would not take keyboard
9403 input unless the mouse was actually over the dialog, even if the
9404 dialog window had focus.  Thanks to Jason Varsoke for the bug report.
9405
9406 * Bugfix; Remember to send time and otim commands to engine before
9407 sending playother.  Thanks to Bob Hyatt for the bug report.  Also
9408 fixed a bug where time and otim were sometimes sent even with feature
9409 time=0.
9410
9411 * Added small patches from Wilkin Ng that are meant to fix a crash in
9412 CopyGameToClipboard and a "can't unlock clipboard memory" error in
9413 PasteTextFromClipboard, under Windows 2000.
9414
9415 * Changed cygwin.mak to not use -mno-cygwin.  In other words, it now
9416 uses cygwin1.dll instead of the mingw libraries.  This works around
9417 bugs in fileno() and stat() that I encountered in mingw.  (fileno
9418 seems to always return 0.  stat fails because the library routine uses
9419 a different definition of struct stat than the header files provide.)
9420 Thanks to Robert Gerstman for reporting the symptoms these bugs caused
9421 when WinBoard was compiled with Cygwin.
9422
9423 * Added -showButtonBar option.  This lets you delete the << < P > >>
9424 buttons and thus widen the message widget a bit.
9425
9426 * Added code to address a very obscure bug.  If an engine dies and
9427 needs to be restarted while in one of the analyze modes, it was not
9428 getting put back into analyze mode.  This bug should not really ever
9429 have gotten tickled unless reuse was turned off and the engine sends
9430 game end commands (such as 1-0) when a game ends by rule while in
9431 analyze mode.  The next version of the protocol spec will say that
9432 engines should not do that, but version 2 and earlier didn't address
9433 the issue.
9434
9435 * We now use the FICS "iset ms 1" feature to get times in ms instead
9436 of seconds.  Thanks to DAV for email telling me about this feature.
9437
9438 * Changed clock display to show tenths of seconds for 9.9 seconds and
9439 less, instead of 0.9 seconds and less as before.
9440
9441 * It has been discovered that Zippy can play simuls on ICC (but not on
9442 FICS).  If you arrange for Zippy to send the ICC command "simulize" in
9443 the -zippyGameStart string, it will accept additional games while
9444 playing.  Zippy will use the same engine for every game, so whenever
9445 it switches opponents, the engine's state will be reset with the "new"
9446 command.  This will of course weaken its play, so don't enable simuls
9447 if you want your engine to have the highest possible rating.  Zippy
9448 was never designed to work with simuls; it just works by accident, and
9449 it hasn't been tested much.  So please report any bugs you notice, but
9450 don't expect them to be fixed rapidly.  Thanks to Paul McGuire for
9451 noticing that this works.
9452
9453 * Bugfix: Suppress the direct command to engine popup if there is no
9454 engine.  In WinBoard this case used to cause a crash.  Thanks to
9455 "Dargon" for the bug report.
9456
9457 * Bugfix: formerly we did part of the engine initialization for the
9458 very first game too soon, before feature negotiation.  One result of
9459 this is that engines would never get the "ics" command for the first
9460 game.
9461
9462 * Lengthened timeout to detect protocol version 1 chess engines to 10
9463 seconds.  This should reduce problems with protocol version 2 engines
9464 that are slow to initialize missing the timeout and not getting a
9465 chance to send their feature commands before the first game starts.
9466
9467 * Klaus Friedel says that adding a short sleep to WinBoard after
9468 starting a new chess engine solves a problem that occurs under Windows
9469 2000, in which engines sometimes don't see the initial command(s) from
9470 WinBoard and hang.  I don't understand how that can happen, but the
9471 sleep is harmless, so I've put it in.  Others have also reported what
9472 may be the same problem, so hopefully this will fix it for them too.
9473
9474 * Bugfix: editing the Result field in EditTags will no longer cause a
9475 later crash.  Thanks to DAV for a clear bug report that let me
9476 reproduce the problem.
9477
9478 * ICC wild 28 is now recognized as shatranj, but it is not supported.
9479 You might be able to play it by turning off Test Legality.
9480
9481 * Formerly we would always turn off "feature time" if the engine
9482 printed an error message with the string "time" or "otim" in it; now
9483 we do that only if the message comes before the engine makes its first
9484 move.  This change is useful because some engines spew a lot of bogus
9485 error messages about commands they don't fully parse, so something
9486 like "result 0-1 {White lost on time}" could generate such a message.
9487 Engines shouldn't do that, but if they do, mysteriously turning off
9488 "feature time" is not a good way to react.
9489
9490 * Fixed an infrequently occurring Zippy bug: formerly, resuming from
9491 adjournment by position (that is, with GetMoveList turned off) or
9492 starting/resuming a wild game (nonstandard starting position) would
9493 try to set up the position without putting the engine into force mode
9494 first.  That was probably tolerated by most engines, but if the
9495 position was black-to-play and the engine hadn't set feature
9496 setboard=1, then the fake "a2a3" move (which we use as a kludge to get
9497 black to be on move before sending the edit command) would appear to
9498 be a real move, and the engine might reply to it!  This bug could also
9499 be seen when trying to use Zippy to play a simul -- something that
9500 Zippy was never designed to support, but which seems to mostly work
9501 anyway.  Thanks to Paul McGuire for sending a WinBoard.debug file that
9502 showed the bug occurring.  Some other cases of resuming adjournments
9503 or starting games from nonstandard positions may have been broken too;
9504 I think I've straightened out the problems.
9505
9506 * Agreeing to a draw in the human vs. local engine case formerly did
9507 not work if the human offered first; now it does.  A human's
9508 unsolicited offer is considered valid until he makes another move.
9509 Thanks to Bruce Moreland for the bug report.
9510
9511 * Bugfix: We used to look for just "fr" in Event tags or strings from
9512 ICSes to recognize Fischer Random games.  This caused a lot of false
9513 matches.  Now we look for "wild/fr" instead, which is what FICS uses.
9514
9515 * Bugfix: Clicking on a move in the MoveList window only updated the
9516 displayed position; if a chess engine was active, its state was not
9517 updated.  Thanks to Alejandro Dubrovsky for the bug report.
9518
9519 * Bugfix: The "resign" command from engine to xboard formerly did not
9520 work in ICS (Zippy) mode.
9521
9522 * Bugfix: Formerly we would register a garbage premove if the user
9523 clicked on a piece, then clicked on an edge or outside the board.  Now
9524 such an errant click is ignored.
9525
9526 * Bugfix: GameEnds would send "exit" to an engine in analyze mode even
9527 if we did not actually want to leave analyze mode.
9528
9529 * Bugfix: "feature pause" was being rejected.  We don't currently use
9530 it, but that is no reason to reject it.  Thanks to Gian-Carlo Pascutto
9531 for the bug report.
9532
9533 * Bugfix: when "partner" needed to be sent both to ICS and the engine,
9534 Zippy was erroneously sending the ICS prefix character to the engine
9535 too.  Thanks to Gian-Carlo Pascutto for the bug report.
9536
9537 * Zippy now declines challenges when the engine is not yet ready to
9538 play again, instead of ignoring them.  This is needed so that the
9539 server will let the opponent repeat the challenge.  It might be better
9540 to remember such challenges and accept them when the engine is ready,
9541 but that would be a bit more complicated to implement.
9542
9543 * Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a
9544 built-in alias for "it", not a real command.  So sending "$i foo" gave
9545 an error message instead of doing "it foo".  We now leave out the
9546 alias-suppressing prefix for emotes.
9547
9548 xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001
9549 Tim Mann
9550
9551 * Bugfix: The error message "Variant X not supported by gnuchessx"
9552 formerly could pop up even in -ncp mode.
9553
9554 * Fixed an xboard bug in premove highlighting.  If you had
9555 HighlightLastMove turned on, premoves got highlighted in
9556 highlightSquareColor (yellow) instead of premoveHighlightColor (red).
9557
9558 * Modified premove again.  Now we are back to displaying the move
9559 locally immediately after sending it to the server, as in versions
9560 prior to 4.2.1.  This is good because it lets you register your next
9561 premove sooner.  As a better fix to the problem that the change in
9562 4.2.1 had been trying to address, we now suppress animating the
9563 opponent's move if you have a premove reply pending.  However, it's
9564 probably still a good idea for you to turn off AnimateMoves entirely
9565 if you are trying to play extremely fast games.
9566
9567 * Removed an erroneous patch that left zombie chess engines around
9568 when both sigterm and reuse were turned off.  (Bug was in xboard only,
9569 not winboard.)
9570
9571 * Bugfix: loading a game with autostepping did not work for games with
9572 PGN result "*" (unfinished).  This bug was introduced in 4.1.0, caused
9573 by some outdated code that was supposed to leave you in EditGame mode
9574 after loading an unfinished game.  I fixed this, and also changed it
9575 to leave you in EditGame mode after loading *any* game, but without
9576 changing the tags to say it's an edited game.  It's not really clear
9577 whether that is the best thing is to do here -- ideally, perhaps, the
9578 tags should change to say "edited game" if you actually make any
9579 changes, but that is harder to make work.
9580
9581 xboard/WinBoard 4.2.2 -- Tue Feb  6 20:00:00 PST 2001
9582 Tim Mann
9583
9584 * Fixed a problem introduced in 4.2.1.  In -zippyPlay mode, 4.2.1
9585 started sending the initString immediately after the old game ended,
9586 but then when the next game started, it would still send "force" and
9587 another initString.  Another problem was that the first initString put
9588 the engine out of sync with the displayed board position, though that
9589 might not usually have been noticeable.  This is now changed to do a
9590 full Reset at the end of the previous game, and avoid doing a Reset at
9591 the start of a new game if we are still in BeginningOfGame mode.
9592
9593 * Fixed some limitations in -zippyPlay mode.  The engine was not being
9594 fed the moves or history of games that were displayed but not being
9595 played, so it would get confused if you tried to do something like
9596 examine a game, then enter EditGame mode from somewhere in the middle
9597 of the game.
9598
9599 * Made a small change so that cygwin can compile xboard for Windows
9600 (an X server is required to run it).  Thanks to Volker Zell.  Most
9601 people would probably prefer to run WinBoard on Windows, however; note
9602 that cygwin could already compile WinBoard.
9603
9604 * Added some missing documentation to engine-intf.html: It is okay to
9605 send "feature done=0" even before you receive the xboard and protover
9606 commands, if this is needed to give your engine enough time to
9607 initialize.  See engine-intf.html for more discussion.
9608
9609 * Bugfix: "feature done=0" did not work for the second engine; now it does.
9610
9611 xboard/WinBoard 4.2.1 -- Sat Feb  3 19:52:26 PST 2001
9612 Tim Mann
9613
9614 * Bugfix: in Zippy mode with feature san=1, the elapsed time was being
9615 sent to the engine after the SAN move; for example, "e4 (0:01)" was
9616 sent instead of just "e4".
9617
9618 * It seems that scroll wheel mice with incompletely installed software
9619 (under Windows 95, at least) can send repeated middle button up events
9620 when the wheel is turned.  Moved QuickPaste from middle button up to
9621 middle button down to avoid problems with this.
9622
9623 * A premove is now sent *before* the opponent's move that it replies
9624 to is animated.  The premove itself is no longer displayed (or
9625 animated) when sent; instead, it is displayed when the chess server
9626 echoes it back as a board update.
9627
9628 * Bug fix: in -xreuse mode, xboard was only sending command line
9629 arguments to the engine the first time it was started.  (WinBoard
9630 didn't have this bug.)
9631
9632 * In -zippyPlay mode, we now initialize the chess engine for a new
9633 game immediately after the old game ends.  (In -xreuse mode, this
9634 means starting a new engine process; in the default -reuse mode, it
9635 just means sending "new".)  If the engine supports ping, we don't
9636 accept challenges until the "new" has finished.  This should help
9637 avoid losing time (re)initializing the engine after the game starts.
9638
9639 * We now handle the new FICS field in style 12 that says whether the
9640 clocks are ticking.
9641
9642 * whiteFlag and blackFlag are now reset whenever an ICS board image
9643 arrives, giving autoflag a fresh chance to work.
9644
9645 * Suppressed "geometry error" debug messages unless -debug flag is given.
9646
9647 * Bugfix: avoid core dump on Solaris with -debug flag, caused by
9648 passing NULL to a %s format in GameEnds.
9649
9650 * Added -firstProtocolVersion and -secondProtocolVersion.  This will
9651 allow use of extremely broken engines that hang or die when given the
9652 "protover 2" command.  It should be rarely if ever needed.
9653
9654 * Zippy now strips highlights from player names in the Creating
9655 message; previously the ratings would not be extracted from this
9656 message properly if you had set the highlight variable.
9657
9658 * Bug fix: Zippy with -zp but not -zt used to be fooled by false
9659 partner tells inside channel tells; e.g.:
9660 Garf(24): Garf (your partner) tells you: sit
9661
9662 * Bug fix: when an engine reported its name with the new "feature
9663 myname=" command, we had been putting just that name into the window
9664 title even when in TwoMachines mode.
9665
9666 * By default, WinBoard no longer uses the new feature introduced in
9667 4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess
9668 engine command lines in separate files; instead, the lists are back in
9669 the winboard.ini file.  This gets rid of some problems where the
9670 separate files could not be opened because the working directory was
9671 not set to WinBoard's installation directory.
9672
9673 * WinBoard command lines and ini files now have another optional
9674 syntax for quoting an option value.  All characters within { } curly
9675 braces are interpreted literally except for '}' itself.  SaveSettings
9676 now uses this syntax for string values that contain a backslash or
9677 newline and do not contain a '}'.  This should address the problem
9678 that the separate .ini files had been meant to fix; engine command
9679 line lists can now be written without \-escapes.
9680
9681 * Fixed three bugs in relaying moves between engines in TwoMachines
9682 mode: an engine would be sent SAN if the *other* engine had set
9683 feature san=1, a relayed SAN move did not end with a newline, and
9684 feature usermove was not implemented for relayed moves.
9685
9686 * Fixed several bugs in exiting: File/Exit would sometimes hang;
9687 timestamp/timeseal would not get killed off; an engine crash would
9688 cause error messages to be printed recursively until stack overflow.
9689
9690 * Fixed a bug in the code to detect which ICS is in use and adapt to
9691 it; the chess.net case was broken.
9692
9693 * Removed the leading alias-suppression character when sending a move
9694 to ICS, because it seemed to break accuclock on chess.net.
9695
9696 * Fixed a bug where a FICS prompt like "10:01_fics%" would be matched
9697 as finger note number 10, causing a problem detecting when the user is
9698 logged in.
9699
9700 * Added tellicsnoalias command to protocol.
9701
9702 * Changed st command in protocol back to old behavior.
9703
9704 * Added done=0 feature to protocol, to lengthen initial timeout.
9705
9706 * Added missing -colorSeek command line option to xboard.  (Was
9707 present in WinBoard.)
9708
9709 * Bug fix: setting feature reuse=0 was not working.
9710
9711 xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000
9712 Tim Mann
9713
9714 * Setting -searchTime no longer turns off -clockMode.  Note that when
9715 -searchTime is set, some engines may search for the lesser of
9716 searchTime and the amount of time their normal clock management would
9717 dictate, while others will disable their normal clock management and
9718 always search for exactly searchTime.
9719
9720 * Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the
9721 ICS Interaction window would scroll back to the top whenever it filled
9722 to capacity and WinBoard trimmed some text off the top.
9723
9724 * Changed xboard dragging so that the center of the dragged piece is
9725 forced to be over the mouse cursor.  (WinBoard dragging already worked
9726 that way.)  This should avoid confusing cases when you start a drag
9727 with the mouse near the edge of a square -- formerly most or all of
9728 the piece could be over one square but the mouse cursor over another.
9729 Suggested by DAV.
9730
9731 * Added move list window for xboard.  Code contributed by Manuel
9732 Hoelss and re-hacked a bit by me.  Performance of this window is poor,
9733 because the implementation regenerates the entire window contents
9734 whenever anything changes.  It's hard to avoid this when using the
9735 Athena List widget, though we could be a little smarter and notice
9736 when the current move number has changed but the move list has not.
9737 There are also several drawing problems caused by bugs in the Athena
9738 Form and List widgets.  The window should not really allow a
9739 horizontal scroll bar, but the bugs are much worse if I turn it off.
9740 In both Xaw and Xaw3d, the List widget tries to resize itself when
9741 XawListChange is called, even if you tell it not to; and what's worse,
9742 if the widget cannot resize itself to be large enough to avoid
9743 clipping any of the list item, it does not change the list!  Arrgh.
9744 On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1
9745 (X11R6.4.3).
9746
9747 * The OK button in the WinBoard startup dialog is now simply disabled
9748 if none of the radio buttons is selected, instead of bringing up an
9749 error dialog.  Suggested by Ted Milbaugh.
9750
9751 * Used ping to address the worst of the race conditions in the
9752 protocol.  Now if an engine supports ping, we ping it after sending
9753 the "new" command and after trying to place it in force mode at the
9754 end of a game.  When a ping has been sent and the corresponding pong
9755 has not yet come back, we (1) ignore or undo any moves the engine
9756 sends, (2) ignore game end messages (such as "offer draw", etc.) from
9757 the engine, (3) ignore thinking output from the engine, (4) delay
9758 starting the next game if in -matchGames mode, (5) in -zippyPlay mode,
9759 respond to challenges with a polite message to try again soon instead
9760 of accepting them.  There are a few more things that should be done
9761 (and item 5 might not be quite what we want), but it's hard to fit
9762 them all into the existing code.
9763
9764 * Patched the version of GNU Chess 5.00 included with WinBoard to
9765 support protover, feature, setboard, and ping, and to fix some minor
9766 bugs.  See gnu500+.patch.
9767
9768 * Changed the GNU Chess 4 kludges for missing "st" and "sd" commands
9769 to be invoked only if the engine gives an error message for "st" or
9770 "sd", and to always use protocol commands instead of engine
9771 command-line options.  See "Idioms" in engine-intf.html.
9772
9773 * Added new protocol command "protover 2" to tell the engine what
9774 version of the protocol is in use.  Version 2 is still compatible with
9775 old engines; see engine-intf.html.
9776
9777 * Add new protocol command "feature ..."  The engine can send this in
9778 response to the protover command command, to say what extended
9779 protocol features it would like to enable, etc.  xboard responds
9780 "accepted F" or "rejected F" for each feature F that is set.  See
9781 engine-intf.html.
9782
9783 * Added new protocol command "setboard <fen>".  This is an alternative
9784 to "edit", used only if the engine says "feature setboard=1".
9785
9786 * Added new protocol command "ping <msg>".  The engine is supposed to
9787 respond "pong <msg>".  This gives us a tool to fix some race
9788 conditions in the protocol, but it is not used to the fullest yet.
9789
9790 * Added new protocol command "tellopponent".  This will do a "say" if
9791 you're on a chess server in Zippy mode, or pop up an information
9792 dialog otherwise.
9793
9794 * Added new protocol command "tellall".  This will do a "kibitz" if
9795 you're on a chess server in Zippy mode, or pop up an information
9796 dialog otherwise.
9797
9798 * Added new protocol command "tellothers".  This will do a "whisper" if
9799 you're on a chess server in Zippy mode, or do nothing otherwise.
9800
9801 * Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,
9802 and /secondChessProgramNames options to accept a filename preceded by
9803 "@", meaning to find the value in the file.  Changed the defaults to
9804 use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,
9805 and scp.ini.  This should make it easier for users to edit the values,
9806 since one less level of quoting is needed, and each value is in its
9807 own file, not mixed into winboard.ini.  Those who upgrade from an
9808 older winboard version and already have a winboard.ini file will not
9809 automatically have these values moved to a file; that has to be done
9810 by hand if desired.
9811
9812 * We now strip .exe from engine names for "name" command, tags, etc.
9813
9814 * Allowed WinBoard input widget to hold more than one line.  You can get
9815 a newline into the widget with copy/paste or with Ctrl+Enter.
9816
9817 * Fixed an xboard bug where the [P] button would appear in the
9818 opposite highlight state from what it should be after being pressed.
9819
9820 * We now use the "/" or "$" alias suppression feature on the chess
9821 servers, to avoid problems if the user inadvertently aliases a
9822 needed command to something else.
9823
9824 * Changed the method used to deiconize xboard in AutoRaise and cmail.
9825 This may fix bugs under some window managers where after
9826 deiconization, the board window was mapped but nothing was drawn
9827 inside.
9828
9829 * Preliminary, partial support for playing several chess variants
9830 against a local engine or editing variant games.  The -variant option
9831 must be given on the command line or WinBoard startup dialog; there is
9832 no menu.  The current variant is not displayed (except in the
9833 Tags/EditTags window).  Many variants will not work quite right even
9834 if the engine supports them; see item 326 in the ToDo file for
9835 details.
9836
9837 * Added a workaround to detect the variant type when examining a
9838 scratch wild game on an ICS.
9839
9840 * Fixed two cases where "variant" command should be sent to the engine
9841 when necessary but was not: loading a game from a file and restarting
9842 a dead engine.  Thanks to Gian-Carlo Pascutto.
9843
9844 * Added missing support for FICS games that start from a bsetup position
9845 with Black moving first.
9846
9847 * Fixed a bug in loading a file from the game list window while in
9848 Analysis or AnalyzeFile mode.  This now leaves us in AnalyzeFile
9849 mode, analyzing the new file.
9850
9851 * Fixed a bug in loading games with a comment before the first move.
9852
9853 * Fixed a bug in handling LoadGame (or -lgf) with -td 0.
9854
9855 * Added a command line option to select an initial minor mode from the
9856 Mode menu.  This should satisfy requests from a couple of users with
9857 special applications.
9858
9859 * Fixed a problem where some things in WinBoard's General Options
9860 dialog box were grayed out at the wrong time.
9861
9862 * We look for a few messages from the chess engine pipe that are
9863 intended to catch problems starting an engine via rsh, such as "No
9864 such file".  Moved code so that these strings won't match until other
9865 protocol messages have been looked for, and documented the messages in
9866 engine-intf.html.
9867
9868 * Fixed the WinBoard bug that sometimes made the console input box
9869 white-on-white even when not in password-entry mode.
9870
9871 * Small changes to WinBoard to be compilable with the latest Cygwin
9872 net release (as of 10-16-2000).  Thanks to Mark Schoenberg.
9873
9874 * Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net
9875 release (as of 10-16-2000).  Also rebuilt the book just to be sure,
9876 since I had one bug report about it.  It came out identical and seems
9877 to work fine.
9878
9879 * Added messages for some common InstallShield errors instead of just
9880 printing InstallShield's stupid error code numbers.
9881
9882 * Added -firstComputerString and -secondComputerString, allowing you
9883 to suppress or change the command that is sent to a chess engine when
9884 its opponent is another computer.
9885
9886 * Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead
9887 of Xaw widgets in xboard.  Thanks to Johnny C. Lam of the NetBSD
9888 project.  I've left Xaw as the default because Xaw3d is too ugly.
9889
9890 * The version of the Xaw Form widget released in XFree86 4.0.1
9891 (X11R6.4.3) has a bug that causes xboard to display the button bar
9892 on top of the message widget.  I've reported the bug and have
9893 installed a kludge workaround into xboard.
9894
9895 xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000
9896 Tim Mann
9897
9898 * Merged Winboard Plus 4.0.8 from Mark Williams into xboard
9899   source pool.  Status of Winboard Plus features in xboard:
9900
9901   - White pieces now have borders, but the implementation is
9902     completely different from WinBoard's; see below.
9903
9904   - Options menu not changed, probably won't be.
9905
9906   - Copy&paste support working, using Mark's changes to backend.c, Ben
9907     Nye's changes to xboard.c for FEN positions, and some code of my
9908     own in xboard.c for PGN games.
9909
9910   - Premove hooked up and working.  No pre-first-move, though.
9911
9912   - ICS Alarm hooked up and working.
9913
9914   - Auto-flip working.
9915
9916   - PGN Training mode hooked up and working.
9917
9918   - Improved menu item enable/disable working.
9919
9920   - Improved >> button working.
9921
9922   - Auto activate board working.  I changed this to be optional; you
9923     might not always want it, especially in Zippy mode.
9924
9925   - Blindfold working.
9926
9927   - Documentation updated.
9928
9929 * Fixed more colorization bugs.  Commands like "message foo tells you:
9930 xxx" and "tell 33 tells you: xxx" will no longer generate bogus
9931 colorization.
9932
9933 * Added low-tech sound support to xboard, by invoking an external
9934 program on a filename for each sound to be played.
9935
9936 * ICC wild 27 is now recognized as VariantAtomic, and it sets the
9937 "ignore check" flag, but is not otherwise supported.
9938
9939 * Converted the piece bitmaps from .bm to .xpm for use with xboard's
9940 xpm support.  (An .xim version was not created.)  Wrote a shell script
9941 using ImageMagick to do the conversion and to bucket fill from
9942 coordinate 0,0 with the background color.  Used xpaint by hand to
9943 clean up a few pieces where background color "leaked" into the inside
9944 or didn't flow all the way around the outside, then a sed script to
9945 fix up color names and bitmap names in the xpaint output.  If any more
9946 sizes are added later, they should be straightforward to convert with
9947 reference to the existing scripts.  With this conversion, not only do
9948 the white pieces now have dark borders, but (unlike with WinBoard) the
9949 light details on the black pieces are opaque.
9950
9951 * If the XPM library is found when building xboard, the new xpm pieces
9952 are compiled in as the default.  External bitmap (or xpm) pieces can
9953 still be used by giving the -bitmapDirectory (or -xpmDirectory)
9954 option.  If the XPM library is not found, the old bitmap pieces are
9955 the default.  In this case external bitmap (or xim) pieces can be used
9956 by giving the -bitmapDirectory (or -xpmDirectory) option.  There is no
9957 way to compile in xim pieces.
9958
9959 Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000
9960 Mark Williams
9961
9962 * Bugfix release.
9963
9964 * Main menu now visible in Win NT.  Thanks to Microsoft for creating a
9965 compiler which auto-mutilates the WinBoard.rc file so that the menu is
9966 displayed under Win 98 but not Win NT.  I fixed the problem by hand editing the
9967 .rc file.  Sigh.
9968
9969 * "Reset game" now works properly when invoked from Analysis mode when two
9970 engines are present. Correction of bug introduced in Winboard Plus. Thanks to
9971 Mogens Larsen for reporting the bug.
9972
9973 * Pasting a FEN position with Black to move now works in all modes.
9974 Thanks to Mogens Larsen for reporting the bug.
9975
9976 * Added gnuchess.dat to the distribution and a couple of text files that were
9977 missing in 4.0.7.
9978
9979 *** Merged in the following changes from Tim Mann:
9980
9981 * Bugfix: Highlights would sometimes not be taken down, at least in
9982 xboard.  The problem is that SetHighlight works in chess coordinates,
9983 not view coordinates, so if flipView has been toggled since the
9984 highlight was put up, it gets taken down from the wrong square.  Fixed
9985 by being careful to call ClearHighlights before toggling flipView, not
9986 after.  Ugh.
9987
9988 * Bugfix: HighlightLastMove would sometimes highlight square a1 after
9989 a FICS "tomove black" command.
9990
9991 * Bugfix: a move list with initial position that has black to play was
9992 not being handled correctly.
9993
9994 * Removed "decline abort" and "decline adjourn" commands from Zippy.
9995 The syntax is changing on FICS, and Zippy really doesn't have to
9996 explicitly decline the requests anyway; it's sufficient to not accept
9997 them.
9998
9999 * ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC
10000 calls it "giveaway").
10001
10002 * Bugfix: PGN games with black to move in the initial position weren't
10003 being legality checked correctly.  I think this was introduced in
10004 4.0.6 when I fixed a different PGN bug.  Thanks to Mark Williams for
10005 spotting the bug and suggesting a fix.
10006
10007 * Bugfix: the initial "name(" of a kibitz wasn't being colorized.
10008
10009 Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000
10010 Mark Williams
10011
10012 * New white pieces with black borders.
10013
10014 * Major overhaul to Options menu. New dialogs for setting General Options,
10015   Board Options, ICS Options, Sounds, Fonts, Colors.
10016
10017 * Clipboard support for PGN game scores and FEN positions.
10018
10019 * Optional ICS Premove with user-specified first moves for White and Black.
10020
10021 * New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.
10022
10023 * New auto-flip option when playing against a chess program.
10024
10025 * Added PGN Training mode.
10026
10027 * Certain menu options now disabled while program is thinking.
10028
10029 * ">>" button now always goes to the end of the game.
10030
10031 * In ICS mode, the board is automatically activated at the start of a
10032 new game.
10033
10034 4.0.7 -- Sun Mar  5 17:17:49 PST 2000  Tim Mann
10035
10036 * Fixed a nasty bug in parsing ICS game histories that was introduced
10037 in 4.0.6.
10038
10039 4.0.6 -- Fri Mar  3 16:20:11 PST 2000  Tim Mann
10040
10041 * Fixed bugs in Zippy's code for responding to messages sent with the
10042 ICS "message" command.
10043
10044 * Fixed bugs where xboard could still create dialogs partially off the
10045 top of the screen.  Fixed unwanted interactions between initial sizes
10046 and positions of various unrelated xboard dialogs.  Deleted
10047 borderXoffset and borderYoffset resources.
10048
10049 * Fixed restoring the xterm name on exit to work in more cases.
10050
10051 * Small fix to the WinBoard self-extracting installer: when it starts
10052 up, it now always deletes any old wb-setup directory left over from a
10053 previous installation.  Formerly this worked only on Windows 95/98, so
10054 on NT the self-extractor would sometimes stop and ask the user whether
10055 it was OK to overwrite the old wb-setup files.
10056
10057 * Modified WinBoard to be compilable with the free Cygwin tools
10058 available from http://sourceware.cygnus.com/cygwin/.  Based on work by
10059 Mark Schoenberg.  (His mods were enough to get WinBoard through the
10060 compiler, but a few things were broken along the way, so I reworked them.)
10061
10062 * Merged changes from Don Fong to make WinBoard compilable with
10063 Borland C++ 4.5.  I do not have Borland C++ and am unable to test with
10064 it, but I did make sure the changes don't stop it working with MSVC++
10065 5.0 and Cygwin.
10066
10067 * Forbade entering TwoMachines mode from MachineWhite or MachineBlack
10068 mode when machine is on move.  This used to confuse the engine and
10069 cause problems, because when we try to get the engine to stop, it
10070 might make a move first, and it might not do that immediately.
10071
10072 * Variant classification now deals with new ICC wild 25, classifying
10073 it as "3check".  Also, we are now conservative about new wild numbers
10074 we don't know about, classifying them as "unknown" instead of
10075 "normal".
10076
10077 * Replaced bad GNU Chess 5.00 book in WinBoard distribution with a
10078 correct one.  1.e4 now no longer takes GNU Chess 5.00 out of book!
10079 Thanks to Pete Galati.
10080
10081 * Made move parser accept and ignore nonstandard ep suffix on PGN moves,
10082 e.g., "exf6ep" or "exf6e.p."
10083
10084 * Fixed bugs in parsing PGN files starting with no move number, or
10085 with a move number other than "1." (including "1...").  Thanks to
10086 Michael Soulier and Stefan Zipproth for example PGN files
10087 demonstrating the bugs.
10088
10089 * Changed InitComboStringsFromString to not modify the input string;
10090 this caused an exception when WinBoard was compiled with MSVC++ 6.
10091 Thanks to Bert Tuyt for the report.
10092
10093 * In WinBoard, dragging a piece off the edge of the board without
10094 releasing the mouse button no longer instantly aborts the move.  You
10095 still must release the mouse button inside a square to complete a
10096 move, but you can now drag off the edge and come back inside.
10097
10098 * WinBoard bugfix: If you went into EditGame or EditPosition mode
10099 while observing or playing an ICS game, and a new move came in
10100 (snapping you back to ICSClient mode) while you were dragging a piece
10101 around, the drag state would not be reset, causing the piece you were
10102 dragging to remain on the board wherever you dropped it.  Thanks to
10103 David Brinegar for the bug report.
10104
10105 * WinBoard bugfix: If you moved or resized the board while your
10106 opponent was moving, and you had AnimateMoving on, his move would not
10107 be displayed until after your next move.  Thanks to DAV for reporting
10108 the bug repeatedly until I finally understood it.
10109
10110 * Added a Zippy "farewell" feature; see zippy.README.
10111
10112 * Fixed a bug (xboard only) in processing -zippyReplayTimeout on the
10113 command line.  Thanks to Steve Beer for the report and patch.
10114
10115 * Send "computer" command to both sides in TwoMachines matches.
10116
10117 * Fixed a Y2K bug in Evan's cmail code!  Thanks to Brian Mays for the
10118 report and patch.
10119
10120 * Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.
10121 This could cause crashes in LoadGame.  Thanks to Andrzej Nagorko.
10122
10123 * Fixed several pattern matching problems: Finger notes and formula
10124 vars no longer get replied to by zippyTalk or colorized.  Channel
10125 tells by players with many titles are now colorized fully, and
10126 zippyTalk handles channel tells by such players correctly.  The shout
10127 "--> foo(99): bar" no longer gets colorized as a channel tell.  Code
10128 is cleaned up a bit, and autocomment capture now uses the same
10129 criteria as colorization.
10130
10131 * xboard fix: Enter key now closes error popups as in WinBoard.
10132 Especially nice for the "Exiting: Connection closed by ICS" popup.
10133
10134 4.0.5 -- Tue Dec  7 10:30:40 PST 1999  Tim Mann
10135
10136 * Added missing documentation of SIGTERM usage into engine-intf.html.
10137
10138 * Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as
10139 -zippyReplyTimeout.  Thanks to Francesco Di Tolla.
10140
10141 * xboard -ics now restores the xterm's original title upon exit, at
10142 least if $WINDOWID is set.
10143
10144 * Bugfix: -matchGames mode wasn't terminating properly.  Final score
10145 popup would come up twice and engines would not be killed off.  Thanks
10146 to Frank Quisinsky for the bug report.  Bug was introduced in 4.0.4.
10147
10148 * Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;
10149 similarly for "...s-shouts:" and "...c-shouts:".  Thanks to David Lee
10150 for the bug report.
10151
10152 4.0.4 -- Fri Dec  3 17:51:27 PST 1999  Tim Mann
10153
10154 * Bug fix: formerly if you invoked SaveGame from EditPosition mode
10155 with black to play, the position was not saved properly.  As a quick
10156 fix, SaveGame now takes you out of EditPosition mode before saving.
10157
10158 * Changed -matchGames to keep track of the score (won-lost-drawn) and
10159 display it in the banner.  The final score is displayed in a modal
10160 popup before the program exits.
10161
10162 * Changed "Connection closed by ICS" to display in a model popup
10163 before the program exits.
10164
10165 * Added -popupExitMessage option, default on.  Setting this to false
10166 suppresses the modal popups that you sometimes get just before
10167 xboard/winboard exits -- both the two new ones listed above and the
10168 existing Fatal Error popup.  This is useful when running Zippy
10169 unattended from a shell script (or .bat file) that loops and starts a
10170 new copy after a time delay when there is an error.
10171
10172 * In xboard, added missing support for WM_DELETE_WINDOW to all
10173 windows.  This makes xboard a better citizen, and is much needed with
10174 the newer X window managers that put an [X] button on every window and
10175 bind it to "kill application" if the applicationd does not support
10176 "delete window".  We can't allow xboard to be thoughtlessly killed,
10177 since that leaves the chess engine running in the background.
10178
10179 * We now avoid positioning tops of xboard dialog boxes offscreen.
10180
10181 * zippy.lines can now use the caret ('^') character as an inter-saying
10182 separator. You no longer need to dig up a text editor that can put NUL
10183 ('\000') characters in text files.
10184
10185 * Bugfix: In traditional chess clock mode, White now gets time added
10186 to its clock as soon as it makes time control.  Previously both White
10187 and Black got their time added only when Black made time control,
10188 which would cause some engines to make their 41st move as White too
10189 quickly, thinking they were low on time.
10190
10191 * The zippyAcceptOnly feature no longer sends a decline command or
10192 a tell.  Thus you can use it to put Zippy into a manual accept mode.
10193
10194 * Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a
10195 personal tell; similarly for "...whispers:" and "...kibitzes:".
10196
10197 * WinBoard no longer blanks the message line when you start a new
10198 move, unless there was an error message there from the previous move.
10199
10200 * WinBoard now never puts the white piece drop menu on the middle
10201 mouse button.  Both colors are always on the right button.  Windows
10202 users often don't think to look for a middle button menu, or don't
10203 really have a working middle button despite what Windows says.
10204
10205 * Guest login handles on ICC are now parsed again; an ICC wording
10206 change had broken this feature.
10207
10208 * Autodetect when the engine does not support the "draw" command and
10209 don't relay the command to it in that case.  Needed because sending an
10210 unsupported command to GNU Chess makes it move immediately, so people
10211 could make Zippy move without thinking by continually offering a draw.
10212 Thanks to Frank Walker for the problem report.
10213
10214 * Small changes based on code from Robert Jurjevic: The WinBoard
10215 analysis window can be minimized (though not to the taskbar).  The
10216 WinBoard ICS Interaction window will autoscroll if you drag the mouse
10217 above or below the window while selecting, and password entry mode
10218 leaves the entry line as the background color instead of using 75%
10219 gray.  Seeks are now colorized with a new color of their own.
10220
10221 * Added -zippyMaxGames feature.
10222
10223 * -zippyNoplayCrafty command line option was missing in xboard; fixed.
10224 Thanks to John Perry.
10225
10226 * Fixed bug in detecting when Zippy loses his bughouse partner.
10227 Thanks to Ben Dean-Kawamura.
10228
10229 * allobs fix in 4.0.3 didn't work; corrected it.
10230
10231 * WinBoard will now update the board immediately if a move is made
10232 while the window is being moved or resized.
10233
10234 4.0.3 -- Sun Aug 15 18:44:39 PDT 1999  Tim Mann
10235
10236 * Bugfix: moved winboard wizard functions that send a command directly
10237 to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.
10238 Ctrl+Alt is equivalent to the European AltGr key, so the old assignments
10239 conflicted with typing an @-sign on some keyboards.
10240
10241 * Bugfix: prevent "If this message stays up, your chess program does
10242 not support analysis" from appearing if AnalysisMode is selected when
10243 already in Analysis or AnalyzeFile mode.  Also, deleting analysis window
10244 in WinBoard now switches you to EditGame mode, to avoid the anomaly of
10245 being in an analysis mode with no analysis window present.
10246
10247 * Change all Zippy environment variables to work as command line
10248 options.  For now they still work as environment variables too, but
10249 the environment variables are deprecated.
10250
10251 * Use unsigned long to hold node counts from engines.
10252
10253 * Print error instead of crashing on attempts to use xpm or xim pieces
10254 in monochrome mode.  Thanks to Jim Torrance for the bug report.
10255
10256 * Tightened pattern recognition for ICS messages sent to Zippy; should
10257 no longer match ICC allobs output.  Fixed recognition of when Zippy is
10258 sent a message; small change to FICS output had broken it.
10259
10260 * Zippy now exits if the engine dies unexpectedly.
10261
10262 * Added Zippy "spoofedby" feature; see zippy.README.
10263
10264 * Narrowed the margins on some older WinBoard dialogs to make their
10265 style uniform with the newer ones.
10266
10267 * Bugfix: Changing Ponder Next Move from the Options menu did not take
10268 effect until the next game.  This bug was in WinBoard only.  Thanks to
10269 Stefan Zipproth for the bug report.
10270
10271 * Got rid of "Internal error: bad move type" message when the engine
10272 makes a move that we can parse but think is illegal.  Now the move is
10273 just passed on (which also may be the wrong thing to do).
10274
10275 4.0.2 -- Thu Feb 25 19:55:32 PST 1999  Tim Mann
10276
10277 * Added one more built-in sound choice to WinBoard: move.wav from Pete
10278 Galati.
10279
10280 * Added new larger piece sizes: big, huge, giant, colossal, titanic.
10281
10282 * Modified the xboard font searcher to be able to use scalable fonts.
10283 The new -fontSizeTolerance flag controls how closely a nonscalable
10284 font must match to be used in preference to a scalable font.
10285
10286 * Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control
10287 whether Zippy will accept abort and adjourn requests.
10288
10289 * We now determine the variant type being played on ICS, send it as a
10290 command "variant VARTYPE" to the chess engine (if in Zippy mode), and
10291 put it in the PGN tags.  See engine-intf.txt for variant names.  See
10292 ZIPPYVARIANTS in zippy.README to control what variants Zippy will
10293 accept.  Note that this now applies to bughouse, too.
10294
10295 * Zippy now won't do -zippyTalk in a channel unless his handle is
10296 mentioned there.
10297
10298 * Zippy now ignores bughouse holdings if not actually playing, instead
10299 of stupidly trying to abort the game.  Let me know if other strange
10300 things happen when Zippy is observing a game.
10301
10302 * Set ICS Interaction title bar to "user@server".  User name is
10303 determined by parsing message during the login sequence.  Zippy now
10304 uses this method to get its name too, so ZIPPYNAME is eliminated.
10305 Problem: with xboard, the title bar gets set to "xterm" upon exit,
10306 since we didn't know what it was to start with.
10307
10308 * Fixed xboard-only bug in -colorChannel1 command line option.  Thanks
10309 to Fredrik Sandstrom for the bug report and fix.
10310
10311 * Check for overflow of MAX_MOVES.  Still not sure this is checked for
10312 everywhere it needs to be.
10313
10314 * Added .epd to suffixes recognized by WinBoard as position files.
10315 This is a bit of a kludge, as the .fen reading code was not written
10316 with .epd files in mind, but reading them with it is said to work.
10317
10318 * Added ZIPPYGAMESTART feature, suggested by Jason Hoblit.  See
10319 zippy.README.
10320
10321 * Restored the feature of soaking up the moves from a user-typed "moves",
10322 "oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but
10323 changed it so that the move list is also echoed to the screen.  Some folks
10324 still liked the old feature since it is faster than examine mode, and
10325 printing the moves to the screen should eliminate the confusion it caused
10326 for other people.
10327
10328 * Bugfix: in WinBoard, starting a click-click move and then clicking on
10329 a black line would cause the source square to be forgotten without taking
10330 the highlight down.  Now the errant click is ignored.
10331
10332 * Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's
10333 File menu.  Thanks to Andreas Stabel for the bug report.
10334
10335 * Bugfix: if you had a completely full ICS context menu in WinBoard
10336 (90 items), the last one would do nothing if selected.
10337
10338 * The "computer" engine command added in 4.0.1 was not working; I had
10339 left out part of the code patch.  Oops.
10340
10341 4.0.1 -- Fri Feb 12 21:24:15 PST 1999  Tim Mann
10342
10343 This is a minor bugfix release.  The first item listed below is the
10344 only interesting new feature.
10345
10346 * You can now type in moves from the keyboard in WinBoard.  Either
10347 select TypeInMove from Step menu, or (if you are not in ICS mode),
10348 just start typing.  In ICS mode you can type moves into the ICS
10349 interaction window anyway, so I've retained the feature that typing
10350 switches you there.  Not implemented in xboard.
10351
10352 * Removed the "noise 1000" command that used to be sent to the chess
10353 engine when entering analysis modes.
10354
10355 * Deleted the feature where we soak up the output of a user-typed ICS
10356 "moves" or "oldmoves" command.  This ancient feature is not really
10357 useful anymore, now that "examine" exists, and it caused a lot of
10358 complaints.
10359
10360 * Increased maximum size of ICS text menu to 90 entries and added
10361 overflow checking.
10362
10363 * The command sent to ICS by Zippy at the end of each game can now be
10364 customized with the ZIPPYGAMEEND environment variable.
10365
10366 * We treat xboard.info as a pseudo-source since most people don't have
10367 the tools to rebuild it.  But "make install" erroneously had a
10368 dependency on it, even though "make all" did not.  Fixed.
10369
10370 * Miscellaneous minor updates and clarifications to engine-intf.txt.
10371 In particular, documented the st and sd commands (support for command
10372 line options -searchTime and -searchDepth), warts and all.
10373
10374 * Added a small code patch from Bob Hyatt to detect when Zippy's ICS
10375 opponent is a computer and send the command "computer" to the engine.
10376 Added this command to engine-intf.txt.  Thanks, Bob.
10377
10378 * Bugfix: configure was looking for usleep(), but config.h.in didn't
10379 have an entry for it, so HAVE_USLEEP was never defined.  Also, in the
10380 non-HAVE_USLEEP case, there was a possible race condition between the
10381 signal handler and the pause() call.  Thanks to Ben Dean-Kawamura for
10382 the bug reports.
10383
10384 * Bugfix: a "1..." preceding Black's first move (usually present if
10385 there is a comment on White's first move) would cause the parser
10386 to think a new game started there and report "End of game" on the
10387 current game.  Thanks to Dell Garner for the bug report.
10388
10389 * Changed the abbreviation for -searchDepth from -sd to -depth to fix
10390 a clash with -secondDirectory.
10391
10392 * Changed -searchDepth to be orthogonal to the various timing options.
10393 Previously it would search for an unlimited time to the given depth;
10394 now the engine is allowed to choose its search time in the normal way,
10395 but is told to cut off the search early if it reaches the given depth.
10396
10397 * Bugfix: SaveSettings in WinBoard was saving both the long form
10398 option highlightSquareColor and its abbreviation (hsc).
10399
10400 * Fixed a redisplay bug in DisplayBothClocks that could cause White's
10401 clock to be highlighted in EditPosition mode when Black's should have been.
10402
10403 * Fixed Zippy's feature of passing on draw offers from the ICS opponent.
10404 The colorization code was eating the offer before Zippy saw it, so I disabled
10405 colorization of offers while in -zp or -zt mode.  (Other types of
10406 colorization are already disabled in Zippy mode for similar reasons.)
10407
10408 * Added some more commands to the default ICS context menu in WinBoard,
10409 and put "(name)" on the ones that insert a playername (or game number).
10410
10411 * Added missing documentation to WinBoard help file: PonderNextMove, the
10412 -ponder/-xponder argument, and the up/down arrow history feature in the
10413 ICS Interaction window.
10414
10415 * Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,
10416 not if some other Crafty is observing the game and kibitzes.
10417
10418 * Fixed bugs in generating "partner" commands when Zippy is playing
10419 bughouse.
10420
10421 4.0.0 -- Sat Jun 20 16:59:47 PDT 1998  Tim Mann
10422
10423 * Fixed WinBoard resizing so that the edges you do not drag remain in
10424 place, even when the final size is different from what you dragged to.
10425 (This doesn't work on NT 3.51 or earlier, if anyone cares.)
10426
10427 * Fixed problems with resizing WinBoard on Windows NT: you no longer get
10428 whitespace around the board, a clipped board, or a lot of flashing during
10429 the drag.
10430
10431 * Added customization for highlight-square color.
10432
10433 * Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't
10434 work in WinBoard.
10435
10436 * Added Index Number field back to LoadGame/LoadPosition dialog boxes in
10437 WinBoard.  This required some extra code to work with both the
10438 Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes.  Ugh.
10439
10440 * WinBoard startup dialog now understands -zp mode.  The first chess
10441 engine selector is enabled and the value is used.
10442
10443 * Bugfix: ResetGame would send "exit" to engine twice if it was in an
10444 analysis mode.
10445
10446 * Bugfix: The response "Illegal move: bk" to the "bk" command, indicating
10447 that it is not implemented, would confuse xboard.
10448
10449 * Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message
10450 saying that some bogus string (often "Hint:") is illegal.
10451
10452 * Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.
10453
10454 3.6.12 -- Sat Jun 13 14:57:10 PDT 1998  Tim Mann
10455
10456 Beta test release of xboard and WinBoard.
10457
10458 * Spruced up xboard man page a bit.
10459
10460 * Added Highlight Last Move to xboard too.
10461
10462 * The revamped xboard mouse click code had several more bugs than the
10463 previous version, so I revamped it again.  All fixed now, I hope.
10464
10465 * xboard bugfix: crash in CreatePieceMenu.
10466
10467 * Oops.  winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.
10468
10469 3.6.11 -- Fri Jun 12 20:00:48 PDT 1998  Tim Mann
10470
10471 Beta test release of xboard and WinBoard.
10472
10473 * Major reorganization to engine-intf.txt.  Some new features added,
10474 many existing features clarified and hints for engine programmers added.
10475 Support for new features added to program.
10476
10477 * Changed defaults for -scp (etc.) back to being independent of -fcp, as
10478 in 3.6.2. That is, the default is no longer to copy the value from -fcp if
10479 -scp is not specified.  This will sometimes make command lines longer but
10480 will remove some confusing situations.
10481
10482 * Split -reuseChessPrograms into two options: -reuseFirst and
10483 -reuseSecond.  Fixed obscure bugs when reuse is off.
10484
10485 * Detect ICC and change some command usage slightly there: only ICC has
10486 set-quietly; only FICS has iset and bsetup clear.  With this feature, we
10487 can now safely use bsetup clear when appropriate instead of deleting each
10488 piece one by one.
10489
10490 * Added indent to lines that are wrapped by WinBoard ICS Interaction
10491 window.  This seems to tickle a Microsoft bug in the RichEdit control:
10492 occasionally the start of the next line after the wrapped line is indented
10493 too.  I think the wrapped indent feature is useful enough that it's worth
10494 having in spite of the bug.
10495
10496 * WinBoard bugfix: bounding box for the board was computed incorrectly by
10497 mouse code.  It would think you moved off the bottom of the board before
10498 you really did, so it was hard to drag pieces along the bottom rank on
10499 smaller board sizes.
10500
10501 * Fixed obscure parser.l bug: ambiguity between capture using : instead of
10502 x and email header line.  Also removed or simplified a lot of complex
10503 patterns for English (as opposed to PGN) end-of-game indications while I
10504 was in there.
10505
10506 * Added PonderNextMove option.
10507
10508 * xboard EditPosition piece menus now let you set the side to play by
10509 selecting the "White" or "Black" label at the top of the menu, like
10510 WinBoard.  (Both xboard and WinBoard still let you set the side to play by
10511 clicking on the clock.)
10512
10513 * Merged documentation of Crafty and GNU Chess thinking output in
10514 engine-intf.txt.  Corrected code in backend.c to match documentation; it
10515 used to require the PV to start in column 27 (!).
10516
10517 * Fixed bug that caused crashes in "-reuseChessProgram false" mode.
10518
10519 * Draw by agreement in Two Machines mode now works as it is supposed to.
10520 Other minor bugs in handling game end messages from machines are also
10521 fixed, and engine-intf.txt is revised in this area.
10522
10523 * Revamped xboard code for handling mouse clicks on the board.  In
10524 particular, it had a bug if a click-click promotion move was made.
10525
10526 * Fixed and reinstated optimization for << in analysis modes: send
10527 initString and re-send the board if needed.  Sending repeated undos
10528 is bad because Crafty prints some analysis after every one.
10529
10530 * Don't go into a spin loop while pausing between xboard animation frames.
10531 This caused problems, especially when compiling with -O2 on HP-UX.
10532
10533 * WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome
10534 if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.
10535 This seemed to confuse people before.
10536
10537 * Bugfix: ICS Interaction context menu items with neither of the two
10538 optional flags set did not work.
10539
10540 * Bugfix: PGN move numbers are optional, but we were insisting on "1"
10541 right after the tags.
10542
10543 * Bugfix: only the first game of an -mg match was loading -lpf or -lgf.
10544
10545 * Other minor fixes and code cleanup.
10546
10547 3.6.10 -- Mon Jun  1 01:32:31 PDT 1998  Tim Mann
10548
10549 * Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.
10550
10551 * Added timestamps for chess engine interaction to -debug output.
10552
10553 * Now allow 10 seconds (was 5) between games in match mode for engines to
10554 respond to "force" command that ended previous game.
10555
10556 * When a game is picked from the game list and the names of White and
10557 Black are known, display them in the window banner instead of the filename
10558 and game number.
10559
10560 * Changed default for -scp and -sd to be the values of -fcp and -fd.
10561
10562 * Added boxes for both engines to WinBoard startup dialog.  Changed to
10563 dropdown boxes whose content can be set from winboard.ini, similar to
10564 the box for ICS name.
10565
10566 * Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.
10567
10568 * Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.
10569
10570 * Added support for bughouse engines (Zippy mode only).
10571
10572 * Move bombproofing for engines sending illegal or out of turn moves.
10573
10574 * Always send "xboard\n" to engine as first command.  Eliminates need
10575 to run crafty as "crafty xboard".
10576
10577 * Rewrote xboard code for input from engines to fix longstanding bugs.
10578 Previously an engine that sent one line in two separate writes with
10579 some time lapse in between (or perhaps that sent several lines in one
10580 write) could make xboard hang.  WinBoard did not have this bug.
10581
10582 * Fixed minor bugs in dealing with illegal moves.
10583
10584 * Added "iset startpos 1" for FICS.
10585
10586 * Removed special support to put "GNU Chess" or "Crafty" in the window
10587 banner instead of the engine's base filename.  This gives a more level
10588 playing field for other engines.  Also fixed bugs in the code that finds the
10589 engine's base filename.
10590
10591 * Bugfix: Abort or Resign at the very start of a game in chess engine mode
10592 would fail to send "force" to the engine.
10593
10594 * Fixed some minor bugs in new "result" messages, and changed format to
10595 include a trailing PGN comment giving the reason the game ended.
10596
10597 * Changed syntax of /font options in WinBoard; old syntax was assuming
10598 that a font name can't contain a digit, which is wrong.  Old font names in
10599 WinBoard.ini files are still accepted.
10600
10601 * Serious further work on getting WinBoard to read/write files in the
10602 "right" directories and documenting exactly what it does.
10603
10604 * Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.
10605
10606 * Misc. tiny fixes and cleanup.
10607
10608 3.6.9 -- Sun May 24 20:53:08 PDT 1998  Tim Mann
10609
10610 xboard and WinBoard beta release.
10611
10612 * Tightened up illegal move handling.  Illegal or meaningless moves from a
10613 file or chess engine should no longer get translated into a1a1 and blindly
10614 applied.  Explicit moves to the same square (like a1a1) no longer make the
10615 piece on that square capture itself and vanish.
10616
10617 * Added AlwaysOnTop feature to winboard.
10618
10619 * Fixed bug in winboard "@" command line indirection operator.
10620
10621 * Removed buggy "optimization" code for ToStart in analysis modes.
10622
10623 * Fixed typo bug in zippy.c that would often cause winboard to crash
10624 right after starting a game in -zp mode.
10625
10626 3.6.8 -- Sat May 23 22:23:19 PDT 1998  Tim Mann
10627
10628 xboard and WinBoard beta release.
10629
10630 * Added -firstDirectory and -secondDirectory so that chess engines can
10631 be started in a different directory from xboard/WinBoard itself.
10632
10633 * Added -matchGames to allow more than one game in -matchMode.  The games
10634 are played with colors alternating between the two chess engines.  Had to
10635 add a time delay at the end of each game to catch up with game ending
10636 messages from both chess engines -- yuck.
10637
10638 * Changed TwoMachines mode to have firstChessProgram play White by
10639 default.  Added -firstPlaysBlack to restore old behavior.
10640
10641 * Major rework of code in backend.c for dealing with first and second
10642 chess engines.  Generalized the code and created a struct type with one
10643 instance for each engine.  Several small bugs fixed along the way.
10644
10645 * Fixed bugs in Abort in local chess engine mode.
10646
10647 * Tightened pattern matching to recognize moves from machine.  Should cure
10648 bogus "Illegal move" errors while Crafty is pondering with Show Thinking
10649 on, among other things.
10650
10651 * WinBoard keeps focus in board window after popping up a comment due to
10652 Forward/Backward/ToStart/ToEnd commands.
10653
10654 * Finally got rid of warnings on compiling moves.c under Windows.
10655
10656 * Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not
10657 defined.
10658
10659 * Removed various bits of unused code.
10660
10661 * Parse (and ignore) NAGs in PGN files.
10662
10663 * Updated engine-intf.txt.
10664
10665 * Send "result R" to the chess program at the end of each game, where
10666 R is the PGN result 1-0, 0-1, 1/2-1/2, or *.
10667
10668 * Bugfix: suppress animation when loading a game with timeDelay=0.
10669
10670 * Bug fix: pondering output from Crafty that contained "..." could be
10671 mistaken for a move, causing bogus error messages and general chaos.
10672
10673 * xboard "make clean" bug fix: moved things created by configure to be
10674 removed only by "make distclean".
10675
10676 * Fixed a remaining case where move was being animated before being
10677 relayed to opponent.
10678
10679 * Backend was reversing time/otim commands to the chess program (new bug),
10680 and was often not sending them on the first move of a game or the first
10681 move after a mode change (old bug).  Fixing the latter required a kludge
10682 to work with both GNU Chess and Crafty, because Crafty swaps white and
10683 black clock times when it swaps sides, while GNU Chess does not.  The
10684 kludge is that we always make sure the chess engine thinks its opponent is
10685 on move before we set the clock.  This will sometimes result in sequences
10686 like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and
10687 black interchanged.
10688
10689 * Removed last trace of old -whiteString and -blackString arguments.
10690
10691 * Fixed so that you can type "bd" into the Direct Command dialog when
10692 debugging gnuchess, without having xboard parse the clock display
10693 (starting with "White") as "White wins" and end the game.
10694
10695 * Changed moves.c to make a distinction between IllegalMove (where we
10696 could tell what move was intended, but it violates the chess rules) and
10697 MeaninglessMove (where we could not tell).  This is a step towards getting
10698 rid of cases where we translate meaningless moves into "a1a1", but some
10699 work is probably needed to track them all down.
10700
10701 * Fixed bug in WinBoard monoMode dragging.
10702
10703 * Changed WinBoard to new style file dialogs.  In the process, disabled
10704 the feature that let you enter the index number of a game or position within
10705 the file in the dialog.  This is no loss in LoadGame, as you can pick your
10706 game from the game list dialog that follows, but it does remove some
10707 functionality from LoadPosition.
10708
10709 3.6.7 -- Mon May 18 21:25:00 PDT 1998  Tim Mann
10710
10711 xboard and WinBoard beta test release.  I've been unable to reproduce some
10712 reported drawing bugs, so they may still not be fixed.
10713
10714 * Changed PopUpErrors option to PopupMoveErrors, which is more useful, and
10715 changed default to off.  Errors other than move errors should always be in
10716 popups; they are often too big for the message area and too important to
10717 put where they can be easily missed.  But it seems good to get rid of the
10718 popups for move errors by default.
10719
10720 * xboard analysis window no longer forces itself to top whenever there is
10721 new output.  Also, now uses built-in Xaw word wrapping instead of trying
10722 to do its own; works better.
10723
10724 * Bugfix: Reset did not take Crafty out of analyze mode.
10725
10726 * A chess engine no longer has to claim to be Crafty to be able to use
10727 AnalysisMode and AnalyzeFile; it just has to implement the analyze
10728 command as Crafty does.  Put in heuristics to generate more informative
10729 error messages if the engine does not support analyze, and checked that
10730 they work at least with GNU Chess.
10731
10732 * Added click-click moving, HighlightLastMove, and HighlightDragging to
10733 WinBoard.  The highlight features are unlikely to go into xboard unless
10734 the xboard drawing code is cleaned up to do *all* drawing on the board
10735 from DrawPosition, as WinBoard does.  This is low priority for me.
10736
10737 * Eliminated bogus "Error gathering move list: no header" popup.  You
10738 could get this by observing two fast games at once without turning off
10739 GetMoveList.
10740
10741 * Disable WinBoard Sounds menu entirely in -ncp mode, since not even
10742 MoveSound is used in that mode.
10743
10744 * WinBoard bugfix: Several problems were caused if the user changed
10745 WinBoard's current directory in a Load, Save, or Browse dialog.  In
10746 particular, WinBoard.ini would get saved in the wrong directory, and
10747 sound .wav file names would not get saved with a full pathname.  I think
10748 all such problems are now fixed.
10749
10750 * WinBoard bugfix: iconizing the board after an aborted mouse resize would
10751 (partially) resize it to Tiny.
10752
10753 * WinBoard bugfix: board was not being drawn in color on 256-color
10754 displays.  This bug was introduced in 3.6.6.
10755
10756 3.6.6 -- Tue May 12 17:43:43 PDT 1998  Tim Mann
10757
10758 xboard and WinBoard beta release.  Note: not all reported bugs are fixed.
10759
10760 * Move animation in WinBoard, programmed by Henrik Gram.  Great stuff!
10761
10762 * Animate backward moves too.
10763
10764 * xboard bugfix: -font (and friends) can now specify a font alias (such
10765 as "fixed"), not just a full X Consortium name pattern.  Previously this
10766 would give a resource conversion error message.
10767
10768 * Some coding style cleanup in xboard.c.
10769
10770 * Earlier error check for moving wrong color piece in EditGame mode.
10771
10772 * Completed fix to pattern matching; see 3.6.5.
10773
10774 * Fixed some software rot bugs in Zippy.
10775
10776 * Split AnimateDragging as separate option from AnimateMoves.
10777
10778 * Added FlashMoves to options menu and -flash/-xflash to command line
10779 options (xboard only).
10780
10781 * Some preliminary work on visible bughouse holding support.  Most of the
10782 code is not present in this release because I have not gotten it working
10783 properly yet; my first approach went down a blind alley and I had to
10784 remove most of the partially working code in preparation for a rewrite.
10785
10786 3.6.5 -- Fri May  8 14:22:09 PDT 1998  Tim Mann
10787
10788 Not generally released.
10789
10790 * Pack bughouse holdings display in banner more tightly when board is one
10791 of the smaller sizes (when smallLayout or tinyLayout is true, that is).
10792 An interim measure, but should help.
10793
10794 * Completed fix to make move list parsing recognize the end condition and
10795 final comment.
10796
10797 * Fixed pattern matching for chatter (tells, etc.) to be more reliable.
10798 This should reduce the incidence of colors starting in the wrong place and
10799 of incorrectly matching things that look like other patterns inside
10800 chatter, such as "shout <12>".  (These errors were already rare.)
10801
10802 * WinBoard now lets you customize the list of ICS's in the startup dialog.
10803 For now, at least, requires editing WinBoard.ini with a text editor.
10804
10805 * Bug fix: WinBoard window sizing and position setting save/restore did
10806 not work right when the taskbar was at the top (or left side) of the
10807 screen and not in autohide mode.
10808
10809 * Merged xboard click/click mode and drag mode, and deleted
10810 ClickClickMoving option on menu.  Now if you click on a piece, it
10811 highlights and a further click on another square will move it.  (A second
10812 click on the same square takes down the highlight.)  Or if you press down
10813 on a piece and start to drag, you can drag it to a new square.
10814
10815 * When making click/click style moves, if your second click is on a piece
10816 of the same color, instead of saying "Illegal move", we now cancel the first
10817 starting square, replace it with the second, and wait for another click to
10818 finish the move.
10819
10820 * Separate -secondInitString.  Default: same as -initString.  Suggested by
10821 Remi Coulom.
10822
10823 * Patch from Frank McIngvale to make animation work with XIMs.  Yay!
10824
10825 * Changed move animation to happen after move is passed on to ICS or the
10826 chess engine, where applicable.  Fixed problems with updating moveList
10827 that this uncovered.
10828
10829 * Changed game list to show PGN result token for each game.
10830
10831 * The usual minor bug fixes.
10832
10833 3.6.4 -- Thu Apr 30 23:14:43 PDT 1998  Tim Mann
10834
10835 xboard and WinBoard beta test release.
10836
10837 * xboard documentation updated, both man page and info file.  An attempt
10838 to generate both from the same source with LinuxDocSGML was abandoned, at
10839 least for now.  WinBoard doc updated too.
10840
10841 * Merged updates to animation code from Hugh.  Fixed a couple of remaining
10842 bugs, mostly to do with handling Pause mode correctly.
10843
10844 * Added SaveSettingsOnExit to WinBoard.
10845
10846 * WinBoard now saves the last screen position of the Comment, Edit Tags,
10847 Game List, and Analysis windows (in addition to the board and ICS
10848 Interaction windows) in WinBoard.ini.
10849
10850 * WinBoard now provides a way to customize the right-button context menu
10851 in the output area of the ICS Interaction window.  For now, requires
10852 editing WinBoard.ini with a text editor.
10853
10854 * Various minor fixes to ICS message recognition, most affecting only Zippy.
10855
10856 * Colorize the notification when someone sends you a message while you are
10857 logged in, not the output of the "messages" command.
10858
10859 * Fixed colorization to turn off at the right place more reliably.
10860
10861 * Added a new color and WinBoard sound for "requests": abort, adjourn,
10862 draw, pause, and takeback.  The same color and sound are used for all of
10863 these.
10864
10865 * Added GUI to change sounds in WinBoard.
10866
10867 * Suppressed WinBoard error popup when a sound can't be played.  They were
10868 popping up when two separate WinBoards tried to play a sound at the same
10869 time (such as during a bughouse match).
10870
10871 * Fixed WinBoard crash when a sound file didn't exist.
10872
10873 * WinBoard ports of timestamp and timeseal now produce decent error
10874 messages if they fail to connect, and WinBoard captures the messages and
10875 puts them into a popup.  Previously WinBoard would exit with no message on
10876 such errors.
10877
10878 * WinBoard resizing with mouse improved; now accurately picks the largest
10879 size that fits in the new area.
10880
10881 * Added option to turn off error message popups.
10882
10883 * Added sizes slim, dinky, and teeny.
10884
10885 * Fixed some minor problems with error message wording.
10886
10887 3.6.3 -- Mon Feb 23 19:08:57 PST 1998  Tim Mann
10888
10889 xboard beta test release only.  Man page is updated for the changes, but info
10890 file is not.
10891
10892 * Bug fix: LoadGame could not load a PGN game whose first move was
10893 castling (which is possible from setup positions).
10894
10895 * Bug fix: we were ignoring illegal move messages from chess engines in
10896 modes where the engine is refereeing but not participating (EditGame,
10897 LoadGame, AnalyzeFile).  The problem was in a workaround for a Crafty bug,
10898 where Crafty generates a bogus illegal move message if a "." (used by
10899 the PeriodicUpdates feature) is sent in analysis mode when the current
10900 analysis reveals a forced mate.  Installed a different workaround (that
10901 works in most but not all cases) and reported the Crafty bug.  Bob Hyatt
10902 replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.
10903
10904 * WinBoard only: enabled resizing board with the mouse.  It snaps to the
10905 nearest (but not too much larger) predefined size.
10906
10907 * The xboard default font is now sized according to piece size, just as
10908 clockFont and coordFont have always been.
10909
10910 * Added more sizes: bulky, moderate, average, middling, mediocre, petite.
10911
10912 * xboard only: Added Animate Moves and Click-Click Moving to Options menu.
10913
10914 * xboard only: Added code to animate piece movement, from Hugh Fisher.
10915
10916 * New feature: autoflag is implemented in MachineWhite, MachineBlack, and
10917 TwoMachines modes.  If it is on and either a chess program or the user
10918 oversteps his time, xboard will automatically call the flag and end the
10919 game.  This feature was requested by someone who runs matches between
10920 programs and wants to penalize GNU Chess for its habit of running slightly
10921 over at the end of a time control.  I personally think it's pointless.
10922
10923 * Fixed a bug in Zippy's pattern matching; he can now reply to ICC
10924 messages again.
10925
10926 * Generate prettier notation for illegal moves.  If a move is illegal only
10927 because it leaves the player in check, generate notation as if that were
10928 not illegal.  For instance, if two knights are a knight's move away from
10929 f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to
10930 move the g1 knight, Nef3 to move the e5 knight.  (Suggested by Philippe
10931 Schnoebelen.)  In addition, if a move is illegal because the type of piece
10932 moved cannot go that way, would be jumping over another piece, etc., we
10933 give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,
10934 d2xd8=Q, etc.  An alternative would be to still write Ng3 if there is only
10935 one knight on the board, or Ngg3 if the other knight is not on the g file,
10936 but life is too short to code up all this stuff, and perhaps the way I did
10937 it is better as it emphasizes that this move was really made despite being
10938 illegal.  I wonder if the new PGN standard revision will speak to notation
10939 of illegal moves?
10940
10941 * Fixed gross bug from 3.6.2: if a chess program said "checkmate" and
10942 White was left on move, the PGN outcome was "1-0 {Black mates}" instead
10943 of "0-1 {Black mates}"!  The bug occurred only for that specific string.
10944
10945 3.6.2 -- Wed Jul 23 16:47:29 PDT 1997  Tim Mann
10946
10947 * There was a bug in backing up from the end of a game against a chess
10948 engine, introduced when -reuse mode was added.  Fixed.
10949
10950 * Recognize "{" as terminating an ICS move list.  Previously we needed to
10951 see a prompt (containing %), but occasionally ICC can send more stuff
10952 right after a move list with no prompt in between.
10953
10954 * In WinBoard, -mm now implies -cp, so you don't get the startup dialog.
10955
10956 * WinBoard startup dialog no longer sets -scp.  People used to get
10957 confused because they would give the -fcp and -scp arguments, but omit
10958 -cp.  This would bring up the startup dialog, which would set both -fcp
10959 and -scp to the value in the engine name box.  Now you can change -scp
10960 only with the command-line argument.  That will confuse some people too,
10961 but hopefully fewer.  I think overall it's better than putting spaces for
10962 both -fcp and -scp in the dialog, which would puzzle newbies.
10963
10964 * Bug fix: Analyze File mode now works in WinBoard.
10965
10966 * Bug fix: WinBoard window no longer cuts off part of the bottom row if
10967 the menu bar wraps to a second line.
10968
10969 * Accept game end messages of the form "PGN-result {comment}" from the
10970 chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2.  Accept "resign"
10971 or "computer resigns" from the chess engine as a synonym for "0-1 {White
10972 resigns}" or "1-0 {Black resigns}". Accept any message from the chess
10973 engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".
10974 Accept "White resigns" or "Black resigns".
10975
10976 * Enable "Action / Draw" menu item in chess engine mode.  It sends the
10977 command "draw" to the engine.  Accept any message from the chess engine
10978 containing "offers a draw" as a draw offer.  WARNING: Draw offers from the
10979 user and the engine (or from two engines) are not yet matched up by xboard
10980 in chess engine mode.  Two engines could get into a loop offering each
10981 other draws.
10982
10983 * Bug fix: Game end messages from the chess engine are always ignored in
10984 Zippy mode.  Previously they could sometimes be processed, which was
10985 sometimes making Zippy hang at the start of a new game that followed
10986 quickly after an old one.
10987
10988 * Zippy can now respond to titled players in channels.  Zippy will avoid
10989 talking to himself in a channel if he knows his own name.
10990
10991 * Bug fix: in colorization arguments, the bold setting was being ignored
10992 if the background color was defaulted.  (xboard only.)
10993
10994 * Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.
10995 If fewer than 8 squares are given in a row, or fewer than 8 rows are
10996 given, the uncovered squares are empty.  Also, there can be a / after the
10997 8th row.
10998
10999 3.6.1 -- Sat May 17 01:02:33 PDT 1997  Tim Mann
11000
11001 * Bug fix: Hitting escape while entering a password on WinBoard no longer
11002 sets the font color back to black (which made further typing visible).
11003
11004 * Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would
11005 often hang if you tried to exit with the Exit menu item, the [X] button,
11006 etc.  The same fix may also have corrected the problem where running a
11007 chess program with /xreuse would sometimes crash Windows 95 (but not NT)
11008 when the chess program was killed and quickly restarted.
11009
11010 * Bug fix: Periodic Updates would not work if turned on after having been
11011 off.  Also, the default was needlessly "off" in WinBoard.
11012
11013 * Zippy bug fix: Continuing an adjourned game was totally broken.  The
11014 wrong moves, or no moves at all, were being fed to the chess program.
11015
11016 * WinBoard change: Giving -ics without -icshost now pops up the startup
11017 dialog with "Use an Internet Chess Server" pre-selected, so that you get a
11018 menu of chess servers instead of going directly to ICC.
11019
11020 * Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and
11021 -icshelper in winboard.ini.  This causes a problem if you use a different
11022 icshost later that needs the default values for icsport (5000) and
11023 icshelper ("", meaning none).
11024
11025 * Disabled complaints about unexpected "[Ii]llegal move" messages from
11026 the chess program; we still get them at times.
11027
11028 * Greatly simplified the code for Move Now and SIGINT (ATTENTION).  Fixes
11029 the bug where Move Now did not work with GNU Chess in WinBoard, and
11030 several more obscure bugs as well.  Reintroduces a minor bug: GNU Chess might
11031 not think on your time after a Move Now command.  Trying to fix this
11032 causes too many other problems.  Documented change in engine-intf.txt.
11033
11034 * Cleaned up code for obtaining ratings from ICS.  It was kludgey and may
11035 have had bugs on systems with no "Creating:" message.  It should fail
11036 gracefully there, just not finding the ratings.
11037
11038 3.6.0 -- Thu May  8 19:55:58 PDT 1997  Tim Mann
11039
11040 * WinBoard now has right-button context menus in the ICS Interaction
11041 window.  Some of the items do immediate commands on the player name you
11042 have selected or pointed to.  (Suggested by Paolo Casaschi.)  Also, the
11043 middle button or shift+right does a immediate Copy and Paste.
11044
11045 * Fixed a bug in Zippy's wild rejection.  The bug was causing Zippy to
11046 reject all forms of wild.  Now it rejects only 1, 9, 16, 17, and 24, as
11047 was intended.  These variants have different rules, while the other
11048 variants defined so far only have different starting positions.
11049 (Actually, wild 2, 3, and 4 never allow castling, but may sometimes by
11050 chance have king and rook start on squares where castling appears legal.
11051 This could cause a problem later.)
11052
11053 * Zippy now resumes adjourned games by feeding the chess program
11054 the move list instead of the position.  Setting -getMoveList to False
11055 restores the old behavior.  Feeding in the move list is better because
11056 it enables the chess program to correctly handle en passant legality,
11057 castling legality, draw by repetition, and draw by the 50 move rule.
11058
11059 * Added a WinBoard startup dialog for people who run WinBoard.exe without
11060 using the Start menu or reading the help file.  Instead of being dumped
11061 directly into GNU Chess mode, you now get a menu of choices.  You now have
11062 to give the new WinBoard -cp option to go directly into chess engine mode.
11063 I did not add this feature to xboard.
11064
11065 * Handling of "illegal move" from Crafty is now back on.  (It was turned
11066 off in 3.4.6; see below.)  Crafty 12.0 doesn't seem to send bogus ones
11067 anymore.  I did have to suppress sending time and otim in analyze mode to
11068 make this work, but there is no harm in that.
11069
11070 * Zippy now sends "gameend" to ICS at the end of each game.  You can alias
11071 this to "seek" or whatever you like.
11072
11073 * Added Crafty support for Move Now, using the "?" command.  We test
11074 whether this command exists by trying it once at the start of the first
11075 game, before it really makes sense.  If we don't get a message like
11076 "Illegal move ... ?", we assume it's OK.  (We're careful about this
11077 because sending a "?" to GNU Chess on Move Now keeps it from pondering the
11078 next move as it should.)
11079
11080 * Added support for a tellusererror command from the chess engine.  See
11081 engine-intf.txt.
11082
11083 * Attempted to make engine-intf.txt complete.
11084
11085 * Minor fixes/cleanup to GameEnds code, to be sure we always interrupt
11086 when needed, and always undo an extra move generated by stopping the chess
11087 program while it is thinking.
11088
11089 3.5.7 -- Sat May 03 22:37:44 PDT 1997  Tim Mann
11090
11091 Beta release of both xboard and WinBoard.
11092
11093 * Updated xboard documentation.  I really wish the man page was built from
11094 the info file instead of being separate!  It's a pain to update them both.
11095
11096 * Updated documentation of the interface between XBoard/WinBoard and chess
11097 programs, and renamed it to engine-intf.txt.
11098
11099 * Added support for tellics, telluser, and askuser commands from the chess
11100 engine.  See engine-intf.txt.
11101
11102 * Various bug fixes.  On WinBoard, 256 color displays are finally handled
11103 right; no more color flashing when you switch windows unless the colors
11104 really need to be updated.  Also, I think the problem of the console font
11105 failing to change or changing back by itself is finally fixed.
11106
11107 3.5.6 -- Tue Apr 29 03:08:00 PDT 1997
11108
11109 Beta release, WinBoard only.  ChangeLog was out of date in release,
11110 updated here.
11111
11112 * Added ICC timestamp and FICS timeseal to WinBoard distribution.  These
11113 are my own ports to Win32, based on and used by permission of the owners
11114 of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram
11115 for timeseal).  The owners permit these programs to be distributed only in
11116 binary form (to help prevent cheating), so to avoid running afoul of the
11117 GPL, I have kept them as separate programs, not linked into the WinBoard
11118 address space.  Updated Start menu icons to use them.
11119
11120 * Miscellaneous smaller changes.
11121
11122 3.5.5 -- Fri Apr 25 03:06:00 PDT 1997
11123
11124 Beta release, WinBoard only.  ChangeLog was out of date in release;
11125 updated here.
11126
11127 * Added simple sound support to WinBoard.
11128
11129 * Updated WinBoard documentation.
11130
11131 * Internal implementation of the telnet protocol is now more complete.
11132 You can now hop through a VMS host on the way to ICS.  For example, do
11133 "xboard -ics -icshost vms.host.edu -icsport 23", then log in.  Do not use
11134 the -telnet flag; that says to use an *external* telnet program.  To avoid
11135 double echoes, you need to force character mode in VMS telnet after
11136 connecting from VMS to ICS.  Do "^]^Mset mode char^M^M".
11137
11138 * Display opponent names in the title bar for MachineWhite, MachineBlack,
11139 and TwoMachines modes.
11140
11141 * WinBoard now has an installer, built with InstallShield.  The installer
11142 works with a binary-only distribution.  Sources are still freely
11143 available, but now separately.
11144
11145 * Added SaveSettings to WinBoard, which saves current option settings to
11146 winboard.ini.  Made sure all options can be saved and loaded, including
11147 fonts and com port settings.
11148
11149 * If the game ends while you are dragging a piece, we now don't let you
11150 finish the move.  Formerly the move was accepted and your opponent's clock
11151 would start running again.
11152
11153 3.5.4 -- Fri Apr 18 01:15:24 PDT 1997  Tim Mann
11154
11155 Beta test release of WinBoard and xboard.  The documentation remains
11156 out of date.
11157
11158 * Many fixes and improvements to new WinBoard user interface code.
11159
11160 * In Zippy mode, avoid sending another copy of the same move to the chess
11161 program if ICS sends us another copy of the board image.  Hard to believe
11162 it took me until now to diagnose and fix this problem!
11163
11164 3.5.3 -- Sat Apr 12 19:49:33 PDT 1997  Tim Mann
11165
11166 Beta test release of WinBoard and xboard.
11167
11168 * Fixed fatal bug in WinBoard input handling.
11169
11170 * Made code to stop chess program for reuse a bit smarter.  Removed kludge
11171 of "white" in initString; it didn't work well, and is unneeded
11172 with Crafty 11.21 and later.
11173
11174 3.5.2 -- Sat Apr 12 15:40:01 PDT 1997  Tim Mann
11175
11176 Beta test release of WinBoard.
11177
11178 * Ignore check and permit promotion to King during suicide games; no need
11179 to turn off TestLegality.
11180
11181 * Renamed CheckLegality to TestLegality to avoid confusion with the chess
11182 term "check".
11183
11184 * Added Rematch to Action menu.
11185
11186 * WinBoard now has a custom ICS interaction window with scrollback, a
11187 separate line for input, and colorization.  Accelerators that conflict
11188 with normal editing keys were changed (by requiring Alt+) so they can work
11189 in both the console and the main window.
11190
11191 * WinBoard error popups are now non-modal and disappear when you make a
11192 new move, as in xboard.
11193
11194 * Configure now defaults to --disable-ptys on all systems.  If anyone has
11195 an ancient SysV system where pipes don't work with select, they can still
11196 do "configure --enable-ptys" explicitly.  I would appreciate getting a bug
11197 report if this happens to anyone, with complete output from configure and
11198 "uname -a".
11199
11200 * "make install" now makes the installation directories too.
11201
11202 * Fixed a bug that would cause an "Illegal move" message for Black from
11203 GNU Chess to be incorrectly considered bogus.
11204
11205 * Handle name changes during an ICS game (FICS bname and wname commands).
11206
11207 * You can force both chess programs to be killed at the end of each game
11208 by turning off the reuseChessPrograms option.  There are still some
11209 problems with reusing Crafty even in version 11.20.
11210
11211 * Now the second chess program stays around by default too, if it ever
11212 gets started.
11213
11214 3.5.1 -- Sat Apr  5 16:47:48 PST 1997  Tim Mann
11215
11216 Beta test release.
11217
11218 * Don't kill off and restart the chess program for each game; keep the
11219 same one running, using the "new" command to start a new game.  This
11220 change works around the problem in Windows 95 that makes WinBoard crash it
11221 at times, and is generally desirable to make new games start faster.  The
11222 second chess program (for TwoMachines) is still killed at the end of the
11223 game, and unfortunately this can still crash Windows 95.  Temporarily
11224 added "white" to the initString to make this work with Crafty 11.20, which
11225 has a minor bug in "new".  Older versions of Crafty have worse bugs in
11226 "new"; they should not be used with this version of xboard.
11227
11228 * Support for FICS suicide chess: Parse illegal moves (that leave King in
11229 check) in game history.  If CheckLegality is off, allow promotion to King
11230 and illegal moves in game files.  We still generate e2e4 style notation
11231 for illegal moves.
11232
11233 * Handle FICS "has timeseal; checking" message.
11234
11235 * Changed the coords from white back to black; this was a bug.
11236
11237 * Fixed problems compiling with K&R compilers.
11238
11239 * Fixed an old bug in RegisterMove that was crashing cmail on some systems
11240 (notably linux).
11241
11242 3.5.0 -- Thu Jan  2 16:59:49 PST 1997  Tim Mann
11243
11244 Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!
11245
11246 * Fix Crafty resumed game time bug (frankm)
11247
11248 * Word wrap text in Analysis window (frankm)
11249
11250 * More debug info for XPM loading (frankm)
11251
11252 * Replaced config.sub, config.guess, etc., with up-to-date versions from
11253 autoconf 2.12.  Hopefully this will fix problems on Pentium Pro machines.
11254
11255 * Removed some Makefile gunk that was causing looping for one person.
11256
11257 3.4.7 -- Thu Dec 19 14:22:41 PST 1996  Tim Mann
11258
11259 All changes from Frank:
11260
11261 * Retrieve ratings from ICC (and FICS, etc., when they add the Creating:
11262 message), save them in the PGN tags, and pass them to Crafty in Zippy mode.
11263
11264 * Add settable time delay between characters in ICS login script.
11265
11266 * Colorize messages like personal tells.  Fix false recognition of channel
11267 tells.
11268
11269 * Pass "tells" from Crafty through to ICS (in Zippy mode).
11270
11271 * Implement ~/ filename convention from C shell for game and position file
11272 names.
11273
11274 * ZIPPYACCEPTONLY feature for testing.
11275
11276 3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996  Tim Mann
11277
11278 * Put recognition of "illegal move" messages from Crafty for
11279 illegal castling, etc., inside an #if that is currently turned off,
11280 because of a bug in Crafty that generates bogus "illegal move" messages
11281 after some moves that are actually legal and accepted by Crafty.
11282
11283 * Added -checkLegality option; previously this could not be turned off.
11284
11285 * Fixed an old bug in finding default board size parameters.
11286
11287 * Differentiated among channel tell, kibitz/whisper, and personal tell/say.
11288
11289 * Fixed a bug in detecting Xpm in the configure script.
11290
11291 3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996  Tim Mann
11292
11293 * Added zic2xpm to the kit; it had been omitted by mistake.
11294
11295 * Added some default colors for -colorize
11296
11297 3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996  Tim Mann
11298
11299 This is meant to be a beta release in preparation for version 3.5.
11300
11301 * Added InfoXBoard and ManXBoard to the Help menu.
11302
11303 * Made Frank's ICS input box optional, defaulting to off.
11304
11305 * Merged in Frank McIngvale's XbKit.  Many new features, including
11306 -clickClick mode, the Analysis modes, piece flashing, ZIICS import,
11307 ICS text colorization, and the ICS input box.  Many thanks to Frank for
11308 supplying and documenting this code.
11309
11310 3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996  Tim Mann
11311
11312 Small set of changes made while Frank McIngvale was working on XbKit in
11313 parallel.  Unreleased in this form.
11314
11315 * Updated zippy.README.
11316
11317 * Removed useless X event handler and removed strange code for copying
11318 form translation table to board that worked around the bug it caused.
11319 This makes changing bindings in .Xdefaults more straightforward.
11320
11321 * Now pressing the Control key steps back one move, and releasing it steps
11322 forward again.
11323
11324 * Moved quit from "q" to "Q" for greater safety.
11325
11326 * Use "unobserve" instead of "observe" to stop observing; needed on FICS.
11327
11328 * Support for interface variable.
11329
11330 * Strip titles from people who are talking to us, so (for example) Zippy
11331 won't try things like "tell Darooha(*) hello".  Needed on FICS.
11332
11333 3.4, patchlevel 2 -- Tue Jul  9 19:06:42 PDT 1996  Tim Mann
11334
11335 This patchlevel is not planned to be an announced release.  It's in
11336 preparation for integrating Frank McIngvale's XbKit.  It mostly contains
11337 minor fixes I've accumulated since 3.4.pl1.
11338
11339 * WinBoard /telnet option now fires up an external program, as
11340 with xboard, instead of trying to use a feature of NT 3.1 that does not
11341 exist in later versions of NT or in Windows 95.  ChangeLog for 3.4.pl1
11342 said this had been implemented there, but it really wasn't.
11343
11344 * Indicating player to move by the icon color now works under Windows 95.
11345
11346 * WinBoard now kills the chess program when you exit using the system menu
11347 or the [X] button.  Thanks to Michael Lowe.
11348
11349 * Minor changes to Zippy, including: Now understands wild challenges on
11350 FICS; these used to crash it.  Removed limit on how fast a game will be
11351 accepted.  Use "set formula ..." on the chess server to limit this if you
11352 are using GNU Chess.  Now sends correct opponent name to Crafty.
11353
11354 * Added some missing default values to documentation.  Thanks to Stuart
11355 Cracraft.
11356
11357 * Bugfix: Trying to print "No fonts match pattern" error message would
11358 crash.  This can happen to Linux users who don't install Helvetica, for
11359 example.
11360
11361 * Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an
11362 infinite loop.
11363
11364 * Added more directories to search for Athena widgets on HPUX.
11365
11366 * New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.
11367
11368 * Recognize "illegal move" messages from Crafty for illegal castling, etc.
11369
11370 * Bugfix: "name" command added to zippy.c for Crafty was producing error
11371 message if GNU Chess was in use.
11372
11373 * In bughouse mode, suppress holding messages from console window; show
11374 holdings only in banner.
11375
11376 * Minor fixes/cleanup to Makefile.in and configure.in.
11377
11378 3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995  Tim Mann
11379
11380 * This patchlevel updates WinBoard to match xboard, and includes a few
11381 fixes and minor improvements.  "-size tiny" and "-size n,n,n,n,n,n"
11382 are still not implemented for WinBoard.
11383
11384 * Installed support for Crafty based on code from Bob Hyatt.
11385 Currently the only documentation for this is in the FAQ, and a few
11386 things don't work with Crafty 8.23.  Please do not report these
11387 problems as bugs in either xboard or Crafty.  Bob and I know about
11388 them.  The worst ones (if not all of them) should be fixed in Crafty
11389 8.24.
11390
11391 * Changed the kludge command we send when gnuchess wants to print
11392 something that doesn't end with a newline, from "help" to "bogus".
11393 This works because the error message gnuchess prints ends with a
11394 newline.  It also improves compatibility with Crafty, which doesn't
11395 need the kludge, but for which sending "help" causes a problem.
11396
11397 * Don't draw grid at all if lineGap is 0; previously we drew the grid
11398 with X "0-width" lines (usually 1 pixel wide) and then overwrote it.
11399
11400 * Makefile: Removed xboard.info from "all" target so we won't try to
11401 rebuild it, because this fails on hosts that don't have makeinfo
11402 installed.  Other minor fixes to "clean" targets, etc.
11403
11404 * Fixes and cleanup to Auto Comment code that handles continuation
11405 lines and highlighting.
11406
11407 * Auto Observe now tries to observe the game from the point of view of
11408 the player who was on your gnotify list.  Requested by rng.
11409 Limitations: We can't tell which player it was unless you have ICS
11410 highlighting turned on.  Also, currently "observe foo" works as
11411 required (observing from foo's point of view) only on ICC, but FICS
11412 will probably implement this soon.
11413
11414 * "-size tiny" now makes the default font smaller automatically.  This
11415 was implemented by introducing an extra Form widget in the hierarchy
11416 for all xboard windows, named either normalLayout, smallLayout, or
11417 tinyLayout.  So you can have resource specifications that apply only
11418 to certain layouts; in particular, XBoard*tinyLayout*font.
11419
11420 * Bug fix: EditGame or EditPosition while playing or examining still was
11421 not really being permitted.
11422
11423 * WinBoard bug fix: On the EditPosition menu, King did not work.
11424
11425 * Added text catalog of WinSock error messages to WinBoard, because
11426 Microsoft still has not put them in the system message catalog.
11427
11428 * Removed support for older ICS game-ending messages that do not have
11429 a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.
11430 The code for older messages was sometimes firing on the newer
11431 messages, due to parsing ambiguity.  If the current code sees an old
11432 message, it will understand that the game is over, but will always
11433 display * as a result token instead of trying to guess the result by
11434 interpreting the text message.
11435
11436 3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995  Tim Mann
11437
11438 * This patchlevel was released for xboard only.
11439
11440 * Updated the info file.  It should now be as up-to-date as the man page,
11441 with good English except in the parts that pertain only to AmyBoard.
11442
11443 * Added "-size tiny", requested by Bob Hyatt.  Also cleaned up bitmap
11444 support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,
11445 if the actual bitmaps are supplied by the user.
11446
11447 * Updated bughouse support.
11448
11449 3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995  Tim Mann
11450
11451 * Unreleased beta that works with preliminary FICS bughouse code.  Will
11452 need changes before release to track FICS message changes.
11453
11454 * Removed use of .EX macro from man page.  It is not supported by some
11455 nroff -man macro packages, notably the one on Slackware Linux.  Switched
11456 to boldface for references to xboard and other commands within the man
11457 page, as this seems to be the modern way.
11458
11459 * Bug fix: If ICS rejected a move, it was correctly undone on the board,
11460 but the message widget still displayed the bad move.  Reported by DAV.
11461
11462 * Normally, xboard in ICS mode fetches the move list whenever the board
11463 display switches to a new game.  Doing this is now an option
11464 (getMoveList) that can be turned off, which is useful if you are watching
11465 multiple blitz games.  Requested by rng.
11466
11467 * Move list fetching code is now smarter: it ignores a move list if it is
11468 not for the right game.
11469
11470 * Added support for bughouse as implemented on FICS.  Holdings are shown
11471 in the window title in place of the strength numbers.  A menu on mouse
11472 buttons 2 and 3 (same on both) lets you drop pieces.  There is no checking
11473 as to whether you actually hold the piece you are trying to drop; we rely
11474 on ICS to check that.  Notation of the form P@f7 is generated and parsed.
11475 The mate detector does not understand that non-contact mate is not really
11476 mate in bughouse, but this does no real harm.  It results in a "#"
11477 suffix being displayed on the move notation, but xboard does not assume the
11478 game is over.
11479
11480 * Bug fix: Promotion to a knight was not working with ICC!  Thanks to
11481 Wendigo for the report.
11482
11483 * Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*
11484 (supplied from configure.in) had a bug that would cause childio.c to
11485 fail to compile, due to a "continue" that was not within a loop.
11486
11487 * Bug fix: In pgntags.c, memory was being freed while still in use.  One
11488 symptom this caused was that on some machines, cmail would fail with a
11489 message that it could not find the BlackNA tag.  The error was in some
11490 submitted code that I included in version 3.2.pl3 without reading
11491 carefully enough.  Anders Forberg noticed the symptoms, and Evan Welsh
11492 (who had nothing to do with causing the bug) found the bug and submitted a
11493 fix; thanks to them both.
11494
11495 * Removed restriction against using EditGame while playing, observing,
11496 or examining on ICS.  You still get a warning popup.
11497
11498 3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995  Tim Mann
11499
11500 * Bug fix: Going directly from MachineWhite to TwoMachines mode would kill
11501 off the second chess program after Black's first move.
11502
11503 * Added -timeIncrement feature.  Thanks to Joel Rivat.
11504
11505 * Deleted code that tries to keep you from observing more than one game,
11506 or observing while playing or examining.  There is actually no problem in
11507 doing this, except that every time an update comes in from a different
11508 game than is currently being displayed, xboard fetches the history of the
11509 new game, which may be time-consuming if you are on a slow link.
11510
11511 * Fixed configure so as not to crash when neither lex nor flex is found.
11512 lex or flex is needed only if the user wants to rebuild parser.c.  Thanks
11513 to Phil Humpherys for reporting the crash.
11514
11515 * Bug fix: config.h.in used #define instead of #undef for some macros used
11516 in the pty code in childio.c.  This causes the code to fail to compile on
11517 some architectures, because the symbols are supposed to be undefined, not
11518 defined to empty, when they are not set in configure.  Bug originated in
11519 3.3.pl0 when config.h was introduced.  Thanks to Phil Humpherys for report.
11520
11521 * Bug fix: ShowThinking would not show anything when current position had
11522 no move to display in the move window.  E.g., if position was created by
11523 LoadPosition or EditPosition.
11524
11525 3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995  Tim Mann
11526
11527 * Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.
11528
11529 * For WinBoard, added hint to help file that you may need to turn off
11530 LocalLineEditing while typing dialing commands to your modem.
11531
11532 3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995  Tim Mann
11533
11534 * Zippy distribution is no longer separate from regular xboard distribution.
11535
11536 * Deal properly with Show Thinking output from GNU Chess when it is
11537 thinking on its opponent's time.  In TwoMachines mode this output is
11538 suppressed to avoid interfering with the output from the machine that is
11539 on move; in other modes it is displayed (including the move that GNU Chess
11540 is predicting the user will make next).  GNU Chess produces this output
11541 only if it is built without -DQUIETBACKGROUND defined; this symbol is
11542 defined by default in patchlevels before pl75, but undefined by default in
11543 pl75.
11544
11545 * Bug fix: Handling of initial board position in move list for wild games
11546 was broken, so wild games could not be observed and adjourned wild games
11547 could not be continued.  Thanks to "Maximum Entropy" for the bug report.
11548
11549 * Added feature: algebraic notation now shows "+" indicator for check
11550 and "#" for checkmate, as called for in PGN standard.  Thanks to Kevin
11551 Maher for the suggestion.
11552
11553 3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995  Tim Mann
11554
11555 * Changed configuration to use a config.h file instead of passing zillions
11556 of -D options on the cc command line.
11557
11558 * Merged a small fix and some updates to the texinfo file from Jochen
11559 Wiedmann.  The texinfo file still needs work.
11560
11561 3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995  Tim Mann
11562
11563 * Beta test release of xboard only.
11564
11565 * Updated WinBoard code to include new xboard features.
11566
11567 * Added texinfo file from Jochen Wiedmann to the release, but not as the
11568 primary documentation.  It needs updating, and the English needs work.
11569 I did make a few improvements, mostly to change incorrect uses of @var to
11570 either @samp or @code as appropriate.
11571
11572 * Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.
11573
11574 * Fixed EditComment; did not pop up window in previous beta.
11575
11576 * Added AutoComment feature.
11577
11578 * Added GameListDestroy to disable the outdated game list popup in cases
11579 where we load a new game file without building a new popup.
11580
11581 * Added yyskipmoves feature to parser.l to speed up building of gamelist.
11582
11583 * gamelist.c wouldn't compile with a non-ANSI compiler.  Fixed.
11584
11585 * Change to yy_text handling in patchlevel 3 still had problems.  Can't
11586 use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER
11587 according to whether the lexer on the current host makes yytext a pointer.
11588 But most people will be using a parser.c that was generated on another
11589 host and shipped with the package.
11590
11591 3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995  Tim Mann
11592
11593 * Beta test release of xboard only.
11594
11595 * Added FIREWALLS section to man page.
11596
11597 * Changed -icsport to be a string.  Now with the -telnet option,
11598 specifying -icsport "" suppresses the second argument to telnet.
11599
11600 * Added EditTags feature.  Removed AboutGame from menu, because EditTags
11601 subsumes it.  EditTags suggested by Jochen Wiedmann and first implemented by
11602 him in AmyBoard.  xboard implementation is my own.
11603
11604 * Fixed some missing or incorrect prototypes.
11605
11606 3.2, patchlevel 3 -- Sat Jun  3 18:57:38 1995  Tim Mann
11607
11608 * Beta test release of xboard only.
11609
11610 * New version of cmail from Evan Welsh, to fix compatibility problems with
11611 perl 5.0.
11612
11613 * Added game list feature on Load Game, based on code from Jochen
11614 Wiedmann.  Integrated it with cmail.
11615
11616 * Several bug fixes from Jochen Wiedmann, including one to my yy_text
11617 workaround for the difference in the type of yytext between lex and flex.
11618
11619 * Handle clock pause on FICS.
11620
11621 * Suppress clocks in untimed FICS games (time control 0 0).
11622
11623 * Rebuilt configure script with autoconf 2.3.  This fixes a bug in
11624 configuring for X11R6, where -lSM -lICE would not be added when needed.
11625
11626 * Fixed inconsistent type declarations on IntSigHandler and
11627 CmailSigHandler.  Bug report from Josh Daynard.
11628
11629 * backend.c wouldn't compile with a non-ANSI compiler.  Fixed.
11630
11631 3.2, patchlevel 2 -- Tue Feb  7 14:50:30 1995  Tim Mann
11632
11633 * Minor release of both xboard and WinBoard.
11634
11635 * Added recognition of some FICS messages.  On the other hand FICS is also
11636 changing some of its messages to match what xboard already recognizes.
11637
11638 * Temporarily went back to using "promote" command on ICS instead of
11639 "a7a8=Q", because FICS doesn't implement the latter yet.
11640
11641 * We now avoid using overlapped I/O on pipes in WinBoard, to make Windows
11642 95 beta 2 happy.  This lets WinBoard work with GNU Chess on Windows 95!
11643
11644 * Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.
11645
11646 * Installed patch to cmail bug in LoadGame from Evan Welsh.
11647
11648 * Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode
11649 were not being handled correctly.  Bug was in GameEnds().
11650
11651 * Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").
11652 Now passwords won't be echoed when you connect directly to ICS.  Also,
11653 telnet negotiation characters aren't displayed (when possible).
11654
11655 * Implemented more of the telnet protocol.  Now connecting to a telnet
11656 server with "-icsport 23" should work even without giving the -telnet
11657 option.  The telnet is in "old line-by-line mode".
11658
11659 3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994  Tim Mann
11660
11661 * This patchlevel released for WinBoard only.
11662
11663 * winboard.c: Fixed ConsoleInputThread().  Needed to change CRLF to LF,
11664 not to CR.  This was stopping normal /ics mode from working.  Thanks to
11665 Asher Kobin for the bug report.
11666
11667 * winboard.c: Fixed Raw(), EchoOn(), EchoOff().  Now they take effect
11668 immediately, not on the next console read after the one in progress.
11669
11670 * winboard.c: Attempted to make WinBoard work with gnuchessx running
11671 directly on Windows (not remotely via rsh).  It now works on NT, but only
11672 if gnuchess is told not to think on its opponent's time ("easy\n" removed
11673 from initString).  The problem seems to be that GenerateConsoleCtrlEvent
11674 is not doing anything.  On Windows 95 beta 2, we get error messages on
11675 both reading and writing to gnuchessx; I didn't investigate why.
11676
11677 3.2, patchlevel 0 -- Wed Dec  7 13:23:36 1994  Tim Mann
11678
11679 * Thanks to all the beta testers who gave me feedback: Josef Nelissen,
11680 Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,
11681 Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike
11682 Lee.  Sorry if I forgot anyone.  Thanks to Virendra Kumar Mehta for
11683 information about DYNIX/ptx.
11684
11685 * Don't exit on keyboard EOF unless we get two in a row.
11686
11687 * WinBoard only: added -localLineEdit switch to allow turning off local
11688 line editing if you really want to.  It is still a bad idea to let the
11689 echoing be done remotely, however; see below.
11690
11691 * Fixed some configure problems on HP-UX.  [Steve Booth]
11692
11693 * Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3.  [Josef Nelissen]
11694
11695 * cmail bugfix from Evan Welsh (cmail 3.4).
11696
11697 3.1, patchlevel 9 -- Fri Dec  2 23:54:56 1994  Tim Mann
11698
11699 * Beta distribution only
11700
11701 * Always do local echo/edit of user typing in ICS mode.  Doing the echo
11702 downstream may seem nicer in some modes, and it can be hard to turn that
11703 echo off, but the echoed characters can be interleaved with ICS output
11704 and make it impossible to parse correctly.  For xboard this involved only
11705 a change to recommendations in the man page, as Raw() isn't implemented.
11706 For WinBoard, removing Raw() made a real difference.  Added code in
11707 WinBoard to change /r/n back into /r on keyboard input, as we get the
11708 former when Raw() is not called.
11709
11710 * Do not issue ICS "refresh" command after we start to observe a game
11711 unless we get to the next prompt without seeing a board image.  Newest
11712 version of ICS doesn't require this refresh, but old versions around still
11713 do.
11714
11715 * cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.
11716
11717 * Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame.  Evan
11718 Welsh request.
11719
11720 * Using "-" on the command line as a filename for loading (saving) games
11721 or positions specifies the standard input (standard output).  Alain Picard
11722 suggestion.
11723
11724 * On WinBoard only, a command line option without a leading '-' or '/' is
11725 now taken as the value of -lgf.
11726
11727 * Changed to not use stdin, stdout, stderr as initializers in backend.c;
11728 needed for GNU libc compatibility.  You also must build parser.c with flex
11729 (not lex) if you are using GNU libc, to avoid having the same problem
11730 there.
11731
11732 * Changed WinBoard to avoid using "overlapped" input on the console.  It
11733 now seems to fully work on Windows 95 beta 2.
11734
11735 * Improved comment popups on WinBoard.  Now newlines are handled properly,
11736 and the plain Comment popup window doesn't disappear and reappear when we
11737 step to a new move with a new comment.
11738
11739 * Fixed bugs in detecting the absence of the time and otim commands.
11740
11741 * Added built-in implementation of rcmd protocol to WinBoard.  Windows NT
11742 does not implement passing signals through rsh, and Windows 95 does not
11743 have rsh at all.
11744
11745 * Added -remoteUser option.
11746
11747 3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994  Tim Mann
11748
11749 * Beta distribution only
11750
11751 * Rearranged ChangeLog file into reverse chronological order to be closer
11752 to GNU standards.
11753
11754 * Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).
11755 Includes a bug fix to TruncateGame.
11756
11757 * Updated ICS address to be chess.lm.com.
11758
11759 * Bug fixes to handling the aftermath of FatalError.  Thanks to Chris
11760 Petroff for the bug report.
11761
11762 * Test for remsh before rsh, other fixes for HP-UX.  Thanks to Richard
11763 Lloyd.  I wasn't able to do all the things he suggested, so there may
11764 still be some rough edges in building on HP-UX.  See the FAQ file for hints.
11765
11766 * Bug fix; added missing check for HAVE_SYS_SYSTEMINFO.  Thanks to Josef
11767 Nelissen for testing on Solaris 2.x.
11768
11769 * Updated WinBoard to match xboard.  (WinBoard still has a few option
11770 dialogs that don't exist in xboard.)
11771
11772 * Changed Hint output to a popup.
11773
11774 * ShowThinking output and move output no longer overwrite each other.
11775 ShowThinking output won't appear if the displayed position is not current.
11776 ShowThinking output in TwoMachines mode made clearer and documented.
11777
11778 * Implemented --enable-ptys and --disable-ptys arguments to configure.
11779
11780 * Fixed Book and Hint code to work over a pty with echo enabled and tabs
11781 expanded to spaces.  Thanks to Dima Dahknovsky for the bug report.
11782
11783 * Moved Attention calls from all over xboard to one place, inside
11784 SendToProgram.
11785
11786 * Added bulletproofing to ShowThinkingEvent.
11787
11788 * Added code to handle "refresh N" boards that come in from ICS properly,
11789 assuming ICS is changed to mark them with a new relation code (-3).
11790
11791 3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann
11792
11793 * Beta distribution only
11794
11795 * Changed ShowThinking to just show the current best line in the
11796 DisplayMessage area, instead of dumping everything to stdout.
11797
11798 * Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and
11799 changes to cmail code in backend.c, from Evan Welsh.
11800
11801 * Miscellaneous minor fixes.
11802
11803 3.1, patchlevel 6 -- Fri Nov  4 12:53:53 PST 1994 -- Tim Mann
11804
11805 * This patchlevel was not actually released to anyone.
11806
11807 * Updated the pty code to be based on GNU Emacs 19.24, and moved it to a
11808 separate file.  It was hard to split out just the pty configuration from
11809 all the stuff emacs does with its custom configure script and .h files,
11810 but I did my best.
11811
11812 * Converted from imake to GNU autoconf.  This was a serious upheaval.
11813
11814 * Put in code to help trap "error gathering move list" problem reported by
11815 Michel van der List if it recurs.  I couldn't reproduce it.
11816
11817 3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann
11818
11819 * Beta distribution only.
11820
11821 * We now test for checkmate or stalemate in EditGame mode after every user
11822 move, and in LoadGame mode whenever we hit the end of a game without
11823 seeing a PGN end marker.  cmail needs an update to deal with this
11824 correctly; Evan promises one.
11825
11826 * Bugfixes in new move generator.  Thanks to Mike Lee for reporting one of
11827 the bugs.
11828
11829 * Imakefile was omitted from patchlevel 4.
11830
11831 3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann
11832
11833 * Beta distribution only.
11834
11835 * The move generator includes a mate tester.  Initially this is used only
11836 by cmail, and even that usage needs further work.
11837
11838 * Wrote a true move generator and used it to replace all the move
11839 disambiguation and legality checking code in parser.l.  The move generator
11840 is capable of dealing correctly with en passant and castling availability,
11841 but the rest of the program still does not keep track of this information.
11842
11843 * Bug fix: xboard did not handle "foo has made you an examiner of game 23"
11844 message.  Thus you could not use examine features until the next board
11845 came in, showing your new relation to the game.  Thanks to POOKIEWOOKIE on ICS
11846 for the bug report.
11847
11848 * Added AutoObserve feature.  Thanks to Chris Petroff for the idea.
11849
11850 * Added Book feature to use new gnuchess "bk" command.  Mike McGann request.
11851
11852 * Redid code to handle missing "time" command in gnuchess, because latest
11853 gnuchess no longer sends a response to this command.
11854
11855 * Eliminated need for -DFLEX.  Thanks to Michael Shields (Vladimir?) for
11856 the idea.
11857
11858 * Added missing code to implement MoveNow in TwoMachines mode.
11859
11860 * Added ShowThinking feature.  Thanks to Richard Lloyd for the idea.
11861
11862 * Applied patches from Evan Welsh; some fixes and improvements to the
11863 cmail code.
11864
11865 * Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,
11866 introduced in previous patchlevel.  Also fixed related bug in ending a
11867 game in ICS mode; was entering EndOfGame mode instead of IcsIdle.
11868
11869 * Added patch to implement internetChessServerLogonScript flag, from Kevin
11870 O'Connor.  Thanks!
11871
11872 3.1, patchlevel 3 -- Wed Sep  7 13:22:07 PDT 1994 -- Tim Mann
11873
11874 * Beta distribution only.
11875
11876 * Merged in new cmail code from Evan Welsh.  He added the ability to have
11877 more than one game per message, needed for official IECG matches.  I added
11878 the ability to resign or offer/accept/decline a draw in a cmail game.
11879
11880 * Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError
11881 was called too early in initialization.  Georges Honore reported this bug.
11882
11883 * Decided to keep EndOfGame mode as an element of the user interface---it
11884 means that a gnuchess game or loaded game has ended, and the user must
11885 explicitly select EditGame to edit it, rather than just being able to
11886 enter more moves freely.  But internally there is no longer an invariant
11887 tying this mode to whether the chess program is running.
11888
11889 * Zippy bugfix: Was saving only the final position in the -sgf file when
11890 the game ended by something other than resignation or flag.  Also fixed
11891 the longstanding bug that Zippy would think the final board of such a game
11892 was a new game and restart the chess program.
11893
11894 * Now does a better job of faking castling availability in FEN.  We still
11895 don't really keep track of it, but now at least we don't say that castling
11896 is still available when the king or rook is not on its home square.
11897
11898 * Bugfix: Initial board of game history for wild games was going through
11899 too much processing, causing us to forget the game length, which is now
11900 needed by ParseGameHistory.  This was causing problems with resuming
11901 adjourned wild games.
11902
11903 * Updated ICS host to ics.onenet.net.
11904
11905 * Zippy now accepts challenges where the opponent specified his color.
11906
11907 * Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.
11908
11909 * Bitmap directory can include alternative icons now, too.
11910
11911 * Handle "Game * (*) has no examiners" message from ICS.
11912
11913 * Revamped window title and icon name selection.
11914
11915 3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann
11916
11917 * "Beta" distribution for Zippy users only.
11918
11919 * Bugfix: common.h was assuming that X11 type Boolean is char, which is
11920 not always true.  This might have caused all sorts of obscure bugs!
11921
11922 * Installed new bitmaps from Elmar Bartel as the default.  Many thanks!
11923 The old bitmaps can be used by changing the "bitmaps" symbolic link before
11924 compiling xboard, or by using the -bitmapDirectory option at runtime.
11925
11926 * Loading a game that ends with the PGN unfinished symbol ("*") now always
11927 leaves you in EditGame mode.
11928
11929 * Added documentation of -icscomm to man page.  Thanks to Maarten Remkes
11930 for the linux script.
11931
11932 * ^C now kills gnuchess as well as xboard.  Thanks to Dima Dakhnovsky for
11933 reminding me how to do this.
11934
11935 * Bitmap icon color now indicates player to move.  Stuart Cracraft
11936 suggestion.
11937
11938 * Changed piece bitmap flags to have just one flag, which points to a
11939 directory full of bitmaps, instead of a flag for each bitmap.  Also
11940 changed bitmap naming convention.
11941
11942 * "Connection closed by ICS" is no longer a FatalError popup.  This was
11943 too annoying in the normal case where the user typed "quit".
11944
11945 * Changed default font to 14 pixels instead of 10 points.  This seems to
11946 make it close to the size I want it to be on more displays.
11947
11948 * Major mode (GNU Chess, etc.) appears in title bar.  Stuart Cracraft
11949 request.
11950
11951 * Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and
11952 TwoMachinesEvent were calling PauseEvent to get out of pause mode, which
11953 now has undesired side effects, such as advancing the display to the
11954 forwardMostMove.  It works fine to just set pausing = FALSE instead.
11955
11956 * IcsExamining mode now lets you access ICS edit position commands using
11957 the same popup menus as xboard's EditPosition mode.  Thanks to DAV on ICS
11958 for inspiring the idea.
11959
11960 * Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.
11961
11962 3.1, patchlevel 1 -- Wed Jun  1 16:25:11 PDT 1994 -- Tim Mann
11963
11964 * Added parser.c.lex and parser.c.flex to the distribution.
11965
11966 * Added HP gcc options to Imakefile, from Mats Nylen.
11967
11968 * EndOfGame mode no longer highlights EditGame mode indicator, because the
11969 modes really do differ.  I would like to get rid of EndOfGame mode in the
11970 future, at least as far as users can see.
11971
11972 * Larger %a in parser.l, needed for RS/6000 users.
11973
11974 * Minor improvements to Mail Move error messages.
11975
11976 * When -debug flag is given to xboard, -v is passed to cmail.
11977
11978 * Old Save Style uses "1. ..." instead of "1..." when black moves after a
11979 comment; more like xboard 3.0's actual style.
11980
11981 * New version of cmail from Evan Welsh.  Looks for UCB Mail in a more
11982 portable way and has some minor bug fixes.
11983
11984 * Bug fix: Saving a FEN position while in EditPosition mode with black to
11985 play was showing white to play in the saved position.
11986
11987 3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann
11988
11989 * This is the first general release since 3.0, patchlevel 9.  Releases
11990 since then have been limited-distribution or beta releases.
11991
11992 * Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,
11993 Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,
11994 Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and
11995 Evan Welsh.  Sorry if I've forgotten anyone who gave me feedback.
11996
11997 * Updated man page.
11998
11999 * Minor cleanup on menu sensitivity code.
12000
12001 * Integrated another even better version of cmail from Evan Welsh,
12002 including some code he supplied in xboard itself.
12003
12004 * A few more fixes to cmail support.
12005
12006 * Automatically update clocks after an ICS "moretime" command.
12007
12008 * Handle ICS automatic examine mode (set examine 1) after a game.
12009
12010 3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann
12011
12012 * Beta test release only.
12013
12014 * Don't suppress prompt on first board of game being examined; otherwise
12015 it looks like nothing happened at all (i.e., like you're lagged).
12016
12017 * Added StopExamining and StopObserving (Chris Petroff suggestion).
12018
12019 * Made Reset do a refresh on ICS.  John Chanak's original ICS code for
12020 xboard tried to do this; I finally decided it was a good idea after all.
12021
12022 * Fixed bugs in handling updates that come in while you are pausing in
12023 examine mode.  This is pretty tricky to do right.
12024
12025 * Made un-Pausing immediately pop you to the current position.  This is
12026 always necessary in examine mode, since the game may have changed under
12027 you; your remembered moves might no longer be right.  So I made it do the
12028 same in all modes.
12029
12030 * Took Detach Examine mode back out...used Pause mode for this instead!
12031
12032 * Put in a trap for the GNU Chess bug of printing an Illegal Move message
12033 when its own hint move is illegal.
12034
12035 * Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after
12036 it checkmates its opponent.  This involved adding an argument to GameEnds
12037 to say who says it ended (ICS, GNU, etc.)  and taking different actions in
12038 different cases.  Unfortunately, this just restored an older Zippy bug, where
12039 Zippy restarts gnuchess when it gets the board with the final position,
12040 because GameEnds still puts xboard in EndOfGame mode.  Sigh.
12041
12042 * We now capture elapsed time on last move when getting game history.
12043 (Josef Nelissen bug report)
12044
12045 * Rewrote code to redisplay last file title so it really works.
12046
12047 * Fixed bug in oldSaveStyle.
12048
12049 * Larger %a and %o were needed for lex.
12050
12051 3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann
12052
12053 * Beta test release only.
12054
12055 * FatalError popups stay on the screen now.  If the error is really fatal,
12056 all functions are disabled, and the program exits when you press OK.
12057
12058 * Redisplay last file title when using Load (Next/Previous/Same) Game.
12059
12060 * Zippy understands new match challenge message format on ICS.
12061
12062 * Added Revert command.
12063
12064 * When examining a game on ICS, < > buttons do ICS backward/forward
12065 commands, unless you set the Detach Examine option.  Thanks to Dima
12066 Dakhnovsky for the idea.
12067
12068 * Fixed various minor problems in cmail mode.
12069
12070 * cmail generates the tags now.  New version of cmail from Evan Welsh.
12071
12072 * cmail mode won't let you do MailMove unless the currently displayed
12073 position is exactly one move past the end of the game you loaded.
12074
12075 * Fixed building of man pages in Imakefile
12076
12077 * Updates to INSTALL file
12078
12079 3.0, patchlevel 12 -- Sat May  7 21:10:03 PDT 1994 -- Tim Mann
12080
12081 * Beta test release only.
12082
12083 * Brought man page up to date.
12084
12085 * Added Shift+R to resign from keyboard.
12086
12087 * Some items on Action menu available in GNU Chess mode now.
12088
12089 * Revamped Action menu.
12090
12091 * Reordered functions in backend.c as a small step toward reorganizing
12092 this whole mess.
12093
12094 * Generate TimeControl PGN tag.
12095
12096 * Get type of ICS game (e.g., rated blitz) and save in PGN tags.
12097
12098 * Bug fix: Clocks were not redisplayed when entering EditGame mode.
12099
12100 * Bug fix: Clocks were not being redisplayed after loading a game file
12101 with -td 0, so they could show the wrong color active.
12102
12103 * Bug fix: Chess programs would be killed and match mode would exit
12104 prematurely when loading a PGN game fragment ending with "*".
12105
12106 * ICS command "sposition" no longer confuses xboard.
12107
12108 * Integrated new version of cmail (with support code in xboard) from Evan
12109 Welsh.
12110
12111 * Added TruncateGame, MoveNow, RetractMove, and QuietPlay.
12112
12113 * Bug fix: switching between MachineWhite and MachineBlack was not calling
12114 Attention().  Reported by Dino Dini.
12115
12116 * More improvements to INSTALL and Imakefile.
12117
12118 * Pack moves into 79 character lines in PGN output.  We don't generate
12119 check indications, and we always break the line before the result,
12120 so this is not quite PGN export format.
12121
12122 * Use FEN tag in PGN.
12123
12124 * Improved finding and counting of game starts in save files.
12125
12126 * Negative position or game numbers in -lpi/-lgi mean to seek to that byte
12127 offset.  Hook for possible future features, not in man page.
12128
12129 * Detect and handle absence of either "time" or "otim" commands in
12130 gnuchess.
12131
12132 * Don't use "promote" command to ICS anymore.
12133
12134 * Handle switching sides and taking back moves on FICS.
12135
12136 * Handle flip state flag in style 12 board.
12137
12138 * Handle examine mode on ICS.
12139
12140 * Improved error popups for various kinds of illegal moves.
12141
12142 * Suppress unasked-for hints from gnuchess (which it generates in post
12143 mode).
12144
12145 * Load/save position functions use FEN.  Old style also supported.
12146
12147 * Added detailed error messages if loading a bitmap file fails.
12148
12149 * Small board has 2-pixel lines between squares instead of 3-pixel.
12150
12151 * Added OldSaveStyle and AboutGame.
12152
12153 * Renamed ForceMoves to EditGame.
12154
12155 3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann
12156
12157 * The following changes were present in xboard 3.0, patchlevel 11, but the
12158 first group did not make it into WinBoard 3.0 until later.  xboard
12159 3.0.pl11 was a limited-distribution release only, mostly to Zippy users.
12160
12161 * Man page minor fixes.
12162
12163 * Added a missing file close.
12164
12165 * Removed automatic error popdown on Reset, which was destroying some
12166 error messages before they could be read.
12167
12168 * Fixed char vs. unsigned char warnings on bitmaps.
12169
12170 * Use ICS board style 12.  Some improvements to ICS parsing.
12171
12172 * Comment window is now labelled with the move the comment is on, and
12173 comments don't pop down when you step to the next move.
12174
12175 * Save files now in PGN format.
12176
12177 * Support for loading PGN files.  PGN tags pop up when a PGN game file
12178 is loaded.
12179
12180 * More info in INSTALL and Imakefile about building for Suns (and
12181 other systems).
12182
12183 * WinBoard 3.0 patchlevel 11 split off from an early version of xboard
12184 3.0 patchlevel 11, so it does not have all the features of that
12185 patchlevel.  The following changes made it into both xboard and
12186 WinBoard:
12187
12188 * Made Comment dialog non-modal in WinBoard.
12189
12190 * EndOfGame mode is now more transparent.  It looks like ForceMoves
12191 mode except that there is no chess program running.
12192
12193 * Small bug fixes in clock management.  Most noticeably, pausing when
12194 it is gnuchess's move now works as documented (again).
12195
12196 * Add minimal support for -icscomm option.  Not documented yet because
12197 I haven't sorted out the issues with setting the tty modes on the comm
12198 port device, or with locking it properly.  But it's usable by wizards.
12199
12200 * Don't restart the chess program upon Backward event from EndOfGame mode.
12201
12202 * Suppress extra prompt after ICS sends us a board.
12203
12204 3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann
12205
12206 * Beta test release only.
12207
12208 * Zippy now plays chess.  zippy.c and zippy.h are still not included
12209 in the standard distribution, but are available on request.
12210
12211 * Switched to using style 12 on ICS.
12212
12213 * Updated man page, and documented use of XBoard*form.translations to
12214 add more shortcut keys.
12215
12216 * Added shortcut keys "d" to claim/offer/accept a draw, and "t" to
12217 call flag.  Suggested by venu on ICS.
12218
12219 * More explicit instructions in INSTALL file.
12220
12221 3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- Tim Mann
12222
12223 * General release, minor update to 3.0.pl8.
12224
12225 * Loosened checking on whether it's okay to start a move, to satisfy
12226 ICS ultra-blitz players.  Now we don't check whether it's your turn
12227 until you let go of the piece.
12228
12229 * Parser now recognizes "+-+" as meaning the game ended in a draw.
12230
12231 * Got rid of S_NONE symbol, which seems to conflict with some symbol
12232 Sun defines.
12233
12234 * Tweaked the man page.  Clarified that there is currently no way for
12235 two people running copies of xboard to play each other without going
12236 through the Internet Chess Server.
12237
12238 * Fixed a bug in color name conversion.  Asking for two different
12239 colors whose names were the same in the first four characters would
12240 get you two copies of the first one.  Thanks to Volker Zink for the
12241 bug report.
12242
12243 * Improved confusing Usage() message.
12244
12245 * Added a bunch of Sun information to the Imakefile and INSTALL file.
12246 Thanks to Ed Hanway, Arik Klingensmith, and others who responded.
12247
12248 * Test for defined(WIN32) instead of !defined(unix).
12249
12250 * Avoid using (void *) type with non-ANSI C compilers.  Thanks to
12251 James Altucher for the bug report.
12252
12253 3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- Tim Mann
12254
12255 * Note: Patchlevel 8 was the first non-beta release of xboard 3.0
12256
12257 * Added cmail to distribution.  Contributed (and still maintained) by
12258 Evan Welsh.
12259
12260 * Bug fix: -queen option wasn't initializing menu check.  Reported by
12261 Pat Surry.
12262
12263 3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann
12264
12265 * Sent WinBoard 3.0.pl7 to Torre on ICS
12266
12267 * Added parser.h to hold the interface to parser.l
12268
12269 * Upgraded COPYING file and copyright notices to GNU GPL version 2.
12270
12271 3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann
12272
12273 * We no longer display intermediate positions or intermediate comments
12274 while loading a game file with -timeDelay 0 or loading an opening to
12275 start up a -matchMode game.
12276
12277 * Loading an empty game from an xboard save file now gives a status
12278 message "No moves in game" instead of an error popup saying "Game not
12279 found in file."
12280
12281 * Added comment.awk to distribution.
12282
12283 3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann
12284
12285 * Bug fix:  xboard would crash if it couldn't get all its colors; now
12286 it switches to monoMode instead.  Also, xboard was trying to convert
12287 color resources even when using a b/w display.  Reported by Larry
12288 Rogers.
12289
12290 * Bug fix: Declared fields of TimeMark as signed so that we get signed
12291 instead of unsigned arithmetic.  SubtractTimeMarks was breaking on
12292 Alpha AXP (which has 64-bit longs) with old declarations.  Reported by
12293 Michel van der List.
12294
12295 * Bug fixes:  Keyboard accelerators now work after EditComment window is
12296 popped down.  Iconize keyboard accelerator now works even if xboard
12297 was started with -iconic flag and later deiconized.
12298
12299 * Bug fix:  The routine that tests whether a move is illegal because it
12300 would leave you in check was not handling e.p. captures properly.
12301 Reported by Patrick Surry.
12302
12303 * Bug (?) fix:  Was adding time to clocks at time control even when
12304 loading a game file.  Actually it's not entirely clear how time
12305 controls should be dealt with when some moves are loaded from a file
12306 or clicked in with ForceMoves.  For now ForceMoves mode does add the
12307 time (because it can be used to change moves during a live game), but
12308 LoadGame mode does not.
12309
12310 * Updated usage message.
12311
12312 * Previous attempted fix to matchMode had broken TwoMachines mode and
12313 generally needed more work.  Also simplified command line interface to
12314 matchMode.
12315
12316 3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- Tim Mann
12317
12318 * Thanks again to the beta testers listed for 3.0 patchlevel 3, and also
12319 Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.
12320
12321 * Reorganized man page, splitting OPTIONS into subsections.
12322
12323 * matchMode was very broken; fixed.
12324
12325 * Changed convention for turning off command line options from --opt
12326 to -xopt, to be less inconsistent with GNU standards.  Also changed
12327 the long command line options to take True/False arguments like
12328 resources; seems to make more sense this way.
12329
12330 * Added AlwaysQueen option -- suppresses promotion dialog and always
12331 promotes to a queen if you move a pawn to the last rank.  Has no
12332 effect on gnuchess (or your ICS opponents!) -- they can still
12333 underpromote.
12334
12335 * Subtracted an extra fudge term when determining how wide message and
12336 title widgets should be.  This fixes a problem some beta testers had.
12337 Wish I knew why it's needed.
12338
12339 * Bugfix in parser; symptom was that you couldn't do LoadGame after
12340 observing a game on ICS.
12341
12342 * Bugfix in Forward; didn't work after game ended while Pause was turned on.
12343
12344 * Removed bogus execute bits on .h files.
12345
12346 * Use REMOTE_SHELL and TELNET_PROGRAM definitions.
12347
12348 * MachineWhite and MachineBlack now work from TwoMachines mode.
12349
12350 * Popping down an error message with the [ok] button was not turning off
12351 the errorUp flag, so the next move would cause xboard to try to pop it
12352 down again, resulting in a wild memory reference and sometimes a crash.
12353
12354 3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- Tim Mann
12355
12356 * Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
12357 Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
12358 Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
12359 Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.
12360
12361 * Improved error messages for trying to move the wrong color pieces or
12362 to move when it's not your turn.
12363
12364 * Special code for monoMode on 1-bit displays now understands displays
12365 where 1=white and 0=black.
12366
12367 * Declare getenv() if <stdlib.h> not included; avoids a compiler warning.
12368
12369 * Documented borderXoffset and borderYoffset.
12370
12371 * Added -titleInWindow option for use with X window managers that
12372 don't let us set the title in the window banner.
12373
12374 * Fixed error message printing in WinBoard; system error messages no
12375 longer appear as numeric codes.
12376
12377 * The error message popup is now non-modal; you don't have to press the
12378 [ok] button before you can do something else.  In addition, the popup is
12379 positioned so that it doesn't cover up the board (too much), and making a
12380 move or otherwise clicking on the board pops it down.  (Not implemented in
12381 WinBoard.)
12382
12383 * You can now call your opponent's flag in ICS mode by clicking on his
12384 clock.
12385
12386 * Fixed minor bugs in -flipView option and documented exactly how xboard
12387 decides which way to flip the view.
12388
12389 3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann
12390
12391 * Added Autosave to Options menu.  Would be better to have Save
12392 Options dialog as in WinBoard, but this was quick to do and gives the
12393 most-needed functionality.
12394
12395 * Changed "Reload Game" on menu to "Reload Same Game".
12396
12397 3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- Tim Mann
12398
12399 * Sent a copy of patchlevel 1 to Patrick Surry to beta-test.
12400
12401 * Added -cmail option that sets appData.cmailMode.  Currently a no-op.
12402 In the future this may set special modes for use by the cmail script
12403 for playing chess by email.
12404
12405 * Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
12406 ReloadGame suggested by Patrick Surry.
12407
12408 * Added -flipView command-line option.  Suggested by Patrick Surry.
12409
12410 * Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."
12411 needed to match to end of line.  (2) Start of a new file was not matching
12412 the ^ start-of-line character.  The fix for this is a kludge.
12413
12414 * Made game counting code in LoadGame more robust, and made LoadGame
12415 able to detect the end of a saved partial game (by noticing the start
12416 of the next game) in game files created by XBoard itself.  We don't
12417 try to find the start of the next game that way in other kinds of game
12418 files, because the only way I can think of to do that is to look for
12419 another move #1, and that technique gets too many false hits.
12420
12421 * Fixed recently introduced bug in LoadGame when game starts with a
12422 position diagram.
12423
12424 3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann
12425
12426 * Changes in this patchlevel were too numerous to list.  Larger ones are
12427 listed below.
12428
12429 * Added a popup dialog to enter and edit comments.  Inspired by some
12430 code from Patrick Surry.  Changed the normal read-only comment popup
12431 to the same style.
12432
12433 * Added ICS init script feature from Karl Schwamb.
12434
12435 * Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.
12436
12437 * Revamped code to allow use of flex instead of lex on parser.l.
12438 Using flex requires adding -DFLEX to defines in Imakefile.
12439
12440 * Source code is split into front end (xboard.c), which knows about X
12441 and Unix, and back end (backend.c), which knows about chess, gnuchess,
12442 and the ICS.  There is also a front end for Windows NT.
12443
12444 * Boolean command line options now use "-foo" to turn on and "--foo"
12445 to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;
12446 see above.]
12447
12448 * Added menu commands to control autoflag, bell, and coords options.
12449
12450 * User interface has a new look: (1) Menu bar instead of array of
12451 buttons.  A few very commonly used features have small buttons in
12452 addition to being on the menus. (2) Large font for clock.  (3) Pop-up
12453 dialogs for errors.
12454
12455 2.1, patchlevel 11 -- Sat Jun  5 00:01:01 PDT 1993 -- mann@src.dec.com
12456
12457 * Added code to deal with "wild" games on ICS.  This includes allowing
12458 castling with the king on d1 or d8, which is allowed in wild(1) games
12459 if the king started there.  Notation is o-o to castle "short"---to
12460 whichever side the king is closer to---and o-o-o to castle "long."
12461 Right now wild castling is always allowed by xboard; we rely on ICS or
12462 gnuchess to reject it when we aren't really in wild mode.
12463
12464 * memcpy call had arguments in wrong order.
12465
12466 * Removed April Fool code
12467
12468 2.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com
12469
12470 * Avoid trying to select on a pipe when using System V.  Needed to
12471 copy some code from InitChessProgram() up into establish().
12472
12473 * Bug fix in disambiguating pawn moves like "ed".
12474
12475 * Fix to error handling in ReceiveFromProgram.
12476
12477 * Bug fix: entering EditPosition mode with black to play highlighted
12478 White's clock instead of Black's.
12479
12480 * Added telnetProgram resource in case "telnet" is not the name of the
12481 telnet program.
12482
12483 2.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com
12484
12485 * Entering Force Moves mode clears "flag has fallen" messages from display.
12486
12487 * ICS host name can now be in numeric format; for example 128.2.232.4.
12488
12489 * Bug fix: LegalityTest was failing to test whether a pawn move was
12490 illegal because the move would discover a check.
12491
12492 * Handle ICS message "mann asserts a win over manntest, who disconnected."
12493
12494 * Bug fix: A recent change to PromotionCallBack had broken
12495 underpromotion to a knight.
12496
12497 * Bug fix: In EditPosition mode, dragging a piece onto a square border
12498 would make it vanish.  xboard wasn't distinguishing this case from
12499 dragging the piece off the board.  Thanks to Matthew Kidd.
12500
12501 * Removed "static" declaration from yywrap for compatibility with IRIX
12502 version of lex.  Thanks to stiller@blaze.cs.jhu.edu.
12503
12504 * Added substitutes for bzero, bcopy, and gethostname for Solaris
12505 SVR4.  Thanks to Michael Grant.
12506
12507 * Bug fixes to queen move disambiguation.  Bugs showed up only when
12508 promotion resulted in more than one queen on the board.
12509
12510 2.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com
12511
12512 * parser bug fix: It now really works to leave off the piece a pawn is
12513 promoting to and let it default to queen.
12514
12515 * When starting to observe or play an ICS game, don't draw board in
12516 initial position and then immediately redraw it in the current
12517 position.
12518
12519 * Handle ICS messages when an "abuser" forfeits a game by
12520 disconnecting and when a game is aborted ("removed") by an
12521 administrator.
12522
12523 * Bug fix: A user move when in LoadGame+Pause mode was resuming the
12524 game load instead of putting us in force mode.
12525
12526 * It seems that crashes inside sscanf when xboard is compiled with gcc
12527 (as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are
12528 caused by an incompatibility between gcc and the sscanf implementation
12529 on these platforms.  A workaround is to specify -fwritable-strings to
12530 gcc (see the gcc documentation).  Added info on how to do this to the
12531 Imakefile.  Thanks to Tom McConnell for this information.
12532
12533 * Clocks are allowed to go negative.  This is mostly for ICS
12534 compatibility, but it affects gnuchess mode too.  Also, we give the
12535 time bonus when a player hits the time control boundary even if his
12536 flag is already down.  This choice is a bit debatable, but it makes
12537 things look better when you are in TwoMachines mode and gnuchess's
12538 time management screws up causing it to exceed its time limit.
12539
12540 * Implemented move legality checking code.  Moves made with the mouse
12541 or parsed from a file are checked for legality before being made.
12542 This is mostly in preparation for future extensions, such as
12543 human-human play.  For now it makes -noChessProgram mode more useful.
12544
12545 * If the user takes back moves, we restore the clocks to the earlier
12546 settings.
12547
12548 * We now handle the output of the ICS oldmoves command, including
12549 parsing the game end condition.
12550
12551 * Added autoCallFlag mode.
12552
12553 * Fixed glitches in the medium size outline king and rook bitmaps, and
12554 touched up the medium size solid king and outline queen.
12555
12556 * bug fix: DisplayMove would not display backwardMostMove - 1.
12557
12558 * Added CallFlag button and removed AcceptMatch.  CallFlag is more
12559 important with new ICS, and accepting the current match offer is easy
12560 with the new ICS command "accept" (can be abbreviated "ac").
12561
12562 * LoadGame and LoadPosition display tail of file name (plus index
12563 number, if any) as title.
12564
12565 * MachineWhite, MachineBlack, and TwoMachines now work properly from
12566 LoadGame and LoadGame+Pause mode.
12567
12568 * Use o-o and o-o-o to castle on ICS, not 00 and 000.
12569
12570 * Stripped out code for old ICS messages; new ICS is now installed.
12571
12572 * Bug fix: don't offer autosave when paused during LoadGame.
12573
12574 2.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com
12575
12576 * Track change to "Illegal move" message in new ICS.
12577
12578 2.1, patchlevel 6 -- Tue Dec  8 10:48:44 PST 1992 -- mann@src.dec.com
12579
12580 * Kludged around bug in keeping comment popup where you put it by
12581 adding borderXoffset and borderYoffset resources that give the width
12582 of the borders added by the window manager.  Yucch.
12583
12584 * Changed searchDepth kludge back to using "help" instead of "bd"; the
12585 latter didn't work because the output contains a line starting with
12586 "White", so we think gnuchess is telling us that White won.  Oops.
12587
12588 * Removed some code that uses an X11R5 feature, XrmGetDatabase.
12589 Without this, the auto font sizing code is harder to make work, so to
12590 keep my sanity I had to change it to affect only the fonts that appear
12591 in the main window and the comment popup, not the other popups.  Maybe
12592 this is better anyway.
12593
12594 * AcceptMatch button now works after a counterchallenge, too.
12595
12596 * Added code for more variants of messages about games being adjourned
12597 or aborted.  These messages need to be unified in new version of ICS.
12598
12599 * Added workaround for minor bug in ICS; game number on first board
12600 can be wrong.
12601
12602 * Removed code to say "refresh n" instead of "refresh"; was broken and
12603 wasn't needed anyway.
12604
12605 * Added missing casts for compilers that distinguish enums from ints
12606 and missing cast in connect call.
12607
12608 * Added code to recognize "both sides are out of time" draw message
12609 proposed for next version of ICS.
12610
12611 * Thanks to Danny Sleator and Joe Peterson for bug reports.
12612
12613 2.1, patchlevel 5 -- Sun Dec  6 19:52:40 PST 1992 -- mann@src.dec.com
12614
12615 * Removed gcc and CDEBUGFLAGS from Imakefile.
12616
12617 * Corrected setting of mode to ForceMoves when game file ends or
12618 contains an AmbiguousMove or BadMove.  Previous bug was harmless.
12619
12620 * Added AcceptMatch button and mention of 50-move rule for Draw button
12621 to man page.
12622
12623 2.1, patchlevel 4 -- Sun Dec  6 02:55:42 PST 1992 -- mann@src.dec.com
12624
12625 * Now handles revised messages from new version of ICS.  New ICS is
12626 not released yet, so this code might change further.  Next patchlevel
12627 will remove support for old ICS; both are there now.
12628
12629 * Initial processing for a new game being watched or played now
12630 happens when we see the first board image.  Removes the need to parse
12631 some messages and unifies some code.
12632
12633 2.1, patchlevel 3 -- Tue Dec  1 19:40:40 PST 1992 -- mann@src.dec.com
12634
12635 * Handles ICS messages "Draw : neither player has mating
12636 material" and "Draw : White has no material, Black has no time."
12637
12638 * Added AcceptMatch button for ICS mode.
12639
12640 * Fixed bug in previous fix to yylexstr().
12641
12642 * Fixed bugs in code for loading old position files that don't start
12643 with "#" and for handling case where user asked for nth position in
12644 file but there aren't that many.
12645
12646 * Handles ICS message "* has restored your old game"
12647
12648 * ResetProc always clears title line now.
12649
12650 * Don't issue just "refresh" when watching a game; use game number.
12651 Upcoming new version of ICS may need this.
12652
12653 * Added code to try to prevent user from watching and/or playing more
12654 than one game at a time.  There is a race condition inherent here; if
12655 we get more than one board from the game before our command to stop
12656 watching it takes effect, we'll think the user started it again.  Not
12657 clear how to fix this.
12658
12659 * Redid ParseBoard8 to use sscanf.  Code is a good deal cleaner now.
12660 Also, we now parse out the game number too, though we don't make much
12661 use of it yet.
12662
12663 * (Tried to put in a feature that recognizes the current game in a
12664 game file must have ended when we see the start of a new one, but had
12665 to disable it because we have too many false hits with the current
12666 parser, especially in gnuchess listing files.)
12667
12668 * Moves read from game files or received from ICS are now translated
12669 into canonical algebraic form just like all other moves.  Minor nit:
12670 If you use Reset while playing or observing a game in ICS mode, the
12671 game history (including the current board position) is lost, so the
12672 next move of the current game can't be translated.
12673
12674 * Default fonts now vary with board size, and are chosen by pixel size
12675 instead of point size (since piece bitmaps have a fixed pixel size).
12676
12677 * Bug fix: An extra Forward was required to skip over time indications
12678 in game files.
12679
12680 2.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com
12681
12682 * If you move the comment popup, the next time it pops up it will come
12683 back where you put it.
12684
12685 * Fixed yylexstr() so calls to it can be interspersed with calls to
12686 yylex().
12687
12688 * Fixed bugs in Forward/Backward while in LoadGame mode.
12689
12690 * Changed Save{Game,Position} functions to append instead of
12691 overwriting if file exists.  Changed Load{Game,Position} functions to
12692 deal with multiple games/positions per file.
12693
12694 * Changed load{Game,Position}File resources to trigger automatic load
12695 on program startup.  Changed save{Game,Position}File resources to
12696 trigger automatic save after every completed game and on program exit.
12697
12698 * Added autoSaveGames mode.
12699
12700 * Fixed bug with PromoPiece in call to MakeAlg from MakeMove.
12701
12702 * Many changes to get rid of picky compiler warnings and generally
12703 clean up the code.
12704
12705 2.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com
12706
12707 * A last minute change before patchlevel 0 went out broke
12708 ParseGameHistory().  Immediately fixed in patchlevel 1.
12709
12710 Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com
12711
12712 * Uses "time" command of gnuchess 4.0 and following to keep clocks in
12713 sync.  Still works with older versions without this command; we test
12714 whether the command is present the first time each chess program is
12715 started.
12716
12717 * File name dialog pops up under the mouse cursor, so that it's got the
12718 keyboard focus if the window manager is using pointer focus.
12719
12720 * Attempts to move the wrong color piece or an empty square are filtered
12721 out in xboard instead of being passed on to GNU Chess or the ICS.
12722
12723 * The reason a game ended is now remembered even if you move backward
12724 and forward after it ends.  It is forgotten only if you make a move
12725 (which is as it should be---this is now a different game, which hasn't
12726 ended yet).  The message saying why the game ended no longer wipes out
12727 the last move.
12728
12729 * Pause, Backward, Forward, ForceMoves, and EditPosition now work from
12730 TwoMachines mode.
12731
12732 * Forward and Backward now change only the board display unless you
12733 are in ForceMoves mode.  Pause mode keeps new moves that are received
12734 from being displayed on your screen until you unpause (or use
12735 Forward).
12736
12737 * Added option to ring the bell after opponents' moves.
12738
12739 * Saved games that start from other than the standard initial position
12740 now begin with a postion diagram as in saved position files.  The
12741 loader is modified to understand such save files.
12742
12743 * Improved error checking when trying to read from gnuchess.
12744
12745 * Parser understands things that look like time indications, e.g., (0:12),
12746 instead of popping them up as comments.
12747
12748 * Send "quit" to gnuchess before trying to kill it.  I needed this
12749 locally because sending a SIGTERM to rsh was not killing the remote
12750 program on some internal field test systems we have.
12751
12752 * Merged in code from John Chanak to make xboard a front end to the
12753 Internet Chess Server, and added several improvements of my own.
12754 (These include parsing end of game messages, loading the current state
12755 and previous history of a game that's joined in progress via "watch"
12756 or "load", automatic switch from board style 1 to 8 when needed,
12757 removing irrelevant buttons and adding some new ones, adding the
12758 useTelnet and gateway resources, and miscellaneous code cleanup, bug
12759 fixes, and documentation.)  Many thanks to John for writing and
12760 contributing the initial version of this code.
12761
12762 Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com
12763
12764 * gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a
12765 preliminary version of 4.0.pl60 that I have).  Added code to handle
12766 this.  The old format ("e1g1", etc.) still works too.
12767
12768 * Added code to format moves in normal abbreviated algebraic notation
12769 (for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic
12770 (for example, e2e4, e3d4, f7f8q, g1f6, e1g1).  Moves entered with the
12771 mouse or received from gnuchess are translated into this canonical
12772 format for display on the message line or in saved game files.  Moves
12773 read from game files are not translated, however; they are shown and
12774 saved just as they appear in the file.
12775
12776 Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com
12777
12778 * It's not really correct to write an ep capture of a pawn on e5 as
12779 fxe5; this should be written as fxe6 because e6 is where the capturing
12780 pawn ends up.  Nevertheless, the parser now interprets fxe5 as the ep
12781 capture f5xe6 unless there is a pawn on f4, in which case it
12782 interprets fxe5 as f4xe5.  By design, the parser does not flag fxe5 as
12783 ambiguous if there are pawns on both f4 and f5; instead it prefers the
12784 more legitimate f4xe5 interpretation.
12785
12786 * A move like fxe6 or fe6 is now interpreted as an e.p. capture of the
12787 pawn on e5 if there is one there and e6 is empty.
12788
12789 * A move like fxe5 can no longer be interpreted as an e.p. capture if
12790 there isn't a pawn on e5 to be captured.  Previously this could happen
12791 erroneously if there were pawns on both f4 and f5, and the f4 pawn was
12792 capturing a piece on e5.
12793
12794 * The parser no longer munges the move it is parsing; in the past, for
12795 instance, it would remove the "x" from a move like dxc5 before echoing
12796 it to the screen.
12797
12798 * The parser now detects when a move is ambiguous and returns an
12799 error, instead of arbitrarily choosing one possibility as it used to.
12800
12801 Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com
12802
12803 * Added code so parser can handle fully qualified algebraic, e.g.,
12804 Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4.  The "P" and "/" work only for
12805 fully qualified moves, not generally.
12806
12807 * Fixed parser bugs in handling moves with rank or file disambiguator,
12808 e.g. N1f3 or Ngf3.
12809
12810 Mon Jul  6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com
12811
12812 * AIXV3 patch from Tom McConnell; thanks!
12813
12814 * After hitting the Backward button we see the last move made instead of
12815 the word "Pausing" displayed.
12816
12817 * Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault
12818 and Alan Walsh for bug reports and help with fixes.
12819
12820 * Added optional display of algebraic notation coordinates along left and
12821 bottom edges of board.  This was inspired by some code from Jean-Christophe
12822 Engel; thanks!
12823
12824 * Swapped EditPosition and Pause buttons to reduce danger of losing the
12825 game in progress by hitting EditPosition when you wanted Backward.  Thanks
12826 to Ove Lundberg for complaining (though it bugged me too).
12827
12828 * Despite one complaint, I kept the feature of changing both clocks when black
12829 makes time control, rather than changing each individually when the player
12830 involved makes it.  This is to avoid having it look like White is way ahead on
12831 time while Black is thinking about the last move of the time control period
12832 (i.e., when White has made time control but Black hasn't yet).
12833
12834 * Corrected clocks to work as in real tournaments.  Time is *added* when you
12835 reach time control; previously the clocks were simply set to the length of the
12836 new time period.  Also, when a player's flag falls, he still does not receive a
12837 new time allotment at the next time control, but his opponent does still
12838 receive more time if *his* flag has not fallen; previously, time controls were
12839 ignored for both players if either flag fell.  I forget who reported this bug.
12840
12841 * Added a small ESIX patch from Kayvan Sylvan.
12842
12843 Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21)
12844
12845 * Added some SVR4 support code from Ronald Cole.  It's Greek to me.
12846
12847 * Note:  Stephen Meatheringham reports a bug causing xboard to crash with an
12848 error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1
12849 and OpenWindows 3.0.  This bug has not been tracked down yet.
12850
12851 * Fixed a problem with ATTENTION code.  On some operating systems, you have to
12852 be even more cautious about when you send a SIGINT to gnuchess, because the
12853 signal handler gets deinstalled each time it is used, and gnuchess does not
12854 reinstall it immediately.  In particular, if you send a SIGINT and make an
12855 illegal move or ask for a hint, gnuchess does not reinstall the handler until
12856 *after* you make your next move, so you had better not send a SIGINT before
12857 it.  I put a workaround for this case into xboard; I hope there are no more.
12858
12859 * The ATTENTION code is needed when compiling for the ESIX operating system,
12860 because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that
12861 lets you interrupt its thinking on your time just by typing in your move does
12862 not work.  Perhaps gnuchess will have a workaround for this eventually.
12863
12864 * Fixed yet another bug in using XtGetValues; code to inhibit shell resizing
12865 was leaving a null pointer as the place to store the current sizes.
12866
12867 * Man page fixes: corrected -sl to -sd, updated LIMITATIONS.
12868
12869 * Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY.  I hope this
12870 works for all systems; on mine, <time.h> and <sys/time.h> are the same file,
12871 but with an #ifndef that makes it harmless to include both.
12872
12873 * Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan,
12874 d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole.
12875
12876 Mon Jun  8 11:39:18 PDT 1992 (patchlevel 20)
12877
12878 * Documented default value of initString and explained what it means.  This
12879 paragraph also serves to inform the user that xboard by default will tell
12880 gnuchess to think on his time, something one user apparently didn't understand.
12881
12882 * Redid -searchDepth (formerly -searchLevel) and -searchTime code.  They both
12883 work correctly with gnuchess 3.1 now.  The -searchDepth option also works
12884 correctly with gnuchess 4.0.  The -searchTime option does not work with
12885 gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a
12886 working searchTime feature.  Instead of having xboard do a half-baked emulation
12887 of this feature by using a 1-move time control, I will be submitting a patch to
12888 the gnuchess folks to restore the feature as in 3.1.
12889
12890 * Improved clock code.  It now keeps accurate track of fractional seconds of
12891 clock running time, if your system has gettimeofday(); if not, it is generous
12892 about them---if a clock has been going for n.m seconds when it is stopped, only
12893 n seconds are charged.  Previously, xboard would charge one second immediately
12894 when a clock was started, so if n.m had elapsed when it was stopped, n+1 would
12895 be charged.  This should stop xboard from thinking gnuchess has let its flag
12896 fall on the last move of a time control, as it often did before.  I also
12897 improved the comments and condensed the code a little.  I hope there are no
12898 systems that have X11 and don't have gettimeofday(), but if there are, I'd like
12899 to know what to replace it with.
12900
12901 * "Flag dropped" messages now show up on the top line, beside the clocks, so
12902 that they don't obscure more interesting messages on the second line.
12903
12904 * Fixed confusion of NULL and '\000'.
12905
12906 * Include time.h to get ctime() declaration.
12907
12908 * Fix to "parser bug" messages in parser.l.
12909
12910 * Changed code to work with old-fashioned tolower() macro that requires its
12911 argument to be an uppercase letter.
12912
12913 * Minor fix to some usage error messages; was reversing program name and
12914 erroneous argument value.
12915
12916 * Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports.
12917
12918 Fri Jun  5 13:06:08 PDT 1992 (patchlevel 19)
12919
12920 * Note: xboard does not seem to work when compiled with gcc 1.40 on a
12921 PS/2 running AIX.  It crashes at the sscanf in line 768 of xboard.c.
12922 You can work around the problem by specifying the -timeControl option
12923 on the command line instead of defaulting it.  This does not seem to
12924 be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with
12925 MetaWare High C.  [But see 2.1.pl8 above.]
12926
12927 * Removed bogus files from distribution.
12928
12929 * Changed variable name that conflicted with SVR4 ttyname function.
12930
12931 * Thanks to Christoph Strozyk for another bug report, and to several
12932 of the folks mentioned under patchlevel 18 for testing it.
12933
12934 Wed Jun  3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com
12935
12936 * Added an include of sys/fcntl.h to pick up the definition of O_RDWR for
12937 System V users.
12938
12939 * Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine
12940 which chess program got the signal.
12941
12942 * Removed the declaration of strrchr, which was causing problems for some
12943 people, and added an include of <string.h> or <strings.h> instead.
12944
12945 * Fixed a bunch of type errors uncovered by compilers that check more carefully
12946 than the one I was using.  I just patched many of them with casts---typically
12947 cases where a function didn't take the same number and type of arguments as the
12948 X header file prototype said it should---because I didn't see any other way to
12949 fix them.  The versions of the X header files that I have don't actually have
12950 full prototypes for these function types; they declare only the return type and
12951 just give the argument types as comments.
12952
12953 * InitChessProgram returns immediately if chess program died while we were
12954 waiting for it to say "Chess".  I think this fixes a bug that could make xboard
12955 crash or go into an infinite loop printing "Warning: Select failed; error code
12956 9" if gnuchess crashed there.
12957
12958 * Removed code that tries to put the file descriptor used to read messages from
12959 gnuchess into nonblocking mode.  I don't see how this kludge could ever have
12960 fixed the problem it was intended to (see below), and it seemed to be causing
12961 a race condition when we were waiting for the initial message from gnuchess
12962 after it started up.
12963
12964 * Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark
12965 Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas,
12966 and Kris Van Hees for bug reports and help with fixes.
12967
12968 Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu
12969
12970 *  'xboard' suffered from a couple of serious bugs.  An initial
12971    size needed to be given to the message label to avoid a race
12972    condition (!) so I gave it some text (otherwise occasionally
12973    xboard would fail because the message widget was 0 width under
12974    MIT X11R4).  The sizes needed to be Dimension, not int, because
12975    they were written in by Xt -- on my big-endian box Dimension
12976    is short, causing chaos.  Also, I hacked a declaration in for
12977    strrchr() to shut the compiler up -- this is arguably a kludge,
12978    but I couldn't think of anything better; maybe you can.
12979
12980 Fri May 22 13:40:50 PDT 1992 (patchlevel 16)
12981
12982 * First real (non-beta) release of version 2.0.
12983
12984 * Added GNU copyleft notices covering version 2.0 enhancements.
12985
12986 Thu May 21 12:30:09 PDT 1992 (patchlevel 15)
12987
12988 * Removed -g from Imakefile.
12989
12990 * Added casts in parser.l to prevent warning messages from some C compilers.
12991
12992 * Bugfix: code to exit if chess program couldn't be started had bug in error
12993 message printing.
12994
12995 Tue May 19 11:58:06 PDT 1992 (patchlevel 14)
12996
12997 * Fixes one small bug: If LoadGame does not find a game in the file, it resets
12998 xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of
12999 leaving it in LoadGame mode.
13000
13001 Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13)
13002
13003 * Improved error handling when gnuchessx crashes.  Now displays a message and
13004 enters EndOfGame state without exiting.  This should help with diagnosing
13005 gnuchessx problems, since the position and move history are not lost.
13006
13007 * Debugged man page.
13008
13009 Version 2.0 -- Thu Apr  2 16:04:54 PST 1992 (patchlevel 12)
13010
13011 * Added small 40x40 pixel pieces; board size now specified as small, medium, or
13012 large.
13013
13014 * Improved man page.
13015
13016 * Saved position files now say "white to play" if it's white's move.
13017
13018 * SavePosition while in EditPosition mode now gets side to play right.
13019
13020 * Made "Pawn" the default on edit position menus.
13021
13022 * Removed "To play" from edit position menus, since it's redundant.  Left
13023 support code in so it can be restored if someone wants it.
13024
13025 * Tightened parser's definition of a move number to help further with skipping
13026 over stuff before the first move.
13027
13028 * Put back feature of skipping over stuff in game files before a start of game
13029 marker.  This helps when loading electronic mail messages that have things
13030 like "00" in the header (looks like castling), or that talk about moves in
13031 running text before the actual game score.  Tradeoff is that we can't load
13032 games that don't either have move numbers or say "gnuchess game" just before
13033 the moves.
13034
13035 * Changed version number to 2.0 because others have used "1.3" for patched
13036 versions of 1.2.  Display version number and patchlevel at startup.
13037
13038 Thu Apr  2 15:30:22 PST 1992 (patchlevel 11)
13039
13040 * Bugfix:  Match started with TwoMachines button now handles the case where
13041 user loaded/edited a position *and* forced some moves.
13042
13043 * added error message feedback to many cases where the user's button press is
13044 rejected because it isn't allowed in the current mode.
13045
13046 * added -noChessProgram option to allow use as a passive chessboard without
13047 gnuchess, replacing old buggy scheme that tried to do this automatically when
13048 gnuchess was not found on the search path.
13049
13050 * parser accepts "=" in front of promotion piece
13051
13052 * parser accepts ":" notation for captures
13053
13054 * Removed SwitchSides button to make room for EditPosition.  Left code in
13055 place, ifdef'ed out.
13056
13057 * Added EditPosition mode.
13058
13059 * Reformatted xboard.c to eliminate long lines.
13060
13061 * Promotion popup now appears near rank to which pawn is moving.
13062
13063 * UI improvement: Button representing current program mode is kept highlighted.
13064
13065 * Bug fix:  Hint button is now disabled when machine is on move.
13066
13067 Sat Mar 21 14:57:37 PST 1992 (patchlevel 10)
13068
13069 * TwoMachines now works from MachineWhite or MachineBlack mode.
13070
13071 * ForceMoves and Backward/Forward now work at the end of a game started by
13072 the TwoMachines button.
13073
13074 * Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O.
13075
13076 * Bug fix:  SwitchSides button is now disabled when machine is on move.
13077
13078 * Added -searchLevel option and corrected handling of -searchTime to reflect
13079 the way gnuchess really handles command line options instead of what the
13080 documentation used to say.  Allowed optional ":seconds" on times.
13081
13082 Tue Mar 17 21:00:35 PST 1992 (patchlevel 9)
13083
13084 * Removed non-working code that tried to recover when a remote chess program
13085 could not be started; now exits with a message instead.
13086
13087 * Now waits for chess program to print its first message (normally "Chess")
13088 before sending it any commands.
13089
13090 * Matches between two machines can now start from a black-to-play position or
13091 black-to-play opening.
13092
13093 * Bug fix: The program would sometimes lose track of the board position after
13094 the end of the game, drawing a board full of white pawns next time it got an X
13095 redraw request.  Now fixed.
13096
13097 * Cleaned up handling of illegal moves in game files.  Now we just stop reading
13098 and go into ForceMoves mode.
13099
13100 * Saved games against gnuchess indicate who won (restored and debugged 1.2
13101 feature).
13102
13103 * Setting -searchTime turns off -clockMode.
13104
13105 * My trick for setting up a black-to-play position broke in the transition from
13106 gnuchess 3.1+ to 4.0.  Installed a different trick that works with both.
13107
13108 * Bug fix: Was clobbering memory by mallocing one byte too few for the file
13109 name in SetupPositionFromFileProc.  This usually resulted in a crash on the
13110 second attempt to load a position from a file.
13111
13112 Mon Mar 16 16:49:00 PST 1992 (patchlevel 8)
13113
13114 * Game and position files are saved in CHESSDIR as well as loaded from there.
13115 We actually chdir there, so gnuchess listing files also wind up there.
13116
13117 * Underpromotion moves from gnuchess really work now.
13118
13119 Sat Mar 14 14:55:24 PST 1992 (patchlevel 7)
13120
13121 * Cleaned up lots of bugs and kruft in parser.l.  It's a wonder the old version
13122 worked at all.  Improved rejection of random text interspersed with the moves.
13123
13124 * Relabeled buttons to reduce confusion (Play From File --> Load Game;
13125 Setup From File --> Load Position).
13126
13127 * Bug fix:  Doesn't exit at the end of a game that was started by pressing
13128 the Two Machines button.
13129
13130 * Bug fix:  Doesn't get confused if you hit Machine Black (White) while
13131 the machine is already playing black (white) and is on move.
13132
13133 * Prints "White to play" or "Black to play" after loading a position file.
13134
13135 * Bug fix:  No longer hangs if no start-of-game is found in a game file.
13136
13137 * More permissive about game file format.  The first line is not assumed
13138 to be a header comment unless it starts with "#".  We don't insist on
13139 seeing a "1." before the first move.
13140
13141 * Added pop-up dialog to allow underpromotion.  Moving a pawn to the last rank
13142 pops up a dialog to let you select what piece to promote to.  Also added code
13143 to handle underpromotion moves from gnuchess or from a game file correctly.
13144
13145 * Added code to send SIGINT to gnuchess before trying to move, if gnuchess
13146 might be busy thinking on our time.  The code is ifdef'ed out because it's
13147 not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or
13148 below require it.
13149
13150 Mon Feb 24 20:10:22 PST 1992
13151
13152 * Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode
13153 and to ShutdownChessPrograms.  (They both sent the same fixes.)  I did not
13154 install the change that removed "easy" from the initialization string, so
13155 xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's
13156 time) by sending this command.
13157
13158 Version 1.3 -- Thu Dec 19 18:19:00 PST 1991  mann@src.dec.com (Tim Mann)
13159
13160 * I've fixed a slew of bugs in this version of xboard:
13161
13162 * You can now back up from the end of a game, even if gnuchess was playing
13163 against you.  Since gnuchess exits upon mate or draw (when it's not in force
13164 mode), this feature works by starting up a new copy of gnuchess and feeding it
13165 the saved starting position and moves.  Drawback: the new gnuchess starts with
13166 clocks at the beginning of a fresh time control.
13167
13168 * Note: the "force" command to gnuchess is a toggle.  I fixed a couple of
13169 places in xboard where "force" was being issued when gnuchess was already in
13170 force mode, which resulted in chaos.  I don't know if they were in 1.2 or if I
13171 added them myself in the course of putting in new features.
13172
13173 * ForceMoves button is now legal in PlayFromFile mode.  It closes the game file
13174 and lets you force moves (or go Backward) from whatever position you've
13175 reached.
13176
13177 * The parser now recognizes "white resigns" and "black resigns" (in any
13178 combination of upper and lower case, with or without the closing "s").  These
13179 used to be misinterpreted as meaning "white wins" or "black wins" respectively!
13180 Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1".
13181
13182 * I removed the parser feature of considering "!" as a comment delimiter.
13183 "!" is so common as an annotation in game scores that this feature seems like a
13184 very bad idea.
13185
13186 * Added a wait() after each successful call to kill() to avoid leaving zombie
13187 processes around.
13188
13189 * Removed the feature of putting an indication of how the game ended into the
13190 internal move list when playing from a file.  The only benefit of this was that
13191 it would get written back out if you saved the game at that point.  This
13192 feature doesn't seem too useful, since you are unlikely to save a game you've
13193 read in without making any changes, and it caused a lot of problems in the code
13194 and user interface.  The end condition is still displayed as a message when
13195 it's first read in from the file.  End conditions when playing against gnuchess
13196 are still saved, too.
13197
13198 * programName is now the last file name component of argv[0], not all of it.
13199
13200 * xboard.c got three compiler warnings due to arguments that didn't match the
13201 prototypes on X toolkit functions.  I got rid of them by adding some casts, and
13202 adding extra unused arguments to the ReceiveFromProgram function.
13203
13204 * As I received it, the distribution had an extra period glued on the front
13205 of every line that started with a period.  This broke the manpage in an
13206 obvious way.  It also broke parser.l in a nonobvious way that stopped
13207 PlayFromFile from working.
13208
13209 * Fixed one or two bugs where the clock was started when it shouldn't have
13210 been.  I think one example was if you tried an illegal move in ForceMoves mode.
13211
13212 * Now starts the machine's clock if you hit MachineWhite when white is on move
13213 or MachineBlack when black is on move.
13214
13215 * Now updates the to-move indicator (highlight on clock display) when you use
13216 Forward/Backward or ForceMoves.
13217
13218 * gnuchess 3.1+ has a bug that makes it try to think on its opponent's time
13219 even when in force mode; this causes problems with xboard's SetupFromFile
13220 command because gnuchess's saved hint move is garbage after the new position is
13221 loaded, so gnuchess prints out an error message when it tries to think about
13222 what it would do if the user made this move.  Here is a patch for gnuchess
13223 3.1+:
13224
13225 *** nondsp.c~   Mon Dec  2 12:37:18 1991
13226 *-- nondsp.c    Thu Dec 19 15:36:06 1991
13227 ***************
13228 *** 1223,1229 ****
13229     ok = flag.quit = false;
13230     player = opponent;
13231     ft = 0;
13232 !   if (hint > 0 && !flag.easy && Book == NULL)
13233       {
13234         fflush (stdout);
13235         time0 = time ((long *) 0);
13236 *-- 1223,1229 ----
13237     ok = flag.quit = false;
13238     player = opponent;
13239     ft = 0;
13240 !   if (hint > 0 && !flag.easy && Book == NULL && !flag.force)
13241       {
13242         fflush (stdout);
13243         time0 = time ((long *) 0);
13244
13245 * SavePosition/SetupFromFile now handle black-to-play positions.  If it's
13246 black's move in a saved position, the line "black to play" is printed
13247 immediately after the board display.  Upon loading a position, xboard
13248 looks for "black" at the beginning of this line to determine whether it's
13249 black's move.
13250
13251 * SetupFromFile now leaves you (effectively) in ForceMoves mode.  This
13252 eliminates some cases where the program would get into an inconsistent state,
13253 and hopefully is more intuitive for the user, too.
13254
13255 * PlayFromFile now leaves xboard in ForceMoves mode after playing through all
13256 the moves in the file.  You can use Backward/Forward, make moves, get gnuchess
13257 to join the game with MachineWhite or MachineBlack, etc.  The game file can end
13258 with either white or black to play.
13259
13260 * Backward/Forward now seem to work in all cases.  Previously using these
13261 buttons during a game against the machine would get xboard out of sync with
13262 gnuchess's idea of what was going on, resulting in chaos.  Now using these
13263 buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the
13264 game using the MachineWhite or MachineBlack buttons.
13265
13266 Thu Jun 27 15:06:25 PDT 1991
13267
13268   * Remove comment popups during a reset.
13269
13270   * Bug in my forward move fix.  Didn't work for playgamefile mode.
13271
13272 Thu Jun 20 15:04:06 PDT 1991
13273
13274   * Can't do a backward move when it isn't your turn because gnuchess
13275     gets confused.  Similar bug for forward move.  Do a bunch of moves,
13276     back up move and go forward.  These get filtered out now.
13277
13278   * Put easy back into the initString.  This DISABLES easy mode which by
13279     default is ON.
13280
13281   * New-line wasn't always being added to forward move strings sent to gnuchess.
13282
13283   * Parsed comments as [ ..............text follows ] into d7d5
13284
13285   * Long game file comments cause core dumps on HP systems.
13286
13287   * Multiple uses of the get positition file button got confused
13288     on the second click.
13289
13290   Minor fixes to the 1.2 release
13291
13292 Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991
13293
13294   * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D.,
13295     Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found
13296     a lot of bugs that we put into xboard just to see if they were paying
13297     attention.  They were.
13298
13299   * Changed the protocol that xboard uses to work with the new version of
13300     gnuchessr.
13301
13302   * There was an off by one error with the clock resetting code.  Also,
13303     the clock display highliting was wrong.  Thanks to Bill Shauck for
13304     pointing these out.
13305
13306   * enumerations are not really integers on some C compilers.  I added casting.
13307     The new version of gnuchess expects the "go" command for two machine
13308     and machine plays white cases.  The whiteString resource is for
13309     compatibility with previous gnuchess versions which get confused by go.
13310     Thanks to Martin D. for catching these.
13311
13312   * Fixed a bug where the checkmate message wasn't being parsed and xboard
13313     kept playing.  Also, the message was added to game file if saved.
13314     Thanks to Scott Hemhill for pointing this out.
13315
13316   * Fixed a bug where saving a long game, resetting and saving a short game
13317     resulted in appending the end of the long game to the short one.
13318     If a game is just being played out and there is no reason for gnuchessr
13319     to be used, ignore pipe signals.  This allows people to use xboard
13320     as a chess board without need for gnuchess.  Also, trivially bad moves
13321     such as e2e2 are not passed on to gnuchessr but instead ignored out of
13322     hand.  This allows people using xboard as a chessboard with gnuchessr
13323     to pick a piece up, think and put it back down without making a move.
13324     Thanks to Jeff Kenton for pointing these out.
13325
13326   * Added the CHESSDIR environment variable.  Game and position files are
13327     found in this directory.  If this variable is not declared, then the
13328     current directory is used.  File names starting with / are treated
13329     specially.
13330
13331   * The bitmap file names were changed so that none exceeded 14 characters.
13332     This is necessary for R5.
13333
13334         fcntl(from_prog[0], F_SETFL, O_NDELAY);
13335
13336     The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr
13337
13338         printz ("Illegal move (no matching move generated)");
13339
13340   * fixed a problem with the new version of gnuchessr where xboard wasn't
13341     getting gnuchessr error messages for illegal moves.  The problem seems
13342     to be fixed *without* any gnuchess changes but this is likely to be
13343     highly system dependant.  There should be a new line on line 246 of nondsp.c
13344
13345   * -iconic doesn't work at all now.  The Iconify() does work.  This was
13346     a tradeoff and it is really an Xt bug.
13347
13348   * Fixed a compiler warning for gcc and an error for the IBM RT compilers.
13349     This is the VOID_PROC macro in xboard.h.  Thanks to David Jensen for this.
13350
13351   * If the DisplayWidth or DisplayHeight is less than 800, use small size mode.
13352     Also the size of the name widget was reduced from 500 pixels to 400 pixels
13353     because in small size mode there was a gap on the right.
13354     Changed the default font from fixed to helvetica_oblique14 to:
13355         **-helvetica-bold-r-normal--14-*-*-*-*-*-*-*
13356     helvetica_oblique14 is a font alias not on all R4 systems.
13357     Curiously enough, the 17 point is not available on 75dpi systems
13358     and the 18 point font is not available on 100dpi systems.
13359     Thanks to Richard K. Lloyd for pointing these out.
13360
13361   * Minor hacks to work with R5 alpha.  Had to add an event handler to the
13362     boardWidget to get translations to work.  This may go away with the real R5.
13363     Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility.
13364
13365   * If the first character of the file is not `1' then the first line
13366     of a game or position file is displayed as the name in a label widget.
13367
13368   * Added a PopUp dialog for getting file names.
13369
13370   * Modified the code to use the R4 routines rather than R3 compatibility.
13371
13372   * Changed the forwards/backwards/readgamefile code to allow a play to step
13373     back and forth in a game.  If he steps all the way to the beginning
13374     he has to restart the game.  If he gets into a mated position, same problem.
13375
13376   * Moved the man page from xboard.1 to xboard.man.  This makes imake man page
13377     installs work correctly.  Thanks to Richard K. Lloyd for pointing this out.
13378
13379   * Corrected the queening code.  XBoard was sending the wrong syntax.
13380     It was sending for example h8(Q) when it should have been sending h8q.
13381     Thanks to Paul Vaughan and Mike McGann for pointing this out.
13382
13383   * Added a lex parser for algebraic games.  It should be easy to use the parser
13384     for other interfaces such as the Microsoft Windows version.
13385     It parses comments of the form [anything] and ! to the end of a line.
13386
13387 Version 1.1 -- Mon Jan  7 14:46:03 PST 1991
13388
13389   * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,
13390     Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during
13391     beta-testing.
13392
13393   * older non-ANSI versions of Sun compilers complain vociferously.
13394
13395   * the remoteShell resource was added for HP-UX systems
13396     and other systems where the remoteShell isn't rsh.
13397
13398   * -iconic doesn't work properly.  If XBoard is opened iconic then
13399     iconifying it later with a keystroke doesn't work.  I think
13400     this is an Xt bug.
13401
13402   * For systems with smaller screens, XBoard can use smaller pieces,
13403     and a smaller board.  -bigSizeMode False uses a smaller set of pieces.
13404     These are scaled versions of the large pieces.  They look ok but could
13405     be improved.
13406
13407   * getlogin() does not work in all cases.
13408     It was replaced by getpwuid(getuid())->pw_name).
13409
13410   * Warning messages get displayed in the message box.
13411
13412   * Any button restarts a paused game.
13413
13414   * Kayvan Sylvan contributed a patch for ESIX.
13415     It seems that select() on pipes is broken on his system.  We declined
13416     to incorporate his patch though, because it was a work-around for
13417     something that was broken on one system, and selfishly, that system
13418     was not my own.  Nevertheless, it is likely that other System V users
13419     on PC's may need to use this patch and it is is included as the file
13420     ESIX.patch.  To use it, type
13421
13422         patch xboard.c ESIX.patch
13423
13424   * Fixed a bug where hint didn't work.  The local version of gnuchessr
13425     had been hacked.  The fix was to clone stderr and stdout for gnuchessr.
13426
13427   * Fixed a bug where a player could play after a game had been finished.
13428
13429   * The bitmaps have been pushed into the bitmaps directory.
13430
13431   * Substantially rewrote and simplified the Two Machine code.
13432
13433   * Added StrStr() because many systems don't have this ANSI function.
13434
13435   * Added keyboard equivalents.  Added an iconify keystroke, C or c.
13436
13437   * Works with gcc now.  gcc complained about casting float constants
13438     as XtPointers.
13439
13440   * Detect if the visual doesn't support color.  If so, run in monoMode.
13441     An alternative would be to detect grayscale visual and use a collection
13442     of gray user interface colors.
13443
13444         XBoard.clockMode:    False
13445
13446   * For people who don't like or use chess clocks a clockMode switch
13447     has been added.  It is on by default.  It can be turned off in the
13448     .Xdefaults file with
13449
13450   * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.
13451
13452   * Hal Peterson contributed a new Imakefile.
13453
13454   * Rewrote DisplayClocks().
13455
13456   * Rewrote TwoMachinesPlay mode.
13457
13458   * Konstantinos Konstantinides added the -searchTime option.
13459
13460   * Substantially rewrote and simplified the clock code.  If a game was paused
13461     and then resumed, the clocks were out of sync.
13462
13463   * Fixed a bug in HandleUserMove() where the user could make a move while the
13464     machine was thinking.  The fix detects and ignores these moves.  onMove
13465     was not being used and was removed.