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 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
7 Fix MSVC snprintf problem
8
9 In MSVC snprintf has to be redefined as _snprintf, and this happens
10 conditionally in config.c. But the latter was not #included in help.c.
11
12 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
13 updated configure.ac to check for Xaw header files
14
15 check for Xaw header files when --without-Xaw3d was given. Before the test was
16 only done when Xaw3d was specified, but could not be found.
17
18 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
19
20 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
21 Fix ICS channel 0
22
23 Channel 0 messages were not displayed in the console, because the test
24 for channel number considered every non-numeric or non-existent handle
25 in a chatbox to be zero. So the messages were diverted to a non-exsting
26 chatbox. Now it test first for the handle to start with a digit.
27
28 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
29 Make language choice from menu persistent
30
31 Set appData.language to the chosen language file, or empty if English is
32 chosen, so that the choice is saved with the settings. Increase the
33 number of possible language choices from 5 to 20. (After all, we already
34 have 7 now!)
35
36 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
37 Fix showing of user move after adjudication
38
39 The correction of the fishy patch (removing ShowMove() from Adjudicate())
40 had broken the adjudication of user moves (that actually did work before
41 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
42 the correct values for the move to be shown). An entered move that led
43 to adjudication (like a checkmate) now was not displayed at all. Adding
44 an extra ShowMove() after (successful) return of Adudicate() solves it.
45
46 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
47 Fix Xiangqi King facing
48
49 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
50 was cleared after the King-facing test, rather than before it.
51
52 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
53 Fix variant janus size prefix
54
55 The default board size of Janus Chess was not consistently taken to be
56 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
57
58 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
59 Fix Alfil bug
60
61 The test for Alfil (suppressing single steps on the Elephant) contained
62 a wrong logical operator, so that it could never be active. It also
63 failed to include Xiangqi as variant with traditional Alfil. This led to
64 one-step moves of the Elephant in these variants, and false check or
65 unreliable mate detections.
66
67 Fix move of Xiangqi Elephant
68
69 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
70 fixed configure script to correctly detect Xaw3d library
71
72
73 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
74 Fix unmarked translation
75
76 The file-browser wndowtitle in WB was not marked for translation.
77
78 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
79 Put warning in HTML help
80
81 A warning is added that the help file is not yet updated for the new
82 menu organzation.
83
84 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
85 Fix 64-bit Windows compilability
86
87 The API interface for Set/GetWindowLong has been changed for 64-bit
88 Windows, both in the name of the call as in the arguments.
89
90 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
91 Fix MSVC compilability
92
93 Both the makefile and the project file had to be adapted for the new
94 source file history.c, and the new location of parser.c.
95
96 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
97 added missing #includes and missing prototypes to filebrowser
98
99 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
100
101 Also cleaned up missing prototypes and some casts.
102
103 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
104 added missing header file for sprintf
105
106
107 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
108 added history.c to the tar-ball. Needed for Winboard
109
110
111 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
112 Fix deselection of greyed-out variant button (WB)
113
114 In Windows a disabled radiobutton refuses to deselect when you select
115 another (enabled) button from the group. There are then 2 buttons
116 checked, and the code to readout the buttons took the first one. Now it
117 is changed to take the first enabled one.
118
119 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
120 Revert "Implement -reset option feature in WinBoard"
121
122 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
123
124 picked the wrong commit from HGM's git tree.
125
126 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
127 add DIFFSTAT and SHORTLOG to tar-ball
128
129 was only in the v4.4.x branch and not in master
130
131 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
132 release of version 4.5.0
133
134 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
135 changed size of borders around squares from 0 to 1 as a default
136
137 this way highlights show up again.
138
139 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
140 Implement -reset option feature in WinBoard
141
142 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
143 updated Changelog, NEWS, etc.
144
145 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
146 updated parser.c form parser.l
147
148 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
149 Clean up fishy patch
150
151 None of the ShowMove() calls in Adjudicate() was working, because when
152 this code was taken out of HandleMachineMove() it was taken outside the
153 scope of the local fromX, fromY etc. there, so that it started using the
154 global variables from the mouse driver. As these usually contain -1,
155 this suppressed move animation and highlighting. All these calls have
156 now been removed, and ShowMove() is called after a positive return (from
157 HandleMachineMove(), so within the correct scope).
158 This improves the previous fix, which led to some flicker, because the
159 erroneous ShowMove() calls did draw the new board (instantly), wich in
160 the fishy patch was then immediately overwritten by the old position, to
161 start animation. This drawing of the old position is now no longer
162 needed either.
163
164 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
165 Update RTF file
166
167 The RTF file is adapted to the new menu organization.
168
169 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
170 Update texi file
171
172 The highlight-with-arrow and one-click-move menu items are described.
173 The highlightMoveWithArrow and variations option are described.
174 Load Next /Previous Position descriptions are moved to File menu.
175 The description for entering variations is updated (using Shift key).
176 The remark that editing holdings is impossible is removed.
177 Spartan Chess is added to the list of supported variants.
178
179 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
180 Updated copyright notice to 2011
181
182
183 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
184 Greyout unavailable variants in New Variant dialog
185
186 The WB radio-button code is refactored to be driven from a list (which
187 must be kept in phase with the variant definitions in common.h!). It now
188 also checks if the first engine supports the variant, and greys out the
189 item if it isn't. XB now also makes this check. Slight re-ordering of
190 10x8 variants there, to have the more common on top.
191 If no radio button is selected, keep old variant even on OK.
192
193 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
194 Move clock-click code to back-end
195
196 Some duplicated (or should-be-duplicated) code for handling clicks on
197 the clocks from the XBoard and WinBoard front-ends was merged and
198 relocated to the back-end, so it can be shared. Noticeable was that
199 XBoard allowed turn change in ICS examine mode by clock clicking,
200 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
201
202 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
203 Fix legality testing of drop moves
204
205 Drops of noexistent pieces (i.e. with a piece indicator letter that is
206 not corresponding to any defined piece) are now parsed as
207 ImpossibleMove, rather than IllegalMove, so they are also rejected with
208 legality testing off.
209
210 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
211 Fix WB Sound Options greyout and remove some grossness
212
213 The sound and ICS Options menu items in WB were accessed 'by position',
214 with fixed defined positions (always messing up any reorganization of
215 the menus when you forgot to redefine the position constants in
216 winboard.h). And not only that, but for completely mysterious reasons,
217 the greying of the sound item greyed out the game-list options (above
218 it) in stead when it was defined as 9, and the ICS options (below it)
219 when it was 10 !!!. Now they are addressed 'by command' (and the
220 position definitions are removed), which fixes things.
221
222 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
223 Re-instate load next/prev position menu items
224
225 As positions do not use something similar to the game list, these are
226 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
227 so I settled for Shift+PgUp/Dn.
228
229 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
230 Remove superfluous copying of machine move
231
232 There was explicit code in HandleMachineMove() and FinishMove() to put
233 the move in the moveList, while MakeMove() already does this later in a
234 more reliable way by calling CoordsToComputerAlgebraic(). This
235 superfluous code is removed now.
236
237 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
238 Fix spurious mate test in Edit Game mode
239
240 When entering a game, it was terminated by the mate test even when
241 legality checking was switched off (so that mates might not be reliably
242 recognized). The mate test is now made dependent on legality testing.
243
244 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
245 Fix type-in of drop moves
246
247 Drop moves entered through the move type-in already come in the (piece,
248 DROP_RANK, x, y) format, rather than having a holdings from square. This
249 caused UserMoveEvent to consider them illegal when testing if the
250 piecewas of the side to move, and when this was fixed, to recognize
251 Knight drops as coming from between board and holdings (and thus
252 illegal).
253
254 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
255 Fix move type-in truncating game
256
257 Starting a new variation by keeping Shift pressed did not work when
258 OK'ing the move type-in, because there was some code ther that truncated
259 the game. While this could be safely left to UserMoveEvent, which it
260 calls, as the situation is not different from entering moves through the
261 mouse.
262
263 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
264 Fix legality testing for promotions
265
266 Turns out WB has never tested for the legality of the chosen promotion
267 piece, and would allow promotion to King innorml chess even with
268 legality testing on (when entered through the keyboard)! Now strict
269 testing is done, outlawing Pawns and Kings (or Unicorns in
270 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
271 spartan a black King if you do not have two yet.(And promotion
272 toLnce,representing Hoplite Pawn,is forbidden there.)
273
274 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
275 Reset 50-move counter on all pawn-like Lance moves
276
277 Now the Lance represents a Pawn-like piece not only in variant fairy,
278 but anywhere outside Shogi / Superchess, its moves should also reset the
279 50-move counter in those cases. Especially important for Spartan Chess,
280 where the Lance actually participates.
281
282 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
283 Fix logo repainting
284
285 The logos were not repainted when the main window was moved out of the
286 display area, and then back into view. The reason for this is
287 unknown, as the PaintProc calls HDCDrawPosition, which was calling
288 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
289 sometimes half drawn!) despite the fact that the rest of the board was.
290 The drawing of logos now has been decoupled from drawing the board,
291 and has been moved to a separate routine DisplayLogos() (in analogy to
292 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
293 not change when the board does. So apart from in PaintProc, it has only
294 to be called when the mode changes (ModeHighlight()) or on swap clocks.
295 This seems to fix the problem.
296
297 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
298 Fix time in PGN info
299
300 Saving of the thinking time in the PGN was broken by the patch that
301 removed the race condition in the clock switching, because that moved
302 the incrementing of forwardMostMove to behind the code that used fmm to
303 index pvInfoList. As a result the time was stored in the slot for the
304 opponent's previous move. The value is corrected now.
305
306 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
307 Fishy fix
308
309 The move that delivers checkmate in two-machines mode is not animated
310 when adjudication is on. There then also is no highlighting of this move
311 Redrawing the board and calling ShowMove fixes it. Which is rather
312 strange, because ShowMove was already called in Adjudicate (when it
313 adjudicates), before GameEnds. For reasons that are not understood this
314 call to ShowMove() (which calls AnimateMove()) is not effective.
315
316 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
317 Reset machine colors after match
318
319 The colors each engine playse are set to the originals after the last
320 match game, so that a new match or two-machines game will not have
321 swapped colors.
322
323 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
324 Reset win/loss counters before match
325
326 The win/loss counters were not reset, because the code counted on them
327 being initialized to zero. But with matches startable from the menu,
328 this is no longer true after the first match.
329
330 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
331 Show move that causes false illegal-move claim
332
333 Without claim testing XBoard takes back moves that an engine objects to.
334 But when the engine is forfeited for a false claim, the move should of
335 course stay. So the claim test is moved to before the take-back.
336
337 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
338 Fix Spartan promotion to King
339
340 Promotions toKing were refused when in check, because XBoard thought
341 they would not resolve the check. Now the promotion is actually
342 performed before doing the check test.
343
344 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
345 Fix WB font-based piece rendering on variant switch
346
347 The piece bitmaps were only created from the font characters when the
348 number of ranks or files changed, because it was done in
349 InitDrawingSizes(). This caused missing pieces when changing to a
350 variant on the same board that used other pieces. Now InitDrawingSizes()
351 is called for any variant switch.
352
353 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
354 Fix right-alignment pproblem in WB ICS window
355
356 Use of Ctrl-R to summon the context menu still trickled through to the
357 default text-edit window routine, and caused right-alignment. This was
358 because the text-edit reacts on keyDown rather than the character event.
359 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
360
361 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
362 Fix chat window title
363
364 The title was using the engine name, rather than the ICS handle, which
365 did not work outside zippy mode. Now it only uses the engine name when
366 no ICS handle is known. The titleis now also subjected to translation.
367
368 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
369 Fix spurious reading of old game title by JAWS
370
371 Because focus was switched to the board window before loading the
372 selected game from the game list, the titlebar still contained the
373 name of the previously loaded game, which would spontaneously be read by
374 JAWS. Now the focus switch is done after loading the new game (which
375 updates the window title.)
376
377 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
378 Add variant Spartan Chess
379
380 In the WB menu it takes the place of the defunct Twilight Chess item.
381 The setup routine needed patching for setting up Lances in stead of
382 Pawns for black, the check test had to be adapted to handle duple check,
383 Alfil and Dragon moves were fine tuned in this variant to make the exact
384 moves, and the promotion popup was adapted to show King and interpret
385 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
386 moves as Modern Elephant except in Shatranj and Courier.
387
388 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
389 Fix mate test
390
391 Due to a bug in logical operators drops were tried for mate evasions
392 even in non-drop games, which broke it in Superchess and Great Shatranj,
393 and wasted CPU time in other variants.
394
395 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
396 Fix promotion suffixon disambiguated piece moves
397
398 The promotion suffixon piecemoves that needed disambiguation was not
399 passedon to the back-end in most variants. Now it is passed on in any
400 variant.
401
402 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
403 Fix promotion of Pawn-like Lance
404
405 In variants where the Lance is used to represent an unorthodox Pawn, it
406 must promote when it reaches last rank. With legality testing on,
407 however, the promoChar was ignored in ApplyMove in this case. The
408 promotion suffix also was not appended in SAN moves.
409
410 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
411 Fix WB promotion popup
412
413 The promotion popup did not work properly in variants where black did
414 not use the pieces that white wanted to promote to. Now the character
415 for the selected piece is taken from the piece encodings of the side to
416 move. In addition, selection of undefined pieces is ignored.
417
418 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
419 Fix bug in parsing variations
420
421 The moves parsed from a variation were stored in the moveList without
422 appended linefeed. This caused errors if the variation extended to
423 beyond the end of the main line,into a hitherto unused part of the move
424 list, as the linefeed was then not there from the overwritten move. As a
425 result moves sent to the engine were concatenated, triggering
426 illegal-move messages and bringing the engine out of phase.
427
428 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
429 Define Ctrl-R as right-click in WB Comment dialog
430
431 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
432 equated to a right click at the position of the caret or selection.
433
434 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
435 Allow starting a variation from keyboard entry in WB-JAWS
436
437 The status of the shift key is remembered when space is pressed to
438 select a board square.
439
440 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
441 Disable some accelerators in JAWS version
442
443 Single-key accelerators that could result in irreversible data loss are
444 undesirable, because the risk of accidentally pushing them is too large.
445 So the non-Alt duplicates of next/previous game/position are disabled,
446 as are Home and End for Revert and Truncate Game. JAWS users will have
447 to rely on the menus for those functions.
448
449 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
450 Group engine-output memos with engine names
451
452 The engine names are now defined just before the text edits, so that
453 JAWS 11 will read the engine name when the memo for the output of that
454 engine is selected. (JAWS 10 will still read the NPS, as it reads in
455 geometrical order.)
456
457 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
458 Put nr CPU earlier in tab cycle of WB Common Engine dialog
459
460 By defining the max CPU control after hash size, the tabbing steps
461 through the controls in geometrical (and logical) order, rather than
462 having the max CPU in between the book controls.
463
464 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
465 Update WB language template file
466
467
468 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
469 Subject JAWS menu and spoken strings to translation
470
471
472 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
473 Let JAWS SayString buffer full sentence
474
475 The meaning of the flag parameter of SayString was changed to indicate
476 buffering of flushing. On flushing a message of a single space is used
477 as a kludge to indicate interruptability. Calls to force flushing where
478 added everywhere.
479
480 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
481 Adapt JAWS menu to new menu organization
482
483 The menus did not correspondto the texts after translation of the main
484 menu bar.
485
486 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
487 Translate menus after creation of JAWS menu
488
489
490 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
491 Fix ICS context menu for JAWS
492
493 The Ctrl+R key did select text at the mouse pointer in stead of at the
494 curser, now that up and down-click were combined.
495
496 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
497 Reorganize order of WB New Variant dialog controls
498
499 The definitions are re-ordered so that at least JAWS 11 will speak the
500 board-size elements properly.
501
502 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
503 Fix order of elements in WB time-control dialog
504
505 Someleading texts were defined after the text edit they referred to,so
506 that JAWS 11 associated them to the wrong one. A tab stop was added to
507 the time-odds label, to make JAWS speak it.
508
509 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
510 Change tabbing order in WB sounds dialog
511
512 The 'Play' button now gets focus immediately after the controls for
513 selecting the sound, rather than at the end of the dialog (after OK).
514
515 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
516 Remove tab stops on first radio button of WB dialogs
517
518 The New Variant and Board dialogs had a tab stop on the first radio
519 button,so that tabbing toit would automatically select variant
520 normal or size tiny. Now it tabs straight to the current size, without
521 changing anything. (Important for JAWS users.)
522
523 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
524 Put OK/Cancel last in tab cycle of some WB dialogs
525
526
527 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
528 Fix duplicate menu character for Edit Comment
529
530 Edit Comment did have the same shortcut character as Copy Game. Changed
531 to m now.
532
533 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
534 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
535
536
537 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
538 new developer release
539
540
541 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
542 Subject WB context menus to translation
543
544 The innerloopof the menu translation has been made into a separate
545 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
546 better preserve menu breaks. Menu #10 is used for context menus (from
547 the routine that pops them up), and for this number the orignal texts
548 are not saved in menuText. (This is not needed, because the menu is
549 created everytime anew from the resource data.)
550
551 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
552 Update translation template
553
554 Add the new menu items; add some notes.
555
556 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
557 Resize buttons in WB engine-settings dialog
558
559 The OK and cancel buttons were to narrow for most translations, and were
560 a non-standard order as well.
561
562 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
563 Add one-click move control to WB general-options dialog
564
565 This is a duplicate of the one in the ICS options dialog, but the latter
566 is inaccessible in non-ICS modes, and one-click move is now
567 alsoavailable in engine mode.
568
569 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
570 Create space in dialogs for translation
571
572 The translated texts often did not fit, because controls were defined
573 needlessly small (when there was empty space between them). In these
574 cases they have been enlarged to consume all available space. Some
575 dialogs are made wider.
576
577 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
578 Add handle for translator acknowledgement
579
580 An empty string is printed in the about box, which can be 'translated'
581 to a message acknowledging the translator.
582
583 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
584 Use default logo for user
585
586 When no logo with the name of the current user is found, use dummy.bmp.
587
588 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
589 added rlwrap tip to FAQ
590
591
592 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
593 replace hard coded paths with path from configure script
594
595 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
596
597 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
598 fixed a typo in the configure script output
599
600
601 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
602 added a desktop file
603
604 taken from the openSUSE project
605
606 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
607 Fix Edit Game/Position checkmarking in WinBoard
608
609 Because the entries in Edit and Mode menu were pure duplicats, the
610 entries in the wrong menu (Edit) were checkmarked while active. By
611 defining different IDs for those in the Edit menu, those in the Mode
612 menu are checkmarked again.
613
614 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
615 Add XBoard menu items for arrow highlight and one-click move
616
617 These items are put in the options menu; the 'Old Save Style' item is
618 removed.
619
620 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
621 Provide menus for editing WinBoard engine and server lists
622
623 The Edit Tags dialog in the WB front-end is adapted to act as a general
624 edit for string variables, by giving it an extra parameter to indicate
625 where to store the edited result. Menu items are added to invoke this
626 dialog for editing the /first, /secondChessProgramNames and /icsNames
627 options. This solves the problem that people would have to edit an ini
628 file that they can no longer locate (because the %APPDATA% folder has
629 different names and locations in the various Windows versions, and is
630 often a hidden folder on top of that).
631 There is a slight memory leak here, as the memory for the previous
632 value of the altered string option is not freed.
633
634 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
635 Configure arrow highlighting as default in XBoard
636
637 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
638 lineGap of 0 to make that efficient (and the wood theme even nicer).
639
640 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
641 Port highlighting with arrow to XBoard
642
643 Unfortuntely this duplicates a fair amount of code in the front end.
644 Removing the arrow is done by a total repaint if there is a non-zero
645 lineGap, because the clever algorithm for selective redrawing (based
646 on damage) that XBoard uses does not repair damage to the grid lines.
647 For lineGap=0, however, (for which the arrow is mainly intended) the
648 damage mechanism is used, and the damaged squares are determined by
649 tracing out the arrow in 64 steps, and marking all squares in the
650 neighborhood as damaged.
651
652 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
653 Strip CR from xboard.c
654
655
656 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
657 Let user decide if he wants highlights in blindfold mode
658
659 Remove the automaticsuppression ofhighlighting.
660
661 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
662 Fix fag-fell marker with logos on
663
664 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
665 two-machines mode was printed twice when the clock was split over two
666 lines (as with logos on).
667
668 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
669 Also exempt variant seirawan from eval-scale doubling
670
671 It is not really a drop game, so a scale from -7 to 7 in the eval graph
672 is good enough (like variants great and super).
673
674 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
675 Configure EGTB cache size in adapterCommand
676
677 The hash size, nr of CPUs and EGTB path are transferred through the WB
678 protocol interface commands memory, cores and egtpath. But there is no
679 WB command for detailing the EGTB cache size. So the value of the
680 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
681 through its startup command to make it known to UCI engines.
682
683 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
684 Move Hint and Book items to Engine menu in XBoard
685
686
687 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
688 Correct the key bindings fo view menu in texi file
689
690 The mentioned bindings for Game List and Eval Graph were wrong.
691
692 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
693 Fix sub-variation display with negative score
694
695 The test if the displayed score was the pvInfo score failed for negative
696 scores, because floats are truncated towards zero. So the previous fix
697 of spurious score/depth info was not working when the score was
698 negative.
699
700 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
701 Peel PV out of comment
702
703 Arena stores engine PVs not in variation format, but within both braces
704 and parentheses, before the score/depth info. This caused XBoard to
705 overlook the score/depth info, (frustrating, e.g., the eval graph),
706 while the PV would not be accessible for walking it as a variation.
707 The routine that extracts the score/depth from a comment now has
708 been made more clever, to recognize a leadin PV in the comment, and then
709 place it in front of the comment as variation (by moving the opening
710 brace to behind it). For some reason it does not work if the PV and
711 score/depth were separated by a newline, but this happens quite rarely.
712
713 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
714 Allow line-straddling result comments
715
716 Some GUIs (in particular Arena) do not have the decency to keep the
717 result comment on a single line. In this case the parser rules would not
718 recognize it, and treat it as a normal comment, plus an undetailed PGN
719 result. The rules are now fixed to allow linefeeds in the comment, and
720 between comment and PGN result. To correctly process the comment further
721 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
722 back-end routines that do use the result comment.
723
724 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
725 Write key bindings in XBoard menus
726
727 Unfortunately tabs are not understood in menu texts, so fine-tuning
728 through spaces is necessary to get some sort of ragged alignment.
729
730 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
731 Configure XBoard to use wood board texture by default
732
733 The texture pixmaps are sought in /usr/share/games/xboard, with names
734 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
735 to put them there. XBoard is resitent to non-existence of the files,
736 btw. It simply ignores the arguments in that case.
737
738 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
739 Configure -inc as volatile option in XBoard
740
741 XBoard users are not used to options being persistent, and thus have
742 many scripts assuming the timeIncrement is -1 when they don't specify it
743 on the command line, and want to specify -mps. But a persistent -inc of
744 0 fom a preious session would then force their -mps to zero, causing
745 big-time confusion.
746
747 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
748 Make WinBoard clocks translation-proof
749
750 With logos on, the splitting of the clock over two lines assumed the
751 lengths of the words "white" and "black" would always be 5. Used strlen.
752
753 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
754 Improve drawing of highlight arrow
755
756 A diagonal arrow sometimes had a notch in the shaft because of
757 independent rounding of the starting and ending point coordinates.
758 Furthermore the width of the shaft was unnecessary variable(as a
759 function of direction) because half the width was rounded and then used
760 twice. Now rounding of end-points is always done towards a fixed grid
761 of square centers, which keeps diagonals purely diagonal, and one side
762 of the shaft is drawn relative to the other side, after the
763 position of the latter has been rounded, so any rounding error affects
764 the shaft width only once.
765
766 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
767 Alter descriptionof Analyze File menu item
768
769 This menu item has been given a new function, so a new description was
770 needed.
771
772 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
773 Add description of Game List Options in texi file
774
775
776 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
777 Update texi file for new menu organization
778
779 The descriptions are shuffled around and organized into sections
780 corresponding to the new main menus. Where necessary the name of the
781 items was changed to their new names. The items removed from the File
782 menu (the next/previous/same stuff) are nowmoved to the section "other
783 shortcut keys", as the key bindings for some of them are still active.
784
785 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
786 Update info on key bindings in texi file
787
788 The texi file was still listing the old XBoard key bindings. Where
789 necessary this is now changed to the new (WinBoard) bindings, and all
790 the new bindings were added.
791
792 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
793 Add XBoard key bindings for Revert and Truncate
794
795 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
796
797 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
798 Divorce the Edit and Show Tags/Comment menu items
799
800 In WinBoard the items in the Edit and View menu for Tags and Comment now
801 have different IDs, so they can be independently controlled. Only the
802 items in the View menu are check-marked. The items still do the same.
803
804 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
805 Alter WinBoard menu text
806
807 The texts are slightly adapted, mostly by choosing more convenient
808 tabbing characters for the new menu organization. The translation
809 template is updated accordingly.
810
811 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
812 Let move-history window scroll to bottom after adding move
813
814 By activating the scrollbar of the viewport through XtCallActionProc
815 the move-history window is scrolled to the bottom.
816
817 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
818 Fix Shogi promotion popup
819
820 The texts were adapted to shogi by printing new text items over the
821 Queen and Knight buttons, but these did not alwys cover it. Now the text
822 on the buttons is changed as it should be. Also the window title is
823 adapted.
824
825 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
826 Apply gettext macros to menu texts
827
828 Now texts and references are separated, the texts in the tables can be
829 decorated with the N_() macro, so that the _() macro no longer has to be
830 applied when they are used. (This makes the texts appear in the .po
831 files.)
832
833 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
834 Adapt some XBoard menu texts
835
836 The "Show" prefix is removed from the "View" menu items, as this seems
837 implied. An ellipsis is added to the Engine #N Settings items, which
838 could not be there before, because periods in a menu name would break
839 any reference to it. For some other names the ellipsis was deleted.
840 (These were not refered to, but who knows what we will do in the future.)
841
842 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
843 Separate menu text from menu name in XBoard
844
845 The text string in the menu-definition tables was used both for the menu
846 text, as well as for referencing the items from the code (for enabing or
847 checkmarking). Now these can be defined separately, so that altering the
848 menu texts is possible without breaing any references to the item.
849 (Moving them to another menu would still break XBoard, though!)
850 Currently the texts and names are still the same.
851
852 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
853 Bugfix XBoard menu translation
854
855 The gettext macro N_() was applied to the menu definition tables, but
856 this would break any translation, as these items are both used as menu
857 texts as well as reference for enabling and checkmarking. The routines
858 that create the menus already apply _() dynamically to these items when
859 they are used as menu texts.
860
861 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
862 Restrict drops in variant seirawan to back rank
863
864 Drops aren't really llowed at all in Seirawan Ches, but there exists an
865 engine that supports a variant where drops on the back-rank are allowed.
866
867 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
868 Let Analyze File annotate the loaded game
869
870 By not suppressing the auto-play loop in AnalyzeFle mode, we step
871 through the game while the engine is analyzing, and store the PV info
872 that the engine produces, as well as the full PV (as variation comment)
873 with each move.
874
875 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
876 Revive Analyze File menu item in WB
877
878 We will keep this menu after all, becase it can be given a new meaning.
879
880 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
881 Fix spurious scores in comments
882
883 The comment popup is also used to display engine PV info, but when the
884 contents of the window is written back when we select a variation,
885 it was treated as a real comment. This is fixed now by checing in
886 ReplaceComment() if the comment starts with the PV info, and if so,
887 ignore the latter. This solves the problem, but I guess the real bug is
888 that selecting a variation tries to write the comment even if it did not
889 change.
890
891 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
892 Display error for wrong use of Machine Match
893
894
895 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
896 Reorganize XBoard menus
897
898
899 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
900 Reorganize WinBoard menus
901
902 New main menus Edit, View and Engine are added; the step menu
903 disappears. The menu items are redistributed over the new menus.
904 Sometimes duplicates are created. No adaptation of short-cut characters
905 as made yet (as this affects translation).
906
907 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
908 removed trailing whitespaces from NEWS
909
910
911 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
912 merged readme_HGM.txt into the NEWS file
913
914 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.
915
916 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
917 typo in date of developer release
918
919 but will leave the tagged version as it is, since it's still a unique version number
920
921 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
922 new developer release
923
924
925 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
926 added latest version of parser.c
927
928
929 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
930 updated Changelog, etc for developer release
931
932
933 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
934 Revert "adding gnu-readline support"
935
936 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
937
938 Conflicts:
939         backend.c
940
941 better to use the (relatively) new ICS input box then add readline support.
942
943 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
944 Revert "bugfix: fixed readline support with icslogon option"
945
946 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
947
948 Conflicts:
949         backend.c
950
951 better to use the (relatively) new ICS input box then add readline support.
952
953 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
954 Make Hoplite moves irreversible in Spartan Chess
955
956 Consider Lance moves in variant Fairy (where the Lance represents the
957 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
958
959 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
960 Give Lance moves of Amazon in variant super
961
962 Now that Lance is no longer a wild-card piece the moves of Amazon must
963 be programmed explicitly, to keep the possibbilty to play Superchess
964 with legality testing on.
965
966 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
967 Change representation of Bede in variant fairy initial position
968
969 This used to be Lance, but the promoted Bishop (Dragon Horse)
970 is more applicable. Especially now that Lance is supposed to move like a
971 Berolina Pawn.
972
973 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
974 Make yyskipmoves also suppress examining of drop moves
975
976 Not sure if this does any good, but it seemed illogical that this would
977 happen in all other moves, but not drops.
978
979 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
980 Define moves for Dragon Horse outside Shogi
981
982 Let it move like Bishop + Wazir + Dababba.
983
984 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
985 Fix safety crash when appending comments
986
987 The length limit imposed on safeStrCpy was one too short when copying
988 an existing comment to the space allocated for the longer (concatenated)
989 one. It allowed no space for the terminating '\0'.
990
991 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
992 Fix safeStrCpy
993
994 The test for when to terminate a non-fiting string was one off, and the
995 debug message was written stdoutin stead of debugFP.
996
997 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
998 Fix default holdings size for variant seirawan
999
1000 The holdings for 7 pieces werealways considered an overrule, so that the
1001 variant name was prefixed with "8x8+7_".
1002
1003 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1004 Fix home-dir crash
1005
1006 When confronted with a path name starting with ~ and not containing a /
1007 XBoard would segfault.
1008
1009 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1010 Fix one-click moving on up-click
1011
1012 (First) up-clicks were not always ignored: in Edit-Game mode with
1013 one-click moving enabled this could lead to a capture being made on
1014 the down-click, and the recapture on the correspoding up-click.
1015 This has now been corrected, and only the down-click of a first click
1016 can lead to selecting a piece or a one-click move.
1017
1018 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
1019 fixed buffer size for snprintf
1020
1021
1022 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1023 Accept Seirawan-style gating suffixes
1024
1025 The parser rules were extended to accept / as an equivalent of = in
1026 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
1027
1028 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1029 Use Falcon and Alfil as built-ins for Seirawan chess
1030
1031 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
1032 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
1033
1034 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1035 Implement entering gating moves with mouse
1036
1037 A move with a back-rank piece that starts when a piece in the holdings
1038 is selected will be interpreted as a gating move in variant seirawan.
1039 The front-end uses a 'gatingPiece' selected this way todisplay it on the
1040 from square during animate dragging.
1041
1042 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1043 Implement variant seirawan
1044
1045 Set upthe position, including Hawk and Elephant in holdings, in
1046 InitPostion(). Suppress putting captured pieces in holding. Let
1047 promoChar indicate gating in ApplyMove(). Remove gated pieces from
1048 the holdings there. Let GenLegal() generate RxK-type castlings to act as
1049 base for gating on Rook square. Gatings are tested for legality
1050 based on the holdings content and whether they occur on the back
1051 rank. Disambiguate() also tests this. Make sure the gated pieces are
1052 printed as move suffixes in CoordsToAlgebraic().
1053
1054 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1055 Add -variant seirawan to menu
1056
1057
1058 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1059 Fix acceptance of null-move with legality testing off
1060
1061 A second click on the same piece was interpreted as a to-square rather
1062 than deselection of the piece.
1063
1064 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1065 Fix one-click bug
1066
1067 Disambiguate was imagining captures, so an only capture by double
1068 clicking your own piece did not always work.
1069
1070 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1071 Fix mouse-driver buglet
1072
1073 The highlights were not cleared on moves that went vertically off board.
1074
1075 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1076 List some undocumented commands as compliant
1077
1078 The engine->GUI commands setboard and setup are now always printed in
1079 the debug file as well.
1080
1081 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1082 List Hint with compliant commands
1083
1084 This command was omitted, so that in some -engineDebugOutput modes it
1085 would not appear in the debug file.
1086
1087 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1088 Restrict use of escape expansion
1089
1090 Only expand escape sequences like \n and \t in telluser(error) comamnds
1091 that ask for it by preficing the messages by double backslash. Otherwise
1092 backward copatiblity is too severely broken for messages that display
1093 DOS-style filenames.
1094
1095 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1096 Make safeStrCpy safe
1097
1098 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
1099 always writing the character at the length limit of the destination.
1100 Now no memory is accessed that is is not needed to hold the copy.
1101
1102 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1103 Allow clicked name internal to the icsMenu command string
1104
1105 A command in the /icsMenu that was specified to contain the selected
1106 text or clicked word always appended this word at the end. Now the user
1107 can also configure it to appear in the middle, by putting a %s in the
1108 command string where he wants it to appear.
1109
1110 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1111 Let Engine #2 Settings start second engine
1112
1113 If the second engine is not yet running, it would be impossible to use
1114 the settings dialog for it, as the features have not been received and
1115 the dialog will be empty. So the user could not adjust the engine
1116 parameters before starting a match. Using this menu now automatically
1117 starts the engine, and delays the appearence of the popup untill the
1118 features are received, using a similar mechanism as in
1119 TwoMachinesEventIfReady().
1120
1121 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1122 Newly lexed parser.c
1123
1124
1125 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1126 Fix bug in parsing illegal Pawn captures
1127
1128 When a pawn move of type exf5 was illegal, the parser made an attempt to
1129 interpret it as e.p. capture of f5. This, however, messed up the move,
1130 so that it was now permanently mistaken for e5xf6. Even in cases with
1131 legality testing off, where you would want the original move to be
1132 accepted despite the fact that it was illegal.
1133
1134 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1135 Keep last PV while clearing engine-output display
1136
1137 When ponder is on, the display is cleared immediately when the last line
1138 of thinking output appears by the appearing ponder output. So you would
1139 never get the chance to see it. This line is now re-written after
1140 clearing, so it appears at the bottom of the output for the next search.
1141
1142 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1143 Give Lance moves of Berolina Pawn
1144
1145 In stead of using it as a wildcard piece, the Lance gets the moves of
1146 the Berolina Pawn (straight capture, diagonal move). The initial double
1147 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
1148 Chess.)
1149
1150 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1151 Use SAN even on illegal moves
1152
1153 If there is only one piece of type T, moves like Ta1 or Txa1 are never
1154 ambiguous, so adding the from square is just cumbersome.
1155
1156 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1157 Use normal SAN for wildcard pieces
1158
1159 SAN often can also be used with pieces we don't know the moves of, e.g.
1160 if there is only one of that type. We just always get rank or file
1161 disambiguators if there are more (even when they might be unnecessary).
1162
1163 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1164 Fix some warnings
1165
1166 Unused variables were removed from parser.l
1167
1168 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1169 Allow arbitrary nesting of sub-variations in PGN input
1170
1171 The parsing of subvariations is moved out of the state-machine parsing,
1172 to allow arbitrary nesting. In stead of the entire sub-variation being
1173 parsed by lex as Comment, it now returns Open and Close for the
1174 corresponding parentheses, which are then handled in a wrapper routine
1175 for yylex(): Myylex(). Problem was that yy_text is supposed to return
1176 the entire parsed text of the returned symbol, which thus has to be
1177 collected. To make this possible, yylex has to return everything that it
1178 parses, (even white space!), and a symbol "Nothing" was added to return
1179 in parsing rules that before just ate away irrelevant text without
1180 returning anything.
1181
1182 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1183 Implement setup (engine-GUI) command
1184
1185 This allows the frst engine (when legality testing is off) to overrule
1186 the default opening position, in reply to the variant command. Syntax is
1187 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
1188 where the FEN string is interpreted in the context of the given
1189 pieceToCharTable (which is optional, and only delimeted by parethesis if
1190 it is present).
1191 Sendng the position to the second engine is delayed until the first
1192 engine has responded to the ping after the new-game sequence, to make
1193 sure it gets the chance to alter the position before it is sent to the
1194 second engine. This feature is useful for playing variants that WinBoard
1195 does not even know the opening positon for, and can be used even if they
1196 are shuffle variants.
1197
1198 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1199 Restrict use of a2a3 kludge
1200
1201 The kudge to send "a2a3" in stead of "black" to get black to move is
1202 fatally flawed in varants that have no Pawn on a2. So in that case we
1203 revert to use of the deprecated "black" command.
1204
1205 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1206 Remember values set by -firstOptions, -secondOptions
1207
1208 When an engine announces its option features, and the option name
1209 matches that of a setting given in -first/secondOptions, the engine is
1210 sent hte specified value, but this value was not remembered as current
1211 value (but the latter  was left at the engine-announced default),
1212 leading to inconsistent behavior in the Engine #N Settings dialog.
1213
1214 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1215 Make test for valid promotion piece color-dependent
1216
1217 This is needed to make it work in variants where white and black have
1218 different armies; quite likely white will promote to pieces that do not
1219 exist in the black army, so we really have to make sure we test if the
1220 white (upper-case) piece exists in this case.
1221
1222 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1223 Remove validity test on promochar from parser
1224
1225 The backend routines Disambiguate() and LegalityTest() will catch
1226 invalid promotions, so no need to do it here.
1227
1228 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1229 Add the actual size-33 Shogi bitmaps
1230
1231 These were forgotten in the original commit that fixed the .rc file.
1232
1233 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1234 Delete some stale promotion code
1235
1236 The correction of the promotion piece to Ferz in Shatran-like variants
1237 in ApplyMove() was no longer needed, as the new promotion code already
1238 does this in the move parser.
1239
1240 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1241 Augment moves of some fairy pieces
1242
1243 To get better disambiguation in variants that have to be played with
1244 legality testing off, the Elephant is given also one-step moves (making
1245 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
1246 King (Crowned Rook), which had no moves defined for it outside Shogi at
1247 all, has been given Rook moves plus an orthogonal 2-jump, so that it
1248 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
1249 currently aways force long algebraic notation...)
1250
1251 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1252 Bugfix safeStrCpy patch, WinBoard
1253
1254 The use of sizeof on pointers was detected through the same method as
1255 the previous patches, this time while compiling WinBoard. A typo in
1256 jaws.c was fixed as well.
1257
1258 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1259 Bugfix for safeStrCpy patch for XBoard
1260
1261 By a trick (temporarily redefining safeStrCpy in common.h as
1262 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
1263 could be generated for every occurrence where the size argument was equal
1264 to 4, i.e. where the 1st argument was likely a pointer rather than an
1265 array. These cases are now fixed. The file xoptions.c, which is the
1266 only ne that does not #include common.h had to be fixed by making
1267 the #define in the file itself.
1268
1269 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1270 Fix spurious promotions with legality testing off
1271
1272 The recent promotion patch had broken playing without legality testing
1273 completely: without legality testing one always gets the piece that was
1274 asked for, but a NULLCHAR should not be taken as a request for a piece!
1275 But it was, and this resulted in any moved piece turning into a white
1276 Pawn! For true promotions the piece was always black, which was also not
1277 very useful.
1278
1279 Also revert to the use of '+' as internal Shogi promoChar, because
1280 pre-processing turns out not to be possible when reading a game file.
1281 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
1282 can no longer be recognized as checkmate symbol.
1283
1284 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1285 Make deferral default in Shogi promotions
1286
1287 Because '+' is intercepted by the parser as check indicator, Shogi moves
1288 are pre-processed to change a trailing '+' into an internally used
1289 alternative '^'. The testing if a promotion character is OK is now done
1290 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
1291 the character does not correspond to any piece, and IllegalMove when in
1292 Shogi anything other than '^' or '=' is used. (Except for the ICS
1293 notations.) On output, in CoordsToComputerAlgebraic() and
1294 CoordsToAlgebraic(), the '^' is translated back to '+'.
1295
1296 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1297 Animate piece explosions in drag-drop moves and in XB
1298
1299 This required some code restructuring: the decision if an explosion is
1300 needed is now taken in a new routine Explode() in the backend. This then
1301 calls the front-end driver, and it returns the info if there was an
1302 explosion or not, so the caller (AnimateMove() or the mouse driver) can
1303 take action to repair the damage to the board caused by the blast wave.
1304 A front-end driver for XBoard is provided as well, so that both
1305 click-click (and replay, which is the same) and drag-drop atomic
1306 captures are animated in XB as well as WB.
1307 Explosions on rejected moves are suppressed.
1308
1309 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1310 Suppress promotion popup if piece will explode
1311
1312 In atomic, a Pawn capture to last rank is not really a promotion.
1313 Fix choice to Queen.
1314
1315 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1316 Make Knight hop first straight, then diagonal
1317
1318 It used to be the other way around, which looked pretty illogical in
1319 Xiangqi: to see Horses, which are blockable pieces there, move over an
1320 occupied square.
1321
1322 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1323 Let -oneClickMove also work in EditGame mode
1324
1325 There is really no reason why people that lke one-clcik moves enough to
1326 switch them on would not want to use them too when editing a game.
1327 This solves a nast inconsistency, as before it used to work in -ncp mode
1328 on the _first_ move, as the mode is then BeginningOfGame, and not yet
1329 EditGame, and we do want it to work for BeginningOfGame, as this is
1330 also the game mode when you start playing as white.
1331
1332 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1333 Make -flipBlack and -allWhite option volatile
1334
1335 As these options are very Shogi specific, and the variant is volatile,
1336 it seems logical to make them also volatile. Not completely sure about
1337 -allWhite, though. It cold be useful if you want, for example, to play
1338 wth dark-brown pieces for black, as any color but black looks much
1339 better with outline pieces than with solid pieces.
1340
1341 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1342 Provide some sample board-texture pixmaps
1343
1344 Wood and marble themes are provided as textures for light and dark
1345 squares, plus two complete Xiangqi boards (wood and evenly colored).
1346 These should probably not goint the distro tar ball.
1347
1348 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1349 The -overrideLineGap option is made to work in XBoard
1350
1351 Although XBoard already allowed this in the -boardSize specification,
1352 it is still seful to globally disable grid lines, e.g. for an
1353 oriental Xiangqi board. And it converges XB and WB.
1354
1355 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1356 Implement board textures in XBoard
1357
1358 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
1359 XBoard too, for loading a pixmap that will be used to cut out the dark
1360 and light square backgrounds. The cutting algorithm is such that the
1361 pixmap image is completely restored if the size was that of the total
1362 board (e.g. a drawing of a Xiangqi board).
1363
1364 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1365 Complete WB (western) bitmaps for Shogi at size 33
1366
1367 The Lance was not replacing Queen in some sizes where the bitmaps were
1368 already available, and new bitmaps for the promotion Golds were added.
1369
1370 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1371 Make starting new variation dependent on shift key
1372
1373 The shift key is read during mouse events, and posted in a global
1374 variable, which can then be used by the back-end. The decision to start
1375 a new variation (pushing the game tail rather than clipping it off) when
1376 entring a move in Edit Game or Analyze mode is made dependent on this.
1377 The move-typein also records the shift-key state.
1378
1379 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1380 Fix merging bug
1381
1382 A %g format was used to print an int in sending the level command,
1383 because decimal points were dropped when merging patches. Also an unused
1384 variable was removed to suppress a warning.
1385
1386 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1387 Add set of shogi pixmaps for XBoard
1388
1389 The -size 64 pieces from gShogi (and originally XShogi) are made
1390 suitable for loading by XBoard, through redefining the transparent
1391 background color as either light or dark square color. These bitmaps are
1392 not included in the XBoard build, and perhaps should not even be
1393 included in the source distribution, but made available in a separate
1394 distribution?
1395
1396 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1397 Implement -flipBlack in XBoard
1398
1399 When -flipBlack is true, the white and back piece pixmaps are swapped in
1400 flipView. The idea is that the black pieces are upside-down versions of
1401 the white (Shogi) pieces, so that swapping white and black in effect
1402 turns all pieces upside down, which is what should happen in flipView.
1403
1404 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1405 Disable some very verbose debug printing
1406
1407 The internationalization seems debugged enough to do without them.
1408
1409 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1410 Add option -variations to control variation-tree walking
1411
1412 Just so that users can switch it off if the find it annoying.
1413
1414 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1415 Allow full promotion suffixes on SAN piece moves
1416
1417 This facilitates the parsing of (non-standard) Shogi moves in ICS
1418 protocol. It can also be useful for Seirawan Chess, where a future
1419 implementation of it can use promotion suffixes to indicate gating.
1420
1421 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1422 Allow lower-case piece indicator in drop-move notation
1423
1424 As it seems that XBoard also sends such moves in zippy play, it seems
1425 more fair to recognize them from the engine as well.
1426
1427 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1428 Fix bug in ICS variant switch for Shogi
1429
1430 Because a test for 8x8 variants was done by <= VariantShogi,
1431 rather than <, spurious move-list fetching occurred in Shogi.
1432
1433 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1434 Fix WinBoard Lance bug
1435
1436 The choice between Lance and Queen was made on appData.variant, in stead
1437 of gameInfo.variant. Because of this it was not always up-to-date in ICS
1438 games.
1439
1440 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1441 Adapt WinBoard to Shogi implementation on Variant ICS
1442
1443 The Variant ICS does not use the '+P' notation for promoted pieces,
1444 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
1445 and uses 'H' and 'D' for +B  and +R. The Shogi promotion code in
1446 LegalityTest() and Disambiguate(), which are used in move Parsing, are
1447 adapted to handle this. Deferred promotions sent to the ICS now use an
1448 == suffix.
1449
1450 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1451 Inherit promoted-info that ICS does not give from previous board
1452
1453 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
1454 primordial or a promoted pawn (or a promoted other piece). We now derive
1455 this info from the previous board. The option -disguisePromotedPieces
1456 controls this feature.
1457
1458 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1459 Limit multi-session clock handling to non-ICS games
1460
1461 In ICS games a time forfeit crashed XBoard, apparently because the
1462 fullTimeControl string is not properly set when we try to use it to see
1463 if a sudden-death session is indeed the last session.
1464
1465 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1466 Change evalgraph scale in drop games
1467
1468 Score swings tend to be much larger in Crazyhouse and Shogi, so the
1469 vertical rangee in those games is doubled to (-14, 14).
1470
1471 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
1472 bugfix: fixed readline support with icslogon option
1473
1474 The icslogon option sends the login and password, so we don't need to handle
1475 special cases for the readline buffer.
1476
1477 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
1478 fixed some typos that were introduced during the sprintf->snprintf changes
1479
1480
1481 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1482 Fix uninitialized variable in book code
1483
1484 The variable ' power' was used uninitialized in case -bookVariation was
1485 set to 0, which can be an error even if it was only multiplied by zero.
1486
1487 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1488 Fix menu translation bug
1489
1490 The menuText array was declared too small, so that the last entry of the
1491 File menu got out of bounds and was overwritten by the first of the Mode
1492 menu.
1493
1494 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1495 Allow -timeIncrement to be a float
1496
1497 The increment can now be fractional seconds. The printing in
1498 ParseTimeControl() and SendTimeControl() is done with %g format, so that
1499 for integer increment there is backward compatibility with the old level
1500 command.
1501
1502 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
1503 adding gnu-readline support
1504
1505 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.
1506
1507 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
1508 added warning if icsLogon file couldn't be opened
1509
1510
1511 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
1512 security fix: replaced some strcat with strncat
1513
1514 there is still more to do
1515
1516 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
1517 add option for silent builds
1518
1519 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
1520 It should still work for older automake versions too
1521
1522 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
1523 bugfix: missing array index
1524
1525
1526 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
1527 added new case for (Chessmove) 0 in common.h
1528
1529 this cleans up a few more -Wall messages
1530
1531 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
1532 cleaned up -Wall warnings (apart from settings some parentheses)
1533
1534 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
1535
1536 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
1537 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
1538
1539
1540 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
1541 security fix: replaced sprintf with snprintf
1542
1543 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.
1544
1545 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
1546 security fix: replaced strcpy with safeStrCpy from backend.c
1547
1548 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
1549
1550 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1551 Enhance multi-session TC clock handling
1552
1553 Some new TC types are introduced: Bronstein and free sessions. The
1554 former is implemented by letting an exclamation point '!' in front of an
1555 increment (in the -tc string) indicate that the increment is limited to
1556 the time actually used on the previous move. The latter is an interval
1557 of given duraton in which you can do any number of moves (even zero),
1558 before the next session starts. This is needed for implementing Shogi
1559 byoyomi-type TC, as a first session, followed by a session of fixed-time
1560 per move. The latter can now be specified with the -tc argument as a
1561 degenerate case of Bronstein, where the time on the clock is <= the
1562 increment (so that it is never possible to think longer than the
1563 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
1564 300:10+!10.
1565
1566 The sessions are now separated by ':' in stead of '+', and all times in
1567 the TC string are converted to seconds first (in ParseTimeControl), so
1568 the fullTCstring can now be directly used in a PGN tag.
1569
1570 Note that this patch only addresses clock handling; the engine will not
1571 be informed yet if the TC type or parameters change at the start of new
1572 session!
1573
1574 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1575 Remove promotion-piece encoding from ChessMove type
1576
1577 The shizophrenic way to indcate promotion pieces in the XBoard code
1578 (sometimes using a promoChar, at other times relying on moveType) was
1579 cured by combining all promotion move types (such as WhitePromotionRook)
1580 into a single one (WhitePromotion), and relying on promoChar to specify
1581 the piece. This solves the problem of promoting to new piece types in
1582 variants, which formerly also required addition of new move types.
1583
1584 In Shogi the '+' character is now consistently used to indicate
1585 promotions (and recognized in ApplyMove), rather than 'q' or
1586 PieeToChar(BlackQueen), as the latter did not work in minivariants where
1587 the Queen (representng the Lance) did not partcipate.
1588
1589 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1590 Pass promoChar to SendMoveToICS
1591
1592 SendMoveToICS was the only place where the promotion piece was derived
1593 from moveType, rather than an explicity passed promoChar.
1594
1595 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1596 Suppress spurious use of SAN castling in mini variants
1597
1598 King moves from a central file to the king-side-castled position (1
1599 square away from the right corner) were intercepted and printed as O-O
1600 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
1601 normal King move Kc1-d1 as well. The castling notation is now reserved
1602 for King moves larger than one step.
1603
1604 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1605 Make Shogi promotion zone board-size dependent
1606
1607 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
1608 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
1609 Shogi (6x6), which are indeed what these variants need.
1610
1611 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1612 Make board-size overrule options volatile
1613
1614 The options -boardWidth, -boardHeight and -holdingSize were legacies
1615 from the day choosing a variant would not automatically set a board
1616 size. As a result they are seldomly used anymore. The first real
1617 application is mini-Shogi (on 5x5 board), and it turned out very
1618 annoying if the 5x5 settings persisted to the next session, where you
1619 almost certainly want to play another variant.
1620
1621 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1622 Strip DOS line endings from parser.l
1623
1624
1625 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1626 Extend mate test to drop games
1627
1628 MateTest() in case of no legal moves now also looks if there are legal
1629 drops that can resolve the check. This provides reliable mate testing in
1630 Crazyhouse and Shogi, so these are now made subject to adjudications too.
1631
1632 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1633 Extend legality testing to drop moves
1634
1635 LegalityTest() can nowbe called with (internal-format) drop moves, and
1636 delegates their testing to a new routine LegalDrop(). This routine
1637 performs the 'no-pawn-on-back-rank' test that used to be in
1638 UserMoveTest (which now calls LegalityTest also for drop moves).
1639 The more complex Shogi case is also handled (except for Pawn mate
1640 drops) in LegalDrop().
1641
1642 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1643 Revert splitting of UserMoveEvent
1644
1645 This splitting into UserMoveTest and FinishMove was no longer needed,
1646 now that the new mouse driver no longer calls UserMoveTest to figure out
1647 if a move is a promotion, and XBoard and WinBoard are unified in this
1648 respect. It was counter-productive, because UserMoveTest was not able to
1649 change the fromX, fromY (call-by-value) parameters for passing them to
1650 FinishMove, so it had to defer the conversion of drop moves to internal
1651 format to the latter, while it did not belong there. (Because
1652 DropMenuEvent already delivers the moves in internal format.) This
1653 whole kludgy construction was therefore abandoned, by going back
1654 to the original 4.2.7 calling scheme, where UserMoveEvent completely
1655 pre-processes the move, and when it is valid, calls FinishMove directly.
1656
1657 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1658 Fix silent bug in drop moves
1659
1660 In ApplyMove() the piece on the from square was accessed and used before
1661 we tested for drop moves. As drop moves have off-board from-squares this
1662 led to out-of-bound array access, which apparently was usually harmless.
1663
1664 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1665 Allow parsing of upper-case machine moves
1666
1667 Dubious patch, as it caters to non-compliancy. Some variant engines are
1668 very non-compliant, though.
1669
1670 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1671 Prevent transmission of spurious promo char to other engine
1672
1673 The parser now strps off spurious promotion characters.
1674 New move types "White/BlackNonPromotion" had to be introduced for this,
1675 to indicate NormalMoves that could have been a promotion, to make sure
1676 the '=' suffix of Shogi deferred promotions survives.
1677
1678 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
1679 fixed internationalization for winboard
1680
1681 in the original commit some files were forgotten. This should fix it.
1682
1683 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1684 Fix JAWS bug saying side to move in ICS play
1685
1686 This was done the wrong way around.
1687
1688 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1689 Make WB run-time language switch possible from menu
1690
1691 This is a rather involved patch that might not be worth it. It is
1692 difficult, because translation of things that live forever is not easy
1693 to invert (menus, the auxiliary windows). We hae to remember all
1694 original, English texts there to be able to put them back,or
1695 re-translate. Still does not fully work, although the menus and
1696 temporary dialogs now are all OK.
1697
1698 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1699 Update WB translation template
1700
1701 The language.txt file now also contains all translatable strings from
1702 the C source files, rather than jsut the resource.
1703
1704 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1705 Update docs
1706
1707 Add descriptions for machine-match menu support and enhanced book
1708 control, nick-name options and language.
1709
1710 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1711 Add some forgotten translation hooks
1712
1713 The general-options, file-browse dialogs and the about box did not call
1714 Translate() yet. Also translate contents of combo boxes. Some small bug
1715 fixes.
1716
1717 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1718 Do not translate game-end messages in PGN
1719
1720 The messages themselves are not subjected to _(), but in stead their
1721 displaying in DisplayMove is subjected to T_().
1722
1723 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1724 Internationalization for WinBoard
1725
1726 A function Translate() was added, which uses a list of item dialogs,
1727 reads their value, and replaces it by a translation (if available). It
1728 also reads the window title and sets a translation. Calls to this
1729 routine are added in the initialization code of every dialog callback.
1730 In addition all translatable strings in the WnBoard front end are marked
1731 by the gettext macro _(). Because WB is not gettexted yet, a hard
1732 re-definition of this macro is added in each file using it, to the
1733 string-translation routine T_() supplied in winboard.c.
1734 Code to read the translation file, and translate the menu texts is added
1735 in winboard.c. In backend.c the meaning of the gettet macros is
1736 redefined for the WIN32 case.
1737
1738 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1739 Make the ID of all WB dialog items unique
1740
1741 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
1742 replace tet at run-time for translation purposes, they need to be
1743 addressed individually. So they were given new IDs, with symbols defined
1744 for those.
1745
1746 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1747 Mark XBoard result messages for internationalization
1748
1749 The GNU gettext macro _() is used with the game-end messages. This might
1750 be controversial, as they will appear in the PGN as well. But only as a
1751 comment. We can always decide not to supply a translation.
1752
1753 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1754 Do not exit after match when match started from menu
1755
1756 The codelooks weird, but matchMode == 2 in this case. We then use
1757 DisplayNote() to report the match result.
1758
1759 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1760 Trivial-draws recognition improved in Xiangqi
1761
1762 Now based on a routine "SufficientDefence". If both have it, it is draw.
1763
1764 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1765 Update .dev files
1766
1767 The relocation of parser.c and the addition of history.c was not yet
1768 incorporated in the devcpp proect files.
1769
1770 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1771 Fix some MSVC compile errors
1772
1773 Some statements has moved up stream of declaratons, which is an error
1774 that gcc is forgiving about, but where MSVC is strict.
1775
1776 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1777 Improved patch for expansion of WB settings-file name
1778
1779 The expansion of environment variables now allows multiple environment
1780 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
1781 and %APPDATA%\winboard.ini.
1782
1783 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1784 Add -colorNickNames option
1785
1786 This option allows non-standard designation of side to move in FENs.
1787 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
1788 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
1789 Can also be used for FENs in a local language. A match of theinput
1790 character with the nick name translates it to the standard; this means
1791 the standard will continue to be recognized, unless it was defined as a
1792 nick name.
1793
1794 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1795 Tricked by the grossnes
1796
1797 Some WB menu items were referenced by a hard number. As items had been
1798 added over the years, the wrong menu items were grayed. In particular
1799 the Options -> Adjudication menu was grayed out, in -ncp mode, where
1800 this was intended for the Sounds dialog. This accidentally proved
1801 useful, until we started to apply adjudictions also to the Human moves.
1802 Then it was suddenly undesirable, and a small mystery why it happened at
1803 all, when I tried to change it. The numbers are now corrected to the new
1804 locatons of the items in the menus.
1805
1806 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1807 Allow match to be started from WB menu
1808
1809 A menu item Machine Match was added in the Mode menu to switch to
1810 matchMode. A persistent option /defaultMatchGames determines the number
1811 of games. A control was added to the Options -> Common Engine dialog to
1812 set this option.
1813
1814 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1815 Add some book-control options
1816
1817 Options /bookDepth and /bookVariation have been added to control the use
1818 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
1819 contains fields to set them.
1820
1821 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
1822 new developer release
1823
1824
1825 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1826 Repair exit-popup deadlock patch
1827
1828 Relocating the exit popup call had made it lose access to the message it
1829 should print, because it was declared only in an inner code block, by
1830 the same name: buf[]. Deleting the inner declaration fixes it.
1831
1832 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1833 Fix erors when compiling with --disable-zippy
1834
1835 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
1836 fields.
1837
1838 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1839 Fix zippy handling of draw offers from ICS
1840
1841 The patch by DM to fix the problem introduced by the coloration of
1842 zippy-matched commands (namely that the coloration code beat the zippy
1843 draw recognition to it, and ate the draw offer away) was only targeting
1844 ICC. The new fix should work on any ICS (by using the same pattern in
1845 zippy as in the colorization code).
1846
1847 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1848 Fix regression in colorization of zippy-matched commands
1849
1850 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
1851 that in XBoard no coloration would take place of ICS commands that were
1852 matched by zippy. (It was using &i as input pointer, rather than &backup.
1853 The XBoard-specific code now has been deleted completely, to remove a
1854 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
1855 now use the XBoard method, to only match zippy commands when logged in.
1856
1857 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1858 Suggest default file name in browser dialog
1859
1860 The argument 'def' to FileNamePopUp() was not passed through to the new
1861 file-browser routine, which got NULL in stead, and thus started with an
1862 empty input field.
1863
1864 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1865 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
1866
1867 Because the %s expansion of WB options in the /fcp and /scp lines only
1868 works for options that contain 'first' or 'second', and /fUCI thus did
1869 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
1870 install UCI engines. (The latter option should be deprecated really;
1871 the UCI-ness of the engines is a volatile option, so it makes no sense
1872 to supply a way to set them both to false or true. One only needs to be
1873 able to set it to the non-default state.)
1874
1875 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1876 Add string option /pieceNickNames
1877
1878 This (volatile) option allows definition of alternate letters for the
1879 pieces, which will be recognized next to the standard symbols as given
1880 in the /pieceToCharTable on input. (Output always uses the standard.)
1881 This can be useful for reading PGN from another language, or
1882 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
1883   The format of the argument is the same as for /pieceToCharTable.
1884 Because the nickNames are consulted before the standard table, it is
1885 possible to redefine a standard name as a nick for another piece.
1886
1887 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1888 Fix deadlock in match-result display
1889
1890 At the end of a match, GameEnds() was recursively calling itself,
1891 through DisplayFatalError() and ExitEvent(), and the latter was then
1892 delaying until the calling GameEnds() terminated. (Which it would of
1893 course never do before ExitEvent returned; fortunately there was a tim
1894 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
1895  Now the calling of DisplayFatalError() (to show the result popup) is
1896 delayed until after GameEnds completes (and resets the anti-recursion
1897 flag 'endingGame'), so that it is simply executed a second time, unaware
1898 of the earlier call. But this second time it does not do anything,
1899 because the gameMode ws set to EndOfGame the first time, and the writing
1900 of the PGN is blocked by the checksum being still the same.
1901
1902 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1903 Fix WinBoard game-list title
1904
1905 Number of displayed games and WDL stats were always appended to the
1906 existing title, leading to an ever-growing title in the game-list
1907 window. Now the old actual title is ignored, and the starts is appended
1908 to the original title "Game List". (In the future we could use the
1909 filename here?)
1910
1911 In addition, the title was not updated when re-opening the game-list
1912 window, while the stats could change if filtering was active when the
1913 window was closed. (In that case the filter is cleared on re-opening, so
1914 the number of displayed games changes.) Now a title-update (after
1915 recalculating the stats) is done every time the game-list window is
1916 opened.
1917
1918 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1919 Refactoring of material-draws adjudication code
1920
1921 Insufficient mating material is now determined per side individually, by
1922 testing for MatingPotential of each side. If both lack mating potential
1923 the game is adjudicated as draw (if the -materialDraws option is set).
1924
1925 This way MatingPotential() can later also be used to correct losses by
1926 forfeit to draws (which currently is only done when the opponent has a
1927 bare King).
1928
1929 The accuracy of this type of adjudication in Xiangqi has been highly
1930 improved.
1931
1932 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1933 Fix bug in sending cores command to engine
1934
1935 The cores command was alwas sent to the engine(s) when the user changed
1936 it through the menu, even when the engine had sent feature smp=0 (which
1937 is default anyway). NewSettingEvent() was patched to send the new
1938 setting conditionally, based on the engine properties as recorded in
1939 ChessProgramStates first, second; In this particular case it now
1940 consults cps->maxCores. (Note the code for testing the second engine
1941 contains some dirty pointer arithmetic.)
1942
1943 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1944 Fix oneClickMove bug
1945
1946 When checking for unique captures, no attention was payed to the option
1947 setting, so the capture was also made when the option was off.
1948
1949 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1950 Remove duplicate testing for cores feature
1951
1952 The testing for this BooleanFeature occurred twice.
1953
1954 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1955 Remove misspelled prototype
1956
1957 NewSettingEvent occurred, next to the correct one, in misspelled form.
1958
1959 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1960 Fix parsing of SAN shogi promotions
1961
1962 A missing promotion character defaults to promotion in the move type,
1963 but the promotion character was not set when this happened in variant
1964 shogi. And it is especially important there, as the promotion character
1965 '+' will always be missing, as the parser will take it to be a 'check'
1966 symbol, and strip it from the move.
1967
1968 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1969 Fix variant switch on PGN loading
1970
1971 When the PGN specified an essentially different variant, the
1972 piece bitmaps were not properly adapted, because the switch was done by
1973 calling InitPosition(), rather than Reset(). (The latter would destroy
1974 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
1975 (which is normally done from Reset()).
1976
1977 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1978 Adjudicate Xiangqi material draws with Advisor-less Cannons
1979
1980 Used the Queen counter for counting Cannons. Note that material draws
1981 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
1982
1983 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1984 Remove font settings from master settings file
1985
1986 xboard.conf should not contain general font settings (not specific to
1987 one board size) with specified point size. In fact it should not even
1988 specify sizable fonts, as the new system would make specification of a
1989 general font overrule the size-specific settings in the .xboardrc file,
1990 so the persistence of fonts would be completely broken.
1991
1992 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1993 Cut board squares out of texture bitmap more cleverly
1994
1995 When the bitmap is larger than the entire board, the squares are now cut
1996 out of the center of the virtual squares from subdividing the bitmap, so
1997 that they stay centered on the grid of a Xiangqi board bitmap. If the
1998 board size exceeds that of the bitmap, the old algorithm is still used,
1999 as the centering would make the edge squares exceed the bitmap, and
2000 cause a black rim around the board.
2001
2002 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2003 Allow -flipBlack to work with font-based piece rendering
2004
2005 In addition the font-based pieces will also be flipped vertically in
2006 flipView for variant shogi when -flipBlack is off.
2007
2008 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2009 Allow font-based piece rendering in board sizes below petite
2010
2011 At least for variants that use unorthodox pieces, so that switching back
2012 to using bitmaps is not really an option anyway.
2013
2014 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2015 Ignore checks in 50-move count for Xiangqi
2016
2017 Both checks and evasions are discounted; this is only done after the
2018 naive counting exceeds the maximum, so during most of the game it causes
2019 no CPU load.
2020
2021 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
2022 removed some garbage from configure.ac that got added a while ago
2023
2024
2025 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
2026 Remove unnecessary double equals from configure.ac.
2027
2028
2029 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2030 Fix e.p. bug in xiangqi with -serverMoves option
2031
2032 Sideway Pawn moves were written as e.p. captures in the file with moves,
2033 which led to disappearence of pieces in the viewer.
2034
2035 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2036 Repair score printing with -serverMoves option
2037
2038 A previous patch had moved MakeMove to before the update of pvInfoList,
2039 so that the score/depth info would not appear in the file with moves.
2040
2041 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2042 Repair animate dragging
2043
2044 The previous patch had left a stray semicolon in the mouse handler.
2045
2046 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2047 Fix game end during dragging
2048
2049 The stale-first-click fix interfered with proper handling of a piece
2050 being dragged when a game suddenly ended (because of opponent resign,
2051 or caling the flag), because up-clicks when the from-square was reset
2052 were completely ignored. Now such an 'unmatched' upclick calls
2053 DragPieceEnd() and redraws the board.
2054
2055 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2056 Pop down old tags on loadng new game in WinBoard
2057
2058 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
2059 (unlike XBoard), so that the tags from the previous game were left on
2060 display when -autoDisplayTags was off.
2061
2062 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2063 Reverse mousewheel action
2064
2065 Apparently WinBoard was stepping in the opposite direction through the
2066 game in reaction to the mousewheel as every other GUI in existence.
2067
2068 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2069 Fix bug in sending "usermove" when forcing book moves
2070
2071 The keyword "usermove" was copied to the buffer, but not sent before it
2072 was overwritten by the actual book move.
2073
2074 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2075 Fix engine stall on perpetual-check evasion
2076
2077 The adjudication code had already put the engine in force mode after
2078 postponing the actual adjudication to the next move. Now first determine
2079 if we want to adjudicate now, and with which result, before stopping the
2080 engine and ending the game.
2081
2082 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2083 Let move parser return ImpossibleMove for off-board moves
2084
2085 It used to return 0, which interfered with buiding a game list. This
2086 broke reading of multi-game PGN files containing games in a variant with
2087 a board size larger than that of the currenty active variant.
2088
2089 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2090 Alter XBoard key bindings to mimic WinBoard
2091
2092 A lot of new bindings were added, and four menuProcs had to be registered
2093 to be able to add bindings to them. The use of the control key as
2094 temporary take-back for the last move conflicted with the use of Ctrl
2095 keystrokes, and this function was migrated to '.'. The iconify function
2096 had no shortcut in WinBoard, but to get rid of letter bindings it was
2097 migrated to '-'.
2098
2099 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2100 Update README file
2101
2102
2103 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2104 Fix typos in html help file
2105
2106
2107 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2108 Fix JAWS piece drop cursor, and streamline some sentences
2109
2110 The cursor square was reset to a1 after every use of the piece menu,
2111 which was very inconvenient. Some of the spoken sentences have been
2112 improved; the square is read before the piece now, when using the arrow
2113 keys on the board.
2114
2115 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2116 Allow escape sequences in telluser(error) messages
2117
2118 The routine EscapeExpand was moved to backend.c, and applied to the
2119 message received from the engine.
2120
2121 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2122 Allow lower-case promochar in moves of type h8=Q
2123
2124 Updated the parser rules. Other move formats already allowed this.
2125
2126 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2127 Fix Alt+M JAWS command in Two-Machines mode
2128
2129 The command refused to read the ast move because it contained thinking
2130 output of the other engine. Let it pay attention to evenIfDuplicate.
2131
2132 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2133 Fix rep-draw recognition
2134
2135 The refactoring had broken the rep-draw recognition, by adding and extra
2136 condition in a conditional with side effects. The testing of this extra
2137 condition is now moved to after the side effect.
2138
2139 2010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2140 Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~
2141
2142 Only a single variable at the beginning of the file name is recognized,
2143 and the matching is not fool proof (it matches across backslashes).
2144
2145 2010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2146 Fix info lines being used as normal thinking output
2147
2148 The new standard of using thinking output with time = nodes = score = 0
2149 as info messages for printing in the Engine-Output window was not
2150 understood everywhere, and led to such info lines being used for
2151 autoKibitzing and PGN annotation. The programStats are now only updated
2152 from thinking output received from an engine when it is not an info line.
2153
2154 2010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>:
2155 new developer release
2156
2157
2158 2010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2159 Suppress background observe for boards with own game number
2160
2161 This is really a work-around for an ICS bug. The Variant-ICS sent the
2162 initial board of a game in a move list with relation = 0, which means
2163 'observed'. So XBoard was thinking it was observing its own game, and
2164 switched to dual board. It seems harmless to suppress such a switch for
2165 all boards of your own game, however, which is now done.
2166
2167 2010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2168 Fix crash on switching to ICS xiangqi game
2169
2170 The oldBoard was a local variable, and only squares of the old board
2171 were initialized. This led to a crash if the copied board was enlarged,
2172 and then displayed. The variable is now declared static, so the
2173 uninitialized squares contain harmless zeros.
2174
2175 2010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2176 Let Chat Boxes pop up above console, rather than on top of it
2177
2178 Use EnsureOnScreen() to have them overlap if there was no room.
2179
2180 2010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2181 Fix disabling of Chat Box navigation buttons
2182
2183 The buttons for non-open boxes were enabed, rather than disabled.
2184
2185 2010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2186 Prevent <Esc> closing chat box
2187
2188 Let it in stead switch focus back to the console window.
2189
2190 2010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2191 Let WinBoard recognize ~ in settings file name as HOMEPATH
2192
2193 Fetch the appropriate environment variable to build the mathname in
2194 MySearchPath() whenever the file name starts with "~\".
2195
2196 2010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2197 Change name of Global Settings menu item to Common Engine Settings
2198
2199 The old name confused ICS users, as this is an engine-only dialog.
2200
2201 2010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2202 Update WinBoard RTF docs
2203
2204
2205 2010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2206 Update WinBoard html help
2207
2208
2209 2010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2210 Allow adjustment of clocks in any mode with shift+click
2211
2212 In practice changing to edit-game mode during a game was very
2213 cumbersome. In WinBoard shift+click is now offered as an alternative.
2214 Make sure a right-click in the clock area is not also counted for other
2215 purposes.
2216
2217 2010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2218 Allow loading of PGN variations in XBoard
2219
2220 Right-clicking variation comments in the comment-window was implemented
2221 through a translation. The right button is now bound to routines that
2222 set both the end and start of the selection, as setting a new start does
2223 not seem to work if the previous select-start was not completed by a
2224 select-end or extend-end. Finally the main handler uses the selection
2225 cursors to know what was clicked.
2226
2227 2010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2228 Update XBoard docs
2229
2230 Added a descripton of the new ICS options (seek graph, back-ground
2231 observe) and menus (Upload) to the texi file. Also added a description
2232 of the variation (Annotate menu item and PGN variation comments) and PV
2233 walking (clicking engine-output). Describe the -shuffleOpenings option.
2234
2235 2010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2236 Paint highlights on dual board (WB)
2237
2238 The highlight info is hidden in the partner board to pass it to the
2239 front-end.
2240
2241 2010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2242 Fix handling username change during game
2243
2244 The title bar and gameInfo (going into the PGN) were not adapted when
2245 the username was changed through the menu, so that the change became
2246 only effective on the next game. Requires SetGameInfo to be called from
2247 the front-end, and thus a prototype for it in backend.c.
2248
2249 2010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2250 Fix window-position upset on failing engine start in WinBoard
2251
2252 The main window was only positoned according to the settings-file data
2253 after the engine was started up from InitBackend2(), so that if the
2254 latter gave a fatal error, and Save Settings on Exit was on, a wrong
2255 position for the main window would be saved. The call to InitBackend2()
2256 is now moved until after setting the main-window position.
2257
2258 2010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2259 Display PV from Engine-Output window (XBoard)
2260
2261 Translations are added to bind button 3 to the PV walk for the memo
2262 widgets, and the corresponding handlers are ported from wengineoutput.c.
2263
2264 2010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2265 Set keyboard focus at startup to board window
2266
2267 This makes XBoard sensitive to the keybindings also when the cursor is
2268 outside the board window. This focus seems to persist indefinitely: each
2269 time the board window gets selected, the key bindings become activem
2270 wherever the mouse pointer is. Downside: the mouse pointer is no longer
2271 an arrow outside the board window, but becomes a text-insert tool there.
2272
2273 2010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>:
2274 added logo files for xboard
2275
2276 logos are installed in the hicolor theme [1] using $datadir as the basedir.
2277 Added both png and svg logo.
2278
2279 [1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
2280
2281 2010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2282 Remake programVersion string after receiving engine features
2283
2284 The engine could have sent a more accurate version of its own name
2285 than the one derived from the exe filename in a myname feature, and we
2286 better use that in the programVersion string, which will be sent as
2287 interface name to the ICS.
2288
2289 2010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>:
2290 Revert "Repair settings-file name"
2291
2292 This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85.
2293
2294 2010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2295 Add -autokibitz checkbox to UCI-options menu dialog
2296
2297
2298 2010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2299 Also capture (numeric) whispers of players for -autoKibitz
2300
2301
2302 2010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2303 Add kibitzes and c-shouts Chat Box
2304
2305 A box dedicated to c-shouts will snatch any c-shout before it is
2306 diverted to a normal shouts box. The kibitzes box can capture the
2307 left-overs of -autoKibitz, if the latter is active.
2308
2309 2010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2310 Mark non-compliant lines of engine in debug file
2311
2312 The option -engineDebugOutput is extended to accept value 3 for printing
2313 a cear indication of non-compliancy in the debug file.
2314
2315 2010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2316 Redraw second board on expose events
2317
2318 The -dualBoard option now does refresh the second board after another
2319 window uncovers it. To acheive this, some data structures remembering
2320 what is displayed had to be duplicated. (lastBoard and damage for XB,
2321 lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.)
2322 WinBoard now uses clipping also for second board. This required the
2323 clips for the destination to be translated horizontally!
2324
2325 2010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2326 Print seconds with 2 digits in backgroundObserve status line
2327
2328
2329 2010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2330 Do not recognize non-ICS variants from PGN event tag
2331
2332 These variants were introduced after supporting the variant tag, so if
2333 the variant tag is missing, their recognition from the event tag will be
2334 a false match. (Mainly to prevent events with 'super' in the name being
2335 recognized as Superchess.)
2336
2337 2010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2338 Fix display of uninitialized boards in background observe
2339
2340 A variable partnerBoardValid is cleared on starting our own game, and
2341 set when a board from the background game comes in during it. At the end
2342 of our own game, a valid partner board now is put in the display.
2343
2344 2010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2345 Add option Display Logo in WB general-options menu
2346
2347 Changing the option requires InitDrawingSizes to be called for
2348 re-formatting the board window. Switching it off requires clearing of
2349 the cps->programLogo fields to take effect immediately. Switching it on
2350 only takes effect the next session, as we will need some refactoring to
2351 redo the figuring out what logos to display.
2352
2353 2010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2354 Group Chat Boxes with console in stead of board window
2355
2356 They now open and close with the console, which seems more natural, and
2357 prevents the console from covering them.
2358
2359 2010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2360 Put new options in WB ICS-options dialog
2361
2362 The Seek-Graph, background-observe and Chat-Box options are added to the
2363 ICS options dialog. They only control the appData settings, there are no
2364 special actions yet on switching the settings.
2365
2366 2010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2367 Create space in WinBoard ICS-options dialog
2368
2369
2370 2010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2371 Use side-by-side boards to display background game
2372
2373 A game observed in the background (i.e. if -backgroundObserve true) will
2374 be displayed right of the normal board in the same window if the new
2375 (persistent) Boolean option -dualBoard is also set.
2376 Very flakey hack, especially in XBoard, where clocks and messsage
2377 field all get the wrong width (and resist adjustment in the strangest
2378 ways). The clocks of the partner game are not yet displayed, and
2379 disaster happens when the background and foreground games do not have
2380 the same board format.
2381
2382 2010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2383 Repair background-observe patch
2384
2385 Apparently a commit was lost that I collapsed with 3018a6 while the
2386 latter was already pushed to savannah. Here I recreated this commit from
2387 a diff between the respective commits in the savannah & nubati gits.
2388
2389 2010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2390 Repair settings-file name
2391
2392 The default name is put back to /etc/xboard/xboard.conf, so that XBoard
2393 can again find its settings file. "make install" will still install it
2394 in the wrong place.
2395
2396 2010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>:
2397 new developer release
2398
2399
2400 2010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>:
2401 fixed compiler warning for file-browser code
2402
2403 missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now.
2404
2405 2010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2406 Put newly opened Chat Box on top
2407
2408 Dialogs always pop up in front, so set the onTop variable that prevents
2409 highighting the button to navigate to it from other Chat Boxes
2410 to reflect that a newly opened Chat Box is in view.
2411
2412 2010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2413 Fix copying of kibitzed info in Engine-Output window
2414
2415 Make sure all lines end with "\r\n" to not lose line breaks on
2416 copy-paste from the memo. (XBoard would strip those again.)
2417
2418 2010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2419 Allow walking a kibitzed PV
2420
2421 If no tabs are found in te 'thinking output' we assume it is a captured
2422 kibitz message, and look for "PV=" to locate the start of a PV in it.
2423 Also try to include any continuation lines below the selected line.
2424
2425 2010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2426 Insert autoKibitz continuation lines at end of line
2427
2428 In the engine-output window lines that start with the ICS continuation
2429 sequence "\   " are inserted behind the line they belong to, in stead of
2430 at the top. This required keeping thrack of the length of the currently
2431 active line in OutputKibitz().
2432
2433 2010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2434 Don't disturb background observe when receiving new piece
2435
2436 When new holdings are sent when the background game is displayed, we now
2437 ignore this, as presumably we are peeking at our partners game, and thus
2438 should be well aware of what is captured there.
2439
2440 2010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2441 Newly lexed parser in XBoard directory
2442
2443
2444 2010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2445 Let yy_text determine progress of PV parsing
2446
2447 The parsed unit yy_text was not available after ParseOneMove(), because
2448 the buffer switch in yylexstr() apparently destroys it. To solve that,
2449 yylexstr() now is equiped with an extra buffer argument, where it copies
2450 yy_text before the switch, so the caller, ParsePV(), can see what was
2451 parsed in yy_textstr. This is used to update the PV pointer, but also to
2452 save any parsed comments (when ParsePV is used for parsing a PGN variation).
2453
2454 2010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2455 Support playing through PGN variation comments
2456
2457 Right-clicking a variation line in the comment dialog will shelve the
2458 current variation, and parse the comment to replace it. This uses
2459 ParsePV() in an alternative way, for which the latter had to be
2460 enhanced: it was made resistent to move numbers and comments inside
2461 the PV. It now has an argument to indicate if such comments should be
2462 stored with the moves. The Comment Popup is closed on revert, to
2463 make sure no comments to moves that are destroyed, containing
2464 variations on a non-valid line, can keep hanging around.
2465
2466 2010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2467 Add Annotate item in Step menu
2468
2469 This does the same as Revert, except that it adds the destroyed
2470 variation as comment to the original movem in PGN variation format.
2471 RevertEvent now has an argument to indicate if it should add the
2472 comment, or not. Comments in the abandoned variation are included in the
2473 varriation command to the main line. (The exact layout of the variation
2474 comment that results leaves still to be desired.)
2475
2476 2010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2477 Add option -shuffleOpenings
2478
2479 This volatile option is added just to make the existing variable
2480 available from the command line, not only from the menus.
2481
2482 2010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2483 Let the sounds sound on receiving a message in a Chat Box
2484
2485 Use Colorize() to the applicable color to trigger the sound, and then
2486 restore the original color as 'continuation', to do it silently.
2487
2488 2010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2489 Allow WB Chat Box to be dedicated to shouts and 'it'
2490
2491 By putting 'shouts' in the handle field, a chat window will capture all
2492 shouts and c-shouts, and send messages typed into it as shouts.
2493 The bracketing of the shouter name now indicates the type of shout.
2494 The handle for WHISPER Chat Boxes has been changed to 'whispers', to
2495 make it easier to pop them up by clicking the console.
2496
2497 2010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2498 Add -chatBoxes option to open Chat Boxes at startup
2499
2500 This string option contains a semicolon-separated list of handles for
2501 which Chat Boxes should be opened at startup. The value saved in the ini
2502 file is the value that was read, not the actual chat boxes that were
2503 open at the time of saving.
2504
2505 2010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2506 Make Chat Windows pseudo-tabbed
2507
2508 By adding buttons in every Chat Box to navigate directly to every other
2509 Chat Box, a stacked set of Chat Windows behaves like a single tabbed
2510 window, but can still be unstacked. The buttons turn grey to warn that
2511 new text appeared in hidden boxes (i.e. not the one last brought to top).
2512
2513 2010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2514 Allow arrow keys in WB Chat Box to access command history
2515
2516 The history is shared between al boxes and the ICS console.
2517
2518 2010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2519 Make WB Chat Boxes wrap and handle URLs
2520
2521 Cloned the code for the console text field to hande URL. (Initialization
2522 to recogize the link, and notifiction to open it when clicked.)
2523 Removed the ES_AUTOHSCROLL style from the RichEdit in the resource.
2524
2525 2010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2526 Fix copying of WB Chat Window contents
2527
2528 All line breks were lost on copy-pasting the contents of a chat window.
2529 Adding CR to each outputted line in the front-end (wchat.c) solves this.
2530 (Tell messages sent to a handle (which are not echoed by the ICS, and
2531 thus have to copied to the chat box directly) also need CR!)
2532
2533 2010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2534 Add upload of game to ICS for examining
2535
2536 New item "Upload to Examin" in Action menu, calls UploadGameEvent().
2537 Use SAN moves to upload game to ICS, rather than long algebraic
2538 (The ICS did not understand long-algebraic promotion moves)
2539 Use bsetup within examine to set position onFICS, and also variant.
2540 Castling rights do not work yet for FRC. Totally different set of
2541 commands are needed on FICS and ICC.
2542  FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the
2543 besetup command that specifies the variant. XBoard variant names are
2544 used, except for fischerandom, which is 'fr'. Things like nocastle will
2545 probably still not work.
2546
2547 2010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2548 Handle display of PV that starts with other move than played
2549
2550 Insert the retraction of the played move, without premove highlighting.
2551
2552 2010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2553 Bugfix smart capture
2554
2555 Disambiguate was changed to make sure that for ambiguous moves, a
2556 capture would always prevail in the closure, rather than the last move
2557 that happened to be generated. Before, double-clicking a piece would
2558 sometimes plsy a non-capture.
2559
2560 2010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2561 Fix XB crash on giving keyboard focus to non-text widget
2562
2563 In the Engine-Settings dialog SetFocus() could be called for non-text
2564 widgets, and this made XawTextSetInsertionPoint() croak. Setting the
2565 insertion point to the end in SetFocus() was a bad ide anyway, as it
2566 interfered with copying from the engine-output window, which would
2567 uncontrollably scroll on getting focus. It is solved now by setting the
2568 insertion point already on creation of the text widgets.
2569
2570 2010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2571 Seek-Graph bugfix: disappearing output in ICS console
2572
2573 Suppression of output to the cosole was handled fundamentally wrong: it
2574 was not enough to set next_out to after the unit that should be
2575 suppressed, as there can be a backlog in printing of previous units that
2576 came in the same packet. So this has to be flushed first, or it will be
2577 lost. -autoKibitz probably got away with that, because it comes in a
2578 separate packet. But seek ads are often suffixed to other output, and
2579 then that output disappeared! Now we flush everywhere before suppressing.
2580 We now totally rely on the prompt to restart the printing, so that
2581 acknowledgements following the echo of the sent message are also
2582 suppressed. Also suppress LF before diverted chat messages.
2583   Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of
2584 a "* (*): " pattern in tell messages, because of a missing continue.
2585
2586 2010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2587 Pop up ICS text menu with default item under mouse pointer
2588
2589 The menu popup is migrated to the down-click (was up-click), so the
2590 up-click can select the item. Some trickery is needed to fool the menu
2591 into thinking that the mouse moved, so that a moveless up-down click in
2592 the ICS text field selects the default item (the upper-right one).
2593 Also allow dummy item in ICS text menu: The command "none" in the ICS
2594 text menu will now be treated as a grayed-out (disabled) entry, so it
2595 can be defined in the position underthe mouse pointer to prevent the
2596 up-click from doing anything, while keeping the menu open. Recommended
2597 for use with an entry of spaces.
2598
2599 2010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2600 Allow ICS context menu to pop up a Chat Box on clicking handle
2601
2602 A command "chat" defined in the WinBoard icsMenu string will cause
2603 ChatPopUp() to be called when it is clicked, with the clicked handle
2604 (name) in the ChatPartner field, and focus on the input field.
2605 ChatPopUp() had to get a parameter (the handle) to make this possible.
2606 If that parameter is NULL (as when it is called from the Mode menu),
2607 focus will still start on the (empty) ChatPartner field of the box.
2608
2609 2010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2610 Fix right-edge spillover of Seek-Graph dots in WinBoard
2611
2612 Rescale the X-axis to allow margin for dot size and color offset.
2613
2614 2010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2615 Interface XBoard to GhostView file-browser dialog
2616
2617 Note: The Ghostview dialog was using some deprecated variables for error
2618 printing, and conditionally used getwd() on some systems that presumably
2619 do not have getcwd(), but it did not assess the latter properly.
2620
2621 2010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2622 Allow recalling history in ICS input box with arrow keys
2623
2624 By adding translations for the Up and Down keys, and stealing some code
2625 from winboard.c. Still needs some refactoring to move the duplicate code
2626 to the back-end.
2627
2628 2010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2629 Start insertion point at end of text edits in XB dialogs
2630
2631 The function SetFocus now uses XawTextSetInsertionPoint to position the
2632 end of the string it aready contains, rather than at the beginning.
2633
2634 2010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2635 Capture holdings of background observed game
2636
2637
2638 2010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2639 Match handles with multiple titles for channel Chat Boxes
2640
2641 Only handles with at most one suffixed 'title', such as (U), (C), (IM)
2642 or (TD), followed by the parenthesized channel number, were recognized,
2643 so tells by people with more titles always went to the ICS console window.
2644 Patterns are added to recognize handles with upto three such qualifiers.
2645
2646 2010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2647 Do not pop down Seek Graph on on-dot click
2648
2649 Leave the graph up, and let the incoming board of a started game cause
2650 the pop-down. This in case the clicked ad is no longer vailable, or
2651 manuay refused, and fails to start a game.
2652
2653 2010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2654 Observe a game in the background while playing
2655
2656 A new (persistent) option -backgroundObserve true|false is added. When
2657 set, observed boards received while playing a game will not trigger a
2658 game switch, but will be ignored except for storing in a dedicated board
2659 buffer. Pressing the right mouse button will cause the board to be
2660 displayed, until we release it. Time, strength and stm are always
2661 displayed in the message window.
2662
2663 2010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2664 Remove race condition in clock switching
2665
2666 The move number is now incremented inside SwitchClock, when no timer
2667 interrupt is scheduled, so the interrupt cannot occur at the wrong side
2668 of the increment, and decrement the wrong clock.
2669
2670 2010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2671 Let second click on piece make only capture, with -oneClickMove
2672
2673 Normally this would clear the highlighting of that piece.
2674 Required new field in DisambiguateClosure to count nr of captures.
2675
2676 2010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2677 Bugfix stale first-click
2678
2679 When the opponent resigned after the user had cicked a from-square,
2680 clicking the from-square for the first move in the next game would
2681 produce an "illegal move" message, because it was considered a to-click!
2682 We now set fromX and fromY to invalid in GameEnds().
2683 Should we also reset them on mode changes?
2684
2685 2010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2686 Add promotions and e.p. to oneClickMove
2687
2688 For e.p. the to-Square of the Pawn has to be clicked. Promotions are
2689 always to Queen when you click the to-square, but use the promotion
2690 pop-up when you click the from-square.
2691
2692 2010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2693 Fix error that compiler does not notice
2694
2695 Boolean GLT_GetFromList did not return a value. But no error on Ubuntu!
2696
2697 2010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>:
2698 new developer release
2699
2700
2701 2010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>:
2702 updated year in copyright info
2703
2704
2705 2010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2706 One-click moves
2707
2708 Playing on ICS or against engine, clicking a square from or to which
2709 only a single move can be made causes the move to be done, when the new
2710 option -oneClickMove is set to true.
2711
2712 2010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2713 Use squares for computer seek ads
2714
2715 Shape indication passed in sign bit of color (char) variable.
2716
2717 2010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2718 Use right mouse button to view seek ads
2719
2720 Right down-click does the same as left down-click, right up-click
2721 simulates a left up-click off board (so it misses all dots).
2722
2723 Use right-click miss to refresh Seek Graph
2724
2725 The 'moving' parameter had to be made into an int for this, to indicate
2726 right clicks with code 2. Right press now already pushes the clicked ad
2727 to the back, so that the up-click will display an underlying one.
2728
2729 Bugfix pushing back seek ads on right-click
2730
2731 On a right button press the previous in stead of currently hit ad was
2732 receiving the penalty.
2733
2734 Indicate seek-ad multiplicity
2735
2736 If more than one seek ad is inside the capture range of the mouse
2737 pointer, an exclamation point is printed before the seek-ad text.
2738
2739 Some fixes to make seek-ad suppression work in WinBoard
2740
2741 In WinBoard the z-depth was immediately erased by redrawing the graph;
2742 the clearing of zlist had to be moved from PlotSeekAd() to AddAd()
2743 (where it really belongs). Also aging of z-depth is now suppressed on
2744 mere pointer motion.
2745
2746 2010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2747 Dynamic Seek Graph
2748
2749 The new option -autoRefresh sets FICS and ICC to report removal of seek
2750 ads, and then removes those from the Seek Graph. New seek ads are added
2751 to the graph, as soon as the ICS reports them.
2752
2753 2010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2754 Implement SeekGraph in XBoard
2755
2756 For now only controlled by left mouse clicks on board. New options
2757 -seekGraph true|false and -sg to switch this feature on.
2758
2759 Facilitate selection of coinciding seek ads
2760
2761 Seek-ads that are viewed but not answered get a distance penalty on the
2762 up-click that makes their selection more difficult next time, so that
2763 the ad they covered gets a (better) change. The penalty ages away in the
2764 course of 5 clicks.
2765
2766 Slightly offset Seek-Graph dots of different color
2767
2768 Dots of different color are now displaced horizontally be 3 pixels, to
2769 prevent them from completely covering each other. (Required the axis
2770 labels to be moved a little too, to not be covered by the 1-min ads.)
2771
2772 Auto-show seek-ad texts in WinBoard
2773
2774 Hovering the mouse above a Seek-Graph dot will make the text belonging
2775 to it appear in the message field without the need to press a button.
2776 Required SeekGraphClick() to be called from the WB mouse event handler,
2777 with an extra argument 'moving' to make the distinction with a real
2778 click.
2779
2780 Show seek-ad text on mouse hovering (XBoard)
2781
2782 The Eventproc is also set to trigger on PointerMotion, and this event
2783 then calls SeekGraphClick with motion=true to handle it.
2784
2785 Put poetic name of wilds in seek-ad text
2786
2787 Use XBoard variant names, except for 'loadable' and 'fischerandom'
2788 (becomes 'setup' and 'chess960'), but leave number (to distinguish wilds
2789 that transate to same XBoard variant).
2790
2791 2010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2792 Fix highlighting bug in XBoard
2793
2794 The from-square was drawn before the to-square was erased, which led to
2795 a missing highlight line if they shared an edge or corner.
2796
2797 2010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2798 Shorten autoKibitz confirmation on FICS
2799
2800 Strip off the "players)", but leave the separatng space.
2801
2802 2010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2803 Repair damage to -autoKibitz done by FICS atomic zippy claim
2804
2805 The sending of -autoKibitz info was also moved back in that patch, but
2806 unfortunately to after clearing of the programStats info. Now the
2807 clearing has been moved also, to remain after it.
2808
2809 2010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2810 Send continuation lines to chat box they belong to
2811
2812 The variable savingComment is used as a kludge to remember where the
2813 comment should go (i.e. which chatbox, or elsewhere), so that when a
2814 continuation line is matched, chatPartner (which was reset at EOL) can
2815 be restored to its original value. Also put space after handle of talker
2816 in channel Chat Windows
2817
2818 2010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2819 Fix u64 format for cygwin
2820
2821 With a -mno-cygwin compile %llu and %lld are definitely not understood
2822 by scanf and printf, although they are by the compiler. In stead, %I64u
2823 seems to work. Put it in under control of a switch USE_I64, which is
2824 defined only in the gcc makefile when MINGW is used.
2825
2826 2010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2827 Remove stray dot from WinBoard makefiles
2828
2829 There was a period suffixed to config.h in the wgamelist.o dependency.
2830
2831 2010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2832 Fix bug in display of logos
2833
2834 The logo continued to be drawn after a boardSize change to a tinyLayout
2835 size, although there was no space reserved for it. Fixed by explicitly
2836 resetting logoHeight when no logo space is reserved in InitDrawingSizes().
2837
2838 2010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2839 Right-click refactoring: step III
2840
2841 Let WinBoard call RightClick in back-end, and delete the duplicate code
2842 it had for this, after rescuing the front-end bits, and let the letter
2843 act depending on the result returned by RightClick.
2844
2845 2010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2846 Right-click refactoring: step II
2847
2848 Migrate the Right-click routine to the back-end. Let it communicate back
2849 square coordinates through pointer arguments, to accomodate their
2850 different naming in XBoard and WinBoard. Template added in frontend.h.
2851
2852 2010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2853 Right-click refactoring, step I
2854
2855 Divorce front-end part from back-end part of PieceMenuPopup in XBoard
2856 front-end, and forge the back-end part into a new routine RightClick.
2857 The right up-click in XBoard, which called unLoadPV() directly, now
2858 calls RightClick through PieceMenuPopUp().
2859
2860 2010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2861 Merge gamelistopt sources into gamelist source files
2862
2863 The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c
2864 and gamelist.c, respectively. The WB front-end for the dialog already
2865 resided in winboard.c, so there was little need to move it to wgameist.c
2866 file. Makefiles adapted accordingly. Unsuitable key bindings were
2867 removed. The low-level front-end prototypes are now defined in in
2868 frontend.h.
2869
2870 2010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2871 Game-List options dialog for XBoard
2872
2873 A dialog similar to that of WinBoard was cloned from the game-list
2874 window. The XBoard front-end is in a separate file xgamelistopt.c,
2875 which in fact implements most of the low-level front-end as back-end.
2876
2877 2010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2878 Refactoring of game-list-options dialog
2879
2880 The back-end part is separated off, and moved to a file gamelistopt.c.
2881 Front-end for now stays in winboard.c. No prototypes in frontend.h yet.
2882
2883 2010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2884 Fix of ancient WB bug: test integer option values for validity
2885
2886 Only a string of digits preceded by an optional sign is accepted now.
2887 Before, any string was accepted, and leaving out a value could lead to
2888 the next option being ignored (if it did not need a value) because it
2889 was considered the value for the previous one!
2890
2891 2010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2892 Fix bug in edit-position of holdings
2893
2894 The holdings were effectivelly taken one too large, so that a promoted
2895 shogi Pawn moved to, or created in the holdings was not demoted to Pawn,
2896 but put in the dark (which you could see by the holding count if you did
2897 it twice). The overflow tests in these two cases now have been corrected.
2898
2899 2010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2900 Save fonts in XBoard settings file per boardSize
2901
2902 Each -boardSize now can have its own font specified in the settings file
2903 (and thus by a command-line option, although it would in general not be
2904 very useful to specify a font for a size other than the selected). E.g.
2905 a prefix "size33:" to the font name will apply it only to -size 33.
2906 An unspecified-size font option (not normally in the settings file) will
2907 always prevail over a font option specific for the current size.
2908 A font of some size must have been used or specified in order to be
2909 saved.
2910
2911 2010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2912 Fix width of filter field in XBoard GameList
2913
2914 An empirical dependence of the width of this text edit on the square
2915 size now makes for an acceptable layout at any board size.
2916
2917 2010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2918 Use FICS atomic draw claim for sending move in zippy mode
2919
2920 For this the relaying of the move had to be moved until after the
2921 adjudication, which again has to be done after MakeMove(), which is a
2922 bit dubious, as MakeMove might take significant time when animating.
2923
2924 2010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2925 Send FICS atomic claim to ICS if move creates draw after offer
2926
2927 The FICS format "draw MOVE" is used to send the move to the ICS  when
2928 the user enters a move that adjudicates as a claimable draw, and he
2929 offered a draw before the move. For the benefit of ICS that do not
2930 understand this format, the plain move is sent afterwards.
2931
2932 2010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2933 Also allow user to claim by offering draw before his move
2934
2935 Use the existing userOfferedDraw variable to test for such offers in
2936 Adjudicate().
2937
2938 2010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2939 Also adjudicate after user move
2940
2941 Call Adjudicate() in FinishMove().
2942
2943 2010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2944 Refactoring of adjudication code
2945
2946 Put all the rule-based (as opposed to score-based) adjudications in a
2947 separate routine, so they can also be called on user moves. This
2948 requires sending the drawing move to the opponent engine to be made
2949 conditional on existence of the latter. Execution of the code is no
2950 longer dependent on the condition TwoMachinesPlay, but actual game
2951 terminations are now all restricted by an alternative condition (no ICS
2952 mode).
2953
2954 2010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2955 Use -keepAlive option to determine connection health
2956
2957 When there has been no ICS response since the previous 'ping', assume we
2958 are disconnected and do a fatal-error exit. Also auto-start the ping
2959 process in InitBackend3().
2960
2961 2010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2962 Use arrow keys in XBoard GameList for entry selection
2963
2964 Add translations for arrows and home/end, to call LoadSelectedProc with
2965 argument to indicate the step, and let the latter perform the action.
2966
2967 2010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2968 Allow <Enter> to apply filter in XB GameList filter edit
2969
2970 Apply a translation to intercept the <Enter> key. Set focus back to the
2971 list display afterwards.
2972
2973 2010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2974 Accept <Enter> for changing chat partner
2975
2976 A kludge stolen from Alessandro's GameList filter allowed to let the
2977 typing of <Enter> while updating the chat-partner field of the WinBoard
2978 chat windows to act as pressing the Change button. Gives focus to the
2979 input field of the window afterwards.
2980
2981 2010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2982 Move duplicat gamelist code to backend
2983
2984 The filtering routines are moved from xgamelist.c and wgamelist.c to
2985 gamelist.c, and a prototype for them is placed in backend.h.
2986
2987 2010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2988 Port game-list filtering to XBoard
2989
2990 Added a text edit and apply button to the XBoard game-list dialog, and
2991 only have it print those lines that match the filter. Translate index in
2992 list to index of game in file when a game is selected, and index in file
2993 to index in list when a line is highlighted. Duplicates some code
2994 between xgamelist.c and wgamelist.c, which should be moved to back-end.
2995
2996 2010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2997 Convert to DOS line endings
2998
2999 For easier understanding of upcoming diffs of winboard.c
3000
3001 2010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3002 Refactoring of move-history code
3003
3004 The WinBoard code in whistory.c was split in a front-end part (remaining
3005 in whistory.c) and a back-end part (now in history.c in the xboard
3006 directory). This to allow easy porting to other platforms.
3007
3008 2010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3009 Add fixed-time/move button in XBoard time-control dialog
3010
3011 Put the TC-type buttons in a radio-group, and highlight the selected mode.
3012
3013 2010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3014 Fix bug in XBoard PV display
3015
3016 The PV was unloaded on anything but a button release, in stead of the
3017 other way around.
3018
3019 2010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>:
3020 fixed hardcoded location of config file for xboard
3021
3022 the location should now follow sysconfdir during the configuration process.
3023 Also added some more output to the configure script.
3024
3025 2010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>:
3026 new developer release
3027
3028
3029 2010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>:
3030 fixed Makefile.am to handle config file correctly
3031
3032
3033 2010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3034 Change opening array -variant fairy
3035
3036 We now use the position of "Chess with Different Armies", FIDE army vs.
3037 a fantasy army (inspired on the Color-bound Clobberers) as opening
3038 position.
3039
3040 2010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3041 Add variant Makruk
3042
3043 Thai Chess, played by 2 million world-wide. Required pawn promotion to
3044 happen in a zone, and the Alfil to move as Shogi Silver, a new opening
3045 array, and unusual Pawn placement. Because of the latter, I consider it
3046 a setup position, so a FEN will always be sent to the engine.
3047
3048 2010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3049 Fix parsing of O-O and O-O-O after FEN pasting in FRC
3050
3051 Because the initial rights were not set in the FEN reader, the
3052 initial rights of the previous game remained in force, so that the
3053 parser did not understand OO-castling (although it would allow KxR
3054 castling).
3055
3056 2010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3057 Fix reading FEN castling rights for knightmate and twokings
3058
3059 Scanning the back-rank for a King did not work in these variants,
3060 because either the Unicorn castles, or there might be two Kings.
3061
3062 2010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3063 Fix omission in castling refactoring for ICS received boards
3064
3065 A default of -1 was still used, in stead of NoRights, when no Rook was
3066 found. In theory this could have had effect in a setup board 0 in FRC,
3067 when there were no Rooks on the back rank.
3068
3069 2010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3070 Fix TwoKings ICS castling-rights bug
3071
3072 Scanning the rank (as is done because of FRC) assigned castling rights
3073 to the rightmost King. Even scanning the opposite direction would not
3074 work, as it is not always the eftmost King that can castle. So we now
3075 explicitly test for a King on e1/e8 in TwoKings and assign it rights,
3076 relying on the Rook rights received from the ICS to control castling.
3077
3078 2009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3079 fix double start of zippy engine after switch to gothic
3080
3081 In ICS mode we now switch to the proper variant as soon as we receive
3082 the generic game-start message, to prevent a mismatch when the first
3083 board is received (which would trigger fetching of a move list).
3084
3085 2010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3086 Extensive bugfix of -autoKibitz
3087
3088 Suppression of printing of diverted kibitz messages failed when they
3089 extended over more than one read. This could even lead to such
3090 messages being erroneously saved as comments, which then lead to
3091 crashes. The suppression mechanism now waits for a prompt, in stead of
3092 the end of buffer. This required the printing of any leftover in the
3093 buffer to be deferred until the next read completes it.
3094 The number of people kibitzed to is now printed.
3095
3096 2010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3097 Fix piece-to-char table -variant fairy
3098
3099 The letters for Lance and Snake where swapped.
3100
3101 2010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3102 Make WinBoard makefiles use parser.c in XBoard directory
3103
3104
3105 2010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3106 Docs update for new features
3107
3108
3109 2010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3110 Fix new args parsing of -lowTimeWarningColor
3111
3112 This did not occur in the XBoard color translation table yet.
3113
3114 2010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3115 Allow editing of holdings in EditPosition mode
3116
3117 Dragging pieces to and from the holdings now consistently keep track of
3118 the home square of pieces and the piece counts, as does creation of
3119 pieces in the holdings through the piece menu.
3120
3121 2010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3122 Indicate squares a lifted piece can legally move to
3123
3124 Under control of the new option -showTargetSquares when
3125 -highlightDragging and -testLegality are on, the squares a piece can
3126 move to are marked by fat dots in the highlightColor (non-captures) and
3127 premoveHighlightColor (captures), as soon as you grab it for dragging.
3128 In variants with mandatory capture, the capture target of other pieces
3129 is marked with the highlightColor (as non-captures are then not allowed).
3130
3131 2010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3132 Fix bug for incommensurate time odds
3133
3134 After normalization (-timeOddsMode 1) the time odds factors can be
3135 non-integer, and thus must be stored as float.
3136
3137 2010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3138 Display PV right-clicked from EngineOutput window
3139
3140 The clicked PV is selected and the memo gets focus, so that it is
3141 highlighted. This selection is restored in the proper place after
3142 insetrtion of a new line in the memo.
3143
3144 2010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3145 Display PV on right-clicking board
3146
3147
3148 2010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3149 Bugfix legality null move in parsing with -testLegality off
3150
3151 The pointers were compared, in stead of the values.
3152 Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off.
3153
3154 Also exclude moves with empty squares and enemy pieces.
3155
3156 2010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3157 Newly lexed winboard/parser.c
3158
3159
3160 2010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3161 Harmonize declarations of XBoard and WinBoard
3162
3163 The engine-exit and settings patches make some stuff common to WinBoard
3164 and XBoard, which needed to be harmonized, and is moved to frontend.h.
3165
3166 2010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3167 Allow Ctrl-C copying from EngineOutput window text to clipboard
3168
3169
3170 2010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3171 Allow popup-less (fatal) exit of engine after tellusererror
3172
3173
3174 2010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3175 Improve layout of Engine #N Settings dialog
3176
3177 An attempt is made to align the input fields of spins and text-edits
3178
3179 2010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3180 Let XBoard print version with argument --version or -v
3181
3182
3183 2010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3184 Fix castling rule assignment in shuffle games
3185
3186 The conversion to in-board storage for rights copied directly to boards[0] in steadof
3187 initialPosition, and was then overwritten when the latter was copied with uninitialized
3188 rights to boards[0]. This affected FRC and CRC, where rights are non-standard.
3189
3190 2010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3191 Implement castling in -variant caparandom
3192
3193 CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING.
3194
3195 2010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3196 Fix default castling rights on reading incomplete FEN
3197
3198 This was overlooked in the conversion to the in-board storage of rights.
3199
3200 2010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3201 Fix NoncompliantFEN defaults.
3202
3203 This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields.
3204
3205 2010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3206 Change format of -adapterCommand.
3207
3208 first or f at the start of an option name are now automatically changed into second or s,
3209 rather than needing %% to be recognized. The values of -ec and -ed in the default
3210 -adapterCommand are now quoted (now XBoard understands quoting in the engine command line).
3211
3212 2010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3213 Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings.
3214
3215
3216 2010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3217 Delete old indirection settings-file code
3218
3219
3220 2010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3221 Correct XBoard default debug file name
3222
3223
3224 2010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3225 Suppress saving font settings.
3226
3227 The fonts are size dependent, and might thus not be reusable in the next
3228 session. For now we therefore suppress the saving of them in the
3229 settings file, until we diversify the fonts per boardSize.
3230
3231 2009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>:
3232 added missing sounds files to be able to compile on windows
3233
3234
3235 2009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>:
3236 Changes needed to compile master branch.
3237
3238
3239 2009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3240 implements the eval-graph window for XBoard
3241
3242
3243 2009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3244 improves the XBoard handling of the engine command line
3245
3246 it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled.
3247
3248 2009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3249 A better and more flexible way of invoking Polyglot
3250
3251 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.
3252
3253 2009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3254 remove trailing \r in xboard output
3255
3256 there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not
3257 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.
3258
3259 2009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3260 double buffer size to prevent overflow
3261
3262 This patch doubles the size of the ICS input buffer to 16KB, to prevent
3263 the suspected overflow with -keepLineBreaksICS false when using
3264 "inchannel 1" on FICS and over 500 people are tuned in.
3265
3266 2009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3267 fix problem with empty string in -firstNeedsNoncompliantFEN
3268
3269 This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with
3270 an empty string as argument. (Which led to truncation of the FEN.)
3271
3272 2009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3273 updates makefiles to include dependency on config.h
3274
3275 adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource
3276
3277 2009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3278 correctly apply some check boxes from the option menu
3279
3280 Usng the check-boxes in the Option->Adjudications menu to indicate the
3281 engine reports absolute scores is now copied directly to the ChessProgramState,
3282 from where it is used, in stead of only to appData. This makes the change take
3283 effect immediately, in stead of after restarting.
3284
3285 2009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3286 score sign in analysis mode
3287
3288 this does not alter any of the current behavior with compliant engines,
3289 but does extend the correction for non-compliant score reporting under
3290 control of the -first(second)ScoreIsAbs option to cases where the engine
3291 is analyzing or playing on an ICS.
3292
3293 2009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>:
3294 fix for bug #28077: xboard needs to link against x11
3295
3296 hopefully fixed automake to take care of this
3297
3298 2009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3299 Fix castling rights when copying FEN to clipboard (again)
3300
3301 missed a spot last time
3302
3303 2009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3304 restoring windows (EngineOutput and MoveHistory) on startup
3305
3306 restoring the open / closed status of the
3307 auxiliary windows (EngineOutput and MoveHistory) on startup
3308 in XBoard like they do in WinBoard, which makes sense now that
3309 we aso remember their coordinates between sessions.
3310
3311 2009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3312 fixed some outstanding pixmaps
3313
3314 fixed transparency issues
3315
3316 2009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3317 use linux style options for config file and add a system config file for XBoard
3318
3319 This patch makes XBoard write the options to its conf file in
3320 Linux style, "-option value" rather than Windows style "/option=value".
3321
3322 The WinBoard option parsing code has always understood both formats
3323 (including any hybrids), but the format it preferred for writing might
3324 look quite strange to Linux users. I also attached a file to be installed
3325 as /etc/xboard/xboard.conf on "make install".
3326
3327 2009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3328 fix window positioning
3329
3330 This patch adds stuff in the header files that allow the various front-end files
3331 to share information on which windows exist, are up, and how they are positioned.
3332 The EngineOutput, MoveHistory and GameList windows now all remember their
3333 position and size, even when they are closed when XBoard exits.
3334
3335 2009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3336 same argDescriptor parsing for Xboard and Winbaord
3337
3338 This patch makes XBoard and WinBoard use the same argDescriptor
3339 list of options, and (largely) use the same code for parsing and saving them.
3340 This is acheived by moving this code to a new file args.h, and #including this
3341 in both winboard.c and xboard.c (so that tiny differences, e.g. in default
3342 values in the table, are decided by the context). XBoard has new menu items
3343 "Save Settings Now" and "Save Settings on Exit" in the "Option" menu.
3344 XBoard uses /etc/xboard/xboard.conf as default settings file.
3345 A new option, -saveSettingsFile, can specify where settings should be saved,
3346 without parsing the file. (So that it also works if the file does not yet exist.)
3347
3348 2009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>:
3349 new developer release
3350
3351 changed release name to <branch>-<date>
3352
3353 2009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3354 fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
3355
3356
3357 2009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3358 use xtell for talking to handles, but tell for talking into a channel.
3359
3360 by changing the chatboxes to use xtell in stead of tell, we broke
3361 the possibility to use the chat-box for chatting into a channel (which is
3362 apparently not possible with xtell).
3363
3364 2009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3365 fix bug in bughouse drop menu
3366
3367 This patch fixes the bughouse drop menu, which was broken by the
3368 new mouse driver, and could no longer drop white Pawns.
3369
3370 2009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3371 2nd step for moving option parsing from winboard to the backend
3372
3373 This is the next step in option-setting refactoring: All options that are
3374 defined in XBoard are now included in the WinBoard ArgDescriptor list.
3375 The handling of sound option has been harmonized: the sound names
3376 now all initially go to the appData array, (as in XB) in stead of directly to the
3377 WB-specific variables, and LoadAllSounds now takes care of the copying.
3378 A new routine ExportSounds copies them back before saving settings
3379 (which, in XBoard, could be a no-op).
3380
3381 The definition of defaults for the XB-only options has been moved to common.h.
3382
3383 2009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3384 1st step for moving option parsing from winboard to the backend
3385
3386 This is a preparatory step in moving option parsing of WinBoard to the back-end.
3387 The table of command-line options now contains a fifth field, holding the compiled-in default.
3388 This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven
3389 initialization routine SetDefaultsFromList(), which could be back-end.
3390
3391 2009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3392 refactoring evalgraph code
3393
3394 This is the refactored EvalGraph code: the back-end part is separated off,
3395 and put in a file evalgraph.c, which in the future can also be used with XBoard.
3396 Only the WinBoard front-end code is left in the file wevalgraph.c. A new
3397 header file defines the variables and routines they share.
3398
3399 2009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>:
3400 clean-up
3401
3402 some file permissions where set up wrong
3403 (e.g. execute permissions for text files)
3404
3405 2009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3406 refactoring of engineoutput
3407
3408 This refactoring patch separates the back-end part out of
3409 xengineoutput.c, and puts it in a separate file engineoutput.c.
3410 A new header engineoutput.h included by both defines the routines
3411 for cross calling. Similarly wengineo.c will be stripped from its
3412 back-end code, (and renamed to wengineoutput.c), so WinBoard and
3413 XBoard now both use engineoutput.c rather than maintaining duplicate
3414 code in their front-end part.
3415
3416 I also let the back-end now call EngineOutputUpdate directly, rather then
3417 through a relay in the front-end, by renaming it to SetProgramStats
3418 (the former name of the relay in winboard.c / xboard.c).
3419
3420 Moved some templates of functions in engineoutput.c from winboard.h
3421 to frontend.h
3422
3423 2009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>:
3424 fixed build on openbsd
3425
3426 added missing header file
3427
3428 2009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3429 improve thinking-output for mulit-variant
3430
3431 Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window.
3432
3433 2009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3434 fix castling rights when copying FEN to clipboard
3435
3436 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.
3437
3438 2009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3439 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.
3440
3441
3442 2009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>:
3443 fixed prototype for AppendComment
3444
3445
3446 2009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3447 cleaned up some debug messages and typos
3448
3449
3450 2009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3451 variation-support patch
3452
3453 It allows you to Revert to the main line (or previous variation) when
3454 playing variations on an existing game in EditGame or Analyze mode.
3455
3456 2009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3457 fix for new way of saving castling and e.p. information
3458
3459 I forgot to make some conversions to the new-style encoding of castling there
3460 (using the enum constant NoRights instead of -1 to indicate
3461 the absence of rights, which was the price of storing the
3462 rights in the board, which is an unsigned enum type.)
3463
3464 I also was a bit worried about portability, because I casted the enum type ChessSquare
3465 to (int) before comparing it with (possibly negative) constants EP_NONE etc.
3466 Now on my system enum types are (unsigned int), and this works, but I could
3467 imagine there are systems where this would be an unsigned char. (Not sure
3468 if there are rules for this). So to be safe I cast ChessSquare to (signed char),
3469 which should always work to make small negative ints assigned to it read
3470 back as themselves.
3471
3472 2009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>:
3473 removed files that should only be in the windboard directory
3474
3475
3476 2009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>:
3477 add Winboard source files into tar-ball
3478
3479 forgot to add them when rewriting the Makefile.am
3480
3481 2009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Integrate castling and e.p. rights into board array; bugfix for EditPosition
3483
3484 A large-scale operation that I have been postponing since the very first 4.4.0:
3485 The castling and e.p. rights are now integrated into the board array, as
3486 boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and
3487 boards[moveNr][EP_STATUS] replacing epStatus[moveNr]
3488 These quantities are now automatically copied with the position by CopyBoards
3489 (allowing the removal of lots of dedicated copying code), and passed as
3490 function arguments with the position (so that the moves.c functions like
3491 TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal
3492 no longer need explicit e.p. and castling parameters.
3493
3494 Also fixed a bug introduced by a recent previous fix: by adding fake castling
3495 rights to a position set up through the EditPosition menu, I destroyed the
3496 castling rights of a pasted FEN. Faking castling rights is now made conditional
3497 in EditPositionDone(), depending on the caller. (I had not realized it was also
3498 called after FEN pasting, to send the position to the engine.)
3499
3500 2009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>:
3501 added missing library for build on OS X
3502
3503 Xmu seems to be missing
3504
3505 2009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3506 Some code refactoring and cleanup; one small bug fix
3507
3508 Some code refactoring, mainly to bring definitions of routines and variables
3509 shared between winboard.c and one of the auxiliary-windows files
3510 whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file
3511 (winboard.h). Unfortunately this made winboard.h dependent on data types
3512 defined in frontend.h, so that the #include order had to be changed in many
3513 other .c files.
3514
3515 The operation revealed one potentially bad bug: engineOutputDialogUp was
3516 written as int in engineo.c, but declared as char in winboard.c.
3517
3518 I also changed the storage mechanism of the the comment and tags window
3519 positions to use WindowPlacement structs rather than simple variables,
3520 so that in the future they can be docked, like the others.
3521
3522 I also removed some remnants of the Analysis window.
3523
3524 The wgamelist.h and wedittags.h header files contained only 3 lines, and
3525 I absorbed them in winboard.h, rather than creating other such nearly empty
3526 headers engineo.h, whistory.h and wevalgraph.h. This affects the make files.
3527
3528 2009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3529 let the clocks run in -searchTime mode
3530
3531
3532 2009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3533 add fixed time per move to the WinBoard time-control menu dialog
3534
3535
3536 2009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>:
3537 updated version number to unstable
3538
3539
3540 2009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>:
3541 release of version 4.4.1
3542
3543
3544 2009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3545 cleaned up ChangeLog and NEWS
3546
3547 2009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3548 use xtell instead of tell in wchat
3549
3550 2009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3551 prevent buffer overflow
3552
3553 This is a buffer-size adjustments to prevent the JAWS version from
3554 crashing when it has to read out loud very long comments.
3555
3556 2009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>:
3557 Further copy/paste fixes
3558
3559 We needed to implement the XA_TARGETS target in order for more
3560 sophisticated apps to really believe we put anything on the clipboard
3561 they can use.
3562
3563 2009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>:
3564 Make copy/paste position and game use clipboard, bug #27810
3565
3566 Copy actually sets both the clipboard and the selection for
3567 convenience and compatibility with the old way of doing things.
3568 Paste pastes from the clipboard by default, but the new -pasteSelection
3569 option lets you get back the old behavior of pasting from the
3570 selection.
3571
3572 2009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3573 switch focus to the board after loading a game
3574
3575 2009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3576 fix for bug #27826: fixed autoDisplayComment
3577
3578 apparently the -autoDisplayComment option was not working,
3579 not even in WinBoard. This patch should fix it,both for WB and XB.
3580 (Unfortunately xboard.c and winboard.c were using a different name
3581 for the same front-end variable I needed, so I had to change one of them.)
3582
3583 2009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3584 fix for bug #27826: ported two options to xboard
3585
3586 also updated the documentation
3587
3588 2009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3589 fixed jaws version
3590
3591 turns out the new mouse handler broke the JAWS patch, as I discarded
3592 the function IsPromotion. I adapted it to call HasPromotionChoice instead.
3593 Also fixed two arnings by removing a no-longer needed debug print.
3594
3595 2009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>:
3596 reformated html to be correctly validated
3597
3598 2009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3599 quick fix for "White Mates" in parser.l
3600
3601 2009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>:
3602 fixed a regression
3603
3604 2009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3605 changed stderr to debug output, since stderr is closed in winboard
3606
3607 2009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3608 removing empty lines from ICS play
3609
3610 this patch causes removal of spurious prompts during ICS play
3611 also if the prompt is preceeded by a number of empty lines
3612 (as the board for the opponent move is on FICS).
3613
3614 2009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3615 another bug in VariantSwitch: an unitialized board was printed.
3616
3617 Must have been there a long time, but this time it crashed WinBoard.
3618
3619 2009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3620 more work on variant switch
3621
3622 the previous solution to the cosmetic problem of displaying a wrong shuffle
3623 in an ICS game that was observed from the very start unfortunately turned
3624 out to cause a real error in diplaying a stored game through the smoves
3625 command, for variants not using the FIDE setup as standard.
3626
3627 This patch displays the position from before setting up the start position
3628 of the new variant, but does setup boards[0] to the initial position of that
3629 variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board
3630 will immediately be sent from the ICS to correct the shuffle.)
3631
3632 2009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3633 force full redraw in winboard
3634
3635 Full redraw is now always forced when highlightMovesWithArrow is on,
3636 rather than only when highlight info is available. (As in drop moves the
3637 latter is invalid, but we must still erase the arrow from the previous move.)
3638
3639 2009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3640 fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle
3641 when observing shuffle games from the first move (#27790 bis),
3642 and the sounding of the FICS bell on crazyhouse captures (#27772 bis).
3643
3644 2009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3645 fixed bug related to unsigned char in convert.c
3646
3647 I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the
3648 129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed
3649 afterwards (so I could use it to create a new m33s.bm)
3650
3651 2009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>:
3652 unguarded debug printf. added the appropiate if statement
3653
3654 2009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3655 fix for two compiler warnings
3656
3657 2009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3658 fix for bug #27799: fix for nested-nested-nested variations
3659
3660 2009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3661 The book-probe code forgot to close the book file after opening it.
3662
3663 fixed by adding an fclose at two points.
3664
3665 2009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3666 removed unused v54?.bm bitmaps from resource file
3667
3668 it seems the v54?.bmp bitmaps were actually included in the WinBoard build
3669 (in the resource file), although they were never actually used. So I have
3670 removed their inclusion in the resource file now.
3671
3672 2009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3673 replaced defective bitmaps with copies from 4.2.7
3674
3675 2009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3676 removed bitmaps files that are not needed any more
3677
3678 2009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3679 fixed some bitmaps
3680
3681 2009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>:
3682 Drop an obsolete script that was only used to update my personal web site
3683
3684 2009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>:
3685 Silence warnings when compiling 64-bit xboard
3686
3687 Some harmless warnings were caused by 64-bit mode having 32-bit
3688 int but 64-bit long and pointer.  Add casts (etc.) to silence them.
3689 This might require adding a definition of intptr_t (a signed int
3690 type that is the same width as a pointer) on old systems that don't
3691 have it.
3692
3693 2009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>:
3694 Fix up man page some more
3695
3696 Sigh, the project history was still partly in reverse chronological
3697 order and partly in forward order.  Swapped the order of some
3698 sentences to help straighten it out.  I don't really care about this,
3699 so other project members should feel free to do what they like here,
3700 but the messed-up order was bugging me.
3701
3702 2009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>:
3703 Fix some issues in the XBoard man page
3704
3705 Correct places where the XBoard man page was calling XBoard
3706 "WinBoard".  Change references to "WinBoard engines" and "WinBoard
3707 protocol" to "XBoard/WinBoard ...".  Update bug reporting guidelines.
3708 Reorganize project history to something more like chronological order
3709 -- it had gotten pretty randomly ordered.
3710
3711 2009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>:
3712 new pre-release version; updated version numbers
3713
3714 2009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3715 This patch adds <Enter> to the characters that cause an automatic
3716 switch to the ICS console when typed to the board window.
3717
3718 2009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3719 fix to the minor graphics issue contained some typos,
3720 as was remarked in the bugs reports
3721
3722 2009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3723 improved mouse handler
3724
3725 The improved mouse handler still needed an extra call to DrawPosition to
3726 work in XBoard.
3727
3728 2009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3729 NPS plays and pondering
3730
3731 Clock updating did not work correctly in node-based time controls when the
3732 engine was pondering. (It was not really meant for use with pondering. Oh well...)
3733 This patch checks if the engine reporting the node count is indeed thinking
3734 (as opposed to pondering).
3735
3736 2009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3737 holdings update and regression fix
3738
3739 The holdings-update patch was not yet satisfactory, because FICS seems to send
3740 holdings both before and after the board! And those received before did overwrite
3741 the holdings received after the previous board. I know tried to fix that in a kludgey
3742 way, by hiding a flag in the board that tells if the holdings have already been written
3743 by the ICS or not, and ignore new holdings when they are. (Except in bughouse,
3744 where holdings updates cannot be tied to a particular board and multiple updates
3745 between boards are normal. (I hope?).)
3746
3747 I also undid a regression in my previous fix for the minor graphics problem,
3748 and solved it in a slightly different way to prevent flicker.
3749
3750 2009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3751 improved mouse handler
3752
3753 I improved the mouse handler in a way which will preclude disappearence of pieces
3754 on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
3755 in the "premove bug?" thread. Also the command-line premove problem reported there
3756 is now fixed, by removing the prefixing.
3757
3758 2009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3759 fix for bug #8847: moving backward while examining on FICS not reported to engine
3760
3761 I moved Daniel's code that backs up the engine when a bord with a
3762 lower number is received to a place where it is always done in zippy mode,
3763 rather than only when the engine is analyzing.
3764
3765 Apart from taking back moves, there was also the case where the
3766 user moves forward by more than one move (usually immediately to
3767 end-of-game). In this case a new movelist is fetched from the ICS
3768 to recover the moves that were skipped. But this assumes that the
3769 engine is at the start of the game and feeds all these moves to the
3770 engine. So the engine had to be reset in this case to stay in sync.
3771
3772 2009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3773 better init for random number generator
3774
3775 2009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3776 fix for bug #27772: holdings not updated
3777
3778 holdings lines from the ICS nor update the holdings
3779 of boards[forwardMostMove] in stead of boards[currentMove].
3780
3781 2009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3782 allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
3783
3784 This patch allows parsing / disambiguation of SAN moves like Xe4, if there
3785 is only one wild-card piece X on the board. Moves with wild-card pieces
3786 are now considered illegal if they leave the King in check by a piece of
3787 known gait.
3788
3789 2009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3790 fixed bug when switching to variantsuper
3791
3792 2009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3793 fix for bug #27715: 2 (minor) graphic issues
3794
3795 I forced a total redraw when Reset is called from the ICS code in case a
3796 new game is encountered, in the hope it will make the reported
3797 (irreproducible) problem go away. As game switches are not frequent, I
3798 guess there is hardly any downside to this.
3799
3800 2009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3801 fix for bug #27667: PV line missing in analysis window, part 3
3802
3803 "3. Wish for Engine state string (right to the icon):
3804 Can you add the actual search depth in analyzing mode? A change like "
3805
3806 I also added the requested display of depth of the analysis move in the
3807 EngineOutput window. I guess a similar change could be made to wengineo.c
3808 (as this is in the code they share in common), but no one ever requested
3809 that in the 5 years since Alessandro wrote it. So for now I leave it alone.
3810
3811 2009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3812 fix for bug #27760: debug printf in backend.c and additional check for variant
3813
3814 2009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>:
3815 fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
3816
3817 this is correct, deleted the text out of the documentation that claims we support it
3818
3819 2009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>:
3820 new alpha version; first one with new naming scheme
3821
3822 2009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3823 smarter analysis of the boards that XBoard receives from an ICS
3824
3825 I added smarter analysis of the boards that XBoard receves from an ICS,
3826 based on board size and piece types in the position, to recognize cases
3827 where the board does not match the current variant, and switch to an
3828 appropriate variant.
3829
3830 2009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3831 fix for bug #27667: window should be reference to toplevel
3832
3833 The remaining objections of #27667 should be fixed by bringing the
3834 EngineOutput window under control of the TOPLEVEL compile-time switch.
3835
3836 2009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3837 partly fix for bug #27715: scaling of menu bar
3838
3839 the menu bar to the left edge of the window.
3840
3841 2009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3842 fixed bug reported in WB forum: second game of a match would
3843 not start when using the GUI book
3844
3845 2009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3846 fix for bug #27751: negative holding counts displayed
3847
3848 I put code in the back-end to prevent holdings counts from
3849 becoming negative when a drop move is made from empty holdings.
3850 (This can happen when re-loading ICS bughouse games,
3851 as the smoves command fails to fill the holdings.)
3852
3853 2009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>:
3854 Updated compiling instructions.
3855
3856 2009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>:
3857 Changes to allow fonts with any charset (such as terminal)
3858
3859 Affects winboard only.
3860
3861 2009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>:
3862 Moved SIGWINCH signal so it can be used...
3863
3864 I goofed putting this in StartChildProcess() originally.
3865
3866 2009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>:
3867 Added internal wrapping ability.
3868
3869 New options:
3870   -wrapContinuationSequence "foo"  (default: "\\   "
3871   -useInternalWrap (Winboard default: false, XBoard default: true)
3872
3873 Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
3874    useInternalWrap setting.  The idea is if you want to keep ICS line
3875    breaks, then you don't want internal wrapping.  Because of this,
3876    the new default for keepLineBreaksICS is now false for XBoard.
3877
3878 2009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3879 fixed segfaul in convert.c used to convert pixmaps
3880
3881 2009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3882 new mousehandler to correct for premove and promotion popup
3883
3884 this is the new mouse handler for XBoard, which should fully implement
3885 premove, including promotion popup, and yet suppress the promotion popup
3886 on illegal moves that are not premoves. It is almost completely moved to
3887 the back-end now, so that WinBoard will be able to use it as well. I just
3888 must hook it up to winboard.c, in particular harmonize the call-backs of
3889 the mouse driver into the front-end for grabbing and releasing pieces for
3890 dragging, to make sure they have the same names and arguments.
3891
3892 2009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3893 updated black fairy pieces
3894
3895 here is a set of black fairy pieces with opaque white details,
3896 so they have the same style as the orthodox XBoard pieces.
3897
3898 2009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>:
3899 Adjustment to joining to work around server not always including space.
3900
3901 This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004
3902 into the updated joining routine.  This issue seems not to be server
3903 variance, but instead the server electing to omit the space between
3904 words when it occurs at exactly your width setting (-1 actually).
3905
3906 This patch makes the joiner add back the space just like the referenced
3907 commit.  Note: this is just a workaround to a server issue-- the joiner
3908 actually joins correctly before this patch.
3909
3910 2009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>:
3911 Fixed joiner detection, allowing it to work with timeseal
3912
3913 When timeseal's buffer fills in the middle of the continuation
3914 sequence, detection fails, and the lines aren't joined.
3915
3916 As a result of this fix, measures intended to bypass joining are
3917 no longer needed, so I removed them.  These utilize server vars
3918 when available to prevent splitting.
3919
3920 2009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3921 fixed engingeoutput routine
3922
3923 removed outdated code regarding analysis window
3924
3925 2009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3926 moved bitmap to correct location
3927
3928 was misplaced in a previous commit
3929
3930 2009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3931 fixed wrong number of arguments for EngineOutputPopUp
3932
3933 2009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3934 new bitmap converter (including fill option) and new pixmaps
3935
3936 2009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>:
3937 forgot to add these two lines to the last commit
3938
3939 2009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>:
3940 removed AnalysisPopUp. Use EngineOutputPopUp instead
3941
3942 this was already in Winboard, copied it to xboard and removed unused code.
3943
3944 2009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3945 Proper board and holdings size when switching to variants
3946 gothic, capablanca, great and super within an ICS game.
3947
3948 2009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>:
3949 cleaned up an old #ifdef in zippy
3950
3951 2009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>:
3952 neglected this for the auto-width updating in xboard
3953
3954 2009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>:
3955 Added server width adjustment based on client width changes
3956
3957 2009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>:
3958 silence some compiler warnings
3959
3960 2009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>:
3961 Maintainence to support all compilers.
3962
3963 2009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>:
3964 Adjusted alternative joining method to obey keepLineBreaksICS
3965
3966 2009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3967 fix for bug #27668: e.p. field still not passed to engine
3968
3969 PositionToFEN now takes the e.p. rights from epStatus[moveNr],
3970 rather than calculating it on the spot from moveList[moveNr-1]
3971 (which failed on the first move).
3972
3973 2009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3974 fix for bug #27666: naming of variants
3975
3976 Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
3977 to not get confused by the board "misc shogi" run by FICS.
3978
3979 2009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3980 changed enable menus
3981
3982 Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
3983 in the appropriate enable lists for graying them out wen not applicable.
3984
3985 2009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
3986 Added a command-line option -keepLineBreaksICS true/false to control line joining.
3987
3988 2009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>:
3989 Added code to prevent unnecessary width updates.
3990
3991 2009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>:
3992 Turned off wrap when possible on ICS servers.
3993
3994 Turning off line wrap prevents splitting lines up using the
3995 continuation sequence "\\   ".  This is desirable when using
3996 timeseal because timeseal's buffer is sometimes too small,
3997 causing it to break lines itself.  These lines can't be joined.
3998
3999 2009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>:
4000 vsnprintf() must be _vsnprintf() for MSVC
4001
4002 2009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>:
4003 added code to handle initial width update
4004
4005 2009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>:
4006 Added width updates to ICS client on font and window size changes
4007
4008 What still needs to be done is placing an update call after login
4009 to initialize with the correct width.  I didn't see where to put
4010 that.
4011
4012 2009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>:
4013 added ics_printf() and ics_update_width() and utility functions
4014
4015 2009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>:
4016 Cleaned up ConsoleWndProc  (not complete, see below)
4017
4018 Using static variables this way is not appropriate.  I only addressed
4019 hInput and hText in this commit though.  But imagine the WndProc being
4020 used by multiple windows instead of just one, and you can see why
4021 using static variables in this way is wrong.
4022
4023 2009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>:
4024 Restructured URL code so it fits better with how winboard is set up.
4025
4026 2009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>:
4027 cleanup: removed "#if 1" statements
4028
4029 2009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>:
4030 cleanup: removed "#if 0" from source
4031
4032 a bit of cleanup of the source code
4033
4034 2009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4035 fix joining of lines split by ICS
4036
4037 This patch fixes the joining of lines that were split by an ICS, so that adding
4038 a space at the break point is done only when there was not a space already.
4039 (Some ICS leave a space at the end of the broken line, others do not.)
4040 An extra space would interefere with board12 in Gothic Chess, which is so
4041 long that the ICS breaks it, and the WB parser could not handle a double
4042 space within the board.
4043
4044 2009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4045 fix for bug #27642: Clock jumps strangely in engine mode
4046
4047 This moves SwitchClocks() back to after incrementing forwardMostMove,
4048 so that it knows again who has the move (which was broken by the "bare" patch),
4049 and will take the appropriate tick length.
4050
4051 2009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4052 removed test for premove
4053
4054 this was added while looking for the premove bug, but is not needed
4055
4056 2009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>:
4057 added URL detection and provided hotlinks in the ICS client
4058
4059 2009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>:
4060 reverted winboard.c beofre URL commit to correct whitespace conversion
4061
4062 2009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>:
4063 Added URL detection into the console text window for ICS.
4064
4065 2009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>:
4066 added some comments and formated code
4067
4068 2009-10-08 23:46:52 -0700 Chris Rorvick <>:
4069 fix printing out help message (list of command line options) (tiny change)
4070
4071 The postfix increment always resulted in an attempt to print out an
4072 option on the right side regardless of one actually existing. Use
4073 prefix increment to prevent a crash when printing an odd number of
4074 options.
4075
4076 2009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>:
4077 Updated navigation accelerators, fixing ICS problems.
4078
4079 Recent changes to the navigation accelerators were in the wrong
4080 accelerator table.  Since the goal was to correct non-JAWS versions
4081 back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
4082 retained the #ifdef JAWS conditional compilation.
4083
4084 On an ICS, the navigation keys took control away from the ics
4085 client to navigate the game.  The update requires the ALT key to
4086 be pressed, but it works identical to 4.2.7, not causing an
4087 unexpected focus back to the board window when you're just editing
4088 text.
4089
4090 2009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4091 fixed premove recapture problem;promotion popup appearing on
4092 obviously illegal moves; promotions in Superchess and Great Shatranj
4093
4094 1) the premove recapture problem
4095 2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
4096 problem)
4097 3) promotions in Superchess and Great Shatranj, where the piece can now be
4098 selected from the holdings
4099
4100 2009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4101 added forceIllegalMove to xboard
4102
4103 2009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>:
4104 bugfix: segfault when invalid option argument was given (bug #27427)
4105
4106 when given a wrong argument to an option (e.g. -tc 0) xboard aborts
4107 before setting up the window, but tried to write a message to the
4108 messageWidget which doesn't exist at that point.
4109
4110 2009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4111 small improvement for JAWS version
4112
4113 This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
4114 As focus does not stay on the Comment window, the comment was not spoken otherwise.
4115
4116 2009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4117 updated to winboard internationalization scripts
4118
4119 Also a slight improvement of the internationalization scripting,
4120 to prevent it from crashing on messages containing a slash.
4121
4122 2009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4123 new forceIllegalMoves option
4124
4125 The -forceIllegalMoves option uses setboard or edit to force a position
4126 when an engine refuses the move leading to it by an "Illegal Move" message.
4127 Especially for engines using the edit command this was a bit tricky,
4128 because of the a2a3 kludge to avoid using the white and black commands.
4129
4130 2009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>:
4131 removed _winmajor if not defined so that VC 2008 can compile the project
4132
4133 The oldDialog variable should just be set to 0 in all cases now, and
4134 as such, legacy code supporting the old dialog ought to be removed.
4135 The test for _winmajor is against < 4, which is always false at present,
4136 causing oldDialog to be 0 in every conceviable circumstance.
4137
4138 2009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>:
4139 getting ready for 4.4.1 release
4140
4141 2009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>:
4142 Simplified future version changes.
4143
4144 Added a numeric version to config.h that is now used in winboard.rc
4145 instead of being hard-coded there.  Just be sure to preserve the
4146 proper format (4 comma-separated 16 bit integers) or else it won't
4147 compile.
4148
4149 2009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>:
4150 updated version number to 4.4.1.pre
4151
4152 should have done this straight after the last release, but forgot...
4153
4154 2009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4155 worked on premove bug
4156
4157 I made an attempt to make premove unsensitive to a race condition,
4158 just in case the premove problem was caused by that (which seems unlikely,
4159 but in any case  I added some debug printout to test this).
4160
4161 2009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4162 fixed loading of saved games via command line
4163
4164 the variables forwardMostMove and backwardMostMove where set to zero
4165 at the wrong place.
4166
4167 2009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4168 small fixes for the JAWS version
4169
4170 * I moved saying 'check' by the JAWS version to where castling also benefits from it.
4171 * I made sure the check symbols are also recognized on promotion moves
4172 * In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
4173
4174 2009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>:
4175 Fixed bug dereferencing garbage, causing crash.
4176
4177 Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
4178 resultDetails of the gameInfo structure.  That exact code exists a few lines
4179 above where it was added.  None of these free() calls finish by setting the
4180 member to NULL afterword, therefore repeated attempts to test/free() the
4181 members result in an attempt to free() memory winboard no longer owns, and
4182 an eventual crash.
4183
4184 link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
4185
4186 2009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>:
4187 Added wchat.c to the project files we maintain.
4188
4189 2009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>:
4190 Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
4191
4192 2009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>:
4193 Add resource ID for new Mute menu item.
4194
4195 I know this was probably done by HG, and simply left out of
4196 his commit.  Anyway, the project can be built now after this change.
4197
4198 2009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>:
4199 Use of strcasecmp() broke Visual C++.
4200
4201 2009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>:
4202 wrong default value for engineDebugOutput
4203
4204 the new default is now 1
4205
4206 2009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>:
4207 updated cmail.in to adapt the CVS->git change
4208
4209 don't reference $Revision:$ anymore.
4210 Instead use reference xboard-version via autoconf.
4211
4212 2009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4213 bugfix for protocol extensions: egtbpath -> egtpath
4214
4215 A new and very bad bug was discovered in the implementation of
4216 the protocol extensions: XBoard sends a command "egtbpath" to the
4217 engine in stead of "egtpath" from the protocol specs.
4218 After discussion on WB forum it was decided that egtpath was better
4219 than the egtbpath I originally had proposed, and I changed it accordingly,
4220 but I had not realized that this string occurred TWICE in backend.c,
4221 depending on if matched the -defaultPathEGTB of -egtFormats option.
4222 I only changed the first occurence.
4223
4224 2009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4225 fix for edit-position "moves" being sent by XBoard to the engine
4226
4227 2009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4228 Engine did not start playing when out of GUI book on second move with white
4229
4230 2009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4231 Opening Engine #1 Settings crashed XBoard when there were no
4232 text-edit options in the dialog (to which to set keyboard focus)
4233
4234
4235 2009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4236 added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
4237
4238 2009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4239 Updated the RTF docs for the chat windows, engine-settings dialog,
4240 /keepAlive option and new game-list tag
4241
4242 2009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4243 Made the beep sounds for JAWS board navigation configurable through
4244 command-line options
4245
4246 2009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4247 Prepared a system to internationalize the WinBoard menus
4248
4249 2009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4250 added the result comment to the game-list tags when the game list is
4251 exported to the clipboard
4252
4253 2009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4254 rewrote wevalgraph for better frontend/backend separation
4255
4256 I have finished re-writing the eval-graph code to have some
4257 front-end / backe-end separation, something I had already started on my
4258 holiday in Norway (when I had no internet :-)  ).
4259 The new code now appears to work exactly like the old code,
4260 and I guess it could be ported to gtk comparatively easily.
4261
4262 2009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4263 fix for keepalive and chat window
4264
4265 I made a fix to the keepAlive option so it does not send the date command
4266 to the ICS after every move. This required changing ScheduleDelayedEvent()
4267 so that it does not execute the event if a new identical one gets scheduled.
4268 I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c
4269
4270 (This also cures the regression of the winboard.c copyright patch)
4271
4272 I extended the chatbox patch to also listen to channel tells, and divert
4273 them to a chatbox for that channel number. Affects
4274 backend.c and wchat.c
4275
4276 That should make those patches fully operational. No docs for either of them
4277 yet, though.
4278
4279 2009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4280 fixed parse bug for pgn files
4281
4282 fixed the existing bug that the time-control tag was displayed as "?"
4283 in the game list; turns out it was never parsed on reading PGN files
4284
4285 2009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4286 allow the result comment as a display item in the game list
4287
4288 2009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4289 fixed the HAVE_LIBXPM-dependent compile errors
4290
4291 2009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
4292 added a chat window to keep track of multiple conversations
4293
4294 The chat-window patch affects:
4295 winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
4296 the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
4297
4298 In addition I added a new option -keepAlive, which affects
4299 common.h (in addition to winboard.c and backend.c).
4300
4301 As I had to modify backend.h, I also defined the -reset option type there,
4302 which we are going to add later. This required some changes
4303 to suppress warnings in wsettings.c.
4304
4305 2009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>:
4306 more files for git to ignore
4307
4308 most of these are generated by make distcheck
4309
4310 2009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>:
4311 another bug fix found by Stanislav Brabec
4312
4313 returned -1  in some case although the variable was a char...
4314 changed to signed char
4315
4316 2009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>:
4317 Swapped 'tell' and 'message' parsing order for colorization.
4318 Sometimes messages are relayed as tells and should be colorized as tells.
4319
4320 2009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>:
4321 added some more files to be distributed via make dist
4322
4323 as suggested by Stanislav Brabec
4324
4325 2009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>:
4326 fixed some implicit declarations reported by Stanislav Brabec
4327
4328 2009-09-07 22:04:39 -0700&