Fix multi-leg promotions
[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 2014-10-24 00:04:22 -0700 Joshua Pettus <jshpettus@gmail.com>:
7 removed gtk theme from OSX app
8
9 2014-10-23 23:33:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
10 Add persistent Boolean option -fixedSize
11
12 When set, this option suppresses sizing of the board and clocks when
13 the window is sized by the user. This is achieved by wrapping the entire
14 dialog in a non-expanding hbox.
15
16 2014-10-23 21:23:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
17 Also do dual-royal test in variant shogi
18
19 For the benefit of Sho Shogi we also have to be prepared to find a
20 Crown Prince in variant shogi, so it can be used as a parent variant
21 for Sho Shogi with legality testing on.
22
23 2014-10-23 16:22:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
24 Fix promotion in Betza move generator
25
26 The Betza move generator was geenrating allmoves as NormalMove, but in
27 that case XBoard would not allow the move to have a promotion suffix.
28 Now Pawns and Lances reaching last rank will be assumed to promote.
29
30 2014-10-22 13:06:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
31 Attempt to make GTK sizing work with tiling WM
32
33 The Rezise routine now takes the size of the entire dialog table
34 (for me always equal to the outer-window size), and checks if the
35 actual outer window is smaller. If it is, it shrinks the board to fit,
36 under the assumption that a tiling window manager offers only a limited
37 'viewport' to our dialog, and we want everything to be visible inside that.
38
39 2014-10-22 11:04:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
40 Fix -xbuttons window width GTK
41
42 Because Label options not followed by a SAME_ROW element were only
43 packed into the first two columns of the dialog table, the board window
44 reserved space for a third column behind the message window if there
45 was no button bar.
46
47 2014-10-21 20:37:41 -0700 Arun Persaud <arun@nubati.net>:
48 mac: only use gtk compile flag, if osxapp is enabled
49
50
51 2014-10-21 22:40:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
52 Prevent unknown variant getting button in -ncp mode
53
54 Normally we fake the engines play the requested variant, for the benefit
55 of engines that do not send a variants feature (e.g. v1 engines). But this
56 should not be done if there is no engine, as it would lead XBoard to
57 believe an unknown variant name is an engine-defined variant supported
58 by a currently loaded engine, and create a button for it in the New Variant
59 dialog.
60
61 2014-10-21 22:07:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
62 Fix variant-name recognition
63
64 StringToVariant did recognize whether the name to recognize had suffuxes
65 compared to the tabulated name, but not if it had prefixes. So 'shoshogi'
66 would be recognized as 'shogi'.
67
68 2014-10-21 21:52:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
69 Suppress duplicat autoInstalls
70
71 If the engine line constructed for -autoInstall already occurs in
72 the engine list, we should not install it again.
73
74 2014-10-21 18:41:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
75 Base new square size on board widget allocation GTK
76
77 No longer pay attention to the size of the top-level window, but base
78 everything on the size of the board widget itself.
79
80 2014-10-21 13:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
81 Ignore first configure event
82
83 The first configure event will be the one that adds the window decorations
84 to the board window, and must not be used to calculate a new square size,
85 but to expand the outer window instead.
86
87 2014-10-21 11:35:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
88 Let GTK dialogs open with actual-size Graph widgets
89
90 The Graph Option size values are now uses as size_request, to give
91 proper dialog sizing at popup. But the size_request is then reset
92 so that free sizing by the user becomes possible.
93
94 2014-10-19 13:16:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
95 Fix display of Spin Options with negative range
96
97
98 2014-10-17 21:35:25 -0700 Arun Persaud <arun@nubati.net>:
99 line numbers in PO got updated
100
101
102 2014-10-17 21:23:47 -0700 Arun Persaud <arun@nubati.net>:
103 updated ChangeLog, DIFFSTAT and SHORTLOG
104
105
106 2014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>:
107 updated NEWS
108
109
110 2014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>:
111 forget a few __APPLE__ ifdefs; changed to OSXAPP
112
113
114 2014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>:
115 fix typo and prefix
116
117 AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching?
118 Using just prefix=... seems to work though
119
120 2014-10-16 23:34:22 -0700 Arun Persaud <arun@nubati.net>:
121 USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE
122
123
124 2014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
125 Fix loading of engine-defined PGN games
126
127 Somehow there could be disagreement over what the official opening
128 position of an engine-defined variant was during loading of the game.
129 It then refused Betza-defined castling, which tests the corner pieces
130 based on this initial position. We now assume the FEN tag, which such
131 a PGN game will always contain, holds the official opening position,
132 so that castling will always be assumed possible (if there is a corner
133 piece).
134
135 2014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
136 Preserve parent variant for PGN of engine-defined game
137
138 Rather than decoding an unknown variant name, (which will result in
139 'normal'), we keep the currently set (parent) variant when an
140 engine-defined variant is currently set that matches the name in
141 the PGN variant tag of the loaded game.
142
143 2014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
144 Fix some uninitialized variable bugs
145
146 The writing of Seirawan castling rights in FEN was still dependent on a
147 now unused variable, and encountering a VariantMen tag in a PGN file
148 could have created the misconception the memory was full.
149
150 2014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
151 Update Game List after tag selection changed
152
153 When the Game List Options dialog changes the tags to be displayed in
154 the Game List lines, we now automatically redo the entire Game List.
155
156 2014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
157 Always accept piece commands in variant great
158
159 Great Shatranj belongs to the variants XBoard does not know the rules of,
160 and should thus always accept engine piece commands.
161
162 2014-10-15 21:28:36 -0700 Arun Persaud <arun@nubati.net>:
163 make all tests for strings in configure use the same scheme
164
165
166 2014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>:
167 updated Changelog, DIFFSTAT, and SHORTLOG
168
169 2014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>:
170 fix osxapp enable option in configure.ac
171
172
173 2014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>:
174 remove experimental from gtk build option
175
176
177 2014-10-15 21:02:38 -0700 Arun Persaud <arun@nubati.net>:
178 only enable osxapp build target on apple systems, clean up configure.ac a tiny bit
179
180
181 2014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>:
182 update NEWS file
183
184
185 2014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
186 Don't switch to engine-defined variant on game loading
187
188 When loading a game from PGN the variant tag will have been decoded as
189 'normal' in case of an engine-defined variant, and we certainly would
190 not want to switch to that. Better stay in the variant the user had
191 selected before, and hope for the best.
192
193 2014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
194 Implement displaying of variant tag in Game List
195
196 The variant tag was displayed as an empty string in game-header lines.
197 Processing it during PGN load was not able to handle engine-defined
198 variants anyway; they were recognized as 'normal'. A new field in the
199 GameInfo struct now holds variantName in text form, and this is the
200 primary place from which it is displayed in the Game List.
201
202 2014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
203 Update Game List when setting new Game List Tags
204
205 Using the Game List Tags dialog to alter the gae header lines now
206 automatically causes an update of the Game list according to the new
207 tags specification.
208
209 2014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
210 Reset move entry on Clear Board
211
212 The board markers would stay on when the board was cleared, and a
213 no-longer-present piece would stay selected, leading to deletion of the
214 first piece that you tried to select.
215
216 2014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
217 Split Tournament dialog in side-by-side panes
218
219 This seems to cure a sickness in some Xaw versions, which refused
220 to display text in the text widgets, or make them sensitive for mouse
221 clicks if the last three buttons were added. It also helps keeping
222 the 'OK' button on-screen in the GTK version.
223
224 2014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
225 Remember position obtained from setup
226
227 When the engine sends a setup command, it should be remembered as
228 initialPosition, in order for the castling 'rook' test of the Betza
229 move generator to work.
230
231 2014-09-13 12:35:12 -0700 Joshua Pettus <jshpettus@gmail.com>:
232 Add build script to configure for a XBoard.app for OS X
233
234 This relies on the the gtk build and adds some special code in
235 gtk/xboard.c so that XBoard can be installed inside the app directory
236 independ on where the app file is located.
237
238 2014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>:
239 replaced hardcoded pngdir with built-in ~~
240
241 don't need to create xboard.conf from xboard.conf.in anymore
242
243 2014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
244 Some improvement on new Shogi SVG pieces
245
246
247 2014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>:
248 updated spanish, ukranian, and dutch translation
249
250
251 2014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
252 Fix logos Xaw
253
254 The patch for logo standard left a typo and an excess line in the Xaw
255 version. This is fixed, and also implements the user-logo cascade for
256 the Xaw version.
257
258 2014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
259 Try also /home/<user>/.logo.pgn for user logo
260
261 The user logo now also has a cascade, first looking in the user's home
262 folder for a file .logo.png, and then in the -logoDir for <user>.png.
263
264 2014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
265 Fix ICS logo display
266
267
268 2014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
269 Show current variant on New Variant buttons GTK in bold
270
271 If an engine-defined variant is selected, we compare its name to the
272 inscription on the button, otherwise we compare the variant numbers.
273 (Test to trigger this is a bit awkward, to not inadvertantly apply it
274 to the ICS Text Menu, which also has colored buttoms.)
275
276 2014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
277 Increase number of engine-defined-variants Buttons XB
278
279 An third column is added to the New Variant dialog when necessary.
280
281 2014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
282 Force GTK logo size to quarter board width
283
284 This is what GTK will do anyway, because clocks and logos are in a hbox
285 that equally divides space, so telling XBoard different just misinforms it.
286
287 2014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
288 Replace default Shogi pieces
289
290 The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus.
291 This set also contains and Elephant and Crown Prince.
292
293 2014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
294 Implement new logo standard
295
296 XBoard now looks in the system directories for plugin logos,
297 /usr/(local/)share/games/plugins/logos, according to the cascade
298 -logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/...
299
300 2014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
301 Relocate OS X' LOCALEDIR
302
303
304 2014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
305 Fix check test with multi-leg moves
306
307 The check test after a multi-leg move was still using the same kill
308 square in the opponent's reply, making it blind to King captures in
309 a second leg. So far we got away with that because the Shogi multi-leg
310 pieces also can reach all their potential victims in a single step,
311 but with engine-defined multi-leg moves there is no guarantee this
312 will always be the case.
313
314 2014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
315 Fix infinite loop in cylinder moves
316
317
318 2014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
319 Let t on final leg in Betza notation forbid checking
320
321 To allow approximate definition of pieces that are too difficult to
322 describe exactly, we can revoke their capture rights on Kings,
323 to prevent imagined moves that happen to threaten a King forces the
324 opponent to evade this imagined check, making most of his moves illegal.
325 Then the piece can be safely replaced by an upward-compatible one,
326 leaving rejection of the extra moves to the engine.
327
328 2014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
329 Implement Betza hr and hr as chiral move sets
330
331 To easily separate right- and left-handed moves on oblique atoms
332 (which needs opposite use of l and r in their multi-leg continuations),
333 the direction sets hr and hl are added.
334
335 2014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
336 Preserve other Betza mode bits on setting default modality
337
338
339 2014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
340 Switch to new Betza orth-diag conversion standard
341
342 The interconversion from orthogonal to diagonal atoms is now possible
343 for any 4-way atom, based on specification of an 'in-between' direction,
344 irrespective of modality. Also take backward out of default continuation
345 direction-set.
346
347 2014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
348 Implement Betza t modifier for hop-own
349
350 The 't' modifier will restrict any form of hopping as specified by
351 p or g modifiers to friendly pieces. This only works on non-final legs.
352
353 2014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
354 Implement directional modifiers on KQ, and let y&g upgrade
355
356 The Betza y and g modifiers now not only change range, but also upgrade
357 the directional capabilities of the atom to full non-degenerate 8-fold.
358 Directional modifiers can now be used in that symmetry too, to maximally
359 exploit this, and implement 4-fold pieces that make 45-degree turns.
360 Let oblique continuation legs also use the non-degenerate system.
361
362 2014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
363 Implement Betza y modifier
364
365 The non-standard modifier 'y' is the spontaneous counterpart of 'g',
366 changing the range of the atom, and upgrading its directionality.
367
368 2014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
369 Implement Betza g modifier for non-final legs
370
371 The g modifier is implemented as a p that turns a rider into the
372 corresponding leaper when it hops, and vice versa. This is done by
373 stripping off any existing range indicator, and making the range
374 infinite by suffixing '0' when the old range was 1 (whether implied
375 or explicitly written). Except that for sliders/steppers this is done
376 by atom-name conversion after stripping off the range. Limited range
377 thus in general turns into leaper (D -> D0, Dn -> D), but with FWK
378 W3 -> R and R3 -> W, etc.
379
380 2014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
381 Implement Betza a modifier
382
383 This is pretty complex, and might overload the current primitive two-leg
384 legality testing when pieces are defined that can reach squares only in
385 two legs.
386
387 2014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
388 Implement Betza j on W,F as skip first square
389
390
391 2014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
392 Always accept piece commands for Falcon and Cobra
393
394 The wild-card pieces Falcon and Cobra do not have any moves assigned to
395 them, and XBoard would accept any move for them even when legality
396 checking is on. So for these pieces it is always better to trust the
397 engine's piece definition.
398
399 2014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
400 Fix pieceToCharTable of Falcon Chess
401
402 This variant was using the Falcon piece, but defining ID F for the
403 unused Lance instead.
404
405 2014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
406 Don't preserve setup position on board-size change
407
408 Normally the setup command sent by an engine is ignored if the user
409 already has set up a position, to not render it impossible to do the
410 latter. But if the setup command orders a different board size nothing
411 the user has set up can possibly remain valid.
412
413 2014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
414 Reset move entry on stepping through game
415
416 A forward or backward step through the game after selecting a from-square
417 did not erase the latter, so that it became impossible to select a
418 from-square for an opponent move, as it would be interpreted as the
419 to-square for the patially entered move. This was especially annoying
420 with legality testing off, as the legality test there, based on the
421 square markings, does not reset the entry state either, but waits
422 until you do click a legal to-square, so that you had to attempt
423 moving with pieces of the side not to move to get out of this state.
424 Now stepping through another position will reset the move-entry state
425 completely, always considering the first click a from-square selection.
426
427 2014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
428 Fix engine-defined variant as startup
429
430 Non-standard names were all recognized as 'normal' in InitBackend1().
431 Now if the -variant argument was not "normal", it is assumed to be an
432 engine-defined variant if we run with engine.
433
434 2014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
435 Fix clipping of board GTK
436
437 ResizeBoardWindow now measures the with of the window dressing by
438 brute force, interrogating GTK both for the width of the top-level
439 window and the board widget, and subtracting the two.
440
441 2014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
442 Fix writing of Seirawan960 virginity in FEN
443
444 When variant seirawan was played with Fischer castling, only the
445 castling rights were written, and not the virginity of other pieces.
446 Now all virgin files are dumped in Shredder-FEN style.
447
448 2014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>:
449 update po/pot files
450
451
452 2014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>:
453 new version number for release 4.8.0
454
455
456 2014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>:
457 fixed whitespace error in configure.ac for os x
458
459
460 2014-09-20 10:06:17 -0700 Arun Persaud <arun@nubati.net>:
461 update gettext configuration to not include any generated files in git
462
463 before we had a somewhat mixed setup, which seems to create problems
464 when a different gettext version was installed on the users machine compared
465 to the version used to generate the files in git. This should solve
466 the problem. The user will now have to generate these files using autopoint,
467 which we call from autogen.sh.
468
469 2014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
470 Configure XBoard for -size 49 in master settings
471
472 Now the code for auto-sizing works, it turns out this does more harm than
473 good in the GTK build, as it takes maximum size that fits the screen as
474 initial size, and the board window then cannot be shrunk below that.
475 So we configure a hard -size 49 for a cold startup.
476
477 2014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
478 Implement ff etc. in Betza parser
479
480 Dupliacated directional modifiers can be needed with oblique moves
481 to unambiguously specify a direction set, e.g. ffrrN.
482
483 2014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
484 Rename PGN Pieces tag to VariantMen
485
486 Following a suggestion from Steven Edwards, this indeed makes a much
487 clearer name. Also add code to skip the tag on reading, rather than
488 allowing it to end up with the 'extra tags', as the latter could lead
489 to duplication of the tag on subsequent saves.
490
491 2014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
492 Suppress use of promo-Gold bitmaps in Tori Shogi (WB)
493
494 In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use
495 of a Gold General pictogram would only be confusing. So we stick to
496 the regular fairy bitmaps in Tori, which is recognized by the board
497 having 7 ranks in Shogi.
498
499 2014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
500 Prevent board-size oscillations
501
502 It could happen that after resize there was room for enlarging the
503 squares by one pixel, but that this crossed the boundary where the line
504 gaps also become wider, and there is no room for making both squares
505 and line gap. This would cause perpetual oscillations of the window size.
506 Resizing is now suppressed when a 1-pixel square-size increase would also
507 result in a line-gap increase.
508
509 2014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
510 Allow use of second-row pieces for non-promoted in drop games
511
512 Second-row pieces were automatically demoted on capture, but this
513 should really happen only when the piece-to-char table says it is a
514 shogi-promoted piece (assigned a '+' there). Pieces assigned a letter
515 should really stay themselves.
516  PieceToNumber had to be adapted to skip '+' pieces in order to count
517 correctly for second-row pieces, as did the code in UserMoveEvent() that
518 mapped the from-square onto the piece type. (Why do we do that anyway?
519 The piece type was displayed on the from-square!)
520
521 2014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
522 Fix reset of 50-move counter on FRC castling
523
524 The FxR internal representation was taken a bit too seriously!
525
526 2014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
527 Fix abort of machine game on variant mismatch
528
529 When the second engine did not support the current variant, and we clicked
530 Two Machines, there was an error popup, but the Two Machines menu item
531 stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame
532 mode.
533
534 2014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
535 Make unsupported variant on loading 1st engine non-fatal
536
537 Like in the startup code, when the loaded engine does not play the
538 currently selected variant, we now figure out what the engine does play,
539 and switch to that. The error message still pops up, but not non-fatal.
540
541 2014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
542 Print PGN Piece tag listing engine-defined pieces
543
544 A newly defined PGN tag is printed, which summarizes all non-standard
545 pieces. Black copies of identically named white pieces are suppressed.
546 In the future also non-standard naming should be reported here.
547
548 2014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
549 Always accept piece commands in partly supported variants
550
551 Normally piece commands are ignored when legality checking is on, as
552 XBoard's idea of legality should obviously overrule the engine's.
553 In variants that are not or only partly supported, however, XBoard has
554 no own idea of what is legal, so it is better to take the engine's
555 advice than enforcing wrong rules.
556
557 2014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
558 Size seek graph to also cover board rim WinBoard
559
560 The seek graph always used the plain board size, but in WB it is
561 possible to diplay a rim around the board, and the seekgraph would
562 then be positioned in the upper-left corner of the rim, leaving the
563 lower and right board edge and rim uncovered. Its size is now increased
564 to fill the entire window (as leaving a rim around it seems not useful).
565
566 2014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
567 Reparse ambiguous move under built-in rules
568
569 When a move parses as ambiguous under engine-defined piece locomotion,
570 we re-parse it with XBoard's native idea of the pieces, just in case
571 it is a move from a game that was saved without the engine having
572 redefined the pieces. This keeps games created before the introduction
573 of the 'piece' command loadable.
574
575 2014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
576 Prevent multi-path moves from parsing as ambiguous
577
578 In Cylinder Chess the MovesFromString() generator might generate duplicate
579 moves, one wrapping, the other direct. When they were both counted as
580 matching the SAN input move, Disambiguate() would think it an ambiguous
581 move. So a move that came from the same square as the one we already
582 have must not be counted.
583
584 2014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
585 Fix cross-edge e.p. capture in Cylinder Chess
586
587 ApplyMove() did not remove the e.p. victim when an edge-crossing e.p.
588 capture was made, because e.p. rights are only set to neighboring files
589 (after checking there is a Pawn there to capture). The e.p. heuristic
590 has now been changed to also assume e.p. on file-changing Pawn moves
591 that span a large number of files, assuming that these will be wrapping
592 moves. Eventually we should change to better e.p. logic that can be
593 integrated with engine-configured move generation, as the current system
594 would fail for any Pawn that captures more than just neighbor ranks.
595
596 2014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
597 Implement Betza o modifier for cylinder boards
598
599
600 2014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
601 Improve virginity test for engine-defined pieces
602
603 Two squares in the board are now reserved for flags that indicate
604 whether back-rank pieces have been touched. This allows MovesFromString()
605 to accurately test virginity of these pieces, rather than having to assume
606 it when the piece matches that in the opening position. For other ranks
607 the latter test is still used, as these are normally (irreversible) Pawns,
608 which cannot return there (and in drop games, when they would, would again
609 be considered virgin enough for the purpose of double-pushing!).
610
611 2014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
612 Implement Betza p and g modifiers in piece command
613
614
615 2014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
616 Repair piece defs with showTargetSquares off
617
618 The proxy legality checking based on marking of target square was
619 rejecting all moves when target squares were not highlighted.
620
621 2014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
622 Allow definition of castling in piece command
623
624 Castling is defined by the O atom, with a suffix indicating the number
625 of steps the King must step in the direction of the corner. Kings keep
626 their normal castling unless overruled by this. Can currently only be
627 used on the variant's royal piece, as XBoard's ApplyMove() is not smart
628 enough to understand displacing the corner piece is implied when it is
629 used on other pieces.
630
631 2014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
632 Update description of piece command in protocol specs
633
634
635 2014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
636 Improve SAN of Pawn moves and allow Betza e.p. definition
637
638 The move descriptions in 'piece' commands can now use 'i' and 'n'
639 modifiers to define a blockable double push. ('n' only work for moves
640 of stride 2!) The test for initial moves now is based on comparison with
641 the opening position, rather than on a way-to-generous heuristic. (This
642 still does not prove in generak the piece did not move, though, but it
643 does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement
644 this the rank and file of the e.p. square are now stored in the board.
645 (EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess
646 is not the file of the e.p. square!)
647  The generation of SAN moves for Pawns can now reliably distinguish between
648 captures and non-captures even in Berolina, when the move generator informs
649 it whether the move was e.p. capture.
650
651 2014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
652 Retune -stickyWindows GTK
653
654 This still does not work well, and in particular windows refuse to stick
655 to the top of the board window.
656
657 2014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
658 Fix detection of screen size GTK
659
660 A gdk call that can get the screen without there first being a window
661 mapped to it is used now. This fixes initial sizing of the board window
662 on a cold start.
663
664 2014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
665 Configure a size for the Eval Graph
666
667 If no size for the Eval Graph window is configured in the master
668 settings file, the window will pop up as 2x4 pixels.
669
670 2014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
671 Prevent crash on specifying non-existent texture XB
672
673 By setting the texture width to 0 when the texture could not be loaded,
674 XBoard will never attempt to draw it.
675
676 2014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
677 Configure some themes in XBoard master settings
678
679 The -themeNames option is set to contain some themes that could be
680 defined with the default pieces and textures that come with XBoard.
681
682 2014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
683 Remove debug printf
684
685
686 2014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
687 Control Eval Graph with mouse
688
689 Let mousewheel control evalZoom, and right-click toggle between
690 normal view and differential view ('blunder graph').
691
692 2014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
693 Add extra font field to Option struct
694
695 Storing the font in the textValue field was too kludgy, as this field
696 is already heavily used in the various Option types, for storing handles,
697 or defining colors and callbacks. A 'font' field is now added at the end,
698 so that it can be optionally initialized in the rare case it is needed.
699
700 2014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
701 Repair damage done by merging with v4.7.x
702
703
704 2014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
705 Sort fail lows and fail highs below others
706
707 Every more recent line should always float up aove lines that were
708 indicated to be fail lows or fail highs through ? or ! PV suffixes.
709
710 2014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
711 Describe the new texture conventions in manual
712
713 The exact rules for how textures are scaled in response to their
714 filename is described in the manual.
715
716 2014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
717 Force exactly overlayed texture scaling through filename
718
719 A filename suffix -NxM.png on a texture image will cause XBoard to scale
720 the image as if it were the image of a complete board of N files and M
721 ranks, to make the square size equal to that of the current board,
722 and adjust the cutting parameters such that contiguous squares are cut
723 out of it. (If the current board format is larger than NxM, the remaining
724 space will be padded with white!)
725  If N=M=0, N and M are assumed to correspond to the current board size,
726 and the bitmap will be scaled to fit the height of the board.
727  If no suffix is present, the old cut-and-tile algorithm is used. It will
728 be assumed the texture bitmap is intended for a single square, unless the
729 pathname contains a file that starts with "xq", in which case it is assumed
730 that the file contains a Xiangqi board.
731
732 2014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
733 Allow two Pawns per file in Tori Shogi
734
735 When the board has 7 ranks it is assumed to be Tori Shogi, and the
736 requirement for maximally one Pawn per file is relaxed to two.
737
738 2014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
739 Test legality even when off if engine defined pieces
740
741 After reception of a piece command XBoard will mark target squares
742 even when legality testing is off, and now also will require the lifted
743 piece to land on a marked square (like when the engine highlighted them
744 through a highlight command).
745  A problem is that this does not work for drops, as drops do not mark
746 target squares. So drops are always accepted. Which of course is bad
747 for Pawn drops. But there really is no way yet for an engine to specify
748 how pieces can be dropped, similar to the 'piece' command.
749
750 2014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
751 Fix texture scaling
752
753
754 2014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
755 Implement engine-defined pieces
756
757 When legality testing is off, XBoard now listens to 'piece' commands
758 to redefine its move generator. After such a piece command is received,
759 target-square marking also can be used when legality testing is off.
760 The engine keeps in charge of legality testing, though.
761  Only a very basic version of Betza notation is currently understood for
762 the move description: mode modifiers have to appear in the order mcd,
763 and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not
764 implemented at all. A leading i modifier limits the moves to the first
765 two ranks, which is no good at all. (But XBoard does not keep track of
766 which pieces have moved, and this at least would work for Pawns in a
767 FIDE-like setup, in particular Berolina.)
768
769 2014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
770 Scale texture bitmaps that are not large enough
771
772 Texture bitmaps are now sized up by an integer factor to be at least
773 as large as the board (if they seem intended for a full XQ board, which is
774 assumed when they are larger than 256x256) or the square. This necessitated
775 the textures to be re-initialized in InitDrawingSizes whenever the window
776 size changes.
777
778 2014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
779 Ignore color arguments not starting with #
780
781 Old settings files from xpm-using version might still contain color
782 designations like 'white' or 'red'. Since Cairo would interpret these
783 as black, it is better to ignore them, so the default color is used.
784
785 2014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
786 Implement -autoInstall option
787
788 When -autoInstall is a non-empty string, XBoard will scan the system's
789 plugin specs directories for UCI and WB protocol, to see if new engines
790 were added since the last settings save. If so, they are added to the
791 list of installed engines.
792  The variants listed in the plugin-spec files are currently ignored,
793 but the option is already configured to install engines for all variants.
794
795 2014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
796 Fix typo
797
798
799 2014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
800 Make inlined functions static
801
802 Clang apparently chokes on non-static inline functions,
803 and they were not used from other files anyway.
804
805 2014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>:
806 updated spanish translation, added new polish translation
807
808
809 2014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
810 Look for logo in engine dir first (GTK)
811
812 When setting engine logos, we look for a file logo.png in the engine
813 directory, before trying <enginename>.png in the -logoDir. This is useful
814 on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir,
815 when using the latter (also in Xaw).
816
817 2014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
818 Fix checkmarking of OS X menu items
819
820 The routine MarkMenuItem() was moved to xboard.c, where it can see
821 the OSX-specific #defines, and calls to sync_menu_bar were added
822 to it, and to EnableNamendMenuItem().
823
824 2014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
825 Fix crash of tournament dialog GTK
826
827 The font/color disambiguation of the Option.textField in Label and
828 ulti-line TextBox options cannot stand it if unused elements are
829 initialized as "" rather than NULL.
830
831 2014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
832 Let OS X display dock icon
833
834
835 2014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
836 Fix Xaw button color error
837
838 The textValue field, now also used to indicate font, was used in two
839 places when popping up buttons, and the font patch only addressed one.
840
841 2014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
842 Make SVGDIR a variable
843
844 Replace all occurrences of SVGDIR in the source by svgDir, a char array
845 that is initialized to SVGDIR, so that it can be altered at run time.
846 This is needed to make portable apps. Where SVGDIR was used in string
847 concatenation, the code had to be re-written to use snprintf to do the
848 concatenation at run time, through a new function LoadIconFile.
849 The extension of image files used there is now made dependent on the
850 __APPLE__ switch, so that it can use .png in OS X (which does not seem
851 to understand SVG icons).
852
853 2014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
854 Fix warning in dead code Show
855
856
857 2014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
858 Reorder variants, to comply with Polyglot book specs
859
860 XBoard's variant number is used as a key to access Polyglot opening
861 books, and thus cannot be changed without consequences. (As it was when
862 we introduced ASEAN and Chu Shogi.)
863   We also renamed Chu Chess to Elven Chess (under which name it is now
864 described on chessvariants.org).
865
866 2014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
867 Reserve piece command in protocol specs
868
869
870 2014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
871 suppress Alien Edition standard variants
872
873 Variants that are standard in the Alien Edition should not be
874 recognized as engine-defined variants: the engines that announce
875 them will not respond with the required setup command, so allowing
876 the user to select them just leads to trouble.
877
878 2014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
879 Fix SetWidgetFont GTK
880
881 This was testing for an empty font spec in the wrong way, with as a side
882 effect that some pointers to font strings would be interpreted as colors.
883
884 2014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
885 Update protocol specs
886
887
888 2014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
889 Let message field and button bar use GTK -messageFont
890
891 The -messageFont spec (using the default coordFont pixel size, like the
892 others) is now used to modify the fonts of message field and buttons
893 in the button bar. They pass a pointer to the appData font variable in
894 their Option's textField. This conflicts with the use of this field in
895 buttons for specifying a color, as done in the New Variant buttons.
896 This is resolved by checking if the first byte of the pointed-to value
897 is a #. The Xaw version must ignore the textField if it does not
898 specify a color.
899
900 2014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
901 Fix GTK fonts
902
903
904 2014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
905 Use coordFont default pixel size for other fonts
906
907 The message-font is way too large for the dialogs. A better solution
908 would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as
909 this file is front-end-specific anyway.
910
911 2014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
912 Use -gameListFont in Game List
913
914 Not implemented in a very generic way, but hacked into the code that
915 added the handler. There aren't many other listboxes that would need
916 adjustable font.
917
918 2014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
919 Fix Chat window for Xaw build
920
921 The ICS output field and Hide button are removed from the ICS Interaction
922 window, to make it similar to the old Chat window. This required adding
923 some tests in the handlers of this window, to prevent segfaults due to
924 accessing it.
925
926 2014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
927 Fix infinite-regression problem on OS X
928
929 Apparently the OpenFile handler can already be called during
930 gtkosx_application_ready (or gtk_signal_connect), so we have to make
931 sure 'suppress' is set before we call those.
932
933 2014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
934 Correct for .Xresources form->paneA renaming in manual
935
936 In the Xaw build the name of the form widget of dialog.layout.form...
937 hierarchy was changed to paneA, paneB, ... when allowing multi-pane
938 dialogs through the Break Option (such as the Engine Output window).
939
940 2014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
941 Use GTK fonts in Engine Output and Move History
942
943
944 2014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
945 Include some conditional OS X fixes
946
947 DATADIR must be corrected to ~~ in the OS X app, and the info command
948 must be started in a different way.
949
950 2014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
951 Fix WB DoEvents error
952
953
954 2014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
955 Limit auto-extending to click on first move of PV
956
957 Even when auto-exted on clicks on the tail of a PV will no longer cause
958 any moves to be added to the game. Only clicks on or before the first
959 move can do that now.
960
961 2014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
962 Animate multi-leg in auto-play and forward event
963
964 Replaying multi-leg moves is now also done by animating both legs.
965 In addition, the highlights are set on final and intermediate square,
966 rather than from-square.
967 (There seems to be a great deal of code duplication here. Why doesn't
968 AutoPlayOneMove simply call ForwardInner?)
969
970 2014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
971 Fix key bindings for non-menu functions
972
973 The accelerator keystrokes for next game, previous game and debug mode,
974 which don't have menu items, and are grouped in the menu table 'noMenu',
975 were not treated in the building of the translation table, as 'noMenu'
976 does not occur on the menu bar. An extra iteration is done now to
977 treat this menu group.
978
979 2014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
980 Fix Xaw key bindings
981
982 The routine to automatically construct the translation table for
983 accelerator keys did not respect the rule that more specific keystrokes
984 (like :Meta<Key>Home:) have to be defined before more general ones
985 (like :<Key>Home:). As a result Alt+Home would activate the Revert
986 item, intended for plain Home.
987
988 2014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
989 Define default font names
990
991
992 2014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
993 Fix MSVC problems
994
995 Book.c did not include config.h, and thus missed the redefinition of
996 snprintf (which is not known in MSVC). The use of 'inline' in parser.c
997 also needed an MSVC redefinition, now added to winboard/config.h.
998
999 2014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1000 Fix GTK font patch
1001
1002
1003 2014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1004 Replace strcasecmp by StrCaseCmp
1005
1006 The MicroSoft compiler does not know strcasecmp, so we better use
1007 our own function for this everywhere.
1008
1009 2014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1010 Let GTK build pay attention to font arguments
1011
1012 Multi-line text edits now use the initial value of the Option.textValue
1013 field as a pointer to a (char*) holding a font name, to be used for
1014 the text displayed in it. (After which they overwrite the field with
1015 the textView handle.) The font options -tagsFont, -commentFont, icsFont,
1016 -moveHistoryFont and -gameListFont are now activated in the GTK build,
1017 to control the corresponding memos.
1018
1019 2014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1020 Fix auto-display comment option in General Options
1021
1022 This options had the same ID as auto-Queen, making it ignored.
1023
1024 2014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1025 Call DoEvents during time-consuming operations
1026
1027 Processing of a game file for reading it, searching positions, saving
1028 selected games or creating a book from them can take minutes. To keep
1029 the application responsive during that time, the main loops of those
1030 tasks calls DoEvents(). A possible risk is that the user can now do
1031 too much, and will initiate actions that interfere with the tast in
1032 progress.
1033
1034 2014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1035 Fix GameListHighlight WB
1036
1037 The routine to highlight a game line in the Game List listbox of WinBoard
1038 used an extremely inefficient linear search to find the game amongst the
1039 selected games. This has now been replaced by bisection, after finding
1040 an upper limit to the number of entries in the listbox by doubling
1041 a trial size.
1042
1043 2014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1044 Provide DoEvents function in front-ends
1045
1046 A routine to process all pending events in a non-blocking way is now
1047 provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming
1048 tasks (such as PGN loading or opening-book creation) can call it to keep
1049 the user control over the application alive.
1050
1051 2014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1052 Fix syntax error in bitbase code
1053
1054
1055 2014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1056 Describe Save Selected Games menu in manual
1057
1058
1059 2014-09-06 22:29:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1060 Let Save Games as Book only use selected games
1061
1062 The book-creation code now only takes games into account that are
1063 selected for display in the Game List.
1064
1065 2014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1066 Rewrite key-binding section of manual
1067
1068 This section still wrongly described the key-binding procedure from
1069 before the rewrite of the XBoard front-end.
1070
1071 2014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1072 Connect scroll event to Graph Option in GTK
1073
1074 The mouse wheel is now detected in graphics widgets, and passed to
1075 the user handler as button 4/5 mouse events.
1076
1077 2014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1078 Make sure node count is positive
1079
1080 Engines that print the node count as an int overflow into negative values
1081 when the count exceeds 2G. This is really an engine bug, but as it
1082 interferes extremely annoyingly with the alignment of the Thinking Output
1083 XBoard now repairs it by adding 4G to undo the overflow.
1084
1085 2014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1086 Connect mousewheel to Forward/BackwardEvent (XB)
1087
1088 The mouse buttons 4 and 5 are now processed in the handler for the
1089 board widget.
1090
1091 2014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1092 Fix size of time in Engine Output window
1093
1094 When the thinking time exceeds an hour, the format hr:min:sec is now used,
1095 in stead of min:sec.cents. This prevents the field from extending beyond
1096 the tab stop when thr hours kick in, and should work upto 100 hrs.
1097 (Going beyond that at the moment does not seem useful.)
1098
1099 2014-09-04 22:57:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1100 Verify if font-spec looks like one in Xaw
1101
1102 To make XBoard resistant to mixed use of Xaw and GTK builds, which
1103 would not understand each others font specs stored in the settings
1104 file (they have in common), we now determine if the value looks like
1105 an X-font. If it doesn't, the Xaw version ignores it. The GTK build already
1106 ignored it if it did lool like an X-font spec.
1107
1108 2014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1109 Fix alignment in Engine Output window
1110
1111 Numbers above 1000M would become too wide for their field. This is
1112 solved by introducing the abbreviation 'G'. Values below 10M or 10G
1113 now get an extra digit in their fraction, so that the precision is
1114 at least 1%.
1115
1116 2014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1117 Add Save Selected Games menu item
1118
1119 A menu item to save all selected games in the Game List on a single
1120 file is added.
1121
1122 2014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1123 Add final piece count to search criteria
1124
1125 The Load Options dialog now has a text field in which a range can be
1126 entered (like 8-10). Position search will then only select games that
1127 had their final number of pieces in this range.
1128
1129 2014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1130 Fix castling rights on using -lgf
1131
1132 The dummy InitPosition to force loading pieces was taking place after
1133 InitBackend2(), while the latter could have already loaded a game
1134 from an -lgf argument (which would then be spoiled by the InitPosition).
1135 It has been moved to before InitBackend2() now.
1136
1137 2014-07-29 15:03:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1138 Fix crash on double-click in Game List Tags
1139
1140 A double-click in the Game List Tags listbox has no function, but it
1141 crashed XBoard, because the textValue field of teh ListBox Option definition,
1142 supposed to contain a pointer to the user-supplied handler, contained a
1143 pointer to an empty string.
1144
1145 2014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1146 Fix typing of null moves
1147
1148 Entering a null move through the move type-in could fail because the
1149 to-square coordinates (not used in its encoding) could have invalid values,
1150 which would reject the move in an early stage of UserMoveEvent().
1151 Null moves are now exempted from this vaidity test, while variants where
1152 null moves are legal now accept them in any gameMode.
1153
1154 2014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1155 Fix adjusting clocks in Xaw version
1156
1157 The handler attached to Label options failed to flip the sign of the
1158 option number when a button other than Button1 was pressed, so that time
1159 would always be subtracted on Shift + ClockClick and never added.
1160 Shift now also suppresses interpretation as null move when playing.
1161 (In Analyze / EditGame mode it is still null move starting a variation.)
1162
1163 2014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1164 Fix null-move entry during play
1165
1166 Null moving by clicking the clock was only accepted in Edit Game and Analyze
1167 mode, while in Chu Shogi and spin-offs it is also allowed during play.
1168 An F_NULL_MOVE flag was introduced to make it easy to test for such variants,
1169 and Machine White/Black mode now also interpret clock clicks as a null move
1170 if the opponent's flag has not yet fallen.
1171
1172 2014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1173 Let EditPosition double-click on piece promote it
1174
1175 For pieces with Shogi-like promotion (i.e. if the promoted piece has
1176 pieceToChar defined as '+'), let a second click on it in Edit Position
1177 mode promote or demote it (as the case requires) when the piece menu is off,
1178 rather than remove it (as was the old behavior.
1179
1180 2014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1181 Make EditPosition pallette work in Asian variants
1182
1183 Construction of the pallette position was not working in variants that
1184 did not have Pawns start on 2nd rank, or that had multiple ranks of pieces.
1185 Now the algorithm is applied to all ranks.
1186
1187 2014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1188 Fix crash on opening Tags window Xaw
1189
1190 Suppressing the optional book button made the Xaw generic popup crash,
1191 because the following button had the SAME_ROW modality, and was thus
1192 positioned w.r.t. a non-existent widget.
1193
1194 2014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1195 Fix writing of Chu-Shogi FENs
1196
1197 Promoted pieces were getting the wrong ID letter, of the piece demoted
1198 by 11, rather than 22.
1199
1200 2014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1201 Allow pseudo-engines to adjust the clocks
1202
1203 Implement new options -first/secondPseudo, which declare the corresponding
1204 engine to be a pseudo-engine, which will then be granted super-powers
1205 through some new engine->GUI commands. For instance, to adjust the time
1206 remaining on the GUI clocks through wtime and btime commands (using msec).
1207
1208 2014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1209 Fix piece inscriptions
1210
1211
1212 2014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1213 Fix reading Chu Shogi FENs
1214
1215 The X (for Phoenix) was interpreted a 10 empty squares.
1216
1217 2014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1218 Fix loading positions in engine-defined variant
1219
1220 Paste Position did not work when an engine-defined variant had redefined
1221 the pieceToCharTable, as the position would be interpreted and sent to the
1222 engine before receiving the setup command. Copying the pieceToCharTable
1223 received from an earlier game to appData cures this, because it will then
1224 be used by InitPosition, which would reset the table to default otherwise.
1225  Another problem was that setupSpoiledMachineBlack would not be reset
1226 after a game with no moves, leading to a spurious 'go' command to the engine.
1227
1228 2014-03-17 23:05:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1229 Render inscriptions on Chu-promoted pieces in red
1230
1231
1232 2014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1233 Allow writing text on pieces
1234
1235 A new persistent string option -inscriptions allows the user to define
1236 characters to be written on the various piece types. The string is
1237 interpreted as UTF-8. This option is useful for on-the-fly synthesis
1238 of Shogi pieces, where the string can contain the various kanji in
1239 the canonical pieceToCharTable order. Except that only a single color
1240 has to be given.
1241
1242 2014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1243 Fix initial sizing of board
1244
1245 Previous patches had destroyed the ability to obey the -size option.
1246
1247 2014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1248 Fix width of menu bar
1249
1250 The truncated name might not have been terminated with '\0'.
1251 TinyLayout now specifies the number of characters kept in the menu names.
1252 In the OS X version truncating is never needed, as the menu bar is
1253 at the top of the screen, independent of board size.
1254
1255 2014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1256 Fix warnings fonts patch
1257
1258
1259 2014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1260 Implement (clock-)font handling in GTK
1261
1262 The options -clockFont, -coordFont and -messageFont are activated,
1263 and supposed to have string values like "Sans Bold 12". The default
1264 values have the point size as 'wild-card' %d, however "Sans Bold %d",
1265 and are expanded by a printf with the point size taken from the defaults
1266 table. The expanded versions are saved back into the settings file,
1267 prefixed with a size tag, as usual.
1268  So far -clockFont is the only font that is actually applied while
1269 writing.
1270  The 'clock kludge' was interfering with the initial sizing, as for some
1271 sizes the initial clock-widget height happened to be equal to the final
1272 height. It was therefore abandoned, and we seem to be able to live without
1273 it.
1274  Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar.
1275 Therefore tinyLayout now uses single-letter menu labels.
1276
1277 2014-03-02 20:45:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1278 Also search indirection files in user's .xboard tree
1279
1280
1281 2014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1282 Fix error Engine Output text highlighting
1283
1284 In wengineoutput.c higeTextStart and End where decalred both static and
1285 extern, which somecompilers justifiably don't like.
1286
1287 2014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1288 Fix Board-dialog bug WB
1289
1290 The drawing code for the sample square did ot restore the correct brush.
1291
1292 2014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1293 Fix various warnings
1294
1295 Mostly written but never read errors. Also removed a debug printf that was
1296 causing a format warning.
1297
1298 2014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1299 Kludge repair of expose after startup resize
1300
1301 Redraw of the main board after resize is delegated to DragProc, which is
1302 scheduled after a delay, to make sure the user is done sizing (mainly to
1303 reposition docked windows). But at startup the program-requested resize when
1304 an engine does not support variant normal and needs a different board format
1305 takes so long that the finale size expose occurs after the DragProc timeout.
1306 As a result, the board was never drawn on the resized canvas.
1307   This is quite hard to fix in a satisfactory way. For now the suppression
1308 of board redrawing during resize is disabled during the first 10 seconds
1309 after startup, as any resize during that time is likely to be the result
1310 of a program request.
1311
1312 2014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1313 Use first engine as default for second
1314
1315 Rather than having the same fixed default for both engines, we noww only
1316 have a fixed default for the first, and use the actual first as default
1317 for the second. One advantage is that this guarantees the second engine
1318 plays the same variants as the first by default.
1319
1320 2014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1321 Allow adding played move to book
1322
1323 A button is added in the Edit Book dialog to prime XBoard for adding the
1324 next move entered through the user interface to the book window, without
1325 actually playing it.
1326
1327 2014-02-23 22:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1328 Play move right-clicked in Edit Book dialog
1329
1330 A handler for button-3 down-clicks is added to the Edit Tags dialog,
1331 which fakes the clicked word was typed in the move type-in box.
1332
1333 2014-02-23 19:23:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1334 Fix pop-down of ChatDlg and TextMenuDlg from menu
1335
1336 Unlike other windows these two would not react to clicking the menu item
1337 once they were up. Now they pop down in that case.
1338
1339 2014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1340 Preserve window width on board-format change
1341
1342 When a variant switch would cause recalculation of the board window,
1343 we now first recalculate square size to keep the window width fixed.
1344 Also adapt initial width on high boards.
1345
1346 2014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1347 Equip Board Options dialog with themes listbox
1348
1349 The option -themeNames is made persistent for XBoard, and its value is
1350 displayed in a listbox added to the View -> Board dialog. The user
1351 can select themes from this, and manipulate the contents similar to
1352 the engine list in Load Engine. A textedit allows the user to define a
1353 theme name for the current settings, and doing so adds the theme to the
1354 -themeNames list.
1355
1356 2014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1357 Implement copy function in ICS Text Menu
1358
1359 A command consisting of the word $copy will place the clicked word on
1360 the clipboard. When there was already text selected during the click,
1361 that selected text will be used for $copy and $name, rather than the
1362 right-clicked word.
1363
1364 2014-02-07 09:48:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1365 When ICS Console open EOF from keyboard is no error
1366
1367 In case the user started without a terminal, we just close the input source,
1368 and suppress future writing to the xterm.
1369
1370 2014-02-06 18:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1371 Leave xterm at start of new line after quitting XBoard
1372
1373
1374 2014-02-06 18:36:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1375 Also display channel tell in ICS Console during private chat
1376
1377 Channel tells of players for which a chat wa opened were displayed in that
1378 chat, as well as in the channel chatbox, if the latter was open. But when
1379 there was no channel chatbox it would not appear as colorized channel tell
1380 in the console. This is now fixed, and in the private chat box such a
1381 message is indicated as 'broadcast'.
1382
1383 2014-02-05 23:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1384 Write broadcasts also to private chatbox of talker
1385
1386 The shouts or channel chatboxes capture messages first, but if a private
1387 chat with the talker is opened, it now goes there too. Prefixed with
1388 the type of broadcast.
1389
1390 2014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1391 Fix Xaw Chat Console
1392
1393
1394 2014-02-05 22:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1395 Let Ctrl-O key open chat for last talker
1396
1397
1398 2014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1399 Add End Chat button
1400
1401 This button clears the current chat, so that it becomes free for
1402 assignement to another partner.
1403
1404 2014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1405 Ctrl-N in chat opens empty chat
1406
1407 This key isequivalent to pressing the left-most New Chat button.
1408 If no unused chat present, it the command will be ignored.
1409
1410 2014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1411 Preserve unfinished input lines during chat switch
1412
1413 This is problematic, as apparently we cannot write in widgets that are
1414 active with key hits, so attempting to write it back in response to Tab
1415 did not work. This is now done with a delay, for lack of a better method.
1416
1417 2014-02-04 13:57:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1418 Recognize Esc and Tab in ICS Console input
1419
1420 Esc is used to close the chat, or transfer focus to the board window.
1421 Tab is used to navigate between chats (or open the first). Priority
1422 is given to dirty chats.
1423
1424 2014-02-03 20:35:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1425 Let ICS Console pop up GTK in stead of ICS Input Box
1426
1427
1428 2014-02-03 19:45:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1429 Add context menu to ICS console XB-GTK
1430
1431 A right-click handler is added to the output memos of the ICS Interaction
1432 window. It pops up the ICS text menu. It is remembered whether the menu
1433 was already up; if not, it will be popped down after a command is selected
1434 from it. Like the WinBoard context menu, the commands will be able to use
1435 the clicked word.
1436 The -icsMenu 'command' $chat is now recognized as a special case, not to
1437 be sent to the ICS, but executed by XBoard. It will assign one of the
1438 five chats to the clicked name. If no empty chat is available, the last
1439 chat will be used (but not cleared).
1440  The -icsMenu in the master config file is now configured to contain
1441 this command, but unfortunately this will not become effective for users
1442 that already have a settings file.
1443 The Text Menu now puts $input commands in ICS Console Input field when the
1444 ICS Input Box is not up.
1445  The text placed in the input field for completion (as per $input directive)
1446 turned out to be selected in GTK, so that when you stated typing, it was
1447 erased again!
1448  By making the Text menu dialog subject to WindowPlacement control,
1449 and interrogating the poition of the ICS Console window, the Text Menu
1450 can be popped up such that the mouse pointer is on the bottom-left button.
1451
1452 2014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1453 Integrate ICS output into Chat Window
1454
1455 An extra pane has been added to the Chat Window to display the ICS output.
1456 In GTK this output is colorized just as in the xterm. For Xaw this is not
1457 possible. This pane is always visible, and the chat output can be hidden,
1458 to double its size. Entered input will go to the selected chat (when not
1459 hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner
1460 field is hidden together with the chat pane and the Hide button. Each of
1461 the five chats now has a dedicated button; for unused chats (empty Chat-
1462 Partner field) these now gets the text 'New Chat' inscribed on it.
1463 Focussing is made more intelligent (to the Partner field when shown and
1464 empty, otherwise to the input field).
1465 The Up and Down arrows now work in the input field to recall old input.
1466  ScrollToCursor() was broken in GTK, because a mark was made for only
1467 a single buffer. Now each buffer has its own end mark.
1468  Another problem was that using ScrollToCursow immediately after a memo
1469 was shrunk (because a neighboring one expanded) it would still use the
1470 old memo size, so that the bottom part remained out of view. Delaying it
1471 50 ms solved that problem.
1472  A new option -icsUp was added to store the visibility in the settings.
1473 It is updated only in ICS mode. The ICS Console pops up automatically
1474 when the stored parameters say so. It is also made sticky.
1475  Unlike the xterm the textView does not extend background color to unwritten
1476 positions behind the line. A separate GTK call is now added to set the
1477 unwritten part to the same color as the background in normal text.
1478  A  control was added in the ICS Options dialog for setting the colors
1479 of normal text (-colorNormal).
1480
1481 2014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1482 Add logo-size control XBoard
1483
1484 This is mainly for the benefit of OS X useres who cannot find their
1485 settings file. It requires a restart to become effective, which is
1486 really sub-standard.
1487
1488 2014-02-02 17:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1489 Add Edit Engine List menu item to XBoard
1490
1491 In OS X the settings file is hard to find...
1492
1493 2014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1494 Fix warnings
1495
1496 Some unread variables are commented out, rather than removed, because they
1497 can be useful for future development.
1498
1499 2014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1500 Fix moves of Spartan Captain
1501
1502 The rewrite of the move generator did no longer pay attention to rookRange,
1503 so that the Spartan Captain moved like a Rook.
1504
1505 2014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1506 Add Option type 'Skip'
1507
1508 The value -1 used to suppress rendering of option controls was drawing
1509 error messages, because enums are unsigned. So a new member Skip was added
1510 to the enum.
1511
1512 2014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1513 Detect Fischer castling in FENs
1514
1515 Castling rights with unorthodox piece placement imply Fischer castling.
1516 Make sure shuffling is done after detecting this, because it means K & R
1517 can also be shuffled (as long as K remains between both R).
1518
1519 2014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1520 Allow shuffling indicators in FEN
1521
1522 If the back ranks are enclosed by < > in a FEN, the route to shuffle
1523 initial positions is invoked on it.
1524
1525 2014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1526 Allow wild-cards in FEN
1527
1528 A question mark in a FEN will now be interpreted as a piece randomly
1529 chosen from the holdings. (From which it will be removed.) Intended
1530 for use in symmetric black/white pairs; when used on asymetric locations
1531 or with non-identical holdings the results will be undefined.
1532
1533 2014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1534 Fix Seirawan reverse-castling animation
1535
1536 In Chess960 animation of castlings is suppressed, because the move is encoded
1537 as KxR, so that the to-square in general is not the final destination of the
1538 King. So it is just confusing to the eye to see the King slide to the Rook,
1539 and then jump to an entirely different square. In S-Chess castlings can
1540 similarly be encoded as RxK (to indicate gating at the Rook square), and
1541 animation of those moves should be suppressed for the same reason. But it
1542 wasn't, and in Fischer castlings denoted as RxK this even caused the Rook
1543 to disappear when it didn't need to moved.
1544  Perhaps one day a smart method of animating Fischer castlings can be
1545 designed. (E.g. remove Rook, animate King move to true to-square, place Rook?
1546 But what if the King doesn't move at all? Animate Rook then? Normal castlings
1547 now animate the King, and then just displace the Rook.)
1548
1549 2014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1550 Make Fischer castling generally available
1551
1552 A new volatile option -fischerCastlings allows every variant to be played
1553 with Fischer castling, which so far was only allowed in variants FRC/CRC.
1554 This only makes sense in shuffle variants, where King and Rooks might not
1555 be in their orthodox locations. But even when they are, it has consequences
1556 for the user interface, which will require dragging King on Rook as the only
1557 way to enter castling. Like -shuffleOpenings the setting will be cleared
1558 as soon as you switch variant (unless you switch to FRC/CRC, where they
1559 Fischer castling is on by default). It can be set from the New Shuffle dialog.
1560
1561 2014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>:
1562 updated po/pot files
1563
1564
1565 2014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>:
1566 new version number for developer release
1567
1568
1569 2014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>:
1570 updated Dutch translation
1571
1572
1573 2014-01-19 20:44:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1574 Put ponder checkbox in Common Engine dialog WB
1575
1576 This is yet another duplicate of the one in General Options and Adjudiactions.
1577
1578 2014-01-19 20:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1579 Expand %s in -openCommand to DATADIR and fix OSX settings-file name
1580
1581 This can be used in OS X to biggy-back a cd to a directory in the App
1582 on the open command.
1583
1584 2014-01-18 23:42:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1585 Add some checkboxes in General Options dialog WB
1586
1587 Checkboxes are added for -variations, -memoHeaders and -autoExtend.
1588
1589 2014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1590 Fix warning in CheckTest
1591
1592
1593 2014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1594 Fix printing of engine-output headers
1595
1596 They were not printed on analyis of the first position after opening
1597 the Engine Output window.
1598
1599 2014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1600 Fix sticky windows on Win8
1601
1602
1603 2014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1604 Drag touching edges together (WB)
1605
1606 When an auxiliary window is dragged by an edge, the snap code now checks
1607 if that edge was touching another window. If so, that other window is sized
1608 to keep touching the dragged edge. Unless it was also touching the main
1609 window.
1610
1611 2014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1612 Implement new mate-score standard
1613
1614 Matescores are now indicated in the protocol as +/- 100000+DTM,
1615 and in the Engine Output window as #DTM or #-DTM.
1616
1617 2014-01-15 21:28:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1618 Put fail-high/fail-low indicators in protocol specs
1619
1620
1621 2014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1622 switch to new tbhits protocol
1623
1624 The extended info is now expected as 3 bare integers, the last one
1625 separated from the PV by at least one tab character.
1626 The protocol extension is described in the CECP specs document.
1627
1628 2014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1629 Fix sorting of Engine Output
1630
1631 The moveKey of the top line was never stored, so that more recent
1632 lower scores could not pass it even if they had the same move.
1633
1634 2014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1635 Handle fali-low & fail high
1636
1637 A ? or ! at the end of the PV are now also written behind the score.
1638
1639 2014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1640 Implement extended thinking output
1641
1642 The PV field can now start with three quantities, selective depth,
1643 engine speed and tablebase hits, disguised as PGN comment. XBoard will
1644 strip that off, and allow them to be displayed in separate columns of
1645 the engine-output window.
1646
1647 2014-01-14 14:46:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1648 Allow hide/show of columns in Engine Output
1649
1650 A new persistent Boolean option -memoHeaders enables a new feature:
1651 text headers are shown above the depth, score, nodes, time columns in the
1652 engine output. Right-clicking them will subsequently hide the corresponding
1653 data, and move the column header to above the PV in a 'not shown' list,
1654 where it can be clicked again to re-open the column.
1655 Configure maseter settings to switch -memoHeaders on by default.
1656
1657 2014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1658 Fix ManProc for OS X
1659
1660
1661 2014-01-14 10:02:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1662 Fix access to ~~/themes/conf for OS X
1663
1664 In OS X DATADIR is a variable.
1665
1666 2014-01-13 19:23:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1667 Add 'Continue later' button to Tournament dialog XB
1668
1669 To do GenericReadout without triggering a call to the OK function,
1670 we introduced a new value for the option-number parameter, -2.
1671
1672 2014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1673 Fix Tournament Options dialog
1674
1675 Deleting a Label option had renumbered the remaining Options, breaking
1676 the dialog and causing a crash when an engine was selected. A considyency
1677 check is now added to catch this condition, and throw an error popup
1678 when we mess up again.
1679
1680 2014-01-13 17:09:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1681 Allow popup of TC and Common Engine from Tournament dialog
1682
1683 A new dialog class MasterDlg was added, similar to TransientDlg,
1684 but to allow two dialogs to be up simultaneously. The Tournament Options
1685 dialog was migrated to this class, so it can now get buttons to pop up
1686 the Time Control and Common Engine dialog, like WinBoard. It even has
1687 a button for the General options dialog.
1688 Special care had to be taken to prevent popdown of the MasterDlg when
1689 a Transient child is still up (similar to browser or error childs).
1690
1691 2014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1692 Add --show-config special option
1693
1694 This prints a list of configure parameters, and then exits. If a second
1695 argument is given, it only prints the value of that config parameter,
1696 so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu
1697 can be used in install scripts of packages with piece images.
1698
1699 2014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1700 Overhaul kill code
1701
1702 Engines were not always forcefully killed in XBoard, which could make
1703 the tournament manager hang when an engine became unresponsive to "quit".
1704 The various levels of killing are now revised, and the -delayAfterQuit
1705 is absorbed in DestroyChildProcess(). There is a hard killing mode 9,
1706 which immediately sends SIGKILL, intended for engines that have already
1707 proven to malfunction or could not start at all. In other cases SIGTERM
1708 is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1
1709 sec later just in case the SIGTERM would be ignored.
1710
1711 2014-01-13 13:38:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1712 Fix name of master settings file in OS X
1713
1714 The name needs to be relative to the bundle path, but ~~ expansion
1715 did not work for compiled-in defaults, as the expansion takes place
1716 when parsing an option. The dataDir is now also kept in an array rather
1717 than as a pointer, to allow it to appear in statically initialized tables.
1718
1719 2014-01-08 16:25:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1720 Fix Chu promotion of L, HM and GB
1721
1722 The promotion popup would not be shown for HM and GB with legality testing
1723 on because the piece types used for them were wild-card pieces. The Lance
1724 was treated as a Pawn in HasPrmotionChoice().
1725
1726 2014-01-08 16:09:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1727 Remove redefine of DATADIR that leaked in from v4.7.x
1728
1729 2014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>:
1730 updated po/pot files
1731
1732
1733 2014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>:
1734 new version number for release 4.7.3
1735
1736
1737 2014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>:
1738 updated copyright to 2014 in menu.c
1739
1740
1741 2014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>:
1742 removed .DS_Store file from git
1743
1744
1745 2014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>:
1746 Updated copyright notice to 2014
1747
1748
1749 2014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>:
1750 cleanup some trailing whitespaces
1751
1752
1753 2013-12-29 13:46:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1754 Fix crash on use of dialog Browse buttons GTK
1755
1756 The code to set a filter did not expect multiple extensions, and would
1757 cause a buffer overrun when there were.
1758
1759 2013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1760 Make building of Windows .hlp file optional
1761
1762 By using && and || operators in the build recipe, the building of WinBoard
1763 with Cygwin is now not aborted whe the Help Compiler is not installed.
1764
1765 2014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1766 Use __APPLE__ compile switch for OS X
1767
1768 It seems that on Apple machines the compiler will always define the
1769 symbol __APPLE__, so this is now used instead of OSX, which had to
1770 be defined with a -DOSX compiler flag. The gtkmacintegration header
1771 is now using <> in stead of "" in its #include. (Strange enough both
1772 were working.)
1773
1774 2014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1775 Expand ~~/ to bundle path (OSX)
1776
1777 DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op
1778 there. Same for Linux compiles. For OS X it is #defined as a variable,
1779 obtained from GTK-OSX at startup.
1780
1781 2013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1782 Activate ManProc in GTK
1783
1784
1785 2013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1786 Remove use of strndup
1787
1788 The use of strndup was actually unsafe, as the length was passed using
1789 an ordinary strlen. strndup was not availableon OS X 10.6, and is now
1790 replaced by an ordinary strdup, which should be save enough.
1791
1792 2013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1793 Put some OSX code into gtk version
1794
1795 Under control of #ifdef OSX code is added to integrate the GTK front-end
1796 into OS X. This involves moving the menu bar to outside the window, and
1797 catching the signal that OS X sends to running applications when opening
1798 another instance was requested. Som files are renamed to conform to the
1799 file tree of the OS X App package.
1800
1801 2013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1802 Cure weirdness when dragging outside of board
1803
1804 Dragging outside the board (when people maximized the window) did not
1805 properly restore background, (leaving a trail of dragged piece). Filling
1806 the canvas with white when it is creatd cured this. The problem most likely
1807 was that unitialized cairo surfaces had transparancy, and writing back
1808 transparancy doesn't helpmuch to erase things.
1809
1810 2013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1811 Fix sorting of lines in Engine Output
1812
1813 Lines tat were fail-lows or fail-ighs should get the scores on the basis
1814 of wich they are sorted corrected to that of te line (for the same move)
1815 superceding them, so that other moves can rise to above them, when they
1816 score higher than the corrected score.
1817
1818 2013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1819 Make filler variant button inactive
1820
1821
1822 2013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1823 Fix packing of FRC castlings
1824
1825 The routine for packing moves to the internal database format was not
1826 working for FRC castlings, totally messing up position search for FRC
1827 and CRC.
1828
1829 2013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1830 Fix Xaw file-browser New Directory
1831
1832 Prevent people from using the error messages that will be printed here
1833 as directory name by pressing New Directory a second time after first
1834 pressing it with an empty or existing name.
1835
1836 2013-12-05 16:14:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1837 Widen Xaw text entries for larger square sizes
1838
1839 Presumably people will use larger fonts if they use larger board squares.
1840 (And in any case te default fonts would be larger.) This means they need
1841 more space to see what is the current value of text options.
1842
1843 2013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1844 Remove width limiting of shuffle checkbox
1845
1846
1847 2013-11-28 13:30:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1848 Allow castling and e.p. to be edited in opening book
1849
1850
1851 2013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1852 Repair FRC A-side castling legality testing
1853
1854 XBoard allowed A-side castling when a rook started on the a-file,
1855 and the b-file was blocked.
1856
1857 2013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1858 Repair XBoard from node-count patch
1859
1860 u64 was #defined in backend.h, which unfortunately was almost alwats
1861 (Not sure why WinBoard did not suffer from this!) This, and related
1862 definitions have now been moved to common.h (which is always #included
1863 first).
1864
1865 2013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1866 WinBoard multi-monitor support
1867
1868 A patch provided by Tim Kosse
1869
1870 2013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1871 Fix node count range
1872
1873 The node count was still clipped to 32 bit because one of the structs
1874 it passes through (FrontEndProgramStats) had the nodes field declared
1875 as an unsigned long.
1876
1877 2013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1878 Fix adjudication of Giveaway stalemates
1879
1880 The case where the side-to-move would win by stalemate was not treated
1881 in the Adjudicate switch.
1882
1883 2013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1884 Fix buffer overflow in parser
1885
1886 When a line ended with a comment, the parser had to read a line ahead
1887 to check if there was a PGNresult following, without being able to
1888 throw away the previous line yet. This could lead to buffer overflow
1889 in a long game where every line ended in a comment. The buffer now is
1890 cleansed of already parsed data when starting on a new syntactical unit.
1891
1892 2013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1893 Fix -zippyVariants option
1894
1895 Due to the change of cps->variants from (char []) to (char *), copying
1896 zippyVariants to it on behalf of v1 engines would no longer work. This
1897 is fixed by using ASSIGN() in stead of safeStrCpy().
1898
1899 2013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1900 Fix initial board sizing WB
1901
1902 The initial board size was based on the assumption the board would be 8x8.
1903 This could push auxiliary windows off screen if the board was smaller,
1904 after which EnsureOnScreen would undock them and park them in the upper-
1905 right corner before the board assumed its true size. InitPos() is now called
1906 before the initial sizing to et the board format correctly, InitDrawingSizes()
1907 had to be made resitant to calling before a board size was picked for this
1908 (because InitPos() might call that too).
1909   ActivateTheme() now uses the new board size, not the previous one (as was
1910 indicated by size -2), so that -boardSize specifications inside a theme
1911 will take effect.
1912   Board size petite should not be forbidden for Shogi; all pieces exist there.
1913
1914 2013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1915 Fix grabbing of selected piece
1916
1917 A second static click on a selected piece should deselect it, but an attempt
1918 to drag an already selected piece should not 'bounce off'. It was already
1919 possible to move a selected piece to another square, but the dragging was
1920 not animated. This is now fixed, by only skipping the code to start dragging
1921 when the second click is part of the only-move double-click for only capture.
1922 (Before it was skipped on any second click.)
1923
1924 2013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1925 Allow entry of negative numbers in spin control (WB)
1926
1927 Windows numeric controls do not accept negative numbers, so in case the
1928 range of a spin option can go negative, the style ES_NUMBER should not be
1929 set on the control.
1930
1931 2013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1932 Allow drops / promotions/ deferrals to be edited into book
1933
1934 For no real reason only NormalMove would be accepted when parsing the list
1935 of book moves.
1936
1937 2013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1938 Fix GUI book after setup position
1939
1940 The routine to send move to the engine would automatically append a 'go'
1941 is a preious setboard had put the engine in force mode, but this should
1942 not happen on a book hit, where the engine should even be put in force mode
1943 if it was not yet there.
1944
1945 2013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1946 Fix book creation
1947
1948 Due to duplicate use of the same file pointer variable the game file would be
1949 closed before any games were read from it.
1950
1951 2013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1952 Make PGN parser immune to unprotected time stamps
1953
1954 The parser choked on time stamps of the form dd:dd or dd:dd:dd if one
1955 of the fields happened to be 00, because it wouldmistake that for a
1956 non-compliant king-side castling. By excluding this interpretation when
1957 the 00 is immediately preceded or followed by ':' this is now prevented.
1958
1959 2013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>:
1960 updated po files for new release (make distcheck)
1961
1962
1963 2013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>:
1964 new version number for release 4.7.1
1965
1966
1967 2013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>:
1968 updated Changelog, NEWS, etc.
1969
1970
1971 2013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1972 Update zippy.README
1973
1974 It is explained how to generate multi-line commands for -zipyGameEnd.
1975
1976 2013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1977 Fix Xaw file browser
1978
1979 The 'next page' entry of the Xaw file browser contained a \177 character
1980 to keep at sorted at the bottom. This caused trouble for gettext.
1981 Now the sorting range is adapted so the 'next page' is never part of it.
1982   More seriously, the listbox fill code had a wrong cast when testing for
1983 an empty listbox on the first element, so that it only tested the low byte
1984 of the pointer, in stead of the entire pointer for NULLness. As a result
1985 the contents of the listboxes could suddenly disappear when even when it
1986 was non-empty, because the first filename was allocated at an unlucky address.
1987
1988 2013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1989 Make Chat Box window obey -topLevel option
1990
1991 It was always popping up as a dialog of the main board, covering it.
1992 One could argue it should always be to-level.
1993
1994 2013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1995 Fix scrolling of Chat Box
1996
1997 Seems the problem is that scroll_to_iter does not work until after some time,
1998 needed to calculate line heights. Use scroll_to_mark instead, after clumsily
1999 adding a text_mark.
2000
2001 2013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2002 Fix GTK SetInsertPos
2003
2004 SetInsertPos() was not yet ported to GTK, with as a result that the cursor
2005 was positioned at the start of a line recalled in the ICS Input Box,
2006 rather than at the end. The code also called SetInsertPos to force scrolling
2007 to that point in the text (which in Xaw is an automatic side effect). So for
2008 multi-line text edits this function calls ScrollToCursor(). For some reason
2009 this does not work when replacing texts in the Chat Box memo, when switching
2010 chat, although it does work in the same memo when a line is added to the
2011 existing text.
2012
2013 2013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2014 Print score of final position in Analyze Game
2015
2016 The score/depth of the final position of the analyed game is added
2017 (as an explicit comment) behind the PV of the forelast position.
2018 To make this work, a new 'addBraces' mode (3) had to be added to
2019 AppendComment, which suppresses stripping of the score/depth from
2020 the comment.
2021
2022 2013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2023 Fix horrible bug in reading scores from PGN
2024
2025 Reading scores like -0.94 flipped the sign, because the integer part
2026 -0 would read as 0, and thus was no reason for sign flipping.
2027
2028 2013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2029 Fix disappearence of pieces that were moved illegally
2030
2031 Dragging damages the from-square, but it is not marked as such, because
2032 selective board redraws to update highlights and such would draw the piece
2033 that is really still there, making it flash on the from-square before
2034 the position after the move is drawn. This, however, backfires when the
2035 move was illegal, as then there is no draw of a new position, and the
2036 from-square stays empty. For now this is solved by making DisplayMoveError()
2037 order a total redraw. (As this is rare, only done in case of an error,
2038 and might even throw up a pop-up, the performance cost of this is acceptable.)
2039
2040 2013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2041 Fix quoting of book name in tourney file
2042
2043 The argument of -polyglotBook was written to the tourney file unquoted,
2044 which effectively made it disappear if it was an empty or blank string.
2045
2046 2013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2047 Provide compatibility with Alien Edition setup command
2048
2049 The setup command of the Alien Edition has a board-size specifier
2050 (possibly as prefix on a parent-variant name) between pieceToCharTable
2051 and FEN. The regular version would choke on that, precluding engines
2052 designed for the Alien protocol extension to have their setup processed
2053 when running under regular XBoard. This patch makes it skip the extra info.
2054
2055 2013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2056 Fix saving of analyzed game
2057
2058 Anotated games after batch-mode Analyze Game were not auto-saved,
2059 because the GameEnds() call supposed to do that was called with a NULL
2060 argument for resultDetails. Now it is called with the resultDetails as
2061 pre-existing in the gameInfo, or an empty string if none exist. This bug
2062 was masked by the fact that in standard game ends (mate, etc.) the
2063 analyzing engine would declare game end and supply a message.
2064  Also makes a distinction between Analyze Game and regular Analyze mode
2065 when resuming analysis after loading a game; only the former now would
2066 trigger a batch analysis.
2067
2068 2013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2069 Fix spurious popup after batch-mode Analyze Game
2070
2071 A batch analysis of games was not properly terminated, because the game
2072 mode was tested after it had already been changed. No oldGameMode is
2073 tested in stead.
2074
2075 2013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2076 Let XBoard -autoBox option also affect move type-in
2077
2078
2079 2013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2080 Fix GTK box popup
2081
2082 Key values > 255 are used for PgUp, PgDown etc., so to pop up only on
2083 printables needs a two-sided test.
2084
2085 2013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2086 Fix fatal error on unsupported board size
2087
2088 When a board size unsupported by the engine was requested through the
2089 New Variant dialog, this was discovered while the dialog was still up,
2090 causing the error message to pop up as a child of the New Variant dialog,
2091 so that it would immediately be taken down as the latter closed.
2092 As a result it could not be confirmed, so that XBoard would not exit, and
2093 was left in a pathologic state (ignoring window-close). This is fixed
2094 by performing Reset (which detects the error) after PopDown of New Variant.
2095
2096 2013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2097 Accept setup command for non-standard board size
2098
2099 The code to test if board-size is standard for the current variant
2100 has been moved to a subroutine, to allow its calling when receiving
2101 a "setup" command from the engine.
2102
2103 2013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2104 Fix buffer overflow in feature parsing
2105
2106 String features (variants, egt, myname and option) relied on a buf[MSG_SIZ]
2107 for processing their value. The Nebiyu engine had combobox options that
2108 required more than that. All string features are now stored in allocated
2109 memory rather than in static arrays, and StringFeature allocates a buffer
2110 of sufficient size for them. Only limitation now is the low-level input
2111 buffer in the InputSource threads, whih is a static buffer of 4096
2112 (=INPUT_SOURCE_BUF_SIZE) characters.
2113
2114 2013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2115 Fix vertical sizing of GTK board
2116
2117 The clipping of the boad at the bottom was due to resizing of the clock
2118 height when we first write it with a big font. This patch delays calculation
2119 of the final size until after the clock height changes.
2120
2121 2013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>:
2122 Updated German translation
2123
2124
2125 2013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>:
2126 Updated Ukrainian translations
2127
2128
2129 2013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2130 Fix of argument error
2131
2132 Oops. Pevious patch for skipping unknown multi-line arguments
2133 was still buggy.
2134
2135 2013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2136 Let popping up of WinBoard chatbox for channel open it
2137
2138 WinBoard now issues a +ch command for a channel when you pop up a chatbox
2139 for that channel. A work-around is added for the fact that the public
2140 FICS seems to ignore the first such command.
2141
2142 2013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2143 Make skipping of unknown option smarter
2144
2145 To make XBoard better resistant to the presence of disbanded or future
2146 options in its settings file, encountering those is no longer a fatal error.
2147 But the error recovery only consisted of skipping the rest of the line.
2148 This fails badly on string options with a multi-line value, which is
2149 enclosed by {braces}. We now detect that case, to skip to } instead.
2150
2151 2013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2152 Add -backupSettingsFile option
2153
2154 For better configurability of WinBoard, an option is added to optionally
2155 read a settings file, namely if no other settings file (other than the
2156 master file) was read so far. This can be used to import settings from
2157 a previous version, without destroying its settings file.
2158
2159 2013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2160 Repair WinBoard compile error
2161
2162 __GITVERSION was not defined in WinBoard, as it was only defined with a
2163 compiler flag by ./configure, which WinBoard does not use.
2164
2165 2013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2166 Work-around for Xt selection bug
2167
2168 In some Xt implementations calling extend-end with 0 params causes a crash,
2169 although the mmanual specifies this should default to a call with 'PRIMARY'.
2170 The default selection is now explicitly mentioned in all extend-end calls.
2171
2172 2013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>:
2173 fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change)
2174
2175 xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like
2176 ./xboard.texi:1026: @itemx must follow @item
2177 makeinfo seems right, @itemx is not used as described in the texinfo manual.
2178 Attached patch puts each item of the "Options" menu in it's own @subsection and formats the description of each item as a @table as neccessary. This way, xboard builds again and the manual doesn't look too bad.
2179
2180 2013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>:
2181 updated po/pot files
2182
2183
2184 2013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>:
2185 new version number for developer release
2186
2187
2188 2013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2189 Try to make life more bearable in Xaw menus
2190
2191 The alignment still sucks, but not as much as before.
2192
2193 2013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2194 Fix -topLevel option
2195
2196 This option was copletely ignored, after the refactorig.
2197
2198 2013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2199 Fix testing for valid window placement Xaw
2200
2201
2202 2013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2203 Suppress printing of status line in dual-board mode
2204
2205
2206 2013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2207 Fix sizing of slave board GTK
2208
2209 For lack of a known method to specify a default size for Graph widgets,
2210 we have to use the same system as for the main board: create with 0x0 size,
2211 and measure the size of the outer window to determine margins.
2212 After every popup we then resize to the required board size plus these
2213 margins. (Awful...)
2214
2215 2013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2216 Better handling of undefined window parameters
2217
2218 Repositioning and resizing a newly created dialog was based on the width
2219 parameter of the stored sizing info being valid. Now it is separately
2220 tested if the position is valid, so that sizing and moving can be done
2221 independently. This allows us to store position info, but not size info
2222 for the slave board, so that it automatically will use the size of the
2223 main board when first opened.
2224
2225 2013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2226 Limit debug print to debug mode
2227
2228
2229 2013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2230 Fix repositioning of GTK windows
2231
2232 After 'hide' and 'show' GTK would not position the window in the same place,
2233 but center it on the parent. Now we reposition the window after 'show' based
2234 on the WindowPlacement data (if available).
2235
2236 2013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2237 Remember window params of slave board
2238
2239 The slave board now has been assigned a WindowPlacement, which is also
2240 saved in the settings file, through new options -slaveX/Y/W/H.
2241
2242 2013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2243 Fix repairing of arrow damage
2244
2245 The '2' bit in damage[][] to indicate the arrow was erroneously cleared,
2246 rather than kept.
2247
2248 2013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>:
2249 fix OK-response in gtk dialogs, see c7f8df124
2250
2251 the fix in c7f8df124 needs to be applied to both of those if cases
2252
2253 2013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>:
2254 removed two more translations from debug output
2255
2256
2257 2013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>:
2258 fixed segfault of g_markup_printf_escaped which needs utf-8 strings
2259
2260 defined text-domain as utf-8 solved this
2261
2262 2013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>:
2263 fixed gtk-warning
2264
2265
2266 2013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>:
2267 removed some translation calls for messages in the debug log
2268
2269
2270 2013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>:
2271 add keyboard shortcuts back into Xaw version
2272
2273
2274 2013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>:
2275 in debug mode also print the git-version if available during build
2276
2277
2278 2013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2279 Print game-list timing messages only in debug mode
2280
2281
2282 2013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2283 Fix title of top-level windows
2284
2285
2286 2013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2287 Cure GTK warning in top-level windows
2288
2289 There is no OK button in top-level windows, so the 'response' signal is
2290 not defined, and should not be connected.
2291
2292 2013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2293 Fix graying of Revert menu item
2294
2295 The new code was checkmarking it in stead of enabling it!
2296
2297 2013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2298 Add -onlyOwnGames option
2299
2300 This suppresses auto-saving of ICS observed games.
2301
2302 2013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2303 Allow display of 50-move counter in zippy mode
2304
2305 No chance it could be considered cheating there.
2306
2307 2013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2308 Add new vertical pixel fudge
2309
2310 With the new GTK window type the board is 13 pixels too small.
2311
2312 2013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2313 Don't add PV moves on board clicking in AnalyzeMode
2314
2315 Playing PV moves by right-clicking the PV was only intended for clicks
2316 in the engine Output window, selecting from multi-PV analysis output,
2317 where by default it plays only the first move. PV walkig by right-clicking
2318 the board, however, would start the walk at the end even in AnalyzeMode,
2319 and thus add the entire PV. Which is probably not useful. So adding moves
2320 in that case has now completely been suppressed, so it can be used for
2321 harmless viewing of the latest PV.
2322  The behavior has also been made subject to a persistent Boolean option
2323 -appendPV, configured to true, with a checkbox in General Options.
2324  A checkbox has also been added there for controlling the -variations option,
2325 which is now also configured to true.
2326
2327 2013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2328 Remove checkbox for 'Move Sound'
2329
2330 This function is better controlled from the Sounds dialog.
2331
2332 2013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2333 Make switching between board windows absolute
2334
2335 Selecting the window in which to draw the board when the slave board for
2336 -dualBoard was up was done by a toggle. For unknown reason this could cause
2337 a situation where the drawing took place in the other window than the
2338 intended one. The code is made more robust by explicitly specifying which
2339 window to draw in, based on the partnerUp flag.
2340
2341 2013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2342 Warn about experimental nature of dual board
2343
2344 The message field, which for now is unused, now contains a warning message.
2345
2346 2013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>:
2347 add close buttons to gtk windows
2348
2349 use windows instead of dialogs for toplevel elements
2350
2351 2013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>:
2352 keyboard accelerators for both front ends.
2353
2354 moved them out of the string definition, so that gtk can add them automatically.
2355 Also wrote a function that loads them for X11.
2356
2357 TODO: add them again when creating X11 menu names
2358
2359 2013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>:
2360 added rotated shogi pieces for -flipback option and moved them to the themes directory
2361
2362
2363 2013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>:
2364 add test for pkg-config
2365
2366 exit configure in case we can't find it.
2367
2368 2013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2369 Only perform e.p. capture if there are rights
2370
2371 The heuristic for e.p. capture was such that any non-forward move with
2372 a Pawn to an empty square would delete the piece behind its new location
2373 (Xiangqi exempted). This is now limited to cases where EP_STATUS indicates
2374 that the deleted piece was a Pawn that performed a double-push on the
2375 previous move. (Or if there is unknown EP_STATUS.)
2376  This makes XBoard more generally suitable for use with variants that have
2377 non-conventional Pawn moves (with legality testing off). To guarantee this
2378 will not have any unexpected effects in normal Chess, this patch will only
2379 be active if legality testing is off.
2380
2381 2013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2382 Unreserve tourney game on exit during engine load
2383
2384 While waiting for the feature timeout we are not yet in TwoMachines mode,
2385 so quitting XBoard at that stage would not unreserve the upcoming game.
2386 A global flag 'startingEngine' similar to 'waitingForGame' now signals
2387 this condition.
2388
2389 2013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2390 Better fix of feature timeout
2391
2392 The previous fix of the 2nd engine's done=1 aborting the 1st engine's
2393 feature timeout by starting the game caused problems with v1 engines,
2394 or other engines that would never send done=1. It is now fixed by
2395 explicitly testing for a pending feature timeout after resurrecting
2396 the 1st engine, rather than having TwoMachinesEventIfReady wait for
2397 initDone to be set by reception of done=1.
2398  Also refrain from freezing the UI between match games, as in TwoMachines
2399 mode the UI is mostly disabled anyway.
2400
2401 2013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2402 Connect Ctrl key in WinBoard
2403
2404 The Control key is now checked during move entry, for excluding moves
2405 during analysis, or for copying pieces when editing a positions. But the
2406 WB front-end did not read it out yet!
2407
2408 2013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2409 Fix Makefile for install of Xiangqi pieces
2410
2411
2412 2013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2413 Add Xiangqi piece images to project
2414
2415 Let the images install in themes/xiangqi.
2416
2417 2013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2418 Revive -flipBlack option
2419
2420 The -flipBlack option in the cairo version is now implemented the same
2421 way as it was in XBoard, swapping white and black pieces in filpView mode.
2422 This requires a set black piece images that are the upside-down versions
2423 of the white ones.
2424
2425 2013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2426 Remove empty-square SVG images from project
2427
2428
2429 2013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2430 Add desktop stuff for .xop MIME type.
2431
2432 Icons and desktop file were missing, as was the automake code to package them.
2433
2434 2013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2435 Update NEWS file
2436
2437
2438 2013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2439 Add boolean -autoBox option
2440
2441 This option controls the automatic popup of the ICS Input Box on typing
2442 a printable character, which was annoing to some. The option can be
2443 set from the ICS Options dialog.
2444
2445 2013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2446 Draw both coords in a1
2447
2448 The lower-left board square needed two inscriptions, but DrawOneSquare()
2449 only allowed one, so that the file ID would not be written. Now two strings
2450 can be passed, and when align > 1 to indicate the alignment of the top
2451 string, it is still checked if a bottom string is present as well, which
2452 then is drawn with alignment 1 (= bottom right).
2453  The rank coord or piece count can now also be double digit.
2454
2455 2013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>:
2456 updated po files for new release (make distcheck)
2457
2458 2013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>:
2459 updated Changelog, NEWS, etc.
2460
2461 2013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>:
2462 new version number for release of 4.7.0
2463
2464 2013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2465 Let initial setting of Twice checkbox reflect current state
2466
2467 The Twice checkbox in the Tournament dialog of WinBoard was by default
2468 starting unticked. It is more convenient to have it preserve the current
2469 state, however, based on the -lpi or -lgi value. Like the auto-incremet
2470 checkbox already did.
2471
2472 2013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2473 Put GTK warning in about-box
2474
2475
2476 2013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2477 Fix warnings of build server
2478
2479
2480 2013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2481 Fix GTK error auto-raising board
2482
2483 The variable mainwindow is not set in the gtk2 version. Unfortunately
2484 it is still used to determine default board size...
2485
2486 2013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2487 Update Dutch WB translation
2488
2489
2490 2013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2491 Add some new strings to WB translation template
2492
2493
2494 2013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2495 Assign shortcut char to WB menu item
2496
2497 The new Save games as Book item did not have a shortcut yet.
2498
2499 2013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2500 Let WinBoard start in its installation folder
2501
2502 The current directory in WinBoard was not automatically the same as the
2503 installDir returned by SearchPath. Especially not if used without shortcut
2504 by file association.
2505
2506 2013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2507 Fix warning in WinBoard
2508
2509
2510 2013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2511 Fix expose of to-square with grid off
2512
2513 The code relied on drawHighlight to request an expose evet for the entire
2514 square, but when lineGap = 0, drawHighlight is a no-op.
2515
2516 2013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2517 Fix library order
2518
2519 On OS X dialog windows could not get focus if -lXaw appeared after
2520 -lX11 -lXt in the linker command. This was cured by moving
2521 @FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter
2522 of the automake file.
2523
2524 2013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2525 Preserve PGN tags when loading engine
2526
2527 Switching to EditGame mode would normally erase the tags, but when analyzing
2528 a loaded game this would be undesirable. When the engine is playing, keeping
2529 the tags is dubious, but it is not obvious what to put in a new name tag,
2530 so we leave that for now.
2531
2532 2013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2533 Preserve mode on engine loading (sometimes)
2534
2535 That the mode always switched to EditGame after engine loading was
2536 particularly annoying at the start of a game (where leaving BeginningOfGame
2537 mode would disablethe Time Control dialog, and the engine would not
2538 automatically reply if you start playing) and AnalyzeMode. These two
2539 modes are now preserved, BeginningOfGame by refraining from calling
2540 EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode
2541 be calling AnalyzeModeEvent() after the engine is loaded and repositioned.
2542
2543 2013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2544 Catch unknown engine in tourney games
2545
2546 When an XBoard instance is playing on a tourney it can happen that it is
2547 using a settings file with an engine list not yet containing a certain
2548 participant, because that participant was just installed in the instance
2549 that created the tourney file, but it did not save those modifications yet.
2550 This error is now caught, and leads to an error popup and stopping of the
2551 tourney play. This error was made non-fatal to allow the user to decide
2552 if he wants to quit with or without saving the settings (which, after all,
2553 does not seem up-to-date).
2554
2555 2013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2556 Adjudicate pawn-drop mate as loss in Shogi
2557
2558 Mating with a Pawn drop is illegal in Shogi, but rather than burdoning
2559 the legality-testing by this complex rule, we simply invert the result
2560 for such a mate. After all, Shogi customs are such that everything illegal
2561 leads to an immediate loss.
2562
2563 2013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2564 Adjudicate perpetual checks as loss also in Shogi
2565
2566 The Xiangqi code for recognizing perpetual checks is now also activated for
2567 Shogi, but in this case we bail out before checking for perpetual chases.
2568 The mini-Shogi case is then recognized as a win for gote.
2569
2570 2013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2571 Stalemate is a win in Shogi
2572
2573 In regular Shogi this never occurs, but in the mini variants it happens
2574 often enough.
2575
2576 2013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2577 Fix engine timeout problem in match mode
2578
2579 Reload of a reuse=0 engine would cause a done=1 event which would be
2580 abort the feature timeout of the other engine in the first game.
2581
2582 2013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2583 Enforce -popupMoveErrors
2584
2585 One move error was using DisplayError(), in stead of DisplayMoveError(),
2586 and thus did not obey the -popupMoveErrors option.
2587
2588 2013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2589 Update texi file
2590
2591
2592 2013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2593 Fix some warnings
2594
2595
2596 2013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>:
2597 Updated German translation
2598
2599
2600 2013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2601 Do delayed board draw also with -stickyWindows false
2602
2603 Only CoDrag needs to be suppressed on a configure event with
2604 -stickyWindows false, not the board redraw.
2605
2606 2013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2607 Let tellothers command add comment to PGN in local mode
2608
2609
2610 2012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2611 Allow use of ~ in pieceToChar for shadow pieces in any variant
2612
2613 The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and
2614 Bughouse. But this is not necessary, and in fact undesirable, as it made
2615 it impossible to implement Crazyhouse960, which combines shadow promotions
2616 with Fischer castling (only available in variant fischerandom)s, and thus
2617 has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable.
2618
2619 2012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2620 Resend engine-defined options after reuse=0 reload
2621
2622 When the engine process is re-spawned for a new game under -xreuse setting,
2623 any alteration of engine settings brought about through the Engine Settings
2624 dialogs would be lost, and revert to the engine's default. This is now fixed
2625 by re-sending all options (known from the previous load of the same engine)
2626 with the current settings immediately after "protover 2", and ignoring the
2627 engine's option features. Rather than clearing the option list, and
2628 redefining it from the option features.
2629
2630 2012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2631 Implement aborting of games on engine request.
2632
2633 A new game-end command is added. For bakward compatibility it is disguised
2634 as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails
2635 are recognized as special, and rather than ending the game in a draw (which
2636 GUIs not implementing this), the game will be completely 'expunged' from
2637 the match or tourney it is part of, leaving no trace in the saveGameFile.
2638
2639 2012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2640 Store some more tourney params in tourney file
2641
2642 The hash and threads settings, as well as ponder and book options are now
2643 also saved in the tourney file, so that tournaments can be played in
2644 parallel where these parameters differ, and no mess up can occur on
2645 restarting a touney after doing something else.
2646
2647 2012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2648 Do not automatically save aborted games in tourney PGN
2649
2650 When the game result is 'unfinished', we prompt for a filename rather
2651 then using the specified saveGameFile if a tourney is in progress.
2652
2653 2013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>:
2654 fix configure bug that showed up on OS X (couldn't find X11/Dialog.h)
2655
2656 X_CFLAGS (set by AC_PATH_XTRA) was not used in Makefile.am. It was used in tests for X11/Dialog.h, etc. so configure worked, but make didn't.
2657
2658 2013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>:
2659 Updated Ukrainian translations
2660
2661
2662 2013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>:
2663 removed trailing whitespace
2664
2665
2666 2013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>:
2667 Updated copyright notice to 2013
2668
2669
2670 2012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2671 Do not move to forwadMostMove when unpausing AnalyzeMode
2672
2673
2674 2012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2675 Use Ctrl key in AnalyzeMode to exclude entered move
2676
2677
2678 2012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2679 Implement insufficient mating material for Knightmate
2680
2681 KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
2682
2683 2012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2684 Fix rep-draw detection in drop games
2685
2686 In games like Crazyhouse every move is reversible, as captured pieces
2687 can eventually change sides again, and be dropped back on the board.
2688 So we have to search back a full 100 ply for repetitions, passing captures
2689 and Pawn moves.
2690
2691 2012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>:
2692 updated po/pot files
2693
2694
2695 2012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>:
2696 new version number for developer release
2697
2698
2699 2012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2700 Prefer pause mode on pondering engine over 'easy'
2701
2702 If the thinking engine is stopped after its move because it does not
2703 support pause, is is still better to use pause on the pondering engine
2704 than to switch of its pondering with 'easy', as the latter might not
2705 be instantaneous. Also switch off pondering in the thinking engine before
2706 it gives the move, just in case it does not respond immediately to
2707 easy / hard.
2708
2709 2012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2710 Update WinBoard translation template
2711
2712
2713 2012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2714 Fix min-Shogi promotion zone
2715
2716 In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
2717 that the white promotion zone was 2 ranks deep on 5x5 boards. This only
2718 happened in LegalityTest, but because this would classify all moves to
2719 4th rank an non-promotions, they would be printed with a faulty
2720 deferral (=) sign as promochar in SAN.
2721
2722 2012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2723 Do not clear PGN tags on Analyze File
2724
2725
2726 2012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2727 Fix -fSAN in AnalyzeFile mode
2728
2729 The exception that a PV relates to currentMove rather than forwardMostMove
2730 applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
2731 PvToSan did not properly restore the pushed game tail in this case.
2732
2733 2012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2734 Improve scaling of border bitmap (WB)
2735
2736 The StretchBlt mode is set from dither to delete.
2737
2738 2012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2739 Implement use of pause / resume protocol commands
2740
2741 Engines that implement feature pause=1 will be paused during their move
2742 on a pause event; pondering engines will be controlled either through
2743 'pause' or (if they don't support that) 'easy', which both should work
2744 instantaneously. If the thinking engine does not support 'pause', the pausing
2745 will be deferred to when it produces its move, and is implemented by not
2746 relaying the move, and switch off pondering for both.
2747
2748 2012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2749 Fix Loop-Chess promotions
2750
2751 Loop Chess is not a supported variant, but hould be playable as Crazyhouse
2752 with an altered pieceToCharTable, not defining the shadow promotion pieces.
2753 But with legality testing on promotion to shadow piece would take place
2754 even if the shadow piece was not defined.
2755
2756 2012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2757 Fix move highlighting with animation off
2758
2759 In WB the moving of SetHighlights to after the animation had broken the
2760 highlighting of engine moves, because it was also moved after DrawPosition.
2761 While it is DrawPosition that actually draws the highlights. Now it has been
2762 moved to just before DrawPosition.
2763
2764 2012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2765 Start browsing in currently-selected folder (WB)
2766
2767 The folder-browse dialog always started at My Computer, while file browsing
2768 started in the globally last-used folder (which might not be related at all
2769 to the file entry we are now browsing for).
2770
2771 2012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2772 Implement book-creation functions
2773
2774 A new menu item triggers conversion of the currently loaded PGN file
2775 to a Polyglot book, saved with the GUI-book filename. A (volatile) option
2776 -mcBookMode alters the probing algorithm to build a book from scratch by
2777 playing games (and using a form of learning).
2778
2779 2012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2780 Use colors in Board-Options dialog also for font pieces (WB)
2781
2782 The piece color settings now control the pieceColor or fontPieceColor
2783 settings, depending on the setting of -usePieceFont.
2784
2785 2012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2786 Implement auto-creation of ICS logon file
2787
2788 Under control of the new option -autoCreateLogon (which can be set from
2789 the ICS Options dialog) the first two lines in response to the ICS "login:"
2790 pompt will be saved on a newly created logon file (if logon from such
2791 an existing file failed).
2792
2793 2012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2794 Add Themes dialog (WB)
2795
2796 This dialog, done by the generic popup, contains controls for many settings
2797 that so far could only be controlled by options. It also introduces the
2798 concept of 'themes', sets of options stored in the multi-line option
2799 -themeNames.
2800   Add some dummy routines to suppress compile errors in functions that
2801 cannot be called yet in XBoard.
2802
2803 2012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2804 Allow external piece bitmaps and board border (WB)
2805
2806 The -pieceImageDirectory is now also used for WinBoard, to indicate
2807 a directory of .bmp files, used to replace the built-ins. The outline
2808 and solid bitmaps can be full-color. This allows winBoard to use the
2809 WinBoard-zeta graphics. A new option -border can indicate a bitmap file
2810 used to draw a half-square-wide border around the board.
2811   A white background has to be drawn underneath the black pieces, to avoid
2812 color-interference with the board, just like happens for the white pieces.
2813 These backgrounds now always use bright white, rather than -withePieceColor.
2814
2815 We still have to work on the scaling of the zeta (600x600) bitmaps to
2816 the actual board size, as for some bitmaps the stratchblt is ugly.
2817
2818 2012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2819 Add 'Continue Later' button in Tournament dialog (WB)
2820
2821 This button makes it possible to accept the values specified in the
2822 dialog without immediately starting the tournament (as OK does),
2823 so you can re-open the dialog later, and OK it then.
2824
2825 2012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2826 Load opponent logo based on handle in ICS play (WB)
2827
2828 The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
2829 etc. If no logo for the handle is found there, the logo of the ICS is
2830 displayed as usual.
2831
2832 2012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>:
2833 Fix configure script for --enable-zippy  (tiny change)
2834
2835 reported and patch by Daniel.
2836
2837 edited by Arun Persaud:
2838 - also fixed #ifndef ZIPPY -> #if !ZIPPY
2839 - didn't change #if -> #ifdef
2840
2841 2012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>:
2842 don't define X_LIBS when using gtk-frontend
2843
2844
2845 2012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>:
2846 updated po/pot files; added new frontend files
2847
2848
2849 2012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>:
2850 fix configure script for --with-Xaw and --with-gtk
2851
2852 made Xaw the default and included xaw or gtk sources as extras
2853 in case the other frontend is selected for make distcheck
2854
2855 2012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>:
2856 new version number for developer release
2857
2858
2859 2012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2860 Draw frames around memos and listboxes
2861
2862
2863 2012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2864 Adapt lineGap during sizing
2865
2866
2867 2012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2868 Fix clock highlighting
2869
2870
2871 2012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2872 Fix Chat Box
2873
2874 The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
2875 handler for special keys in one-liner text edits.
2876
2877 2012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2878 Pay attention to NO_CANCEL dialog flag
2879
2880
2881 2012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2882 Fix clock clicking with GtkEventBox
2883
2884 Like in WinBoard the button-3 case is now handled in the primary
2885 event handler (and communicated to it in a kludgy way). It would be
2886 better if this was absorbed in ClockClick().
2887
2888 2012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2889 Fix logo placement
2890
2891 Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
2892 FIXED_H (which only the logos did) is now packed into a (borderless) aspect
2893 frame.
2894
2895 2012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2896 Add window positioning
2897
2898 Sticky windows now sort of works, but needs unexplained fudge factors.
2899 Reopening a persistent dialog centers it on the board, and disobeys
2900 the positioning command. The WindowPlacement of the BoardWindow was
2901 again added (it was commented out during development).
2902
2903 2012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2904 Make board sizing work through subtracting fixed height
2905
2906 There is now no attempt to give a size to the board drawing area, so it
2907 can later be sized as small as we want. The frame width is determined
2908 by subtracting the nominal board size from the actual window size,
2909 (because the clocks will have that width, and the board will startas 1x1),
2910 while the vertical margin is determined as the difference between the
2911 bactual window height, the drawing-area height minus a fudge of 25 pixels
2912 to compesate for the erroneously allocated blank space below the board.
2913
2914 2012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2915 Fix warnings
2916
2917 The highTextStart/End are now declared in engineoutput.h, shared between
2918 nengineoutput.c and xengineoutput.c. Unused variables were removed.
2919 Also fix warnings in xboard.c and xoptions.c.
2920
2921 2012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2922 Delete emptied front-end files, and move rest to gtk directory
2923
2924 Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
2925 and xhistory have been completely cleared off content, and were removed.
2926
2927 2012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2928 Add copy-paste
2929
2930 The code from gtk-xt could be used with almost no modification.
2931
2932 2012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2933 Some experimenting with sizing
2934
2935 Does not work as intended yet.
2936
2937 2012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2938 Add task-bar icon
2939
2940 Funny enough it was necessary to swap the two svg icons to make this work!
2941
2942 2012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2943 Make some tall dialogs multi-column
2944
2945 A dummy button was added to the last row of New Variant to make the
2946 number even. A legality-test warning as put in the New Variant dialog
2947 Fix width of tourney-file in Match dialog
2948
2949 2012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>:
2950 updated some icons to SVG
2951
2952
2953 2012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2954 Add displaying of icons
2955
2956 A new Option type, 'Icon', was added for this as in GTK Icons and Labels
2957 need different types of widget. The icons are now svg, so we could
2958 remove the icon pixmaps.
2959
2960 2012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2961 Fix button bar
2962
2963
2964 2012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2965 Add BarBegin, BarEnd options
2966
2967 This makes the button bar display correctly. Also fix v-sizing of menu bar.
2968
2969 2012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2970 Add listbox double-click callback
2971
2972 This function was formerly performed by WheelProc.
2973
2974 2012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2975 Add hiding / showing second Engine Output pane
2976
2977 The handle of the GTK table for the second engine is stored in the
2978 EndMark handle by GenericPopUp, so it can be used later to hise/show
2979 that table.
2980
2981 2012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2982 Use different tables for different dialog columns
2983
2984 Making the same table wider (in steps of 3) to get multiple columns
2985 does not work, because it forces options to align vertically. This
2986 wrecks dialogs like Load Engine, where one column contains a very
2987 high option (listbox). Now differnt tables are created for each column,
2988 packed in a new itermediate hbox. In case of the Engine Output window,
2989 a vbox is used instead to cause vertical stacking.
2990   Only multi-line text-edits and listboxes are now allowed to take up
2991 vertical space changes, while only the middle colum of the table
2992 can take up horizontal size changes. Within packing boxes space is
2993 equally distributed.
2994   The labels above the particiant-selection widgets had not the same width
2995 as the textview / listbox, leading to misplacement of the second label.
2996   For Engine Settings the spontaneous breaking into columns did not
2997 involve a SAME_ROW flag, so the 'columns' were stacked vertically.
2998 In addition the columns were too tall for GTK. They are now 20 options max.
2999
3000 2012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3001 Deselect first char in Move Type-in and ICS Input Box
3002
3003 After popup the Move Type-In had the typed character in it, but it was
3004 selected, so that typing a second character would erase it again.
3005 Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.
3006
3007 2012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3008 Close Move Type-in on Enter
3009
3010 The code is squeezed into the ICSKeyEvent callback.
3011
3012 2012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3013 Add access routines to checkboxes and FocusOnWidget
3014
3015 The <Enter> handler of the filter field needs it to return focus to
3016 the listbox.
3017
3018 2012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3019 Add game-list callbacks
3020
3021 The callbacks for listbox and filter text are treated by the same callback,
3022 which does both key presses and button double-clicks.
3023 Giving focus back to the listbox after filtering does not yet work!
3024
3025 2012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3026 Add optional callback to Label Options
3027
3028 For some reason this does not work. The callback isn't called!
3029
3030 2012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3031 Add type-in event to board for popping up box
3032
3033
3034 2012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3035 Add Shift detection
3036
3037 The state of Shift and Ctrl was only probed on button clicks, so it
3038 is now read out of the button-event struct in the relevant button handlers.
3039 For backwad compatibility, they store it in a global, so the routine
3040 ShiftKeys can take them from there.
3041
3042 2012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3043 Remove some unneeded low-level X11 code
3044
3045 Things like tabbing between controls, mouse-wheel scolling etc. are all
3046 automatic in GTK, and thuse don't need to be ported.
3047
3048 2012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3049 Add file browser
3050
3051 The gtk-xt code for browsing in response to menu items rather than dialog
3052 browse buttons) was grafted. It seems desirable to merge the two browsing
3053 functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
3054 The code was altered to use DelayedLoad.
3055
3056 2012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3057 Fix ListBox, and add some support routines
3058
3059 The srolled-window for the listbox used a uninitialized variable for its
3060 width, causing a crash. Now it pays attention to the Option.max and .value
3061 size hints. The access routines were copied from gtk-xt. HighlightWithScroll
3062 could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.
3063
3064 2012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3065 Connect CommentClick handler
3066
3067 This can make use of generic memo callback, so it could be entirely
3068 backend. Therefore it was moved to dialogs.h. As it shared a global with
3069 some other back-end popup routines to remember the current move, these
3070 could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
3071 so it has now been put in a header. :-( )
3072
3073 2012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3074 Fix animation
3075
3076 Because FrameDelay does block the event loop, even though it releaes the
3077 CPU, expose events start to lag behind the actual drawing. By combining
3078 expose events for overlapping squares, rather than decompose them into
3079 3 rectangles, this problem seems to go away. But only if there is an
3080 extra exposure on the squares to be drawn also non-overlapping frames
3081 will be properly drawn (?!).
3082
3083 2012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3084 Implement highlighting in engine output by through generic method
3085
3086 HighlightMove was made generally available for all text. It is now just a
3087 wrapper for the generic HighlightText, and could be moved to the back-end.
3088 (This requires the initialization to be widget specific, and the flag
3089 indicating it has been done is now stored in the Option.min field.)
3090
3091 2012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3092 Let engine-output memos use new generic callback
3093
3094
3095 2012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3096 Add scrolling of Move History
3097
3098 To have access to the textview, its handle is now stored in the
3099 Option.textValue field.
3100
3101 2012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3102 Add highlighting in move list
3103
3104 For now it is assumed the normal background will be white (for clearing
3105 the highlight).
3106
3107 2012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3108 Make generic memo-event handler, and connect history callback
3109
3110 Large text widgets can now define a user handler in their Option.choice
3111 field. If they do, agneric callback is added tothem, which catches mouse
3112 events. Button release and pointer motion pass their coordinate and type
3113 to the specified user routine. Button presses in addition retrieve
3114 the text from the widget, set the cursor in it to the clicked point,
3115 and convert it to a character position, also passed to the user.
3116   The user is responsible for ignoring events he is not interested in.
3117
3118 2012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3119 Add key-handler for ICS Input Box
3120
3121 In contrast to the X11 code, all intercepted keys are now treated by
3122 the same callback. The ICS Input Box callback triggers on Up, Down and
3123 Return key, and refers to these symbolically.
3124
3125 2012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3126 Highlight Pause button
3127
3128
3129 2012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3130 Better cleansing of xboard.c from X11 types
3131
3132 The #includes for X11 files were still in there.
3133
3134 2012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3135 Add text insertion in engine-output memos
3136
3137
3138 2012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3139 Append recent engines to engine menu
3140
3141 This is now entirely moved to the back-end, by doing it in the table
3142 from which the menus are later generated. The special callback for engine
3143 items is abandoned, and the euProc for such items is left NULL to flag
3144 that RecentEngineEvent should be invoked with the applicable engine number.
3145 To calculate the latter a global variable firstEngineItem is dynamically
3146 set to the length of the regular engine menu.
3147
3148 2012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3149 Transfer more gtk-xt code, and add some new
3150
3151 Add input-source handling
3152 Graft color picker (<Enter> callbeack in the text field is still missing!)
3153 Handle contents of label widgets (store handles in Option for access)
3154 Add printing of clocks
3155 Add printing of window title
3156 Pay attention to BORDER attribute of Label Options (pack in frame)
3157 Delete ReadBitmap code (also remove #including of bitmap files for icons)
3158 Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll)
3159 Support vertical stacking in Break Option (no table widening when !SAME_ROW)
3160 Make default horizontal scroll policy automatic (for engine-output window)
3161 Fix disabling of unused spinners in TC dialog
3162
3163 2012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3164 Connect dialog Browse buttons to GTK browser
3165
3166
3167 2012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3168 Implement menu checkmarking and enabling
3169
3170 odes in the (later over-written) handle field specify which items
3171 are to be checkmarked, and by what style button.
3172
3173 2012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3174 Attach expose handler and connect to mouse events
3175
3176 The GraphExposeProc is conected to the Graph widgets. A gdk draw routine
3177 is used to copy the buffer bitmap to the display. It is also connected
3178 to button and motion-notify events.
3179   In this version the board can be fully operated with the mouse.
3180
3181 2012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3182 Transfer most available gtk-xt code to xoptions.c
3183
3184 GenericPopUp and PopDown are grafted from gtk-xt into gtk2.
3185 The version compiles, but segfaults before doing anything, with error
3186 messages about unexpected cases in GenericPopup for Graph and PopUp Options
3187 of the main board. The spin options need special treatment in GetWidgtText.
3188
3189 2012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3190 Give LoadListBox two extra parameters
3191
3192 It often occurs that we just want to swap two elements, and reloading
3193 the entire listbox would be a very inefficient way to do this in widget
3194 sets that allow access to a single element.
3195
3196 2012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3197 Remove all X11 code by #ifdeffing it out
3198
3199 With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling
3200 X11-free version. The disabled sections can then be replaced by code
3201 for another widget set, the X11 version still showing what it was supposed
3202 to do.
3203
3204 2012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3205 Move timer functions to new file xtimer.c
3206
3207 The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
3208 go into a separate file.
3209
3210 2012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3211 Make xevalgraph.c backend
3212
3213 The only front-end stuff left in xevalgraph.c was an unnecessary reading
3214 of the window size (which could be obtained from the WindowPlaceent struct),
3215 and drawing (all cairo now). The drawing was moved to draw.c, and the
3216 remaining part renamed nevalgraph.c.
3217
3218 An attempt to list them in a less chaotic way.
3219
3220 2012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3221 Cleanse back-end code of all references to X11 types
3222
3223 When compiling for X11, common.h #included X11/Intrinsics.h so that
3224 X11-specific data types could still be used throughout the back-end part
3225 not shared with WinBoard. By temporarily disabling this, error messages
3226 could be generated on all such occurrences, and were then solved. This
3227 included the following:
3228   The InputSource struct is not uses in usystem.c at all, and its definition
3229 could be moved to xboard.c. InputSourceRef, which logically should heve been
3230 defined as (InputSource *), is in reality (void *), so the back-end can
3231 pass it around.
3232   Some non-platform-dependent stuff of general interest had prototypes
3233 (or external vars) in xboard.h. This is now moved to a new header xboard2.h,
3234 to allow it to be shared without bringing in X11 dependence.
3235   The EngineOutputProc was defined inconsistently, but the header was not
3236 sufficiently shared to flag this error. This has been repaired now, by moving
3237 the template to menus.h.
3238
3239 2012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3240 Remove xedittags.c, .h from project
3241
3242 The tiny bit of code that was left was absorbed in dialogs.c, the one
3243 prototype to menus.h.
3244
3245 2012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3246 Remove inclusion of frontend.h from backendz.h
3247
3248 This did not seem to serve any purpose at all.
3249
3250 2012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3251 Split xhistory.c in front-end and middle-end part
3252
3253
3254 2012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3255 Move MarkMenuItem to xoptions.c
3256
3257 This to make xoptions.c completely independent from the inclusion of
3258 frontend.h. The prototype is moved to menus.h.
3259   Loose end: DrawPosition in board.c does not see the prototype.
3260 Very suspect that it wants to see it. Why would it have to correct the
3261 flipView setting??? Better se to it that it is correct to start with!
3262
3263 2012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3264 move testing for no options to back-end
3265
3266 The test if an engine has options and display a note instead of
3267 the Engine Settings dialog when this is not the case is moved
3268 to outside of GenericPopUp, to make the later independent of calling
3269 other routines.
3270
3271 2012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3272 Remove some unnecessary header includes
3273
3274
3275 2012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3276 Move ICS-engine analyze and AnalyzeGame code to shared back-end
3277
3278 This code was still duplicated between WB and XB in the front-ends.
3279 Because of its incorporation in AnalyzeModeEvent the 'middle-end'
3280 function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made
3281 to return an int to flag its success, and keep the JAWS code based
3282 on it out of XBoard.
3283  The AnalyzeGame code  is now incorporated in AnalyzeFileEvent().
3284
3285 2012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3286 Add configure switches for Xaw vs GTK.
3287
3288 This patch is an adapted version of the one Arun made at the end of the
3289 gtk2 branch. It uses the exact same version of his configure.ac, but the
3290 Makefile.am is adapted to the situation in master at the beginning of it,
3291 after duplication of the X11 front-end files in the xaw directory for
3292 preserving them, while the versions that will be modified to GTK front-end
3293 are still in the xboard directory.
3294
3295 2012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3296 Prepare xoptions.c for middle-end changes
3297
3298 Some changes that can be pre-empted, such as the splitting of Label
3299 into Label and Icon Option type, and some dummy wrappers are already
3300 implemented, so they can be used when needed by GTK.
3301
3302 2012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3303 Preserve copies of the X11 front-end in xboard directory
3304
3305 The X11 front-end has been moved to the xaw directory, but copies
3306 are retained for modifying them to gtk versions.
3307
3308 2012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3309 Move X11 front-end to directory xaw
3310
3311
3312 2012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3313 Fix initial enables in TC dialog
3314
3315
3316 2012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3317 Fix image extension used for browsing to .pgn
3318
3319
3320 2012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3321 Fix WinBoard compile error on enum PEN
3322
3323
3324 2012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3325 Fix crash in promotion popup
3326
3327 There were not enough entries for Capablanca Chess with legality-testing off,
3328 where King is also presented as a choice.
3329
3330 2012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3331 Fix message in New Variant dialog
3332
3333 Even in -ncp mode the message was referring to the 'current engine'.
3334
3335 2012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3336 Fix crash on animation after resizing
3337
3338 The animate buffers were still holding pointers to a discarded cairo surface.
3339
3340 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3341 Fix variant-dependent pieces
3342
3343 The code to select the actually used piece images from the available ones
3344 (from InitDrawingSizes) is now made into a subroutine, and also called
3345 after resizing the pieces.
3346
3347 2012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3348 Replace marble texture pixmaps by png
3349
3350
3351 2012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3352 Replace xiangqi board pixmaps by png images
3353
3354
3355 2012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3356 Remove the texture pixmaps from project
3357
3358 These were already replaced by png textures.
3359
3360 2012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3361 Fix re-rendering of svg on resize
3362
3363 The previously prepared bitmaps were retained if we resized, rather then
3364 rendering the svg atthe new size.
3365
3366 2012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>:
3367 update po/pot files
3368
3369
3370 2012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>:
3371 new version number for developer release
3372
3373
3374 2012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>:
3375 we still need a few bitmaps, so the directory needs to be included in Makefile.am
3376
3377 make distcheck complained about this
3378
3379 2012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3380 Rename svg shogi pieces, so they become usable
3381
3382 Only white pieces are present. For black they would have to be flipped.
3383
3384 2012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3385 Fix bug in resizing on variant switch
3386
3387 The fix of the garbage pixels had unfortunately broken this.
3388
3389 2012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3390 Fix bug in fallback mechanism
3391
3392 After failure to load a piece from a specified -pieceImageDirectory
3393 the default theme was not tried, because the cairo function to load
3394 from a pgn file returns a valid handle even if the file does not exist.
3395
3396 2012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3397 Get svg error message
3398
3399
3400 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3401 Fix variant-dependent pieces
3402
3403 The code to select the actually used piece images from the available ones
3404 (from InitDrawingSizes) is now made into a subroutine, and also called
3405 after resizing the pieces.
3406
3407 2012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3408 Remove caveat on available pieces fromNew Variant dialog
3409
3410 In the cairo version all pieces are available at all board sizes.
3411
3412 2012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3413 Remove some unused images from png directory
3414
3415 Currently only the three board texture files are used. But the piece
3416 images are still left, because they might be useful if we ever want
3417 to mae XBoard configurable for not using librsvg.
3418
3419 2012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3420 Fix bug in resizing
3421
3422 The nominal size of the window was not set in the correct Option struct.
3423
3424 2012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3425 Prevent odd-width line shift in length direction
3426
3427
3428 2012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3429 Print missing-pieces error message to console
3430
3431 The GUI might not yet be up at this point.In addition, suppress
3432 the rest of the code, because it could give segfaults.
3433
3434 2012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3435 Fix garbage pixels on the right of the board
3436
3437 The extra pixel that is requested in sizing the board window back to
3438 an available size because we ofte get one less pixel than we ask for
3439 can lead to a line of garbage pixels next to the board. This is combatted
3440 by limiting expose events to the true board area, remembering that in the
3441 Graph Option rather than the actual window size, and suppressing resizing
3442 when the latter only exceeds the stored width by more than 1 pixel.
3443
3444 2012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3445 Trim board-window size
3446
3447 The board window will sometimes be a pixel larger than requested.
3448 The ReSize routine will now reset the size values in the Graph Option
3449 to what they were supposed to be, to prevent expose events will
3450 draw nonsense in the extra space.
3451
3452 2012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3453 Adapt docs for svg/png in stead of bitmap/pixmap
3454
3455
3456 2012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3457 Spontaeous changes in gettext stuff
3458
3459
3460 2012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3461 Move Shogi svg pieces to own directory
3462
3463
3464 2012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3465 Remove unnecessary Xt colors and call to MakeColors
3466
3467
3468 2012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3469 Code cleanup: move expose redraw to draw.c
3470
3471
3472 2012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3473 Suppress warning for InitDrawingHandle
3474
3475
3476 2012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3477 Make fallbackPieceImageDirectory hardcoded
3478
3479
3480 2012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3481 Increase drag delay too 200 msec
3482
3483 On my slow laptop it can take more than 100 msec to reallocate bitmaps
3484 in the generic expose, with as a consequence that the DelayedDrag event
3485 is not processed before the timeout expires. The timeout event then triggers
3486 a redraw, which again takes so long that the timeout expires before the
3487 event to reset the timer could be processed, and this just perpetuates
3488 itself, leading to a large series of queued redraws, and a long waiting time
3489 for an image to appear after the sizing stops.
3490
3491 2012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3492 Fix segfault on faulty command-line option
3493
3494
3495 2012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3496 Suppress anti-aliasing in -monoMode
3497
3498 In the color-substitution code, always use bi-level alpha and color.
3499
3500 2012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3501 Remove piece pixmaps from project
3502
3503
3504 2012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3505 Implement proper fallback cascade
3506
3507 Try in order cached svg, cached bitmap, user png, user svg, default svg.
3508
3509 2012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3510 Cache svg handles
3511
3512
3513 2012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3514 Install svg pieces in themes/default
3515
3516 The svg pieces are installed with the XBoard data in the directory
3517 .../xboard/themes/default . A new option -fallbackPieceImageDirectory
3518 is added, and is configured in the master settings file to point to
3519 these pieces. This options, which replaces -svgDirectory, is volatile,
3520 and the menu control to set it is removed. The -pngDirectory option
3521 is renamed to -pieceImageDirectory (-pid).
3522
3523 2012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3524 Remove bitmaps from project
3525
3526
3527 2012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3528 Install the wood textures as png
3529
3530 The xboard.conf has to be edited to set these as default textures,
3531 in stead of the .xpm files.
3532
3533 2012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3534 Add hatched board texture
3535
3536 A png file with hatching is added, so it can be used for dark squares
3537 in a monochrome theme. It is installed in a new data directory
3538 .../xboard/themes/textures.
3539
3540 2012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>:
3541 added a black and white theme to replace the mono option
3542
3543
3544 2012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>:
3545 added SVGs to dist files in automake
3546
3547
3548 2012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3549 Fix exposure of atomic captures
3550
3551 The grid lines had to be repaired too, so damage marker 2 had to be used.
3552
3553 2012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3554 Fix animation with textures off
3555
3556 The blank square was not shifted to (0,0) when drawing the animation buffer.
3557
3558 2012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3559 Fix 1-pixel offset of grid lines on some cairo implementations
3560
3561
3562 2012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3563 Solve odd lineGap problem
3564
3565 Not all cairo versions seem to round the same when an odd-width line
3566 is to be drawn at integer coordinates. So now we explicitly ask it
3567 to be drawn centered on half-odd-integer coordinates.
3568
3569 2012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3570 Add -trueColors option
3571
3572
3573 2012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3574 Always render svg pieces anew on size change
3575
3576 The svg pieces are now unconditionally rendered to supply the pngPieceImage
3577 master source otherwise read from png file. This is then fed into the
3578 original png code (so that if for some reason it fails, we fall back on png
3579 pieces, and finally on built-in pixmaps).
3580
3581 2012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3582 Fix rsvg version in configure.ac
3583
3584
3585 2012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>:
3586 initial svg rendering
3587
3588
3589 2012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>:
3590 added cairo and librsvg to configure process
3591
3592
3593 2012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>:
3594 added SVGs
3595
3596 converted from inkscape SVG to plain SVG before adding
3597
3598 2012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3599 Adapt Eval Graph code to new drawing system
3600
3601 The eval graph now triggers an expose after drawing, and gets its size
3602 from the Option fields.
3603
3604 2012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3605 Fix expose requests seek graph
3606
3607
3608 2012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3609 Make draw handle for board globally available
3610
3611
3612 2012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3613 Let expose requests pay proper attenton to widget
3614
3615 So far, expose requests were always assumed to be for the board widget,
3616 preventing display of the labels.
3617
3618 2012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3619 Fix initial display of logos
3620
3621 The logos were selected and printed during the initialization,
3622 before the main event loop was started. So the expose events during
3623 widget creation, which created the drawing surfaces, were only processed
3624 after the initial drawing of logos, so that there was nothing to draw on!
3625
3626 2012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3627 Fix alignment of highlight expose
3628
3629
3630 2012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3631 remove NewSurfaces
3632
3633
3634 2012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3635 Make expose handler generic
3636
3637 The Graph Option now returns two handles in hitherto unused fields of its
3638 Option struct: Option.choice is a cairo handle of a memory buffer the user
3639 must draw to, while Option.textValue is the handle to the widget.
3640 Expose events copy the memory buffer to the display for the exposed area.
3641 A routine DrawExpose() is supplied to let the user generate expose events.
3642
3643 2012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3644 Reload piece images when pngDirectory is changed
3645
3646 The OK function of the board options dialog now tests for a change
3647 in pngDirectory and passes a parameter to InitDrawingParams to tell
3648 it to destroy the old images. This cause a reload on scaling the pieces.
3649
3650 2012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3651 Suppress redraw during sizing
3652
3653
3654 2012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3655 Fix bug in resize trigger
3656
3657 Even if the square size does not change, the window has to be shrunk
3658 back to fit the board.
3659
3660 2012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3661 Make Piececolor options work on png pieces
3662
3663 The scaled, antialiased bitmaps are now colored according to the option
3664 settings. This is done by decomposing every pixel in a white, black and
3665 transparency component, which is possible because the opacity is
3666 directly give in the alpha channel, and black originally was a hard zero.
3667 So what you se in the red channel must be white (as the original white
3668 was #FFFFCC), and the rest of the opacity must be due to black.
3669   The color to be replaced (white for the white pieces, black for the black
3670 pieces) is then replaced by the original weight of this color times the
3671 color from the option.
3672
3673 2012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3674 Plug resource leak on rezising with pixmaps
3675
3676
3677 2012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3678 Fall back on built-in pixmaps if png pieces unreadable
3679
3680
3681 2012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3682 Do coordinate text alignment with cairo
3683
3684
3685 2012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3686 Some cleanup
3687
3688
3689 2012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3690 Clean up drawing code
3691
3692 Now all routines only draw through cairo, the destination surface can
3693 be passed to them, making it possible to do the duplicate drawing
3694 to the memory board image in a cleaner way.
3695
3696 2012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3697 Check in draw.c, draw.h
3698
3699
3700 2012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3701 Remove all bitmap & pixmap drawing
3702
3703 All Xt code for drawing the board is now removed, as are the
3704 -pixmapDirectory and -bitmapdirectory option. This version is now
3705 completely dependent on cairo for handling of all graphics anywhere.
3706 (The build-in pixmaps are still left, though, for later use as an
3707 alterative cairo source when no png files are found.)
3708
3709 2012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3710 Separate off drawing routines from xboard.c
3711
3712 A new source file draw.c is created to hold all code associated with
3713 board drawing. The routines for loading bitmaps and creating colors
3714 were left in xboard.c, though, as they are also used for handling
3715 icons and colors of widgets.
3716
3717 2012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3718 Fix erasing dots in seek graph
3719
3720 The cairo dots were just a little bit bigger than the old ones, so they
3721 were not properly erased, but left a remnant.
3722
3723 2012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3724 Cleanup CairoOverlayPiece
3725
3726
3727 2012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3728 Draw arrow also on backup image
3729
3730
3731 2012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3732 Fix highlight clearing
3733
3734
3735 2012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3736 Remove acceleration trick
3737
3738
3739 2012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3740 Implement variant-dependent png piece symbols
3741
3742
3743 2012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3744 Fix clearing of markers dots with promo popup
3745
3746
3747 2012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3748 Also render coordinates to backup board
3749
3750
3751 2012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3752 Remove debug print
3753
3754
3755 2012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3756 Let cairo also do evenly colored squares.
3757
3758
3759 2012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3760 Make dragged piece for excluding moves transparent
3761
3762
3763 2012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3764 Fix DrawSeekText
3765
3766
3767 2012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3768 Redo coordinate / piece-count printing ith cairo
3769
3770
3771 2012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3772 Also use cairo on slave board
3773
3774 With dual-board observing the drawing should be redirected to the
3775 slave board, so SwitchWindow should also switch the xlib-surface to
3776 one for the slave window.
3777
3778 2012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3779 Cure flashing of piece on from-square
3780
3781 In a drag-drop move the piece was flashed on the from square after the
3782 user dropped it on the to-square, because highlights were set before the
3783 move had updated the board. And highlighting with arrow can cause a redraw
3784 of the last board. Same with setting or clearing marker dots.
3785
3786 2012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3787 Specify proper condition for using cairo animation
3788
3789
3790 2012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3791 Allow resizing of board window
3792
3793 In full png mode the size of the board window is no longer locked.
3794 After resizing, the square size is calculated as the largest one that
3795 would fit the window, and the window is then shrunk around it. To prevent
3796 excessive redrawing during sizing, the redraw is delayed by putting it
3797 in DragProc.
3798
3799 2012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3800 Switch to using 64x64 png images
3801
3802 The bitmap scaling works better when the needed factors are not too large,
3803 as the svg rendering's anti-aliasing did not blur more than 1 pixel.
3804 So after shrinking too much the images are not effectively anti-aliased
3805 anymore.
3806
3807 2012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3808 Maintain in-memory copy of the board image
3809
3810 As reading back from the xlib-surface proves incredibly slow (cairo probably
3811 converts the entire image from Xt format to cairo format when we set it
3812 as a source, even though we only want to read a few dozen pixels), we now
3813 keep an exact copy of the board image as a cairo bitmap in memory. This
3814 restores the speed of the animation, but unfortunately leads to awful code.
3815
3816 2012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3817 Do animation with cairo
3818
3819 Unfortunately this is incredibly slow.
3820
3821 2012-10-04 18:36:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3822 Allow back-texture files to be PNG, (drawn with cairo)
3823
3824
3825 2012-10-04 15:10:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3826 Add png pieces
3827
3828 A new directory with 256x256 png piece images is added to the source tree.
3829
3830 2012-10-04 15:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3831 Add mode to draw PNG piece images through cairo
3832
3833 The PNG images have to be supplied as files in a -pngDirectory (a new
3834 option) with a 256x256 bitmap. They are then scaled by cairo to the
3835 desired square size. This does not work very well for the smaller sizes.
3836
3837 2012-10-03 14:45:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3838 Redo marker dots with cairo
3839
3840
3841 2012-10-03 14:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3842 Redo highlights with cairo
3843
3844
3845 2012-10-03 14:07:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3846 Make convenience routine SetPen globally available
3847
3848 The routine to set a pen as specified by  a color string that was used
3849 in xevalgraph is moved to xboard.c, where there also is lots of demand
3850 for it. The arrow drawing now uses it for setting the highlightSquareColor.
3851
3852 2012-10-03 12:28:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3853 Redo grid with cairo
3854
3855
3856 2012-10-03 12:00:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3857 Redo arrow highlighting with cairo
3858
3859
3860 2012-10-03 11:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3861 Redo seek graph with cairo
3862
3863 New front-end services DrawSeekOpen() and DrawSeekClose() have been
3864 added, and are called from the back-end to enclose any drawing activity.
3865 In WinBoard these had to be defined as dummies.
3866
3867 2012-10-02 15:31:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3868 Redo logos with cairo
3869
3870 The logos must now be .png files, and are internally handled as their
3871 filenames. (So no preparation of a drawable from it at startup.)
3872 Cairo allows them to be scaled to the requested logoSize.
3873
3874 2012-10-02 14:02:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3875 Fix Eval Graph resolution problems
3876
3877 Anti-aliasing had to be switched off to get a crisp graph. A second problem
3878 was that the dashed lines were drawn in both directions, with interfering
3879 dashes.
3880
3881 2012-10-02 10:54:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3882 Redo Eval Graph drawing with cairo
3883
3884
3885 2012-10-21 10:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3886 Fix button-border-width bug in monoMode
3887
3888 The kludge of signalling we are dealing wih a button rather than a label
3889 was wrongly implemented in case of momoMode.
3890
3891 2012-10-21 10:14:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3892 Reserve more space for button bar
3893
3894 In some board sizes the button bar was wider than the code guessed,
3895 so the window width would be determined by the message + buttons row rather
3896 than the board.
3897
3898 2012-10-21 11:24:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3899 Fix WinBoard compile errors
3900
3901
3902 2012-10-13 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3903 Fix non-NLS compile error for XFontStruct
3904
3905
3906 2012-10-12 12:04:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3907 Fix browsing for path
3908
3909 A pathname was still prefixed with the cuurent directory.
3910
3911 2012-10-07 21:00:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3912 Use Pause state in AnalyzeMode to imply move exclusion
3913
3914 The pause state was not used in AnalyzeMode so far. Now it is used to
3915 imply all entered moves are for exclusion/inclusion.
3916
3917 2012-09-30 18:55:13 -0700 Arun Persaud <arun@nubati.net>:
3918 new version number for developer release
3919
3920
3921 2012-09-30 22:16:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3922 Fix broken -ics and -cp options
3923
3924 The patch to specify engines and ICS by nickame broke the use of the
3925 regular options to do this, because they could also reset them. Now
3926 this is fixed by only setting them (through |= in stead of =).
3927
3928 2012-09-30 22:01:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3929 Update texi file
3930
3931 The description of exclude-moves, multi-game ananalysis and duo-analysis
3932 is added.
3933
3934 2012-09-30 10:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3935 Resolve conflict between -mps and -inc options
3936
3937 The age-old problem that a persistent valid -inc value will cause -mps
3938 to be ignored is solved by the kludge of storing these two as a single
3939 option (-mps) in the settings file, and declaring the other (-inc) volatile.
3940 The range of negative numbers (invalid as -mps value) was available for
3941 that, and now is used to store the negated value of -inc in msec.
3942 For backward compatibility, specification of -inc causes interpretation
3943 of -mps in the old way. The forcing of -inc to -1 in the master settings file
3944 could be safely removed because of this change, so that the time increment
3945 now is a persistent option.
3946
3947 2012-09-29 23:13:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3948 Allow entry of fractional increment in WB time-control dialog
3949
3950 The numeric edit is changed to a general text edit, and code is added
3951 to convert the text it contains to and from float, with proper error check.
3952
3953 2012-09-29 23:05:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3954 Preconfigure -icsNames in xboard.conf
3955
3956 Although XBoard has no startup dialog with an ICS combobox, the -icsNames
3957 option is now used to select lines from with the -is option, and in
3958 interpretation of positional arguments. The most common ICS are configured
3959 together with a short nickname, so that commands like "xboard fics" will work.
3960
3961 2012-09-29 22:58:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3962 Allow ICS nickname as positional argument
3963
3964 If an argument is encountered that is not preceded by an option name,
3965 it is now first checked if it corresponds to the nickname of an ICS
3966 in -icsNames. If so, it is assumed to be the value of an -is option,
3967 selecting -ics mode with that ICS and all the options installed with it.
3968
3969 2012-09-28 20:28:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3970 Cure some sick behavior in XBoard Engine Output right-clicks
3971
3972 When a PV-walk is in progress, the PV is highlighted by selecting it,
3973 and this focuses the attention of the scroll bar on it, so it remains in
3974 view. But after release, that line was kept in view, rather than scrolling
3975 back to the top of the window (where the header line bust be available
3976 for clicking)
3977
3978 2012-09-28 13:28:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3979 Allow Analyze Game to auto-step through entire game file
3980
3981 If the game index is set to auto-increment (-lgi -1), the Analyze Game
3982 function will automatically load the next game of the current game file
3983 (starting to auto-play/annotate that) when the end of the current game is
3984 reached. This flushes the annotated game if auto-saving was set,
3985 so that eventually all games in the file will be annotatd and saved.
3986   The game index is automatically set to auto-increment when we load
3987 a file while in Analyze Game mode, but switching this mode on while a game
3988 is already loaded will stop at the end of that game, as usual (if -lgi was
3989 not explicitly set).
3990
3991 2012-09-28 13:24:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3992 Let second engine move in lockstep during dual analysis
3993
3994 When the second engine is also analysing (as indicated by its stat variable
3995 second.analyzing), we send all moves / undos / positions /  in&excludes that
3996 go to the first engine also to second.
3997
3998 2012-09-27 19:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3999 Allow second engine to analyze too
4000
4001 Clicking the Analysis menu when analysis is already in progress will
4002 now toggle the secon engine to analyze the same position. For now,
4003 this lasts only until the position changes (or you leave analyze mode),
4004 after which the second engine is always switched off, and the Engine
4005 Output window returns to single pane. Each pane now has its own header
4006 line; the exclude header is suppressed in the second pane.
4007
4008 2012-09-27 18:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4009 Add options -fe, -se, -is to load installed engines/ics from list
4010
4011 The volatile string options -fe, -se ('first/second engine') load the first
4012 and second engine of the given nickname in the -firstChessProgramNames list,
4013 including all options that were installed with it (similar to when in
4014 WinBoard the that engine line had been selected through the Startup Dialog's
4015 combobox). The option -is is similarly used to retrieve the line for an
4016 ICS in the -icsNames list.
4017
4018 2012-09-27 18:02:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4019 Add check on validity of tourney participants
4020
4021 Before allowing OK of the Tournament Options dialog, it is now checked
4022 whether all participants (which are given as nicknames) can be found
4023 in the list of installed engines, so that no problems will occurr with
4024 non-existing engines during the tourney (if typos crept in after hand-
4025 editing the list).
4026
4027 2012-09-25 16:21:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4028 Implement --help option
4029
4030 The list of options is printed before exiting. Some attempt is made
4031 to do it in a nice way.
4032
4033 2012-09-23 20:10:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4034 Implement variant seirawan in -serverMoves option
4035
4036 Write the gating moves such that the ChessLive! viewer will understand them.
4037
4038 2012-09-23 20:05:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4039 Workaround for FICS bug
4040
4041 FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move.
4042 This broke 'Upload to examine', because that uploaded in SAN. In case the
4043 SAN starts with Bx or bx, it now uses long algebraic (with = before the
4044 promo char).
4045
4046 2012-09-20 18:17:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4047 Define XOP mime type for XBoard
4048
4049 Supply a white-knight icon for this mime type, called application/x-xboard-opt,
4050 and a sesktop file to associate it with running XBoard with this settings file.
4051
4052 2012-09-20 17:24:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4053 Pay attention to extension of 'positional' arguments
4054
4055 An argument without preceding option name was assumed to be an -lgf argument.
4056 This patch still does that by default, but if the argument ends in .fen, .epd,
4057 .trn, .ini or .xop it is considered an -lpf, -tf or -opt argument.
4058   In addition, an implied -lpf or -lgf argument also imply the option -viewer,
4059 which inserts the -viewerOptions string into the command line, and proesses it
4060 as options. A new option -tourneyOptions is similarly inserted for an implied
4061 -tf argument. These strings should contain all options needed to start XBoard
4062 fully configured as game viewer or tourney playing agent on the mentioned file.
4063
4064 2012-09-20 15:29:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4065 Let windows stick to right display edge (WB)
4066
4067 Auxiliary windows docked to the board window from below or to the right, which are
4068 pushed out of view when the board window resizes, will be trimmed to just touch the
4069 diplay edge (if sufficient width or height remains). When the board window shrinks,
4070 auxiliary windows touching the edge will be resized so they remain touching it.
4071
4072 2012-09-20 15:20:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4073 Round board size to one where piece images available (WB)
4074
4075 When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not
4076 available, the size is temporarily rounded to one of the sizes where they are.
4077
4078 2012-07-03 17:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4079 Fix bug in Edit Position
4080
4081 Due to = in stead of == the variant was always set to S-Chess in
4082 EditPositionDone().
4083
4084 2012-08-28 21:24:51 -0700 Daniel Macks <dmacks@netspace.org>:
4085 bug #37210: Mishandling of X11 -I flags (tiny change)
4086
4087 AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"'
4088
4089 2012-06-02 14:31:18 -0700 Arun Persaud <arun@nubati.net>:
4090 bug #36229: changed ICS_* from define to enum
4091
4092
4093 2012-05-28 13:58:00 -0700 Arun Persaud <arun@nubati.net>:
4094 bug #36229: changed STATE_* from define to enum
4095
4096 enabling better compiler checks
4097
4098 2012-05-28 13:50:50 -0700 Arun Persaud <arun@nubati.net>:
4099 bug #36229: changed PEN_* from define to enum
4100
4101 This should allow better checks by the compiler
4102
4103 2012-05-28 13:01:15 -0700 Arun Persaud <arun@nubati.net>:
4104 fix bug #36228: reserved identifier violation
4105
4106 variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards.
4107 See link in bug report.
4108
4109 2012-05-28 12:36:37 -0700 Arun Persaud <arun@nubati.net>:
4110 Updated German translation
4111
4112
4113 2012-04-30 20:06:00 -0700 Arun Persaud <arun@nubati.net>:
4114 new version number for developer release
4115
4116
4117 2012-04-24 11:23:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4118 Decapitalize promoChar in move parser
4119
4120
4121 2012-04-23 14:12:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4122 Keep track of virginity of back-rank pieces in variant seirawan
4123
4124 The forelast rank of the Board array is now used in VariantSChess to
4125 contain flags that indicate virginity of the back-rank pieces, one bit
4126 for white, the other for black. Legality checking of gatings now makes
4127 use of this info. FENs mention all virgin pieces not implied by castling
4128 rights in the castling field, by printing the corresponding file IDs,
4129 as long as holdings are non-empty. The FEN reader now also understands
4130 this format. EditPositionDone fakes virginity for all pieces that are
4131 on their starting square.
4132
4133 2012-04-17 19:49:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4134 Suppress clear-board message after pasting FEN
4135
4136 The message field is now always cleared when you leave EditPosition mode.
4137
4138 2012-04-17 19:45:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4139 Fix faking of castling rights after editing position with holdings
4140
4141 The queen-side rook was always imagined at X=0, which is in the holdings
4142 when these exist, so that Q-side castling in such games was never allowed
4143 after EditPosition.
4144
4145 2012-04-20 10:29:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4146 Fix WB Engine Settings window
4147
4148 The listbox patch has broken this window, by making it only list the
4149 first option of the engine, by switching to the next column based on a >=
4150 test rather than == test. Fixed by using 1000 as invalid value for the
4151 break point, rather than -1.
4152
4153 2012-04-20 00:01:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4154 Fix key binding of DebugProc
4155
4156 The name used for binding was DebugProc, while the ite was named Debug.
4157
4158 2012-04-16 20:51:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4159 Fix ICS Text Menu popup
4160
4161 The space for the option names needed to be allocated.
4162
4163 2012-04-16 20:37:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4164 Fix disabling of Load Engine menu
4165
4166
4167 2012-04-15 22:53:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4168 Port chat boxes to XBoard
4169
4170 A new menu item Open Chat Window is added to the View menu. It opens a
4171 window that can handle 5 chats. A row of buttons on top selects which is
4172 the foreground chat partner, to which we type, and whose incoming messages
4173 will be displayed in the memo. The leftmost 'button' is not really a button,
4174 but a text edit, and the active partner is displayed there (so it can be
4175 altered). Selecting another chat partner through a button, moves that partner
4176 to the text-edit, and reshuffles the buttons. Incoming messages in a chat
4177 that is not foreground make the corresponding button color orange.
4178
4179 2012-04-16 20:27:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4180 Allow chaining of single-line text-edits to top
4181
4182 For the benefit of the chat window, a text-edit plus leading description
4183 can now also be chained to the top edge of a dialog. The chaining of the
4184 (degenerate) multi-line ICS Input Box and Move Type-In was entirely to the
4185 bottom, which has now been corrected.
4186
4187 2012-04-12 09:30:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4188 Add logo widgets in main board window
4189
4190 New options -logoSize and -logoDir are added. The former enables logo display,
4191 when non-zero and not too big. The latter is used by -autoLogo. The options
4192  -firstLogo and -secondLogo also work. Problem is that the clock height
4193 is larger than the logo height, and for now a nasty trick in GenericPopUp
4194 is used to position the next element (message field) w.r.t. the clocks,
4195 rather than the last element of the row above (the logo): in case of a
4196 SAME_ROW Graph element, 'last' is kept at the previous element.
4197
4198 2012-04-19 10:48:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4199 Fix crash on time forfeit with -st option
4200
4201 When fixed time per move was set from the command line, the time-control
4202 strings were not set. This let to a crash when an engine forfeited.
4203 The GetTimeQuota function is now made resistant to a NULL pointer here.
4204
4205 2012-04-19 10:39:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4206 Solve WinBoard name clashes, fix zippy-analyze menu graying
4207
4208 Some of the function names used in the refactored X11 front-end collided
4209 with Windows system names from winboard.h, or with names of internal routines
4210 in WinBoard front-end files (so they could not be declared in frontend.h).
4211 These were renamed. Some prototypes in engineoutput.h contained X11 types,
4212 and they were moved to xboard.h.
4213   In addition, two menu-item names were corrected to two-part names.
4214
4215 2012-04-18 12:00:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4216 Offer primitive paging in file browser
4217
4218 If there are more than 1000 files that would have to be displayed,
4219 the number will be limited to 999, and a 'next page' entry will appear
4220 at the bottom. Clicking that will give you the next group.
4221  This is an emergency measure only, as it interferes with sorting
4222 (grouping is based on order inside the directory, i.e. kind of arbitrary,
4223 and sorting is only done within a group.) There is no such thing for the
4224 folder list yet. There is no way to go back to a previous page, other
4225 than closing and re-opening the browser, or selecting another file type.
4226
4227 2012-04-18 11:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4228 Add pixmap as file type known to browser
4229
4230 Users can browse for a pixmap to set the board texture.
4231
4232 2012-04-17 15:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4233 Fix warning about signedness
4234
4235 Note: the promoChar in ExcludeMoves was explicitly defined to make
4236 sure the kludge promoChar = -1 for indicating best move works. But it
4237 should be equivalent to casting the promoChar to (signed char) just
4238 before the comparison.
4239
4240 2012-04-17 15:44:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4241 Fix warnings about character index
4242
4243
4244 2012-04-17 15:37:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4245 Move ManProc to xboard.c
4246
4247 It calls ManInner, which requires X11 data types, even if the values are NULL.
4248
4249 2012-04-17 15:27:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4250 Move FileNamePopUp to dialogs.c
4251
4252
4253 2012-04-17 15:15:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4254 Fix readout of numeric combobox
4255
4256 As currently no numeric comboboxes are used, this bug was silent.
4257
4258 2012-04-17 15:10:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4259 Shuffle prototypes to correct header, or add them there
4260
4261
4262 2012-04-17 14:15:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4263 Fix MenuNameToItem
4264
4265 This function could crash when called with ann argument that did not
4266 contain a period, while the idea was that it should handle this as if the
4267 item is in noMenu (for user-specified key binding to non-menu funtions).
4268
4269 2012-04-16 19:43:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4270 Fix click-click under-promotion animation save
4271
4272
4273 2012-04-17 11:02:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4274 Define TOPLEVEL in winboard.c
4275
4276
4277 2012-04-17 10:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4278 Add two new strings to WinBoard language file
4279
4280
4281 2012-04-17 10:51:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4282 Fix second-engine variant test
4283
4284 The test whether the second engine supports the selected variant took place
4285 before the second engine was loaded, thus always coming to the conclusion
4286 that the variant was not supported, and aborting the TwoMachines command.
4287 The test is now moved to after second-engine loading (but before its
4288 initialization, where non-supporting would become a fatal error).
4289
4290 2012-04-16 12:11:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4291 Fix clearing of ICS input box after send
4292
4293
4294 2012-04-16 19:08:10 -0700 Arun Persaud <arun@nubati.net>:
4295 enable -Wall -Wno-parentheses for all compilers that understand them
4296
4297
4298 2012-04-16 13:18:37 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4299 Remove 5 unused variables from zippy code
4300
4301
4302 2012-04-16 13:14:06 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4303 Remove unused static function ShowTC
4304
4305
4306 2012-04-16 13:10:58 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4307 Remove unused static function MenuBarSelect
4308
4309
4310 2012-04-16 13:07:01 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4311 Remove unused variable first_entry from function find_key
4312
4313
4314 2012-04-16 13:01:09 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4315 Remove unused variable tm from function SaveGamePGN
4316
4317
4318 2012-04-16 12:56:46 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4319 Remove unused variable delayedKing from function QuickScan
4320
4321
4322 2012-04-16 12:52:57 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4323 Remove unused variable pdown from function UserMoveEvent
4324
4325
4326 2012-04-15 04:25:59 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4327 Change some double literals to floats.
4328
4329 To avoid unnecessary implicit promotions of float variables to double.
4330
4331 2012-04-15 11:12:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4332 Remove debug printf
4333
4334
4335 2012-04-14 22:43:03 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
4336 Translate "NPS" also in engine output window
4337
4338
4339 2012-04-14 16:19:34 -0700 Arun Persaud <arun@nubati.net>:
4340 removed unused variables (-Wunused-variable)
4341
4342
4343 2012-04-14 15:37:05 -0700 Arun Persaud <arun@nubati.net>:
4344 added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh
4345
4346
4347 2012-04-14 23:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4348 Fix Eval Graph scale in drop games
4349
4350
4351 2012-04-14 23:16:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4352 Fix ArrowDamage out-of-bounds access on drop moves
4353
4354
4355 2012-04-14 21:33:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4356 Implement automatic partner observe
4357
4358 Starting a game, or starting to observe one, now automatically issues a
4359 'pobserve' command if dual-board is switched on, so that the partner game
4360 will pop up in the secondary board (assuming it is bughouse).
4361  The secondary board now displays the players in the title. (This (lightly)
4362 breaks WinBoard again.) When the primary game ends, the secondary board
4363 closes automatically. Initial sizing of the board is repaired, and now uses
4364 the actual current board size, rather than the initial size of the main board.
4365
4366 2012-04-14 15:43:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4367 Fix crash due to empty PV
4368
4369 Reception of a stat01 command before the first PV could cause a crash,
4370 as apparently the parser cannot handle this.
4371
4372 2012-04-14 13:27:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4373 Suppress testing for availability in bughouse drops
4374
4375 Give up on testing legality of bughouse drop moves; this only causes problems,
4376 because the move list sent by the ICS is not accompanied by holdings updates.
4377 So XBoard parses it thinking the holdings are empty, making every drop move
4378 an ImpossibleMove. Bughouse can only be played on ICS, and we might as well
4379 trust the ICS that it will only pass us legal moves. A user should not be
4380 able to enter illegal drops; unavailable pieces cannot be grabbed from the
4381 holdings, and typing is diverted to the ICS directly (which would reject the
4382 illegal drop without XBoard even knowing about it).
4383   Also improve switching to bh/zh, based on drop move in initial board.
4384
4385 2012-04-14 09:11:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4386 Fix some compile errors / warnings
4387
4388
4389 2012-04-13 19:06:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4390 Fix promotionPopDown on new move entry
4391
4392 The promotion popup is non-modal, and old XBoard versions popped it down
4393 as soon as the user clicked the board, so he could just enter a new move
4394 to abort the promotion. This was broken in the new version, because the code
4395 to do the PopDown and abort in HandleUserMove had not been ported.
4396
4397 2012-04-13 18:38:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4398 Use in-place sweep-selection for click-click under-promotion
4399
4400 With detour under-promotion a piece cycles through all possible choices
4401 during backwards dragging. But in a click-click move there is no dragging.
4402 This used to be solved by letting the second click start a drag event of
4403 the default promotion choice, which you could accept by immediately
4404 releasing the mouse button, or drag around to change it first.
4405  The dragging in this case seemed a little unnatural, because the to-square
4406 was already indicated by the down-click. So it has been changed now to the
4407 promo choice appearing on the down-clicked to-square, followed by
4408 EditPosition-like sweep-selection on that square when one wants to under-
4409 promote. The move is always accepted no matter where the up-click takes
4410 place, except when it takes place on the from-square (which offers a last-
4411 resort abort possibiliy).
4412  Note that click-click promotion is essential in variants where it is not
4413 obvious from the from-square alone that a promotion is imminent, but where
4414 it depends on the to-square. (Such as Shogi.) There drag-drop detour under-
4415 promotion is not possible.
4416
4417 2012-04-13 16:05:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4418 Improve arrow drawing
4419
4420 The arrow is now erased together with the border highlights, by marking
4421 the damage it did, and then doing a selected redraw of the board to let
4422 the damaged square be re-drawn. Highlights of a previous move are now
4423 cleared on the down-click that selects a new piece, so there never is an
4424 arrow to infavorably interact with animation of dragging.
4425
4426 2012-04-13 14:57:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4427 Also do selective redraw with showTargetSquares on
4428
4429 The XBoard DrawPosition now also keeps track of the previous marker state,
4430 and redraws squares for which thi shas changed. As a result, the routine
4431 MarkTargetSquares does no longer have to force to complete redraw.
4432 (Breaks WinBoard?)
4433
4434 2012-04-13 00:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4435 Fix click-click sweep promotions to empty square
4436
4437 These did not work, because DragPieceBegin would fail on an EmptySquare.
4438
4439 2012-04-12 23:58:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4440 Move clearing of target squares to after drag end
4441
4442 A dragged piece that would partly overshoot its destination into a square
4443 with a marker would effectively protect that marker from erasing, when the
4444 erasing was done before the piece was released, because redrawal after the
4445 move only would draw the target square. (Unlike erasing, which forces a full
4446 redraw.)
4447
4448 2012-04-12 23:49:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4449 Fix double promotion popup
4450
4451 Only the up-click of a click-click move gives a promotion popup now.
4452
4453 2012-04-12 23:32:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4454 Fix promotion popup
4455
4456 The new GenericPopUp did not like it if the first button had 'SAME_ROW' set.
4457
4458 2012-04-12 17:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4459 Allow clearing of marker dots in any mode
4460
4461 There might already be dots when you change to a mode where there should
4462 be none, and you don't want them to stay on forever in that case...
4463
4464 2012-04-12 17:00:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4465 Fix redraw of secondary board on flipping view
4466
4467
4468 2012-04-12 10:30:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4469 Let clocks of secondary board count down
4470
4471 The back-end now remembers what is the active clock, and the time left on it.
4472 This is then decremented and updated together with the clocks of your own
4473 game, using the partnerUp flag to divert the clock display to the secondary.
4474
4475 2012-04-12 09:47:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4476 Fix 3 forgotten symbolic widget references
4477
4478
4479 2012-04-11 19:24:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4480 Add sound files to browser menu
4481
4482
4483 2012-04-11 13:04:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4484 Add New Directory button to file browser
4485
4486
4487 2012-04-11 09:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4488 Detect engine exit during startup
4489
4490 The case where engine startup failure does not result in a fatal protocol
4491 message, like "No such file", but where it simply exits, is now also covered.
4492
4493 2012-04-10 22:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4494 Suppress popup for fatal error after tellusererror
4495
4496 For cooperating better with Polyglot, and allowing more to-the-point
4497 error messaging, the (awful) default message will be suppressed if the
4498 dying engine already provided an explanation for its demise to the user.
4499
4500 2012-04-10 20:28:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4501 Fix Engine Output icon heights in international versions
4502
4503 The text in a label option could not be an empty string, or it would be
4504 'translated' to something of enormous size. So it is set to a space now.
4505
4506 2012-04-10 20:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4507 Fix internationalization
4508
4509 The internationalization was broken by moving the XtSetLanguageProc
4510 to behind 'bindtextdomain'.
4511
4512 2012-04-10 20:03:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4513 Make reference to board widgets symbolic
4514
4515
4516 2012-04-10 18:39:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4517 Don't strip path from engine name if directory given
4518
4519
4520 2012-04-10 17:54:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4521 Fix vertical chaining of Buttons and browser ListBoxes
4522
4523
4524 2012-04-10 15:53:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4525 Fix auto-play
4526
4527 The 'narrow search' modification had broken auto-play, because all selected
4528 games were marked as matching position 0, so that they would all start in
4529 thr opening position.
4530
4531 2012-04-10 13:30:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4532 updated po/pot files
4533
4534
4535 2012-04-10 11:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4536 new version number for developer release
4537
4538
4539 2012-04-10 13:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4540 Update POTFILES.in
4541
4542
4543 2012-04-10 13:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4544 Fix Makefile EXTRA_DIST
4545
4546
4547 2012-04-02 17:53:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4548 Use Ctrl key in EditPosition mode to copy pieces
4549
4550
4551 2012-03-28 23:51:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4552 Fix bug in FRC castling for position search
4553
4554 In FRC it is essential that both pieces are taken off the board before
4555 any of them is put back, lest they obliterate each other.
4556
4557 2012-03-28 12:25:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4558 Fix bug on loading engine
4559
4560 A newly loaded engine was put at the end of the game, rather than at the
4561 current position, (which is required in EditGame mode).
4562
4563 2012-04-06 17:02:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4564 Add 'Narrow' function to position search
4565
4566
4567 2012-04-06 10:52:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4568 Reorganize main() a bit
4569
4570 The font stuff goes into a separate routine, and the X11 stuff is
4571 moved backwards as far as possible.
4572
4573 2012-04-04 21:55:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4574 Give the dual-board option a separate board window
4575
4576 The second board window pops up whenever an alien board is received
4577 during your game. Moves in it are highlighted by an arrow, irrespective
4578 of the 'Highlight with Arrow' setting. The clocks are displayed, but do
4579 not count down.
4580
4581 2012-04-05 11:23:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4582 Port engine grouping to Match Options dialog
4583
4584
4585 2012-04-05 15:18:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4586 Change default directory in Load Engine to "."
4587
4588
4589 2012-04-05 10:49:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4590 Port grouping to XBoard Load Engine Add highlight to Load Engine grouping
4591
4592
4593 2012-04-06 17:19:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4594 Fix default file types for browse buttons
4595
4596
4597 2012-04-03 09:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4598 New browser
4599
4600 Redo file browser with GenericPopUp
4601
4602 This had to solve quite some problems, because it wanted to use a ComboBox
4603 option while a transient dialog could be up, was a non-engine dialog
4604 while an engine dialog is up, and XRaiseWindow does not work properly.
4605   Sorting is done alphabetically, or for digit groups by numeric value.
4606
4607 2012-04-02 14:43:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4608 Use ListBox in stead of ComboBox in Match-Options dialog
4609
4610
4611 2012-04-02 14:09:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4612 Use ListBox in stead of ComboBox in Load Engine dialog
4613
4614 Make Load Engine listbox sensitive to double-clicking
4615
4616 2012-03-26 17:06:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4617 Add message about enabling in New Variant dialog
4618
4619
4620 2012-03-31 20:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4621 Move LoadGamePopUp to menus.c
4622
4623
4624 2012-03-31 20:25:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4625 Move DisplayMessage to dialogs.c
4626
4627 Use the wrapper SetWidgetLabel to make it back-end.
4628
4629 2012-03-31 15:23:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4630 Fix switching debug option during session.
4631
4632 Switching on debug mode during the session did not create the requested
4633 debug file.
4634
4635 2012-03-31 15:22:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4636 Correct texi file for use of .Xresources
4637
4638
4639 2012-04-02 19:19:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4640 Fix recent-engines menu
4641
4642 A new primitive to create an item in a given menu was added to do this.
4643
4644 2012-03-31 10:54:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4645 Switch back two two-part menu names
4646
4647 The menu code is again completely changed; a handle field is added
4648 to the MenuItem tables to store the widget for the item, and this info
4649 is used to alter sensitivity or marking. MenuToNr is replaced by
4650 MenuNameToItem, which looks up the two-level name directly in the
4651 menu tables. Put all currently unused MenuProcs in noMenu table,
4652 so they are available for key binding through the new method.
4653
4654 2012-03-24 18:36:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4655 Redo main board window with generic popup
4656
4657 Some of the improvements in GenericPopUp (committed earlier) were added
4658 especiall for this (menu and box Option types), and the commits that used
4659 them to make a fully functional board, listed below, were collapsed into
4660 this one.
4661
4662 This uses the new box and menu features of the Generic popup.
4663 Make option table shadow board consistent with refactor
4664 Do main menus in shadow board
4665  The board made by GenericPopUp now also has (functional) menus. The Expose
4666  callback now also uses the new format (passing coordinates).
4667 Use BoxEnd callback to decide about smallLayout
4668  The shadow board now dynamically decides whether it should use smallLayout
4669  positioning of the title-in-window widget, using a callback in the BoxEnd
4670  option for the menu bar: If no reasonable amount of space is left behind
4671  the menu bar, the title is forced under the clocks (smallLayout).
4672 Do some mouse handling on shadow board
4673  Only button 1 events for now. We have to keep track if the button is down!
4674 Connect button 3 to shadow board
4675  For now only for piece and PV manipulation: no context menus yet
4676 Symbolic reference in option formatting
4677 choice <-> textValue xboard.c
4678 Improve expose callback shadow board
4679 Implement context menus of shadow board
4680  This uses the new generic PopUp option
4681 TopLevel xboard.c
4682 Make mock-up board available through menu item
4683 Make clocks of shadow board sensitive to clicking
4684 Make button bar of shadow board operational
4685  The back-end Event functions are specified as user callbacks directly;
4686  this is not very clean, as they are parameterless, but called with an int
4687  argument. This should have no bad consequences, though.
4688 Switch to using shadow board as main board
4689  The menu marking and enabling had to b switched off for this, as it
4690  only worked on the old menus. Remove HandleUserMove.
4691 Deleting of unused shell variables, clocks to dialogs.c
4692 Move BoardPopUp to dialogs.c
4693  This required passing on fome front-end vars as parameters, and returning
4694  apointer to the option list, to make the handles available in xboard.c.
4695 Simplify InitDrawingSizes
4696  Now that all widgets of the main window are properly chained, there is
4697  no need to resize them when the board format changes: setting a new width
4698  for the shell suffices.
4699 Cleanup some unused Xt Args
4700
4701 2012-03-31 10:53:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4702 Remove unnecessary menu unmarking for Edit Tags
4703
4704
4705 2012-03-29 19:09:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4706 Split sync-after options in Match dialog into checkbox + label
4707
4708 Now the checkbox texts are highlighted on hovering, we don't want the
4709 explanatory text behind it to be highlighted with it.
4710
4711 2012-03-26 17:12:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4712 Make variant-unsupported-by-second error non-fatal
4713
4714
4715 2012-03-23 20:06:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4716 Redo Eval Graph with generic popup
4717
4718 The Graph option of the GenericPopUp is used to implement the Eval Graph.
4719 Compared to the previous implementation, which was drawing directly in the
4720 form widget, the new one has one extra widget layer, but that did not
4721 affect the code anywhere. Adapt eval title to width of eval graph.
4722
4723 2012-03-23 15:17:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4724 Redo Engine Output window with generic popup
4725
4726 A new file nengineoutput.c holds the X-independent code. This makes use
4727 of new capablities of GenerciPopup, for having Label widgets on same row,
4728 stacking panes after a Break, and chaining Label and Text widgets.
4729
4730 2012-03-21 23:00:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4731 Redo Game List with generic popup
4732
4733 Check in ngamelist.c
4734 Redo Game List with generic popup
4735  The X-independent code (i.e. almost all) is moved to a new file
4736  ngamelist.c.
4737 Make button in Game List to pop up Game List Options
4738 Fix scrolling game list
4739 Fix popup of existing Game List after loading file
4740 Wheel-scroll game list
4741 Symbolic reference game list
4742 TopLevel game list
4743 Put format flags with listbox options
4744
4745 2012-03-21 17:58:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4746 Redo Game List Options with generic popup
4747
4748
4749 2012-04-05 21:56:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4750 Add -dialogColor and -buttonColor options
4751
4752 These only override system defaults if they are non-empty strings.
4753
4754 2012-03-28 15:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4755 Add -topLevel option
4756
4757 This persistent Boolean option determines if the auxiliary windows
4758 (Game List, Move List, Engine Output, Eval Graph, Tags and Comment)
4759 use top-level shells (with their own icon on the task bar, and
4760 independently closable). Other dialogs will always use transient shells.
4761 (Also he modal Error and Promotion dialogs, for which the modality
4762 presumably only serves to pop them down without special attention.)
4763 A control for this was added in the General Options dialog.
4764
4765 2012-03-20 15:30:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4766 Redo ErrorPopUp with generic dialog
4767
4768 <Enter> keeps popping down error popup.Multiple Error popups remeain tricky;
4769 add comment to describe problem with multiple ErrorPopUps.
4770
4771 2012-03-20 10:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4772 Redo PromotionPopUp with generic dialog
4773
4774 The dialog is no longer modal.
4775
4776 2012-03-19 21:56:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4777 Redo AskQuestion dialog with generic popup
4778
4779
4780 2012-03-19 21:55:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4781 Major refactoring of GenericPopUp
4782
4783 Allow more transient dialogs in GenericPopUp
4784 Remove grab from promotion popup
4785 Fix other generic popup over transient popup
4786  To use the generic dialog generator for 'asynchronous' popups (Ask Qustion
4787  or Error popup caused by engine), the currentOptions setting has to be
4788  restored for the combo and checkbox callbacks of the transient to still
4789  work after the asynchronous dialog returns. Note that only transient dialogs
4790  can have check and combo controls.
4791 Make generic calcel button suppressible
4792  Also #define some more symbols for Option.min flags,
4793  and move them to dialogs.h.
4794 Change TypeInProc to general OK handler
4795  The move type-in now has its own option list, to distinguish it from
4796  the ICS input box, and give it its own OK handler. Rather than having
4797  the translation for <Enter> on the text widget call TypeInEvent directly,
4798  we let it call GenericCallback, which calls GenericReadout, which calls
4799  the OK proc, which does the job.
4800   To be able to call GenericCallback from the TypeInProc, the recognition
4801  of OK and cancel buttons had to be changed. This because it was too difficult
4802  to arrange the calling widget had label OK or cancell. So these buttons are
4803  no longer recognized by name, but by the option number passed as client data.
4804  (This solves the problem that a user could not make buttons named 'cancel'
4805  or 'OK'.)
4806 Make Cancel button optional
4807 Fix closing multiple popups of same kind
4808  The GenericCallback figures out its own shell, so all buttons of
4809  multiple dialogs keep working. External calls to PopDown only work
4810  on the lastcreated instance of that kind, though (including those from
4811  the Delete Window button, which can do 'cross-closing'). shellUp is now
4812  a counter, and PopDowns are only prevented when it reaches 0 or the
4813  current shell does not exist. (To know this, PopDown now resets shells[n]
4814  to NULL when is shell is destroyed.
4815   Beware of double PopDowns (through OK procs); they wreck the system.
4816 Fix Delete Window button of multipe ErrorPopUps
4817  The action routine for handling the Delete Window now pays attention
4818  to the shell widget that the system passes to it, and temporarily
4819  replaces shells[n] by it to let PopDown act on the proper instance.
4820 Add ListBox dialog type to GenericPopUp
4821 Fix vert sizing of ListBox
4822 Put listbox widgets in viewport
4823 Put listbox in viewport
4824 Improved xoptions.c support for focussing and listboxes
4825 Fix OK-row button positioning
4826 Let GenericPopUp take parent and modality as arguments
4827  This makes the code a bit more explicit and less kludgy. It also becomes
4828  possible to call the same dialog (e.g. Load Options) from the main menu
4829  and from another dialog (e.g. the Game List).
4830 Support scroll function for generic popup listboxes
4831 Fix scrolling
4832 Move HighlightWithScroll to xoptions.c
4833 Change scroll algorithm
4834 Add mouse-wheel scroll to generic list boxes
4835 Implement tabbing between text edits
4836 Implement same-row text labels in generic dialog
4837 Allow labels to specify their chaining in generic popup
4838  The opt.min variable is used to specify the chaining: 0xF0 are the bits
4839  for (left, right) chaining of the left side (0xC0) and right side (0x30).
4840  The 0xC bits determine top or bottom chaining of the entire label.
4841  Without anything spcified (0), the chaining is XtRubber.
4842  TextBox options can also specify top-chaining of their top. All this was
4843  needed to allow decent implementation of the Engine Output window with
4844  the generic popup. (Although tags and comment popup ca benefit from the
4845  latter feature.)
4846 Let GenericPopUp support a Graph option
4847  The Graph option results in an area where one can draw something. It is
4848  positioned / chained similar to Label options. A handler for expose events
4849  can be specified in the textValue field of the option.
4850 Implement box widgets and menu buttons in GenericPopup
4851  To enhance the capabilities of GenericPopUp such that it could create the
4852  main window, it needs to be able tha packaging of controls into a box widget
4853  (for mennu and button bar). Menu buttons are also required elements
4854  (although they do look a lot like comboboxes?) Option types BoxBegin and
4855  BoxEnd can now be used to bracket a group of controls that will be put
4856  in a box widget. (Cannot be used recursively!) The positioning of the box
4857  is similar to that of a Label, and is specified in the BogBegin option.
4858   The code to shrink the menu buttons to fit is also incorporated, to act
4859  on any box widget: if the BoxBegin option specifies a width, the elements
4860  in it are shrunk to meet the requirement. Otherwise the box just gets the
4861  size of the sum of its children (plus spacings).
4862   Label options can now specify a font, casted into their textValue field.
4863  (This is needed to get the proper size for the clock widgets.)
4864 Implement callback in BoxEnd options
4865  BoxEnd is a pseudo-option, to trigger packing the preceeding ones in
4866  an earlier-opened box widget. In the process it calculates the size of
4867  the box widget (and trims it if a size was specified for it in the
4868  corresponding BoxBegin). The Option.target field of BoxEnd is now
4869  interpreted as a callback, which can be use to take decisions based
4870  on the determined size for the remaining options in the list, before
4871  these are processed b GenericPopUp.
4872 Refactor xoptions.c
4873  Make a subroutine to set args shared by almost all widgets. Swap meaning
4874  of '1'-bit in option.min flag of Break option, to be consistent with
4875  SAME_ROW interpretation in other option types.
4876 Make option tables consistent with refactored GenericPopUp
4877  The flag for stacking in the Break option needed to be inverted, and
4878  the BoardPopUp needed to pass the font in another field. Better use was
4879  made of the improved chaining options too.
4880 Improve Graph-option event handling
4881  The user-supplied callback now gets 3 arguments passed: the event type
4882  (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose),
4883  and two coordinates. For ouse events these are the pointer (x,y), while
4884  for expose events they are the window size (w,h). The callback is now
4885  specified in the option.target field of the Graph option.
4886 Store engine options in malloc'ed memory
4887  The Option.name field has been re-declared as (char*),  from (char[MSG_SIZ]).
4888  There are still MSG_SIZ chars allocated irrespective of actual size, because
4889  the field is also supposed to store the textValue, which can be changed by
4890  the user. But at least it means that unused options of the generous list
4891  now don't waste much space. (And the prparated Option tables in dialogs.c
4892  will shrink by a large factor as well.)
4893 Improve GenericPopUp ComboBox handling.
4894  The dialog type is now passed to the combobox callback as well, and this is
4895  used to really figure out what option it is called for.
4896 Allow numeric comboboxes
4897  When no list of strings is given in Option.choice, the target is assumed
4898  to be (int), and the number of the slected entry is stored there. Also
4899  adapts the Label options that act as fillers to the new method for making
4900  dummies (namely NULL in the Option.name field).
4901 Put comboCallback in Option struct
4902  Rather than having a general comboCallback variable for the entire current
4903  dialog, each ComboBox option can now specify its own callback in the
4904  target field of the option: the COMBO_CALLBACK bit of Option.min indicates
4905  whether the target is a variable to be set or a callback. The callback can
4906  still fetch the choice from the values array.
4907 Allow generic CreateComboPopup also to do main menus
4908  An extra parameter to CreateComboPopup determines if the menu texts
4909  should be taken from a list of strings (the old method with engine-
4910  supplied choices), or from a menu table of MenuItems. It can now also
4911  recognize "----" as a menu break, and keeps margins (for the marking).
4912 Make subroutine for determining curren combo selection
4913 Various fixes to GenericPopUp
4914 Delete one border-width setting
4915 Fix max nr of args in GenerocPopUp
4916 Fix button release events of Graph options
4917 Fix generic Graph callback pointer motion coordinates
4918 Make all format referencing in Option tables symbolic
4919 Let Option.choice define menu texts, rather than Option.textValue
4920  This is more logical than ussing textValue for it, because choice already
4921  has the correct (char**) type, while textValue was (char*), and needed
4922  casting everywhere. Note that for engine options, the fields were the
4923  same anyway, so no back-end change was required. The textValue now
4924  contains the (casted) list of actual string values, where these are
4925  needed. (But for numeric and function menus they aren't.)
4926 Add PopUp Option type
4927  An new pseudo-Option is defined, to add a popup menu to a previous Graph
4928  option. The actual popping up is done by the expose handler.
4929  The function XUngrabPointer is the key to success here. A PopUp option
4930  specifies a callback for handling the selection from the menu, which will
4931  be called with the option number, exacty as with ComboBox options.
4932 Update option explanation in dialogs.h
4933 Make Spin and CheckBox callbacks pass dialog number
4934  No longer rely on 'currentOptions' for getting the option belonging to
4935  the callback, but get it out of the dialogOptions array indexed by dialog
4936  type. This way things cannot be messed up by an asynchrounous error popup.
4937  It also means that it is now save for non-modal dialogs to use these options.
4938 Use button widget for text behind checkbox
4939 Let listboxes use general formatting hints
4940 Let GenericPopUp option always finish last pane after Break
4941 Allow LisBox to specify select callback in Option.textValue
4942 Use double-click to trigger ListBox callback
4943 Make ListBox callback re-entrant
4944 Fix multi-line Label options
4945 Separate CreateMenuItem out from CreateComboPopup
4946 Chain checkbox texts entirely left
4947 Allow a user-specified callback to Label options
4948  This is needed to implement the clocks. Let the CheckBox callback handle
4949  it. For now ther is no distinction between different mouse buttons.
4950
4951 2012-03-21 11:15:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4952 Prevent double PopDowns
4953
4954 Some DialogOK functions ordered an early PopDown themselves. This,
4955 however, resulted in PopDown being called twice when they returned TRUE.
4956 This interfered with the new system for allowing multiple instances of
4957 the same dialog. So these functions are now fixed to suppress the
4958 standard PopDown by always returning FALSE.
4959
4960 2012-03-20 19:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4961 Split usounds.c and usystem.c from xboard.c
4962
4963 X-independent code was moved to separate files. The nef file usound.c
4964 contains the sound handling, which in XBoard is trivial, because it uses
4965 an external player, but could be replaced by a complex one on platforms
4966 that have to handle the sound themselves.
4967   The usystem.c file contains all non-X Unix-like stuff, such as fork,
4968 pipe, system, getenv. I also contains some color parsing for the xterm
4969 colors. This stuff could be useful on platforms that support Unix-like
4970 system calls.
4971
4972 2012-03-26 19:03:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4973 Make routine to probe shift keys
4974
4975 The code to probe Alt keys was taken out of MoveTypeInProc, and extended
4976 to probing Ctrl and Shift keys too. These are now returned in the 6 LSB
4977 of an int by ShiftKeys().
4978
4979 2012-03-19 13:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4980 Remove one level of indirection on ICSInputBoxPopUp
4981
4982
4983 2012-04-10 10:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4984 Cleanup of xboard.c
4985
4986 Remove AskQuestionProc
4987 A bit of cleanup on xboard.c prototypes
4988 Remove dead file-browser code
4989 Delete vestigial jail code
4990  All the stuff about jailColor was deleted. Only one fishy thing remains:
4991  xpmJailSquare seems under some conditions used in BlankSquare to draw a
4992  'neutral' square. it is set to a copy of a light square image. But in the
4993  current design 'neutral' means blacked out between board and holdings,
4994  and even with image use, it should not resemble a light square...
4995 Remove registering of CommentPopDown and TagsPopDown
4996 Merge CopyGameSelection into CopyPositionSelection
4997
4998 2012-03-19 11:38:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4999 Move some back-endish routines from xboard.c to dialogs.c
5000
5001 Move ICS input-history handling to dialogs.c
5002 Move ICS Input Box text handling to dialogs.c
5003 Move DisplayXxxx routines to dialogs.c
5004 Move DisplayTitle to dialogs.c
5005  A wrapper SetWindowTitle remains in xboard.c.
5006
5007 2012-03-18 20:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5008 Split back-endish part off xoptions.c, and move to dialogs.c
5009
5010 Some MenuProcs for dialogs were also moved to dialogs.c from menus.c.
5011 MoveTypeInProc which is an event handler for the board widget,
5012 was moved to xboard.c, where it can be static.
5013
5014 Identify dialogs by enum type
5015  A new header dialogs.h is created, which defines an enum type DialogClass
5016  that is now used to identify the various dialogs done by GenericPopUp.
5017  The prototypes for GenericPopUp/PopDown, and other globals shared by the
5018  dialogs code and other modules can go in here as well.
5019 Remove ClearTextWidget
5020  This did the same as SetWidgetText with an empty string.
5021 Split X-code from PutText
5022 Split back-end part from MoveTypeInProc
5023 Take set-title out of comment popup
5024 Sort MenuProcs in dialogs.c with their support functions
5025 Declare globals in dialogs.c with functions where they belong
5026 Add prototypes to dialogs.h
5027 Move prototypes and globals from xoptions.c to dialogs.h
5028 Make accessor DialogExists for dialog shells
5029 Add dialogs.c to makefile: compiles and runs!
5030 Combine 3 calls into front-end to InitDrawingParams
5031 Move EditCommentProc and ICSInputBoxProc to dialogs.c
5032 Pass option list as argument to GenericUpdate and GenericReadOut
5033 Shorten argument name from currentOption to opts
5034  This to prevent confusing it with the global variable of that name.
5035
5036 2012-03-18 15:33:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5037 Declare some shared global variables in backend.h
5038
5039 The vlobals twoBoards and partnerUp were only shared through an extern
5040 declaration in xboard.c
5041
5042 2012-03-18 12:34:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5043 Split back-endish part off drawing code and move to board.c
5044
5045 Split DrawSquare in front-end and back-end part
5046 Back-endize DrawHighlights and DrawPosition
5047  The already existing wrapper FlashDelay is used as a kludge to do an XSync.
5048  We now pass a code for the line color GC to the highight routine. New
5049  wrappers are DrawGrid() and DrawBorder().
5050 Back-endize atomic explosions
5051 Back-endize DrawArrow and DrawDragPiece
5052  DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead
5053  of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes
5054  DrawArrowBetweenPoints.
5055 Move board-drawing logic to new file board.c
5056  All X-independent drawing logic (board, squares, arrows, highlights,
5057  some animation stuff) has been extracted from xboard.c, and moved to
5058  a new file board.c, which is back-end (but unshared with WinBoard).
5059  A new header board.h defines the cross-references (which of course
5060  required some functions to be no longer declared as static).
5061   A bit of code was moved from DragPieceBegin to BeginAnimation, which
5062  now has an extra argument to indicate which piece should appear from
5063  under a dragged piece. This makes DragPieceBegin free of XCopyArea calls,
5064  so it could be moved too.
5065 Make board.c truly back-end
5066  Get rid of all X data types. For this the AnimState struct had to be
5067  redefined: the GC and Pixmap was taken out and put in front-end arrays
5068  indexed by anim agent (game and player). For this indexing a new enum
5069  was defined. The XPoint type was also replaced by our own type of an
5070  int pair (which is nasty, because the int size could be different).
5071 Move more animation code to board.c
5072
5073 2012-03-18 10:08:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5074 Contract some awful code replication
5075
5076 The code for making an X-color was replicated 6 times, and is now made
5077 into a subroutine. The code for creating GCs was quite repetitive as well.
5078
5079 2012-03-18 08:34:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5080 Move more back-endish menu-related stuff from xboard.c to menus.c
5081
5082 Move menu enabling to menus.c
5083  Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper
5084  EnableButtonBar was necessary, because Training mode wants to enable/disable
5085  that too.
5086 Move all back-endish MenuProcs to menus.c
5087  Many if the MenuProcs that could not be eliminated by listing the
5088  corresponding back-end MenuEvent function as handler directly, are
5089  still completely plactform indpendent. (E.g. when the MenuEvent needs
5090  a parameter.) These are all moved to menus.c now.
5091 Convert all dead MenuProcs to using MarkMenuItem
5092  The MenuProcs for the option items that no longer exist were also
5093  converted for check-marking their item in the new way, because we
5094  might revive them for key binding.
5095 Move the dead MenuProcs also to menus.c
5096 Revive dead menu procs
5097 Move GreyRevert to menus.c
5098 Move ModeToWidgetName to menus.c
5099 Move initial menu marking to menus.c
5100
5101 A new function InitMenuMarkers was split off from main() to do this.
5102
5103 2012-03-18 08:17:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5104 Switch to use of short menu references
5105
5106 The prefixes menuXxxx. for the item names are abolished. This made it
5107 necessary to also add a MarkMenuItem function that can handle short names
5108 for putting the xMarkPixmap on the items, as the names returned by
5109 ModeToWidgetName are used for both enabling and check-marking.
5110 Let MarkMenu use MarkMenuItem wrapper
5111
5112 2012-03-17 10:47:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5113 Refactor menu code, and move it to menu.c
5114
5115 Supply new method for key binding
5116  It is annoying that every menu item needs its X-specific handler routine,
5117  because this handler has to be registered to X for becoming eligible as
5118  a key binding. Another disadvantage of this method is that the user wanting
5119  to make the binding has to know the name under which the menu function
5120  is registered (e.g. FlipViewProc).
5121   A new method is now made available, which uses only a single (X-specific)
5122  routine, registered with X as "MenuItem", as generic key-binding handler.
5123  The bindings can then be made by the user specifying "MenuItem(FlipView)".
5124  This requires a new list of potential bindings, which should be filled
5125  by the menu-creation routines. (Currently only contains only a predeficed
5126  example.)
5127 No longer register all MenuProcs with X
5128  The list with available menu procs is moved to the user-maintained
5129  menuItemList. Only QuitProc had to stay registered with X, because it is
5130  used in CatchDeleteWindow. (So it is in both lists now.) In the future,
5131  most of the list can be built automatically from the menu tables.
5132 Alter type of MenuProcs to void(void)
5133  By getting rid of the argument list with X-types, most menu procs can
5134  become back-end. In the cases of ManProc and QuitProc the original
5135  version had to be kept as well, because in ManProc the argument was
5136  actually used (with key binding), while QuitProc is used for delete window.
5137 Remove now unnecessary menu wrappers
5138  Now the MenuProc have an empty argument list, those that also call a
5139  single 'MenuEvent' without arguments have become completely redundant,
5140  and have been taken out of the loop by calling the corresponding MenuEvent
5141  directly.
5142 Build menuItemList from menu tables
5143  Rather than having an initialized table of name-proc associations (which
5144  used to be the X registrations) for the menu items, we now build the list
5145  during menu cration from the menu tables. The menu "ref" is now used as
5146  proc name. This means the old MenuProc names used in the predefined
5147  key bindings had to be changed to conform to this. Note that the bindings
5148  would slice up names containing spaces in several parameters, so in the
5149  translations the spaces were squeezed out of the item names. This requires
5150  a hand-written comparison routine Equal() to identify the binding.
5151 Remove prototypes of deleted MenuProcs
5152 Move prototypes of platform-independent MenuProcs to menus.h
5153  Create a new header file for the menu stuff, so that we can move
5154  the corresponding handler routines out of xboard.c to a back-end file.
5155 Extract back-end code from menu creation
5156  The menu tables and code to interpret them is moved to a new file menu.c.
5157  Only basic fuctions for creating a pop-down list and for adding an item
5158  to it remain in xboard.c.
5159
5160 2012-04-07 15:59:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5161 Remove some unused (exclude-moves) variables
5162
5163
5164 2012-04-07 15:57:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5165 Install engine within current group
5166
5167
5168 2012-04-07 15:53:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5169 Switch to using listboxes for engine-selection in WinBoard
5170
5171
5172 2012-04-07 15:36:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5173 Implement Narrow button in WB Game List
5174
5175
5176 2012-04-05 15:15:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5177 Silence unjust warning
5178
5179
5180 2012-04-04 12:18:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5181 Fix memory corruption through InitString and second-engine loading
5182
5183 The InitString and ComputerString options were not swapped when replacing
5184 the second engine, so that the ChessProgramStates of the first engine
5185 could point to an invalid (already freed) init string. Also make sure
5186 that appData.directory contains its value in allocated memory, even
5187 when hand-loading engines.
5188   Some of the rare options were not swapped either, and would thus
5189 always be loaded for the first engine when -singleEngineList was true.
5190 They are now also all reset to their default, before engine load,
5191 to prevent options of one engine to linger on for a next that does
5192 not specify them. The intentional exception is -firstHost.
5193
5194 2012-04-01 20:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5195 Fix PV sorting during fail low
5196
5197 When an engine reports a fail low as thinking output, and then re-searches
5198 the same move with larger window, it now gets a lower score. This line
5199 would then be sorted below the earlier fail low, because it was mistaken
5200 for a multi-PV line for an inferior move. This patch suppresses PVs
5201 overtaking each other if they start with the same move.
5202
5203 2012-03-30 20:09:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5204 Extend smallLayout regime up to size Medium
5205
5206 Because of the increase number of menus, there is not enough space for a
5207 title next to the menu bar at smaller sizes. In fact it is questionable if
5208 the title should ever go on the same line as the menu bar.
5209
5210 2012-03-30 10:38:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5211 Fix parsing crazyhouse promotions with legality testing off
5212
5213 With legality testing off, any promotion suffixes in a move are taken
5214 'on faith'. But in crazyhouse the piece ID for normal pieces is used as
5215 promotion suffix for promoted pieces, so this would Loop Chess rather than
5216 Crazyhouse. Now attention is payed to presence of ID-less promotion pieces
5217 (indicated by ~ in the pieceToCharTable), and if there are, these prevail
5218 ovr the specified type.
5219
5220 2012-03-30 10:07:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5221 Fix browsing for save file in WB
5222
5223 The generic popup browse buttons used the wrong flavor of browser,
5224 which would only accept existing files. This was inconvenient when browsing
5225 for a save file. The other flavor of browser is now used by default (so that
5226 engine options also use it), and a new flag is added in the option.max field
5227 (which was already indicating file type) to request readonly browsing for a
5228 save file.
5229
5230 2012-04-02 10:18:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5231 Let clicking on header line exclude moves
5232
5233 The exclude header in the Engine-Output window can now be clicked, to
5234 toggle the exlusion of the listed move. Clicking on 'none' resets all
5235 exclusions, clicking on 'best' excludes the first move of the latest PV.
5236 The pseudo-move 'tail' represents all non-listed moves.
5237
5238 2012-04-01 22:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
5239 Keep list of excluded moves in Engine Output header
5240
5241 As long as there is still space, excluded or included moves are added
5242 to a new header line in the Engine Output window (prefixed with + or -
5243 depending on whether they are currently excluded or included). Future
5244 in/exclusions of that same move then alter the prefix.
5245
5246 2012-03-21 23:12:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5247 Fix focus of Game List
5248
5249 After focus was transferred to the filter text-edit, it was impossible
5250 to get it back on the game list (to make the arrow keys working again).
5251 A translation to left down-click is now used to assign focus, just as
5252 it would for text edits. For unknown reason this only worked if the
5253 translations were instated by Overriding, rather than Augmenting,
5254 which again required the normal translation of downclick, Set(), which
5255 selects the clicked item, to be explicitly mentioned as well.
5256
5257 2012-03-16 22:41:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5258 Fix taking effect of some option changes
5259
5260 This fixes a bug reported at Ubuntu: when switching off move highlighting
5261 in Two Machines mode, the last move before the switch stayed highlighted.
5262 The GeneralOptionsOK() now clears any remaining highlights when highlighing
5263 is off. Similar problems with blind-fold mode and coordinates, which require
5264 a total board redraw to take effect, are now solved by also forcing such a
5265 redraw in GeneralOptionsOK() when they change.
5266
5267 2012-03-16 21:58:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5268 Add exclude and setscore to protocol specs
5269
5270
5271 2012-03-16 14:47:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5272 Fix clock stop after dragging
5273
5274 DelayedDrag always cancelled the previous drag timeout event, even when
5275 this was no longer pending because it had already taken place, and the
5276 event ID was resused by some other timeout (usually a clock tick).
5277
5278 2012-03-14 21:06:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5279 Implement exclude moves
5280
5281 Dragging a piece by double-clicking it on the from-square in analysis mode
5282 will not perform the entered move, but send an exclude or include command
5283 to the engine for that move (provided the engine enabled this with
5284 feature exclude=1), depending on if the move was already excluded or not.
5285 To this end a map of excluded moves is kept, and cleared when we move to
5286 another position through moving, undo, setboard or new. The user can see
5287 whether he included or excluded the move, as exclude uses premove highlights.
5288   Commands "exclude|include all" are sent when we throw a double-clicked
5289 piece off board (vertically or horizontally, respectively), but after
5290 exclude all the most recent PV move is included again.
5291   Remaining problem is that promotions can only be excluded.
5292
5293 2012-03-14 15:13:18 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5294 Mark new text "Click clock to clear board" for translation
5295
5296
5297 2012-03-13 21:46:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5298 More thorough switch to -ncp on engine failure
5299
5300 The ProcRef and InputSource are now also cleared, and just to be sure there
5301 are no surviving adapters, the child is killed when engine startup fails.
5302
5303 2012-03-13 21:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5304 Install engines as ./exefile in XBoard
5305
5306 When a path name is split into directory and filename, the latter in Linux
5307 must be preceded by ./ in order to make it executable in the directory
5308 XBoard starts it in.
5309
5310 2012-03-13 14:11:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5311 Inform user in EditPosition mode how to clear board
5312
5313 With -pieceMenu false the board is cleared by clicking the clock, but
5314 since this is impossible to guess, it is now printed in the message field.
5315
5316 2012-03-13 14:06:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5317 Fix fall-back on -ncp mode
5318
5319 When the requested engine could not be started, the user still had to
5320 wait for the feature timeout to expire before the UI was re-enabled,
5321 and the now-useless loading action would continue. In stead we now
5322 cancel any scheduled continuation, thaw the UI immediately, and switch
5323 the menus and gameMode to ncp straight away.
5324
5325 2012-03-10 18:55:24 -0800 Arun Persaud <arun@nubati.net>:
5326 updated po/pot files
5327
5328
5329 2012-03-10 18:54:32 -0800 Arun Persaud <arun@nubati.net>:
5330 new version number for developer release
5331
5332
5333 2012-03-06 16:37:02 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5334 Fix typo (seach) in string. It is already fixed in branch v4.6.x
5335
5336
5337 2012-03-04 14:52:34 -0800 Arun Persaud <arun@nubati.net>:
5338 added some documentation about what's need to be done for a release and a bash-release script
5339
5340
5341 2012-02-28 21:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5342 Fix suspected bug in Makefile
5343
5344
5345
5346
5347 2012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>:
5348 add information about our webpage and were to report bugs into the help menu
5349
5350
5351 2012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>:
5352 fixed "make install-pdf": missing target for recursive make in po directory
5353
5354
5355 2012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5356 Suppress recent-engines menu items in ICS mode
5357
5358
5359 2012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5360 Fix 50-move counter in ICS mode
5361
5362 Marking irreversible moves in the EP_STATUS did not work in ICS mode,
5363 as ApplyMove,which did that is never executed there. Only the boards
5364 sent by ICS are displayed,especially in observing mode. Now the status is
5365 derived from the ICS mov strings (x in the SAN move, or P in the long move.
5366
5367 2012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5368 Fix two 64-bit warnings
5369
5370 Passing the engine number in a pointer variable to the callback needed
5371 a two-step cast.
5372
5373 2012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5374 Fix piece symbols on switch back to variant normal
5375
5376 Variant switches were not properly detected, meaning the variable pieces
5377 could keep a form belonging to a previous variant. (E.g. Queen remained
5378 a Lance image after switching from shogi to normal.)
5379
5380 2012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5381 Keep XBoard windows attached on resize
5382
5383 Windows attached to bottom or right are displaced with the size increase.
5384 Their perpendicular dimension is also scaled, to keep their edges at the same
5385 fraction of the main window, unless they stick out. In the latter case the
5386 fraction is clipped to 1, so that edge moves with the full size increase.
5387
5388 2012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5389 Implement -stickyWindows in XBoard
5390
5391 This makes the auxiliary windows  move with the main window when they were
5392 touching, as in WinBoard. A control is added in the General Options dialog.
5393
5394 2012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5395 Use more reliable X-call for getting window position
5396
5397 XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems
5398 to give more reliable results, and automatically accounts for the width
5399 of window dressing. The -frameX/Y options are no longer needed bcause
5400 of this, and were removed.
5401
5402 2012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5403 Make frame width configurable in XB
5404
5405 New persistent options -frameX, -frameY now can be used to specify
5406 the amount by which Xt lies about the window coordinates.
5407
5408 2012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5409 Use combobox line for recent engines when available
5410
5411 The entry made in the -recentEngineList for the startup engine was
5412 derived from the -fcp value, but this would ignore a possible nickname.
5413 In WinBoard we now use the full combobox line to derive the entry.
5414
5415 2012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5416 Fix translation of EngineOutputTitle WB
5417
5418
5419 2012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5420 Updated Danish translation
5421
5422
5423 2012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5424 One missed translation of cps->which
5425
5426
5427 2012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5428 Undo translation of cps->which = first/second
5429
5430 The string in cps->which should not be translated, because it goes into
5431 the debug file to label engine I/O, and many tools for processing
5432 debug files (broadcasters, PGN extractors) rely on this being "first" or
5433 "second". In all contexts where "first" and "second" need to be translated,
5434 cps->which itself is already enclosed in _().
5435
5436 2012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5437 Implement -serverFile option
5438
5439 This writs an extra debug file with only engine communiation on it,
5440 for the benifit of programs like TLCS.
5441
5442 2012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5443 Implement -autoCopyPV
5444
5445 This option causes automatic copying of the last position of a PV walk
5446 to the clipboard.
5447
5448 2012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5449 Delete some load-game debug printing
5450
5451 The debug printing in Disambiguate was no longer needed. The printing
5452 of the started process in XBoard that went to stderr is now diverted
5453 to debugFP, so it ends up in the debug file.
5454
5455 2012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5456 Move change of debug file to before game load
5457
5458 Loading a game from -lgf is done before TwoMachinesEvent is called,
5459 but logically belongs to the game. So the code to switch to the new
5460 debug file for the game is moved to NextMatchGame now.
5461
5462 2012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5463 Fix button grab for sweep selection
5464
5465 The piece-menu initialization limited the grab of button events to those
5466 occurring inside the board window (presumably intended to limit them to
5467 the piece menu, but that does not pop up in sweep-selection mode).
5468 This is now suppressed when -pieceMenu is off, so that selection continues
5469 outside the the board. (Which is very convenient for pieces pu close to the
5470 edge.)
5471
5472 2012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5473 Don't leave piece selected after piece menu
5474
5475 PieceMenuEvent left the just introduced piece selected, which is almost
5476 never what one wants, as it makes it jump to the next square when selects.
5477 Which is especially annoying if it captures the piece you wanted to grab...
5478
5479 2012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5480 Fix use of middle button for position setup
5481
5482 With sweep selection the actual drop is made on releasing the button,
5483 and this event was not caught for button 2. Button-2 motion events were
5484 also not caught by the sweep-selection handler.
5485
5486 2012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5487 Fix one more typo in the translator comments explaning "first" and "second"
5488
5489
5490 2012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5491 Fix typo in translator comments explaning "first" and "second"
5492
5493
5494 2012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5495 Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string
5496
5497 Having msg as a format string will ease translations because then
5498 badArg doesn't have to come last.
5499
5500 2012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5501 Mark the strings "first" and "sencond" for translation.
5502
5503 ... and assign the translated strings to cps->which in function InitEngine()
5504
5505 2012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
5506 Use ngettext() instead of gettext() for a string to allow better translation.
5507
5508
5509 2012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>:
5510 translation: updated uk.po
5511
5512
5513 2012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>:
5514 modified configure and makefile for handling mimedb update
5515
5516 the default configure will install them using the xdg commands (if they exist on the system)
5517
5518 2012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>:
5519 add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms
5520
5521 in case the target system doesn't have the xdg-programs available, we test for them.
5522 Distributions often have their own macros to install these, so we add an enable option to configure
5523
5524 2012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5525 Remove a debug printf
5526
5527 The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN,
5528 so it was deleted.
5529
5530 2012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>:
5531 new developer release
5532
5533
5534 2012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>:
5535 updated po/pot files
5536
5537
5538 2012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>:
5539 updated Changelog, NEWS, etc.
5540
5541
5542 2012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>:
5543 translation: updated uk.po
5544
5545
5546 2012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5547 Leave height of row that only contains buttons free
5548
5549 All elements of the GenericPopUp are still scaled to the text height,
5550 including buttons appended behind them (browse or color buttons).
5551 But we now make an exception for a row that only contains buttons,
5552 as there is no harm in it being a little higher (and the buttons look
5553 prettier that way).
5554
5555 2012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5556 Fix OK button of error popup
5557
5558 The error dialog popped up as a child of the board window, even when
5559 DisplayError was called from a dialog. Now it checks if a transient
5560 dialog is up, and if so, it pops up as a child of that, grabs focus,
5561 and suppresses the system popdown of the transient dialog through a flag
5562 dialogError until it is popped down itself.
5563
5564 2012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5565 Update texi file
5566
5567
5568 2012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>:
5569 added some comments for translators
5570
5571
5572 2012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>:
5573 fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file
5574
5575
5576 2012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5577 Also configure sweep selection
5578
5579 To make sure this feature is tested, we set -pieceMenu false in the
5580 master settings file.
5581
5582 2012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5583 Fix date in copyright notice about-box
5584
5585
5586 2012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5587 Fix switching animation masks on variant switch
5588
5589 The masks for variant-dependent piees (E,H in Seirawan, promoted Golds
5590 in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes
5591 because of the patch to reduce X-server calls.
5592
5593 2012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5594 Configure wider game list
5595
5596 The game list was by default too small, so that there was no room for the
5597 filter field. Now a width of 500 is specified, whcih works at -size 49
5598 as well as 72.
5599
5600 2012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5601 Fix button chaining and combo/textbox label height
5602
5603 Previous patches forgot to specify the height for the text labels on
5604 -combo and -text options, so they were still too high. Buttons that go
5605 on the same line as the previous element should be chained right, not rubber.
5606
5607 2012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5608 Make -pgnNumberTag option setable from menu
5609
5610 The Save Options dialog now containes a checkbox for this.
5611
5612 2012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5613 Configure some new features switched on
5614
5615 The master settings file switches -showTargetSquares, -sweepPromotions
5616 and -seekGraph on, so that they will get more testing.
5617
5618 2012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5619 Fix heigth of multi-line labels
5620
5621 The previous height patch overlooked that some labels are multi-line,
5622 and need more height.
5623
5624 2012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5625 Fix popdown seekgraph on forward-event XB
5626
5627 Only the grid was drawn when the > or >> button were operated, because
5628 a full redraw was not forced by ForwardInner. The recent patch to take
5629 the seek graph down on such events did not account for that. (BackwardInner
5630 always seems to do full redraw, however?)
5631
5632 2012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5633 Put front-end support for -recentEngines in XBoard
5634
5635 The engines are added to the menu. Problem is still that in XBoard
5636 startup engines are given by command, rather than selected by combobox,
5637 so the command rather than the nickname ends up in the menu. If this is
5638 then selected, it cannot be found in the list. To limit the damage,
5639 Fairy-Max is now pre-installed without nickname. -recentEngines is now
5640 configured to 4.
5641
5642 2012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5643 Better solution to button-height problem
5644
5645 In stead of adapting the height of text widgets to that of buttons,
5646 (as represented by the message widget), we now do the opposite, and
5647 adapt the button & label heights. This is made safe by obtaining textHeight
5648 from the fontSet's max_logical_extent, though an XExtendsFontSet() call.
5649 Turns out the default height of text widgets is not exactly that, but
5650 4 pixels larger for borders and margin.
5651   The parameter XtNvertDistance is now used to align the checkboxes with
5652 the following text widget, and their size is derived from textHeight as
5653 well.
5654   The XtNvertDistance is set to -1 for the lower spin button, so that it
5655 its border coincides with that of the upper spin button. Their height is
5656 set to textHeight/2. This makes their combined height just 1 pixel more
5657 than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for
5658 other buttons we use that too (i.e. textHeight = font_extent + 5).
5659
5660 2012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5661 Fix warning
5662
5663 Deleting debug printing had made a variable unused.
5664
5665 2012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5666 Fix sleeping bug
5667
5668 The text-edit-height patch introduced a bug that did not have any consquences
5669 (yet), as the extra arg erroneously included leftover from a previous
5670 SetValues call happened to be the same as one of the intended args.
5671
5672 2012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5673 Fix unloading of first engine on tourney start
5674
5675 Because NextTourneyGame was loading a new engine before ReserveGame was
5676 called to unload it with dummy game nr = -1), the first engine proc kept
5677 hanging.
5678
5679 2012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5680 Remove some of the most verbose debug output
5681
5682
5683 2012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5684 Delete some unused WinBoard bitmaps
5685
5686 There waere up-side-down knight icons that apparently hid by mistake
5687 in the bitmaps directory: they were not part of WinBoard
5688
5689 2012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5690 Cosmetic: change 4.5 to 4.6 in xboard.conf comment
5691
5692
5693 2012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5694 Fix crash on empty combobox menu XB
5695
5696 XBoard crashed when a combobox without items was opened, as could easily
5697 happen in the Load Engine dialogs when -firstChessProgramNames contained
5698 no items, as it would without configuring. Now the creation of the popup
5699 menu is suppressed in that case.
5700
5701 2012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5702 Fix position of checkbox XB
5703
5704 With the large height the widget get in internationalization, the
5705 checkboxes are position way too high above the text. To shift them down
5706 a dummy borderless label widget is drawn above them (when needed).
5707
5708 2012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5709 Fix heights in Engine Output window XB
5710
5711 The icons did not fit in the space above the memos anymore, so the height
5712 of this area is now left free.
5713
5714 2012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5715 Derive height of text-edits in dialogs from message widget
5716
5717 With internationalization the default height of buttons has inexpliquably
5718 inreased compared to that of text-edits, messing up the layout of the
5719 GenericPopUp. The message widget is now used as a emasure of how high
5720 the widgets should be.
5721
5722 2012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5723 Configure XBoard engines and textures
5724
5725 The new -useBoardTexture option is needed in xboard.conf, as we want to
5726 distribute with the texture on, while the compiled-in default is off.
5727 A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess),
5728 as the Load Engine and Match Options checkboxes crash XBoard when the list
5729 is empty. The -recentEngines option is set to 0 to make sure the code
5730 associated with it is never executed: the code is still experimental,
5731 and the required front-end support is only present in WinBoard anyway.
5732
5733 2012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5734 Update Dutch WinBoard translation
5735
5736
5737 2012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5738 Create room in some WB dialogs for translations
5739
5740
5741 2012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5742 Add 5 missing strings to WinBoard translation template
5743
5744
5745 2012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>:
5746 new developer release
5747
5748
5749 2012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>:
5750 updated po-filies
5751
5752
5753 2012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>:
5754 updated Changelog, NEWS, etc.
5755
5756 2012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5757 Fix non-bug in WinBoard
5758
5759 The IDM_RecentEngines was not used in symbolic form everywhere.
5760
5761 2012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5762 Fix MAXENGINES in WinBoard
5763
5764 The front-end arrays for expanding the engine list measured 1000 entries,
5765 in stead of MAXENGINES, leading them to overflow.
5766
5767 2012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5768 Implement kludge to set options through Move Type-in
5769
5770 A leading "!!! " will cause the rest of the line to be parsed as
5771 command line. Very dangerous, as an unknown option (e.g. because of a typo)
5772 will cause a fatal error, which makes XBoard exit.
5773
5774 2012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5775 Put move number in Eval Graph title
5776
5777
5778 2012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5779 Implement -pgnNumberTag option
5780
5781 A new (persistent) boolean option controls if the sequence number is to
5782 be written in saved tourney games as a Number tag, to make it easier
5783 to correlate games with debug files.
5784
5785 2012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5786 Create separate debug fil for each tourney game
5787
5788 Users can now apecify a -debugfile with %d in its name, and this will
5789 be replaced by the sequence number of the game. TwoMachinesEvent then
5790 starts by opening a new file when the name has changed, so that each
5791 game will go to a different file, with recognizable name.
5792
5793 2012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5794 Fix bug in WB combobox readout
5795
5796 The previous patch exposed a latent bug in the readout of the generic popup.
5797
5798 2012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5799 Allow grouping of engines in engine list
5800
5801 Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames.
5802
5803 2012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5804 Fix TidyProgramName
5805
5806 A trailing .exe was not removed if the engine name was quoted.
5807
5808 2012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5809 Put recently used engines in WB menu
5810
5811 A new option -recentEngines specifies how many engines should be listed.
5812 The list of nicknames is stored in the ettings file as -recentEngineList.
5813 The engines are appended to the Engine menu.
5814
5815 2012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5816 Fix registering of EditTagsProg
5817
5818 This was registered with X as EditCommentProc!
5819
5820 2012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5821 Increase max nr of engines to 2000
5822
5823 Move the #define for MAXENGINES also to common.h, so that both the
5824 Load and Tourney dialog use the same maximum.
5825
5826 2012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5827 Fix fix of switch to mono-mode
5828
5829 The previous fix had == in stead of != for testing if mono-mode had changed.
5830
5831 2012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5832 Make New Variant dialog visible in mono-mode
5833
5834 All colored buttons did get a black background, and also black text...
5835 Use timer background color in stead, which is white.
5836
5837 2012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5838 Incease size of WB array of translated items
5839
5840 For the BoardOptions dialog 42 items are now needed
5841
5842 2012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5843 Implement Clone Tourney button XBoard
5844
5845 This makes use of the new GenericUpdate().
5846
5847 2012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5848 Implement GenericUpdate function
5849
5850 This does the opposite from GenericReadout: it copies the current
5851 parameter values into the dialog.
5852
5853 2012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5854 Fix arrow damage with highlightDragging XB
5855
5856 With highlight dragging the highlights of the previous moves are cleared
5857 when lifting the piece. Logically, this should also clear the arrow, but
5858 to do that requires a board redraw, which is not done at this stage. (And
5859 even then this would only be effective after marking the arrow damage,
5860 which is not done yet either). As a temporary fix, we repair the arrow
5861 by redrawing it.
5862   This patch has moved marking of the arrow damage from DrawArrowHighlight
5863 to a separate routine, so a future better fix can also call that when the
5864 arrow should be erased.
5865
5866 2012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5867 Prevent unnecessary loading of engines
5868
5869 For engines that can be reused, the unloading at the end of a pairing
5870 is in some cases wasteful, as the same engine will be used in the next
5871 pairing as well. In simple gauntlets the gauntlet engine will always
5872 stay first engine, while in multi-gauntlets the oppent engine will stay
5873 the same for an entire round. In these cases unloading is now suppressed.
5874
5875 2012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5876 Reset protocol version before loading new engine
5877
5878 The protocol version was not reset, so if the previous engine was v1,
5879 the newly loaded engine would not be sent a protover command, so
5880 that its features would remain unknown!
5881
5882 2012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5883 Give focus to board window after ICS login
5884
5885 toprevent that the focus remains on any popped up chat boxes, it is
5886 explicitlly set otherwise. The board window is preferred over the
5887 ICS interaction window, because you can type from there to the ICS anyway,
5888 and it makes all accelerator keys available.
5889
5890 2012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5891 Fix seek-graph popup and  popdown
5892
5893 Clicking outside the board area in WB (e.g.on the clocks) would also
5894 trigger seek-graph 'popup'. This is now suppressed by testing for
5895 y-coord > 0. In addition, the seek graph is automaticaly taken down
5896 when we step to another position in the current game (using buttons,
5897 arrow keys or whatever).
5898
5899 2012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5900 Suppress empty lines when observing on VICS
5901
5902 Capture of the engine kibitzes when observing an engine game with
5903 -autoKibitz on was still leaking a linefeed on the Variant ICS
5904 (but not FICS or ICC!?).
5905
5906 2012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5907 Fix printing non-numeric kibitz with -autoKibitz
5908
5909 Messages that were not considered kibitzed engine PV info for lack of
5910 numeric content, were kibitzed as coming from "your opponent", which
5911 is nonsense if you were iobserving, and masked the source. Fortunately
5912 star_match[0] is still holding the original name, at that point.
5913
5914 2012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5915 Fix 4 warnings
5916
5917
5918 2012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5919 Use same translation of "vs." everywhere
5920
5921
5922 2012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5923 Add new translations to WB language file
5924
5925
5926 2012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5927 Fix re-allocation of PGN-cache memory
5928
5929 It  allocated 8 times too much!
5930
5931 2012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5932 Fix height board dialog
5933
5934
5935 2012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5936 Enable WB time-control dialog even when no clock mode
5937
5938 The dialog could be called from the tournament dialog to set a TCfor
5939 the tourney even when currently in game-viewer mode, so it'd better work.
5940
5941 2012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5942 Exempt variant seirawan from -disguisePromoted inheritance
5943
5944 This is not a variant where promoted Pawns have to be distingushed
5945 from primordial pieces, as captured pieces do not go into the holdings.
5946
5947 2012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5948 Add control for overrideLineGap in WB Board dialog
5949
5950 Make it a checkbox to choose between 0 and -1.
5951
5952 2012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5953 Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard
5954
5955 The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7.
5956
5957 2012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5958 Fix seek graph for VICS
5959
5960 The sought command on the open-source ICS code is ICC-like (no terminating
5961 line), although the server is FICS like. So also accept prompt as seek-graph
5962 trigger on FICS.
5963
5964 2012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5965 Open WB startup chat boxes only after logged on
5966
5967 The init code for opening the chat boxes ismoved to DisplayIcsTitle().
5968
5969 2012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5970 Install mime types directly
5971
5972
5973 2012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5974 Install desktop files directly
5975
5976
5977 2012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5978 Install icons directly
5979
5980 Rather than letting make-install copy the pixmaps to the XBoard data
5981 directory they are installed directly from the source files. The name
5982 of the TRN icon was also corrected and changed.
5983
5984 2012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5985 Update texi file and remove duplicate control
5986
5987 Some missing option descriptions were added. The highlight-dragging
5988 control was removed from the General Options dialog, as it did the same
5989 as Show Target Squares. -highlightDragging wa changed to a volatile option
5990 with default value true, making it effectively disappear as an XBoard
5991 option. (In WinBoard it is still persistent.)
5992
5993 2012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
5994 Remove the direct commands to the engines
5995
5996
5997 2012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>:
5998 forgot to list new desktop files in EXTRA_DIST section in Makefile.am
5999
6000
6001 2012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>:
6002 added some autogenerated po files to .gitignore
6003
6004
6005 2012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>:
6006 added desktop and mime-type association to autoconf install process
6007
6008 This should install and uninstall the mime assocciation and also the icons.
6009 Also renamed the desktop files to avoid possible name collisions.
6010
6011 2012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>:
6012 code cleanup: make function definition confirm to GNU coding style
6013
6014 change everything in the main directory to
6015
6016 void
6017 funcname (int a, int b)
6018
6019 format
6020
6021 2012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>:
6022 Updated copyright notice to 2012
6023
6024
6025 2012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6026 Implement -viewerOptions
6027
6028 A mechanism is added to allow the user to configure persistently if the
6029 game viewer that starts on clicking PGN files will use -ncp mode, or
6030 load an egine for analysis (or, in fact, do anything). This by introducing
6031 a persistent string option -viewerOptions, which will be parsed as a
6032 command line after the real command line when the option -viewer was present.
6033
6034 2012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6035 Fix crash in auto-comment
6036
6037 Trailing linefeeds in AppendComment were not properly stripped off,
6038 leading to a mismatch between the allocted and used memory, and thus
6039 possible buffer overruns.
6040
6041 2012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6042 Fix crash at match end
6043
6044 The -afterTourney option had broken old-style matches, because the ranking
6045 string that was tested for "busy" is not set there at all, and remains a
6046 NULL pointer, which strcmp doesn't like.
6047
6048 2012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6049 Add desktop files for PGN viewer and tournament player
6050
6051 The desktop files define startup commands for handling PGN, FEN and
6052 tourney files, calling xboard with the proper command-line options.
6053
6054 2012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6055 Add xml file for defining mime types
6056
6057 The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen
6058 and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files,
6059 so these files can be associated with XBoard in various modes.
6060
6061 2012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6062 Add icons for PGN and tourney files
6063
6064 Icons are provided in two sizes: 32x32 and 48x48.
6065
6066 2011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6067 Clear square markers on new game
6068
6069 Now that the markers can stay on after a first click, they need to be
6070 explicitly cleared when moving to another board, including a new game.
6071
6072 2011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6073 Abandon single-letter menus in tinyLayout
6074
6075 Now that the items on the main menu bar are clipped, it iso longer
6076 necessary to abbreviate them.
6077
6078 2011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6079 Implement peeking previous position in WinBoard
6080
6081 The backspace key is used to temporarily display the previous position.
6082
6083 2011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6084 Fix parsing of faulty PGN tags
6085
6086 A closing bracket could be missed in a malformed tag
6087
6088 2011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6089 Fix parser for variant seirawan
6090
6091 The new parser didnot understand gating suffixes with /, and did not
6092 allow any suffix at all on SAN castling moves.
6093
6094 2011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6095 Try to not confuse ICS rating adustments as shouts
6096
6097 An explicit pattern match for the rating adjustment is added before
6098 matching the shouts.
6099
6100 2011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6101 Describe -overrideLineGap option in texi file
6102
6103
6104 2011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6105 Use <Enter> in stead of Ctrl+. for peeking last move
6106
6107 I commented out the explicit detection of the Ctrl key, as this
6108 is not needed when there are no 'unnatural' Ctrl keystrokes used
6109 for binding.
6110
6111 2011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6112 Next try for menu-bar sizing
6113
6114 This time request the width needed to just fit everything, and then start
6115 shaving off pixels from the currently largest until the entire thing fits.
6116
6117 2011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6118 Clip texts on menu bar
6119
6120 The width of the items on the main menu bar is restricted so the bar
6121 will never exceed board width.
6122
6123 2011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6124 Fix format in temporary timing printf
6125
6126
6127 2011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6128 Don't test drops as mate evasions in variant seirawan
6129
6130
6131 2011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6132 Fix ICS castling rights
6133
6134 Copying the castling rights together with CopyBoard seems to have
6135 broken handling of ICS rights, where ParseBoard12 prepares a board
6136 in a local variable, an copies it before parsing the rights.
6137
6138 2011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6139 Fix initial holdings ICS seirawan games
6140
6141
6142 2011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6143 Fix sending of S-Chess gating moves to ICS
6144
6145 Normal moves did not get the gating suffix sent.
6146
6147 2011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6148 Fix menu grayout after illegal move
6149
6150 TheThinkingEnables were not reset to user state after the engine rejected
6151 the entered move as illegal.
6152
6153 2011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6154 Allow setting of holdings with edit command
6155
6156 For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command
6157 no also sends holdings contents (if the engine sent feature xedit=1), encoded
6158 as pieceType + '@' + holdingsCount (if the count is non-zero).
6159
6160 2011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6161 Fix out-of-bounds access in check test
6162
6163 Thepath to make the check test work with drops had broken the test
6164 after null move (both have rf<0), which led to corruption of the high
6165 word of the black clock.
6166
6167 2011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6168 Fix legality of Spartan promotion to king
6169
6170 In the check test promotion to King is only allowed if there are not
6171 yet 2 kings.
6172
6173 2011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6174 Fix switching back from mono-mode XB
6175
6176 Suppressing unnecesary X-server calls in InitDrawingSizes had broken
6177 switching back from monoMode, because the animVars have to be recreated
6178 for that, and this was only done when the variant changed.
6179
6180 2011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6181 Fix showTargetSquares in mono-mode XB
6182
6183 Make the marker dots black (captures) and white, and draw a circle
6184 in the opposite color around them in monoMode.
6185
6186 2011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6187 Fix arrow highlighting in mono-mode XB
6188
6189 Draw a line around it in darkSquare color in monoMode.
6190
6191 2011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6192 Fix alignment of generic browse button XBoard
6193
6194 The width ofthe browse button is now read back after creating it,
6195 and subtracted from the preceding text edit.
6196
6197 2011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6198 Add -afterTourney option
6199
6200 Only the instance pinting the tourney result will execute this.
6201
6202 2011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6203 Fix buffer possible overflow when writings tags
6204
6205 PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it.
6206 It starts by calculation the required buffer size and then allocate the buffer.
6207 PrintPGNTags() now prints directly to the file without having a buffer.
6208
6209 2011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6210 One more string marked for translation
6211
6212 And it is moved inside the if statement that uses it.
6213
6214 2011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6215 Fix checking of return value from snprintf()
6216
6217 snprintf() returns the needed space excluding the trailing 0 byte, so
6218 it has truncated if the returned valued is greater than or EQUAL TO the buffersize
6219
6220 2011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6221 Fix unportable memory initialisation
6222
6223 Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL
6224
6225 2011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6226 Add 2 strings for translation
6227
6228
6229 2011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6230 Remove the last 2 compile warnings in gamelist.h
6231
6232
6233 2011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6234 Add #include "moves.h" to gamelist.c for def. of CopyBoard()
6235
6236
6237 2011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6238 Definition of TimeMark moved from 3 c files to backend.h
6239
6240
6241 2011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6242 Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980
6243
6244
6245 2011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6246 Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails.
6247
6248
6249 2011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6250 Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined.
6251
6252
6253 2011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6254 Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined.
6255
6256
6257 2011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6258 Fix possible crash on 64-bit systems when copying game or position
6259
6260 The two convertproc's for X selections caused reads out of bounds on 64-bit systems.
6261 I hope that this is the right solution. I am not experienced with X stuff, but it
6262 follows that I have seen in other programs, testing shows that copying still works,
6263 and the reading out of bounds have disappearinged with this patch.
6264
6265 2011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6266 Fix a possible crash in the file browser
6267
6268 If the OK button was selected in the file browser when no file was selected
6269 there was a read out of bounds which could crash xboard
6270
6271 2011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6272 Fix a memory leak in Sound Options
6273
6274
6275 2011-12-16 02:57:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6276 Fix crash when selecting user soundfile due to free() of not malloc()'ed memory
6277
6278
6279 2011-12-16 02:32:37 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6280 Make GenericPopUp() more readable by using more named flags instead of numerals
6281
6282 Defines the flags SAME_ROW (value 1) and NO_OK (value 2) for use with buttons and endmarks.
6283 There should no functional change.
6284 Also add a code comment where a condition depends on an uninitialised value. There is no direct harm, as both
6285 branches do the same (that is nothing) when the value is uninitialised.
6286
6287 2011-12-15 02:51:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
6288 Add NO_GETTEXT flag for combobox. Fix bug #34991
6289
6290 Define NO_GETTEXT flag to avoid calling gettext() for comboboxes, and define COMBO_CALLBACK
6291 flag to call comboCallback() when an item is selected in a combobox (no new code for this,
6292 just a symbolic value instead of a number). The flags are used for the min field of struct Option.
6293 NO_GETTEXT is used for the Select engine combobixes in the Match Options and Load engine windows.
6294
6295 2011-12-13 19:48:37 -0800 Arun Persaud <arun@nubati.net>:
6296 only translate entries in CreateComboPopup if strlen>0; fixes #34991
6297
6298
6299 2011-12-12 19:06:26 -0800 Byrial Jensen <byrial@vip.cybercity.dk>:
6300 fix for repeating key issue, with this allissues this bug should be closed; fixes #35000
6301
6302
6303 2011-12-12 18:45:05 -0800 Arun Persaud <arun@nubati.net>:
6304 also don't translate selection in ComboSelect; fixes #34991
6305
6306
6307 2011-12-12 18:40:23 -0800 Arun Persaud <arun@nubati.net>:
6308 make entries in CreateComboPopup not translateable; fixes #34991
6309
6310
6311 2011-12-10 16:06:47 -0800 Arun Persaud <arun@nubati.net>:
6312 fix translation for engine list; fixes #34991
6313
6314 * click on browse button should be recognized in translated versions
6315 * width of button should auto-scale
6316
6317 2011-12-10 11:04:17 -0800 Arun Persaud <arun@nubati.net>:
6318 change keybindings that don't use ctrl, make MoveTypeInProc ctrl aware; fixes #35000
6319
6320 two keybindings were using keys without modifiers, adjusted these to use the ctrl key.
6321 Furthermore when typing in moves we need to check if ctrl was pressed and ignore those inputs.
6322
6323 Also added documentation for these keybindings.
6324
6325 2011-12-10 10:51:18 -0800 Arun Persaud <arun@nubati.net>:
6326 replaced unicode character for "'" in xboard.texi
6327
6328
6329 2011-12-10 10:08:48 -0800 Arun Persaud <arun@nubati.net>:
6330 removed Iconify function. Should be handled by the window manager.
6331
6332
6333 2011-12-08 20:53:13 -0800 Arun Persaud <arun@nubati.net>:
6334 marked an error messages for translation
6335
6336
6337 2011-12-08 20:33:29 -0800 Arun Persaud <arun@nubati.net>:
6338 translation: updated uk.po
6339
6340
6341 2011-12-03 17:52:23 -0800 Arun Persaud <arun@nubati.net>:
6342 fixed size of XBoard icon to 48x48
6343
6344 the icon gets installed in the 48x48 directory, but was >200 pixel wide. This gave a warning during rpm creation.
6345
6346 2011-12-03 08:07:32 -0800 Arun Persaud <arun@nubati.net>:
6347 updated pot file
6348
6349 marked a lot of new strings for translation
6350
6351 2011-12-03 08:06:42 -0800 Arun Persaud <arun@nubati.net>:
6352 added new files to po/POTFILES.in
6353
6354
6355 2011-12-02 22:13:36 -0800 Arun Persaud <arun@nubati.net>:
6356 marked more strings for translation
6357
6358
6359 2011-12-02 20:08:01 -0800 Arun Persaud <arun@nubati.net>:
6360 translation: added danish translation
6361
6362
6363 2011-12-01 18:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6364 Change encoding of seirawan ICS gating-castlings
6365
6366 In stead of using upper/lower-case promoChar, the ICS now uses
6367 RxK notation, like WinBoard writes in SAN, for better consistency.
6368
6369 2011-11-30 15:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6370 Put promo-suffix on ICS move in variant seirawan castlings
6371
6372 The distinction upper-case / lowercase determines gating at R / K
6373
6374 2011-11-28 11:56:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6375 Refrain from making unnecessary resize X request
6376
6377 The window resizing code in InitDrawingSizes is suppressed when no
6378 change is needed. Similarly, changing piece bitmaps is suppressed when
6379 we stay in the same variant (and InitDrawingSizes is called e.g. because
6380 of chaging lineGap through the Board dialog).
6381
6382 2011-11-27 22:27:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6383 Fix parsing of O-O castling in variant janus
6384
6385 The new parser did not realize it meant e1i1 rather than wild e1h1.
6386
6387 2011-11-26 22:28:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6388 Show 50-move counter also when observing ICS games
6389
6390 To not cheat 50-move display was suppressed in ICS mode,
6391 but for observing a game this made no sense.
6392
6393 2011-11-26 22:22:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6394 Ignore ICS game starts when already in game
6395
6396 The advance switching of the variant on game-start messages was
6397 disruptive for users with gin=1, which also sends such messages
6398 for other games than your own. For now fixed by only reacting on
6399 them when idle (detected by invalid game number).
6400
6401 2011-11-11 18:16:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6402 Fix WinBoard  clock-click bug
6403
6404 Clicking on the clock in WinBoard also called the LeftClick routine
6405 for handling clicks on the board. This led to the from-square being set
6406 to some inalid value, so that the next genuine board click was interpreted
6407 as a to-click, with undesired effects, especially with legality testing off
6408 or in EditPosition mode, where weird things are accepted.
6409
6410 2011-11-06 17:20:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6411 Add feature-override options
6412
6413 A few (dangerous) options are added to allow a user to override
6414 engine features, or change their defaults, by supplying a string
6415 with feature commands (e.g. "sigint=0") which tricks XBoard into
6416 thinking the engine sent that. There is a -featureDefaults which is
6417 processed before the engine features, and -first/secondFeatures
6418 which is parsed just before engine initialization.
6419   This goes horribly wrong when the user wouldtry silly things like
6420 including 'option' or 'done' features!
6421
6422 2011-11-05 12:32:39 -0700 Arun Persaud <arun@nubati.net>:
6423 translation: updated uk.po
6424
6425
6426 2011-11-04 21:58:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6427 Fix handling of -secondOptions option
6428
6429 The -firstOptions and -secondOptions settigs were not swapped when
6430 -singleEngieList was true, so the second engine's options would never
6431 be set in that case, but used for the first engine.
6432
6433 2011-11-04 21:55:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6434 Accept setup command in variant fairy even with legality testing on
6435
6436 Variant fairy does not really have a defined opening position, but lots
6437 of pieces defined, so we might want to play with legality checking on,
6438 but still rely on the engine for the opening position
6439
6440 2011-11-04 21:52:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6441 Set pieceToCharTable by setup command even when ignoring FEN
6442
6443 When the user starts from a set-up position, the egines default
6444 openingposition has to be ignored, but the pieceToCharTable would
6445 still be relevant.
6446
6447 2011-11-04 21:48:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6448 Change default sweep-promotion choicein queenless variants
6449
6450 The initial scanning of the sweep piece until a defined piece is found
6451 is now in the increasing direction (still starting at Queen), so that
6452 the fairy pieces are suggested before R, B and N.
6453
6454 2011-11-03 16:38:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
6455 Clear board markers when moving to other position
6456
6457 Now the markers from -showTargetSquares would stay on after a first click
6458 for the benefit of a click-click move, they would also stay on when not
6459 finishing the move, but operating the < > buttons in stead to call up
6460 other positions. ForwardInner and BackwardInner now clear the markers,
6461 like they also cleared highlights.
6462
6463 2011-11-01 18:30:22 -0700 Arun Persaud <arun@nubati.net>:
6464 updated Changelog, NEWS, etc.
6465
6466 2011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6467 Fix two warnings
6468
6469 2011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6470 Don't adjust clock on right-click in EditGame mode WB
6471
6472 This was a change that was already done for the left-clicks, but somehow
6473 never made it togit for the right-clicks
6474
6475 2011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6476 Change chase message in .lng files
6477
6478 2011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6479 Let perpetual-chase message mention square
6480
6481 In stead of a boolean, PerpetualChase now returns the square the chased
6482 piece ends on (encoded as an int), and on adjudication it will be printed.
6483
6484 2011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6485 Add mechanism to translate variable messages in WinBoard
6486
6487 A message prefixed with % in the lng file will be considered a match
6488 if it matches the start of the text to be printed, and the remaining
6489 part of the latter will remain untranslated. This was needed to allow
6490 translation of the perpetual change message, now it indicates the square
6491 of the chased piece.
6492
6493 2011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6494 Use other interpretation of Asia rules for chase detection
6495
6496 The detection of perpetual chases now ignores pre-existing checks.
6497
6498 2011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6499 Fix crash on loading garbage game file
6500
6501 The code to cache games was not resistant to moves before a valid
6502 game start, or a game filewithout any games at all.
6503
6504 2011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6505 Incorporate variant type in book hash key
6506
6507 This prevents booksforone variant being used for another, and allows
6508 multi-variant books.
6509
6510 2011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6511 Update language.txt file
6512
6513
6514 2011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6515 Update Dutch lng file
6516
6517
6518 2011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6519 Fix Load Options dialog WB
6520
6521 Defined fastkeys; reordered elements so that fastkeys focus edit they
6522 are intended for. Changed some of the more obscure texts. Corrected
6523 list of transatble dialog items, adding a few missing ones.
6524
6525 2011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6526 Fix some warnings
6527
6528 Prototypes were added, ormoved from backend.c to backend.h.
6529
6530 2011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6531 Put 'Load Next' button back in WB Game List
6532
6533 The '>' button for loading the next (filtered) game is re-instated in the
6534 WinBoard GameList. The main window has now accelerator keys Ctrl+Up and
6535 Ctrl+Down for loading the previous and next filtered game.
6536
6537 2011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6538 Speed up position search and consider side to move
6539
6540 The position search is made to pay attention to the side to move,
6541 which produces a speedup, because we only have to compare half the
6542 game positions when looking for an exact position match. An addition
6543 we now keep track of the total number of pieces, and abandon a game when
6544 it drops below the number of pieces in the position we seek.
6545
6546 2011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6547 Dynamically allocate move cache
6548
6549 A small statically declared cache good for 250k moves (~3200 games)
6550 will be expanded in steps of a factor 8 when it overflows.
6551
6552 2011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6553 Translate search strings
6554
6555
6556 2011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6557 Implement flipped search
6558
6559
6560 2011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6561 Debug position search cache
6562
6563
6564 2011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6565 profile
6566
6567
6568 2011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6569 Translate search-mode strings
6570
6571
6572 2011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6573 Quickscan
6574
6575
6576 2011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6577 Fix duplicate loading of second engine in tourneys
6578
6579 To decide if new engines should be loaded, it was tested if first.pr
6580 equalled NoProc, assuming that ReserveGame would have left the engine
6581 loaded if the next game would need the same engines. But a reuse=0 engine
6582 could have caused termination of the first engine process anyway, while
6583 the second would still be alive. So unconditionally starting of the second
6584 engine would cause redundant engine processes to abound.
6585   Now we only start new engine processes if both engine processes are dead.
6586
6587 2011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6588 Fix PV walking with -fSAN
6589
6590 The SAN options had broken the PV walking, because the shelving of the
6591 walked PV to create space for the conversion to SAN of an incoming PV
6592 would not be properly undone, but would add the walked PV to the game.
6593
6594 2011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6595 Refine clock adjusting
6596
6597 Adjusting the clocks by shift-clicking them is now only allowed with
6598 autoCallFlag off, and an error-popup results when you do it otherwise.
6599 Also, swtching to Edit Game mode won't reset the clocks to the stored
6600 value anymore when you have just adjusted it.
6601
6602 2011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6603 Fix crash on adding items near book end
6604
6605 When Edit Book would add so many entries near the end of an opening
6606 book that the end of the added info would surpass the old end of the
6607 file, the copying of the tail got stuck in an infinite loop, extending
6608 the file without limit with repeating info.
6609
6610 2011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6611 Print message on wrong use of Clone Tourney
6612
6613 The user is urged to first provide the name of an existing tourney file
6614 when he presses the button without one. The button is also renamed.
6615
6616 2011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6617 Fix invalid combobox entry WB
6618
6619 A combobox label that was not in the list (because the user typed
6620 it, rather than selecting one) would cause a crash.
6621
6622 2011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6623 Fix crash on loading garbage game file
6624
6625 XBoard crashed when a game file contained a PGN game result before
6626 any valid game start, because data would be written in a game-list
6627 node that did not exist yet. This would occur frequently when garage
6628 was read; basically any asterisk in the data would do it.
6629
6630 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6631 Add control to set -discourageOwnBooks WB
6632
6633
6634 2011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>:
6635 only require 0.17 of gettext
6636
6637 This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones.
6638
6639 2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6640 Add option -discourageOwnBooks
6641
6642 This boolean option determines the default setting of the hasOwnBook
6643 option before a tourney game starts. By setting it, the hasOwnBook
6644 option is cleared, which would enable use of the GUI book, like the
6645 engine was installedwith the /firstXBook option. An explicit option
6646 on the engine install line can still overrule this, though.
6647  A control to set this option has been added in the XBoard Match dialog,
6648 and it is saved in the tourney file to force consistency.
6649
6650 2011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6651 Reset initString and computerString on engine load
6652
6653 These options are typically engine specific, and must thus be
6654 reset to their default value before loading a new engine.
6655
6656 2011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6657 Add Romanian lng file
6658
6659
6660 2011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6661 Reactivate Falcon Chess
6662
6663 Now the patent for this has expired, Fairy-Max plays it again.
6664 So the XBoard support for it is now switched on, and an item for it is
6665 added to the XBoard New Variant menu dialog. (WinBoard still had that.)
6666 In the array the Lance was changed for the Falcon as a wild-card piece.
6667
6668 2011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6669 Update texi file for new features
6670
6671
6672 2011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6673 Update texi file for position search
6674
6675 The new items in the Load Game Options dialog are described, as well
6676 as the command-line options used to store them in the settings file.
6677
6678 2011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6679 Remove paragraph about .Xresources from texi file
6680
6681 Command-line options can no longer be set through .Xresources already
6682 since version 4.5.0.
6683
6684 2011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6685 Add Dutch WinBoard translation
6686
6687
6688 2011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6689 Prevent Edit Book window from stealing focus (WB)
6690
6691 In WinBoard updating the book window would give it focus. Now the
6692 focus is given back to the main window, except when the Edit Book
6693 window is first created.
6694
6695 2011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6696 Make book-window update part of HistorySet
6697
6698
6699 2011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6700 Fix position loading in tourneys
6701
6702 In a tourney a position must be loaded when the engine is not yet
6703 started, and the old version of LoadPosition could not handle that:
6704 It would start up the engine, and send it commands unconditionally.
6705
6706 2011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6707 Fix resetting -fSAN on engine change
6708
6709 There were two places for loading another engine, Load (from menu) and
6710 SetPlayer (in tourneys), and the previous patch for this missed the
6711 second one.
6712
6713 2011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6714 Make too-long game non-fatal
6715
6716 GameEnds is now called when the maximum number of moves is exceeded,
6717 rather than DisplayFatalError. Not sure if this properly terminates the
6718 game in all situations, but DisplayFatalError (after calling GameEnds)
6719 would also wait for the user to confirm the error popup before really
6720 exiting, so that in an unattended automatically running tourney there
6721 was not much fatal, and the entire tourney would in fact be finished.
6722
6723 2011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6724 Keep book file open
6725
6726 Rather than opening and closing the book file on every probe, it is
6727 now only closed and opened when the name of it changed.
6728
6729 2011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6730 Suppress playing of book moves with weight 0
6731
6732 Bookmoves with weight 0 could be played when the sum of the weights
6733 of all moves from the position was 0. So it was not possible to suppress
6734 the only move by giving it weight 0. This is now corrected.
6735
6736 2011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>:
6737 added NEWS for release of 4.5.3
6738
6739
6740 2011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>:
6741 better contrast for XBoard icon on a dark background
6742
6743
6744 2011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>:
6745 translationproject.org: updated Ukrainian translation
6746
6747
6748 2011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>:
6749 updated pot file and send to translation project
6750
6751
6752 2011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>:
6753 (tiny change) Clarify "-name" option is Xt-only
6754
6755 There's a set of standard options with will get used by Xt, before Xboard
6756 itself will use them.  "-name" is an Xt-only option which will set the name
6757 and resource of the window to the value requested.  It has nothing to do
6758 with setting opponent/player names.
6759
6760 Signed-off-by: Thomas Adam <thomas@fvwm.org>
6761
6762 modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL)
6763
6764 2011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6765 Fix LoadGameOrPosition starting up engine
6766
6767 When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that
6768 is called in LoadPosition() when you are running from a position file
6769 would prematurely start up the engine (without waiting for features).
6770 The kludge to suppress this behavior for the explicit call to Reset()
6771 is now extended to encompass LoadGameOrPosition.
6772
6773 2011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6774 Clear fSAN option before new engine load
6775
6776 This to prevent the new engine will inherit it from the previous one.
6777 As the command-line options an only set it, this has to be done by
6778 explicit assignment.
6779
6780 2011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6781 Fix some warnings (prototypes)
6782
6783
6784 2011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6785 Fix write failures in concurrency
6786
6787 In WinBoard a flood of writes by differentprocesses to the same PGN can
6788 cause a "permission denied" error in fopen. This patch causes retries after
6789 a random (5-15 msec) wait, in such cases.
6790
6791 2011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6792 Move HistorySet to back-end
6793
6794 This existed in exact duplicates in both front-ends.
6795
6796 2011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6797 Make DoSleep front-end wrapper for msec sleep
6798
6799 DoSleep was #defined as a macro for Sleep/ sleep, with an argument
6800 indicating msec in WinBoard, but seconds in XBoard. Nuw it universally
6801 uses msec, by defining it as a wrapperin the respective front-ends.
6802 (For XBoard itwraps FrameDelay.)
6803
6804 2011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6805 Fix playing sounds when -soundProgram is empty
6806
6807 It made no sense to just send the names of the sound files to the shell.
6808 So the soundProgram isnow tested for being an empty string, and if so,
6809 PlaySound() is aborted.
6810
6811 2011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6812 Add -afterGame option
6813
6814 This option specifies a command line to be executed after each game of
6815 a tournament. To execute the line, the function RunCommand() was added
6816 in the front-end. For XBoard this was a simple call to system(); for
6817 WinBoard part of the StartChildProcess code was cloned (without the pipe
6818 stuff).
6819
6820 2011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6821 Upgrade -serverMoves option
6822
6823 The (undocumented) -serverMoves option was upgraded to conform to the
6824 ChessLive! protocol extension for sending SAN tags. A bug that allowed
6825 upper-case promoChar to leak through was also fixed, and code was added
6826 to write engine PVs to file. Flushing of the game result to the -serverMoves
6827 file was also fixed.
6828
6829 2011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6830 Fix AppendComment
6831
6832 The joining of two comments was not performed correctly if the second
6833 one had the braces yet to be added: the closing brace was not added in
6834 that case.
6835
6836 2011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6837 Auto-popup ICS Input Box
6838
6839 Typing to the board made the move type-in pop up, but in ICS mode
6840 this is of course undesirable. Like in WinBoard, the ICS Input Box
6841 should pop up in stead, and accept the typed character. This is now
6842 realized. If the box already exists and has text in it, the typed
6843 character is appended to that text, and the box is given focus.
6844 Spaces now also are considered as printable.
6845
6846 2011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6847 Slightly decrease sensitivity of sweep actions
6848
6849 The sweep-selection of promotion and drop pieces, or step through the PV
6850 was so sensitive that it was difficult to reliably make the intended choice.
6851 It has now been reduced by a factor 1.5-2, and the sweep selection and
6852 PV walk now also use a different value.
6853
6854 2011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6855 Extra buttons in WB Tournament dialog
6856
6857 A button to copy contents of the tournament fileto the dialog is added.
6858 Buttons to invoke the Common Engine and Time Control dialogs are also added.
6859
6860 2011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6861 Fix crash on typing non-existent enginein Load Engine dialog
6862
6863
6864 2011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6865 Fix display state after failed analysis attempt
6866
6867 When an engine responded to the "analyze" command with an "unknown command"
6868 message, a Reset was done without altering the display, causing a
6869 discrepancy between display and internal state, which caused confusion
6870 when it finally corrected itself. I replaced the Reset call by an
6871 EditGameEvent call, to preserve the loaded game. The Reset was presumably
6872 used to allow for the case where the engine would be so upset by the
6873 analyze command that it needed to be reset by a "new" command, but this
6874 seems overly paranoic for an engine that just recognized the command
6875 as an unknown one.
6876
6877 2011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6878 Fix treatment of PGN score/depth info with linefeeds in them
6879
6880 This is needed to make the PGN more Arena-proof.
6881
6882 2011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6883 Fix quoting in Load Engine dialog
6884
6885 A (space-contaning)  engine name only needs quoting when there are parameters,
6886 because the over-all engine command will be quoted anyway. For UCI engines
6887 duplicate quoting is fatal, because when passed as the -ec argument of
6888 Polyglot, it will be quoted yet another time, also with double quotes.
6889
6890 2011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6891 Replace Analyze File by Analyz Game function
6892
6893
6894 2011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>:
6895 new developer release
6896
6897
6898 2011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>:
6899 update po files
6900
6901
6902 2011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>:
6903 updated Changelog, NEWS, etc.
6904
6905
6906 2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
6907 malloc.h is not needed
6908
6909
6910 2011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6911 Fix ICS move-list header mistaken for null moves
6912
6913
6914 2011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6915 Allow two-games-per-opening to work with book
6916
6917 A new option -seedBase is added, and written to the tourney file.
6918 It allows all XBoard instances working on a tourney to generate the same
6919 'random' openings in a deterministic way, based on this one-time seed
6920 and the game number. When -loadGameIndex equals -2, it uses the same seed
6921 for an odd and the following even game.
6922
6923 2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6924 Fix use of random
6925
6926 In some places rand() was called explicitly, rather than through the
6927 (configured) place-holder random().
6928
6929 2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6930 Translate search texts
6931
6932
6933 2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6934 Add -useBoardTexture and -usePieceFont options
6935
6936 These options suppress the use of the given texture files or piece fonts
6937 without relying on the kludge to disable them by prefixing an asterisk
6938 to the file or font name. Checkboxes have been added to the Board dialog
6939 to control them. The user can now set piece font in WB font dialog.
6940 The sample text can be used to specify the -fontPieceToCharTable,
6941 the font name itself the -renderPiecesWithFont value.
6942
6943 2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6944 Fix crash on start without settings file
6945
6946 A primordial -1 in currCurrent caused a crash when WinBoard was started
6947 without ini filein game-viewer mode.
6948
6949 2011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6950 Fix generic-popup failure after empty engine-settings dialog
6951
6952 The error exit ofthe Engine #N Settings dialog in case of an engine without
6953 options forgot to clear currentCps, with as a result that the generic popup
6954 thought every subsequent popup was an empty one, and kept repeating the
6955 'engine has no options' error message for every dialog.
6956
6957 2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6958 Allow substitution of engines during tournament
6959
6960 Two buttons are added in the tournament options dialog, for upgrading
6961 and for replacing a tourney participant. Lots of tests on the validity
6962 of the request are done, and if all are passed, the tourney file is
6963 written with the new participants (and in case of replace) with the
6964 results of the replaced engines erased from the -results string.
6965
6966 2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6967 Fix up/down arrows in game list
6968
6969
6970 2011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6971 Add key bindings for loading next/previous game of list
6972
6973 These bindings are set both for the game list and the board window.
6974 To make them useful, focus has to be transferred to the board widget
6975 after loading (it tends to transfer to the tags window), which now
6976 seems to work, but not always. From the game list the shellWidget
6977 seems to get focus rather than the board, which is bad as it is not
6978 sensitive to the key bindings.
6979
6980 2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6981 Allow deletion of last book move
6982
6983 The book-edit function refused to delete the entiremove list,
6984 for no good reason. This limitation now has been lifted.
6985 Also the error message that the key for the current book entries
6986 is different from that of the currentposition has been suppressed
6987 if there were no entries found for the current position (so that the
6988 book is positioned at the next key), so that it is possible to add
6989 moves from scratch.
6990
6991 2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6992 Speed up parser
6993
6994 Line numbers > 1, which are common, can exit already during move parsing,
6995 to save lots of matching on resultsand castlings.
6996
6997 2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
6998 Fix missing files in file browser
6999
7000 The file browser was throwing away the first two files, assuming
7001 they were "." and "..". Alas, this is no longer true on every Linux.
7002 Now we actuallyc compare for these names, before skipping them.
7003
7004 2011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7005 Delay file loading to allow expose event first
7006
7007
7008 2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7009 Fix paging
7010
7011
7012 2011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7013 Better fix of crash on empty game list
7014
7015 An empty list is now replaced by a list containig a simple message.
7016
7017 2011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7018 Add plain arrows as key binding for stepping forward/backward
7019
7020
7021 2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7022 Debug position selection
7023
7024
7025 2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7026 Print progress during load / selection of game
7027
7028 The title bar of themain window is used to display a running count
7029 of the number of games loaded / searched.
7030
7031 2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7032 Parse PGN tags without allocating memory
7033
7034 In WinBoard malloc/free did not seem to work when preparing the game list,
7035 leading to a huge memory list when ParsePGNTag was used. The added code
7036 parses the required tags in an alternative way as a work-around.
7037
7038 2011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7039 Implement searching games in Game List for a position
7040
7041 For this it was needed to reconstruct all positions of the games
7042 without loading them, so they could be compared to the currently
7043 displayed position. A new routine GameContainsPosition is made for that.
7044  In Disambiguate, when the global quickFlag is set, we now do the
7045 disambiguation ignoring check,and only if this leads to an ambiguous
7046 move, we repeat it taking check into account to see if that resolves
7047 the ambiguity. This causes us to miss if unambiguous moves are illegal
7048 because they put their King in check, but who cares?
7049  We now do not make game-list line when not needed. If we do not filter
7050 by text, but by position, there is no need for preparing the game-list
7051 line for games that are not selected. All for efficiency.
7052
7053 2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7054 Allow entry of variations in PlayFromGameFile mode
7055
7056 Adding variations is more like editing a comment,and not really editing
7057 the game. Therefore we allow it on loaded games. As soon as we are in a
7058 variation, we temporarily switch to a (hidden) EditGame mode, restoring
7059 the original mode when we revert to the main line.
7060   We now also stay in PlayFromGameFile mode after loading a game,
7061 And opening variation (fromtheComment window) in PlayFromGameFile mode
7062 is also allowed.
7063
7064 2011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7065 Force Move History refresh after loading/reverting variation
7066
7067 The Move History window was not refreshed after switching to or from
7068 a variation if that variation happened to have the same length as
7069 the main line. Now a change in storedGames since the previous refresh will
7070 force a full refresh to avoid this. For this to work, storedGames
7071 did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
7072 calls HistorySet before the history is restored, so we don't want
7073 it to snatch away the full refresh. A call to HistorySet had to be
7074 added after PopInner is done restoring the move history.
7075
7076 2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7077 Popdown Comment window on new game
7078
7079 What is in this window cannot possibly remain valid, and can even be harmful.
7080
7081 2011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
7082 Allow null move in analysis and edit-game mode
7083
7084 In some games it is allowed to pass your turn. The internal
7085 representation picked for such a null move is the drop of an empty
7086 square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
7087 SAN form is "--", (for compatibility with ChessBase / SCID), and the
7088 non-compliant forms "null", "pass"and "Z0" are recognized in
7089 the parser as well. ApplyMove() has to test for this special case
7090 (to not actually clear a1), and a way to enter the pass for the user had
7091 to be found (clicking the opponent clock, like in EditPosition mode).
7092  The null move is made move irreversible to prevent repetition draws
7093 spanning null moves being adjudicated.
7094   Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
7095 Because Chess engines will not accept null moves, SendMoveToProgram had
7096 to be adapted to send not the move, but the position after it in
7097 case of a null move. This erases the move history in the engine,
7098 so it will not react to 'undo' for that null move, so BackwardInner
7099 had to be adapted to test for intervening null moves, and if one is
7100 found, approach the target from the other side after loading the
7101 earliest position before it not crossing another null move, and
7102 then loading the moves upto the target.
7103   XBoard clock clicks had to be fixed, to pay attention to the shift key.
7104
7105 2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7106 Give WinBoard Game List its own font
7107
7108 The font fort he Game List used to be shared with the Engine Output and
7109 Move History windows, but this made it impossible to use a figurine font
7110 in the latter two (which displays piece symbols for capitals) without
7111 messing up the Game List. An option -gameListFont has been added to specify
7112 the font for the Game List(and save it in the settings file), while a
7113 control for it is added in the fonts dialog.
7114
7115 2011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7116 Fix crash on OK after Save Changes in Tags and Comment popup.
7117
7118 The global variables tagsText and commentText were used to pass
7119 a string obtained from a widget (and thus not malloc'ed), which
7120 caused a crash when the GenericReadout tried to use those variables
7121 for the new value. Fixed by using GenericReadout (which does malloc)
7122 to read out the text,in stead of GetWidgetText.
7123
7124 2011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>:
7125 Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
7126
7127 This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
7128
7129 2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7130 Suppress some XBoard warnings
7131
7132
7133 2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
7134 fixed segfault in xengineoutput
7135
7136
7137 2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7138 Disable -showTargetSquares in ICS mode
7139
7140 Help like this is considered cheating on FICS, so it is disabled for
7141 all 'classical' ICS variants. (For variants eyont Shogi we don't care.)
7142
7143 2011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7144 Put grab on sweep-selecting in Edit Position
7145
7146 A right down-click starting a sweep-selection event did not grab the
7147 mouse events, so that an up-click outside the window would go
7148 unnoticed, and the pointer motion stayed coupled to selecting the
7149 piece until the next click. By returning 2 from the RightClick back-end
7150 routine we request the grab.
7151
7152 2011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7153 Write more labels on score axis of eval graph
7154
7155 The labels for +/-1 and +/-3 are now also written, provided there is
7156 enough space.
7157
7158 2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7159 Improve Eval Graph  with -evalZoom and -evalThreshold
7160
7161 The score range between -1 and +1 can now be blown up by a factor
7162 specified through -evalZoom. The threshold below which histogram bars
7163 are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
7164 be set through the -evalThreshold option.
7165
7166 2011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7167 Print reversible plies done in stead of plies to go
7168
7169 Printing the number of plies left to the draw-adjudication point was
7170 confusing when the N-move rule was set to a non-standard value.
7171 In stead we now print the number of plies since the last irreversible
7172 move, so the user can compare it to both the engine claim point (100)
7173 and the adjudication point he set (which might be beyond 100).
7174
7175 2011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7176 Let WB eval graph react ot single left-click
7177
7178 Unlike in XBoard, the WinBoard eval graph awatys had required double-
7179 clicking to go the the corresponding move, while there really is no
7180 reason for this, as it is no text edit, and single-clicks have no function
7181 (like select).
7182
7183 2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7184 Add -scoreWhite option
7185
7186 This is similar to -absoluteAnalysisScores, except that it works in
7187 all modes, and flips the score given by the engines in the engine-output
7188 window when black is to move.
7189
7190 2011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7191 Print 50-move counter in Engine-Output title
7192
7193
7194 2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7195 Display score/depth in Eval Graph title
7196
7197 No longer print it in the comment window.
7198
7199 2011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7200 Let -sweepPromotions also work for click-click moves
7201
7202 A click-click promotion no longer causes auto-queening, but the down-click
7203 on the to-square causes a Queen to stick to the mouse pointer, and then
7204 allows the user to change it through dragging backwards before releasing it
7205 with an up-click.
7206   In WinBoard this required a slight change in DragPieceBegin, because
7207 the dragged piece there only was made visible when the mouse pointer
7208 actually started moving (and dragInfo.pos was set), presumably under the
7209 assumption that before mouse move the piece was already on the clicked
7210 square. Which in the case of a to-square was of course not true. (Because
7211 a piece jumps to the mouse pointer when the click is not centered on a
7212 square, this gives less jittery static clicks.) So DragPieceBegin has
7213 been given an extra argument now, to indicate whether it should attach
7214 the piece to the mouse pointer immediately.
7215   To make the click-click sweepPromotions work in Shogi (for which the
7216 drag-drop sweepPromotions could never work, because it is not clear the
7217 piece has a posibility to promote when you pick it up), translation of
7218 the sweep-selected piece to a Shogi promoChar had to e added.
7219
7220 2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7221 Improve -showTargetSquares on click-click moves
7222
7223 The markers on move targets are now kept when a first click merely
7224 selects a piece, rather than dragging it elsewhere. The second click
7225 (by definition on the to-square) then clears the markers.
7226
7227 2011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7228 Let PGN parser accept lower-case piece in drop moves
7229
7230 The @ sign prevents amiguity with other notations anyway.
7231
7232 2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7233 Fix parser.c line endings
7234
7235
7236 2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7237 Fix writing searchTime in tourneyFile
7238
7239 This had to be derived from the variable searchTime, which gives it
7240 in seconds, as appData.searchTime (a string in minutes) is not reliable,
7241 as it contains the command-line value, which might have been altered
7242 through the time-control dialog.
7243
7244 2011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7245 Fix resetting searchTime if other TC mode is chosen (XB)
7246
7247 This fixes a bug in the new time-control dialog.
7248
7249 2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7250 Fix coords display on large boards
7251
7252 The file indicators can now run upto 'w'. Only the lowest digit
7253 of the rank number is printed, from a table that is valid to 22.
7254
7255 2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7256 Fix crash on making too-long FEN
7257
7258 The buffer for in PositionToFEN was only 128 bytes, which was not enough
7259 for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
7260 There also is some approximate overflow checking added (but it is not
7261 fool proof in case there are holdings...)
7262
7263 2011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7264 Fix drop moves on boards with more than 10 ranks
7265
7266 The internal encoding for rank 16 is '@', and thus ambiguous with drop
7267 moves. They were always printed as 16, breaking drop games on large
7268 boards. The ambiguity is now solved (for boards with more than 16 ranks)
7269 by checking if the preceeding letter is upper case, in which case it
7270 cannot be a fileindicator, but must be a piece, and thus a drop.
7271
7272 2011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7273 Don't one-click move when legality testing is off
7274
7275
7276 2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7277 Reorder controls in Engine Setings dialog WB
7278
7279 To get tabbing through the controls in left-to-right order, they are
7280 now added to the template structure in that order. Also add a tabstop
7281 to Label options, so that JAWS will read those.
7282
7283 2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7284 Add tab stops in WB generic popup
7285
7286 The WinBoard generic popup did not put tab stops on push buttons,
7287 including the OK and cancel button, with as a consequence that these were
7288 skipped when tabbing through the dialog controls. In addition the tabbing
7289 could not begin before the user selected one of the controls with the mouse.
7290   Now all buttons have tab stops, and the cancel button is given focus
7291 when the dialog pops up.
7292
7293 2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
7294 Implement Grand Chess
7295
7296 Grand Chess requires a lot of exceptional handling similar to Superchess
7297 and Great Shatran, because it also allows only promotion to a captured
7298 piece. In addition it shares the enlarged promotion zone with Makruk and
7299 Shogi, as well as the fact that promotion can be deferred. The 10-rank
7300 board furthermore required a better generalization of double-pushes and
7301 e.p. captures. On such a board double puhes are now allowed from 2nd and
7302 3rd rank, e.p. capture from 5th and 4th.
7303
7304 2011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
7305 Allow promotion to Pawn with legality testing off
7306
7307 In stead of ImpossibleMove promotionto Pawn now merely is an
7308 IllegalMove, so it can be played with legality testing off.
7309
7310 2011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
7311 Create some space in WB New Variant dialog
7312
7313
7314 2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7315 Allow double-digit rank numbers
7316
7317 The parser already understood double-digit numbers on input, and
7318 CoordsToAlgebraic produced them on otput. This patch also fixes sending
7319 of the moves to the computer, for which the moveList was used. The latter
7320 stored 10 as ':', etc,to always get a 4-char move, the characters of which
7321 were frequently being converted to fromY or toY by adding/subtracting ONE.
7322 To not break that the one-character encoding of rank number is kept in
7323 moveList, but in SendMoveToProgram, characters > '9' are converted to
7324 double digits.
7325
7326 2011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7327 Add Absolute Analysis Scores in Genral Options dialog XB
7328
7329
7330 2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7331 Fix texi file, and update it further
7332
7333
7334 2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7335 Modified po
7336
7337
7338 2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7339 Update texi file
7340
7341
7342 2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7343 Restore echo after ^C in ICS password
7344
7345
7346 2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7347 Fix some warnings
7348
7349
7350 2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7351 Increase efficiency of SAN generation / disambiguation
7352
7353 **************** Risky patch! **********************
7354 The algorithm used for disambiguating and generating SAN was extremely
7355 inefficient, because it generated all pseudo-legal moves from the relevant
7356 position, and then for each of those did a check test (involving generation
7357 of all moves of the opponent), before determining if the move matched the
7358 (proposed or given) SAN move. While it is pointless to generate moves
7359 with a piece that does not match (let alone checking them for legality).
7360 And for a piece that matches, it is pointless to test legality of moves
7361 that do not match the to-square.
7362   To speed up the process GenLegal and GenPseudoLegal have been equiped
7363 with an argument that can indicate the piece type of the required move,
7364 so they can skip generating moves with other pieces. TestLegality,
7365 Disambiguate and CoordsToAlgebraic make use of this facility, and set also
7366 (through global variables rFilter and fFilter) a to-square filter to be
7367 applied in the GenLegalCallback before it tests the move for legality.
7368   This patch is especially tricky for Crazyhouse, where the piece indicated
7369 in the move might not be the piece actually on the board, because the latter
7370 is a promoted Pawn, and has to be demoted toits base type before the
7371 comparison.
7372
7373 2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7374 Fix compile errors WinBoard
7375
7376 The patch to make non-existing options non-fatal broke WinBoard. All calls
7377 to ExitArgError from it now supply a third argument TRUE to fix it.
7378
7379 2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7380 Add -fSAN / -sSAN options
7381
7382 These options force the PV of the applicable engine to be converted to SAN.
7383 They make use of the existing ParsePV routine, after shelfing a possible
7384 PV (from user PV walking) to free the space after the last move.
7385 Could be costly in terms of CPU usage.
7386
7387 2011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7388 Cure flicker in Move History window, fix highlighting
7389
7390 The highlighting of the current move in the Move List window by selecting
7391 it did not always work, because some other windows were clearing their text
7392 widgets by selecting the contents and killing it, thus snatching the
7393 selection away. This has been changed to setting XtNstring to an empty
7394 string as a method for clearing without side effects on the selection.
7395 As a bonus the Engine Output window now also no longer has the black flicker
7396 on clearing it.
7397   In addition, triggering a scroll by setting the insertion point to the
7398 end of the text caused excessive flicker in the Move List window, apparently
7399 clearing it and redrawing from scratch, (even if there was no scroll motion),
7400 to the point where on my slow laptop the move history stayed entirely blank
7401 during a rapid succession of moves. This has been combatted by using the
7402 end-of-line action procedure (which does not seem to suffer from this) to put
7403 the insertion point at the end, when we need to scroll to close to the end.
7404
7405 2011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7406 Fix crash on clearing new Move List window
7407
7408 When a new game started and a previous game had filled the Move List
7409 window, a crash occurred because an attempt was made to undo the
7410 highlighting of a no-longer-existing move, and then scrolling to it.
7411
7412 2011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7413 Use sound for ICS tells also with engine telluser popups
7414
7415 The telluser and tellusererror commands now can be assigned a sound.
7416
7417 2011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7418 Add Score in Move List option to general options dialog XB
7419
7420 Now that we have a WinBoard-style Move History window, this option is
7421 no longer a no-op in XBoard.
7422
7423 2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
7424 new developer release
7425
7426
7427 2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
7428 updated Changelog, NEWS, etc.
7429
7430
7431 2011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7432 Update window itle after last game of match
7433
7434 The result printed behind player names during a match would still be the one
7435 without the game, differing from what the popup would show, which looked
7436 sloppy enough for people to complain about it.
7437 .
7438
7439 2011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7440 Make WB generic popup translatable
7441
7442 When used for internal settings (as in the Load Engine and Tournament
7443 Options dialogs), the option names are now subectto translation.
7444
7445 2011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7446 Redo Move History with generic popup in WinBoard style
7447
7448 The use of color and boldness to make the move list more readable
7449 unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move.
7450
7451 2011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7452 Remove stray else
7453
7454 Due to an erroneous else, the window parameters of Move History were
7455 not retreived (and thus incorrectly saved) when the Engine Output was up.
7456
7457 2011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7458 Make non-existing opton in settings file non-fatal
7459
7460 It is rather difficult to recover from a situaton where the settings
7461 file contains an unknown option (e.g. because you downgraded to a
7462 previous version that had fewer options), especially in WinBoard, where
7463 the user settings file is in a hidden folder, and people might not be
7464 able to find it, let alone edit it. By just skipping the line with the
7465 offending option, rather than generating a fatal error, when reading
7466 from a settings file, such options will be automatically purged from the
7467 file as soon as you save settings.
7468   Small problem is that the user cannot be warned, as the initialization
7469 has not progressed far enough at this point to generate error popups. In
7470 XBoard we can at least print to the console, but in WinBoard there is no
7471 warning at all. But the worst thing that can happen is that new options
7472 in a settings file of a more advanced version will revert to their
7473 defaults.
7474
7475 2011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7476 Change long form of -tf option to -tourneyFile
7477
7478 This is a more logical name, and in the WinBoard docs it was already
7479 described as such. Also remove the -processes option, which in the
7480 current design of the tourney manager is no longer used.
7481
7482 2011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7483 Fix default of -remoteUser
7484
7485 This has to be an empty string, rather than NULL, to prevent XBoard from
7486 segfaulting when the -gateway option is used.
7487
7488 2011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7489 Add -at and -opt options as alternative for @
7490
7491 Windows XP and Vista shortcuts do not display command lines with @ in
7492 them correctly, and these optionsprovide a work-around for that.
7493
7494 2011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7495 Fix empty-string option values in XBoard
7496
7497
7498 2011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7499 Fix crash on switching sound in Vista
7500
7501 When choosing a new sound the wave form of the old one was free'ed, but
7502 because built-in sounds are not really malloc'ed, this led to a crash.
7503
7504 2011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7505 Update WB docs for tourney manager
7506
7507
7508 2011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7509 Add icon to WB for tournament files
7510
7511
7512 2011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7513 Redo Time Control dialog with generic popup
7514
7515 As poor-man's disabling of the unneeded input fields, we print the word
7516 "Unused" in them.
7517
7518 2011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7519 Some refactoring in xoptions.c to separate out front-end
7520
7521
7522 2011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7523 Redo New Shuffle Game dialog with generic popup
7524
7525 The buttons are slightly renamed, and in stead of having an 'off'
7526 button to clear it, shuffleOpenings now has its own checkbox, which is
7527 ticked when a fixed or dynamic random is chosen with the buttons.
7528
7529 2011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7530 Fix type of shuffleOpenings
7531
7532 This was a Boolean option, and thus accessed by the args.h code as such,
7533 while it was declared as an int (and used in backend.c as such). This
7534 could have led to problems with different endianness.
7535
7536 2011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>:
7537 Internationalize the file browser.
7538
7539 The file browser was missed in the previous round of
7540 internationalization and had gotten broken by setting international =
7541 True in its widgets.  I got nothing but segfaults trying to set
7542 international to False in the file browser widget subtree when it was
7543 True in the main window, so I gave up and did the
7544 internationalization.  It turned out to be pretty easy.
7545
7546 As a tiny bonus fix, I removed some ../'s from includes, and you can
7547 now configure and build xboard in a subdirectory again.  This was
7548 useful for building both --enable-nls and --disable-nls from the same
7549 sources to compare functionality and make sure both still work.
7550
7551 2011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7552 Fix crash at end of Swiss tourney
7553
7554
7555 2011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7556 Fix display of logos
7557
7558 The logo files are now sought relative to the WinBoard install
7559 directory. Non-existing logos cause clearing of the logo, rather than
7560 letting the logo of the prevous engine hang. Logo change is requested
7561 explicitly from the back-end (when an engine is initialized for a new
7562 game), rather than using the kludge in StartChileProcess. This required
7563 a dummy UpdateLogos routine in the XBoard front-end.
7564
7565 2011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7566 Fix parameter handling in adapter command
7567
7568 A backslash was not considered the end of an option name, which was
7569 fatal for UCCI2WB, which needs %fd\\%fcp in its command line.
7570
7571 2011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7572 Clear Engine-Output pane when initializing engine
7573
7574 This to prevent output from the previous game hanging there during the
7575 next game, when the engine that is really playing is in book and
7576 doesn't produce thinking output there.
7577
7578 2011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7579 Fix display of last move of last match game
7580
7581 When a game was adjudicated (e.g. because XBoard detected mate) GameEnds
7582 would trigger an exit if it was the last game of the match, and thus
7583 never returned, while the ShowMove was called only after return from
7584 Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to
7585 cause ShowMove to be called before exiting. (Ugly kludge...)
7586
7587 2011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7588 Fix concurrency in Swiss tourneys
7589
7590 The pairing engine was consulted for the next round before all games of
7591 the previous round were finished, if other XBoard instances were still
7592 playing games. This caused the instances finishing early to stall
7593 indefinitely. This is fixed by moving the Swiss pairing code to after
7594 the syncInterval code. The normal pairing code (the call to Pairing)
7595 must stay before it, because it determines the syncInterval. So ther is
7596 a bit of tourneyType dependence cluttering up the code here. :-(
7597
7598 2011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7599 Give error popup when pairing engine fails
7600
7601 An invalid pairing now produces an error popup to inform the user, so he
7602 knows why the tourney stagnates.
7603
7604 2011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7605 Fix clock mode in tourney starting from -ncp mode
7606
7607 When a tourney started from -ncp mode, which was allowed in MatchEvent,
7608 because the tourney loads its own engines anyway, the menu enablings and
7609 clockmode where not restored to their 'GNUMode' state.
7610
7611 2011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7612 Fix round-robin schedule
7613
7614 The first round was played twice, and the formulas used to derive the
7615 pairing were not even-odd resistant anyway. Both even and odd number of
7616 participants should work now.
7617
7618 2011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7619 Fix interrupting tournament
7620
7621 Stopping a tourney by using the Machine Match menu item did not wor
7622 properly.
7623
7624 2011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7625 Improve quoting of engine name on install
7626
7627 Rather than always using double quotes for the engine command, the
7628 engine filename is now double-quoted if it contains spaces (and no
7629 double-quotes), and the comand is single-quoted if it contains
7630 double-quotes (and double-quoted otherwise).
7631
7632 2011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7633 Print sensible window title during tourneys
7634
7635 Rather than the "(W-L-D)" in the title we now print game number and
7636 total games, plus indication of the tourney type (rr, gt or sw).
7637
7638 2011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7639 Let XBoard propose name of tourney file
7640
7641 Add an option -defaultTourneyName to configure the name that will be
7642 proposed in the Tournament Options dialog's tournament-file field. The
7643 option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour,
7644 mintes, seconds of the curret time in %02d format, or %Y for the year in
7645 %04d format. Any tournament -file name is ignored when no participants
7646 are given. Participants without a tourney file remains an error.
7647
7648 2011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7649 Improve Tournament dialog layout WB
7650
7651
7652 2011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7653 Fix -matchGames option
7654
7655 The new MatchEvent code had broken the -mg option, and used always
7656 -defaultMatchGames in stead.
7657
7658 2011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>:
7659 Fixed small bugs in several .po files, enabling these translations to be used.  They all probably need more work from the translation team. I don't speak any of these languages, but I did some spot checks either from my own knowledge or using Google Translate, and they generally look sane.
7660
7661 - Several files were in utf8 but needed to be marked as such (that is,
7662   "CHARSET" changed to "UTF-8").  Affected es.po, it.po, ru.po, vi.po,
7663   zh_CN.po, zh_TW.po.
7664
7665 - it.po was missing a \n at the end of one translation.
7666
7667 - ru.po had unescaped double-quote marks in one translation.
7668
7669 - vi.po needed to be normalized to Unicode normalization form C.  With
7670   this fix, more characters display correctly, though at least one is
7671   still missing in the X core fonts that xboard is able to use.
7672   See http://vietunicode.sourceforge.net/ for more about Vietnamese.
7673
7674 - zh_HK.po was written in big5 and then utf8-encoded on top of that,
7675   making it unusable.  I stripped off the spurious utf8 encoding and
7676   then used recode to convert the file to Unicode properly encoded as
7677   utf8.
7678
7679 Unfortunately, I wasn't able to test any of the Chinese translations,
7680 as I haven't been able to get XCreateFontSet to work in Chinese
7681 locales with any of the fonts I have installed, even after adding the
7682 Ubuntu language support packages for both simplified and traditional
7683 Chinese.  I did spot check a bunch of the translations using Google
7684 Translate.
7685
7686 I've checked in a couple of tiny Perl scripts that I used to do part
7687 of the fixups on vi.po and zh_HK.po in case we need them again.
7688
7689 2011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>:
7690 The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "".
7691
7692
7693 2011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>:
7694 Add a final wildcard default for fonts.  This gives XCreateFontSet more freedom and lets it find fonts for some obscure charsets where fixed-bold or fixed-medium etc. may not have one.
7695
7696
7697 2011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>:
7698 Added "misc-fixed" as a fallback font to handle locales where adobe-helvetica does not have all the required characters.  The fixed font is ugly but does have a rather complete set of characters, while the helvetica font is missing Cyrillic characters (at least on my distro).  I haven't found a way to get a nicer font that includes Cyrillic to work with XCreateFontSet, but I don't fully understand why.  I'll try to improve things further in the future if I figure out what's all going wrong.
7699
7700 In the process I had to rewrite the code to insert the pixel size into
7701 a font name (replacing a "*" in that field).  The new code is much
7702 more general.
7703
7704 2011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>:
7705 translation: activated Ukrainian translation
7706
7707
7708 2011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>:
7709 translation: added new Ukrainian PO file from the TP
7710
7711
7712 2011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>:
7713 Fix display of international characters outside the ASCII range.
7714
7715 1) Set Xaw resources required for internationalization --
7716    *international and *fontSet.
7717
7718 2) Untangle the new XFontSet-aware code from the old FindFont code.
7719    It doesn't make any sense to apply the old (and obsolete) size
7720    searching code from FindFont to a font set, which contains fonts
7721    that are all the requested size.
7722
7723 3) With these changes, the -font option doesn't work at all when given
7724    on the command line.  The -font option actually is parsed by the Xt
7725    library, used to set the *font resource, and removed from argv
7726    before xboard can see it, so the option didn't really work properly
7727    with the new WinBoard-style option framework anyway.  Now that
7728    -font is even more broken, I changed the documented name of the
7729    option to -messageFont and changed args.h so the option is saved in
7730    ~/.xboard as -messageFont.
7731
7732 2011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>:
7733 Move "hide thinking" option into alphabetical order.
7734
7735
7736 2011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>:
7737 Fix a size mismatch in scanf.  Untested, but the code could not have worked properly without this fix -- scanf would have written 32-bit values to 16-bit fields, thus smashing adjacent memory.
7738
7739
7740 2011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7741 Fix layout tournament Load Engine dialog WB
7742
7743
7744 2011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7745 Fix ArgTwo warnings
7746
7747
7748 2011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7749 Add Swiss tourneys through pairing engine
7750
7751 An external program can be designated pairing engine through the new
7752 persistent option -pairingEngine. Defining the option will allow
7753 tourneytype -1 to be chosen for Swiss. In this case the pairing engine
7754 will be queried for a pairing before every new match game, by sending it
7755 the -results string, plus the command 'pairing' + game number.
7756
7757 2011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7758 Allow generic dialog to ignore OK
7759
7760 The EndMark callback can now suppress popdown of the dialog on OK, when
7761 it somehow does not like the values entered by the user. In XBoard this
7762 required all the callbacks to return a value.
7763 Caveat: A refused OK would still have set all new values given in the
7764 dialog!
7765
7766 2011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7767 Fix CR in multi-line WinBoard text-edits
7768
7769 The generic popup did not add CR when strings containing '\n' were
7770 printed in a multi-line text-edit, thus joining the lines. It was also
7771 not possible to type a CR in a multi-line text-edit.
7772
7773 2011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7774 Let mentioning completed tourney file add one cycle
7775
7776 Secifying a tourney file of a fully completed tourney will now resume
7777 that tourney with another cycle added. When there are still uncomleted
7778 games in the tourney, the usual error message will appear. There are
7779 also error popups added for when the user fails to specify a tourney
7780 file, or gives too few participants.
7781
7782 2011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7783 Make engine startup failure non-fatal in WinBoard
7784
7785 Unlike XBoard, which forks first, the parent process WinBoard has direct
7786 knowledge of a failure to execute the engine command, and used it to
7787 trigger a fatal error. The code doing this has now been disabled. Only
7788 in case of a first engine we switch back to -ncp mode in stead, but no
7789 action is taken to 'bury' the deceased engine process. Like in XBoard,
7790 errors in writing or reading the pipes will trigger this.
7791
7792 2011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7793 Add secondry adapter command for UCCI or USI
7794
7795 The option -uxiAdapter can define a second adapterCommand, which will be
7796 invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
7797
7798 2011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7799 Obey san feature when sending book moves
7800
7801 Book moves were always sent in long algebraic, even when the engine had
7802 said it wanted to receive SAN.
7803
7804 2011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7805 Fix initialization of engine state
7806
7807 Some of the initialization relied on variables being zero at startup,
7808 which meant value from the previouly loaded engine hng on after loading
7809 a new one.
7810
7811 2011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7812 Take account of holdings in book key
7813
7814 The board is numbered by rank, for comptibility with Polyglot format,
7815 starting at a1. We then continue counting in the holdings 'files', in
7816 up-rank direction, each holding spanning the full board height (even if
7817 it is not fully used). Firstthe left (black) holdings, then the right,
7818 Even in Shogi this limits the square number to < 99, which is below the
7819 absolute limit of 128 (where we would run out of hash keys).
7820
7821 2011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7822 Alow promotions and drops in book-editing
7823
7824
7825 2011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7826 Include learn info in book edit
7827
7828
7829 2011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7830 Adapt default directory of lng2po
7831
7832 The path is prefixed with "../" to make it runable from the po directory.
7833
7834 2011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7835 Recode some po files
7836
7837 po files were generated with the aid of lng2po for Russian,
7838 Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251,
7839 CP1258, GB2312 and BIG5, respectively.
7840
7841 2011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7842 Implement Edit Book in XBoard
7843
7844
7845 2011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7846 Improve WB Load Engine dialog texts
7847
7848
7849 2011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7850 Make 'add to list' default in Load Engine dialog
7851
7852
7853 2011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7854 Add -userFileDirectory option
7855
7856 This volatile option is initialized from 'installDir'. It is
7857 primarily intended for configuration of WinBoard through its master
7858 settings file, and specifies an alternative place to create saveGameFile
7859 or look for other user files, in stead of looking in the installDir.
7860
7861 2011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7862 Add option -absoluteAnalysisScores
7863
7864 This persistent option flips scores in the when black is thinking in
7865 analysis mode, just before they are printed in the engine-output window.
7866
7867 2011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7868 Automatically play moves of clicked PV in analyze mode
7869
7870 The Shift key now no longer needs to be pressed to play moves from the
7871 PV in analyze mode (so it could be given back its original meaning of
7872 starting a variation with the entered moves). In analyze mode the PV
7873 walk begins after the first move, so a static right-click plays the
7874 first PV move. To just peek the PV you have to walk to the start of it
7875 before releasing the mouse button. In other modes the PV walk
7876 stillstarts at the very end.
7877
7878 2011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7879 Let ParsePV always generate SAN move
7880
7881
7882 2011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7883 Fix vscrolling in XBoard Engine-Output window
7884
7885 After clicking the memos they scrolled to the bottom, because SetFocus
7886 put the insertion point at the very end of the text. This behavior is
7887 now reserved for text-edits containing less than 100 characters.
7888
7889 2011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7890 Fix button sizing in generic popup
7891
7892
7893 2011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7894 Allow changing MultiPV setting from Engine-Output window
7895
7896 In analyze mode a header line is printed in the first engine-output
7897 pane, which can be right-clicked to increase or decrease the number of
7898 PVs. (Only with engines that support the MultiPV option.)
7899
7900 2011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7901 No clearing of Engine-Output memos on stat01
7902
7903
7904 2011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>:
7905 updated xboard.pot with released version
7906
7907
7908 2011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>:
7909 new developer release
7910
7911
7912 2011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>:
7913 updated ChangeLog, NEWS, etc.
7914
7915
7916 2011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>:
7917 deactivated new languages for the moment...
7918
7919 po files need some cleanup, probably better to wait until the translation-project looked at them
7920
7921 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
7922 added translations generated via lng2po from all winboard languages
7923
7924
7925 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
7926 lng2po.sh: added command line options, GPL header
7927
7928 also use a temporary file generated with mktemp instead of a hard coded one
7929
7930 2011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>:
7931 fixed access rights to winboard language files (644 instead of 655)
7932
7933
7934 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7935 Import WinBoard language files into git
7936
7937
7938 2011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7939 Let Shift+RightClick on PV actually play the PV moves
7940
7941
7942 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7943 Make book-edit function WB
7944
7945 The tags dialog is used to display the GUI book moves from the current
7946 position, and will be updated when you step or move to another one.
7947 The edited move list (with weights) can be written back to the book.
7948
7949 2011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7950 Fix resetting engine options
7951
7952 Not all options were reset, and -needsNonCompliantFEN was 'reset'
7953 to a completely wrong value, so that bad FENs would be sent.
7954
7955 2011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7956 Add -first/secondPgnName option
7957
7958 This option replaces the tidy name of the engine in the PGN player tags
7959 of engine-engine games. In WinBoard engines can be installed with this
7960 option through a checkbox in the Load Engine dialog.
7961
7962 2011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7963 Let XB generic popup define default file extensions
7964
7965
7966 2011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7967 Save time-control settings in tourney file
7968
7969 Because parsing the options and storing them in appData is not enough,
7970 the time-control code setting the internally used parameters from the
7971 appData info in InitBackend was made into a subroutine, and also caled
7972 after parsing the tourney file.
7973
7974 2011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7975 Put saveGameFile in tournament dialog
7976
7977
7978 2011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7979 Plug memory leak, filenames relative to installDir
7980
7981 String options are consistently freed now, before assigning a new value
7982 to them through strdup. The init code now even does use strdup when
7983 setting defaults. This is important for optionslike -lgf, which are not
7984 saved in the settings file, and thus are usually left with their
7985 default. When a dialog to set them then uses free, this causes a crash.
7986 When setting the defaults uses strdup, ParseArgs can already free them.
7987 This plugs an important memory leak, as ParseArgs in now called to parse
7988 the tourney file before every tourney game (twice!), and the lists of
7989 participants and results in it can be quite long.  Macros are defined in
7990 common.h to make the code look simpler.
7991   Filenames entered through the generic popup are now interpreted
7992 relative to the WinBoard installation folder, just as the saveGameFile
7993 already was. The code handling the atter was made into a subroutine for
7994 this.
7995
7996 2011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7997 Add WB new popup prototypes
7998
7999
8000 2011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8001 Add partcipants at bottom in tourney dialog (WB)
8002
8003
8004 2011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8005 Fix range of tourneyType spin WB
8006
8007
8008 2011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8009 Fix exit popup in tourney mode
8010
8011 Only the instance finishing the last tourney game will cause a popup
8012 with final standings. As long as there are still busy games, it exits or
8013 switches back to idle mode silently.
8014
8015 2011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8016 Fix stopping of match in tourney mode
8017
8018
8019 2011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8020 Add default extension in file browser
8021
8022
8023 2011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8024 Improve sizing of comment and tags dialogs
8025
8026 There seems to be a bug in Xaw for the sizing of buttons; they get
8027 unpredicatble and weird sizes when the size is not explicitly set,
8028 possibly stretching the initial width of a dialog to rediculous values.
8029 Sizing back to a remembered value from the settings file then makes
8030 buttons overlapand text edits shrink to almost nothing. To prevent that
8031 we now define exlicit sizes for the buttons in tags and comment popups.
8032
8033 2011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8034 Fix generic combobox bug
8035
8036 The patch placing gettext markers was done wrong, setting the
8037 translated menu text outside the loop, so all entries became the same.
8038
8039 2011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8040 Fix PV walking in analysis mode
8041
8042 ParsePV assumed that the PV would always have been produced by an engin
8043 thinking about the final position of the game (or the one before it). In
8044 analysismode, however, the engine can be analysing positions internal to
8045 the game, and the PV would be considered invalid. This is fixed by
8046 cutting of the tail off the game (shelving it in variation fashion)
8047 before starting the PV walk, and reverting afterwards.
8048   For this the PushTail and PopTail routines had to be split into an
8049 'inner' part, doing the pushing and popping, and an outer part, handling
8050 menu graying and popdowns (which is undesirable in in this application).
8051
8052 2011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8053 Lift length-limit on text-edits in WB generic popup
8054
8055
8056 2011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8057 Lift limitation of text length in generic dialog XB
8058
8059 All string options should now point to allocated memory, as strdup /
8060 free is consistently used on them. This is OK for values received from
8061 ParseArgs, but for non-arg intermediate variables that must receive strg
8062 values, such as in the comment and tags popups, strdup has to be used to
8063 initialize those.
8064
8065 2011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8066 Implement Tournament Options dialog WinBoard
8067
8068 The file browser now can select on extension WB generic dialogs,
8069 with a default based on the option.max value of the option for which it
8070 browses. A textBox can be forced to be multiline by putting the number
8071 of extra lines in option.min.
8072
8073 2011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8074 Make option to draw second engine from first list
8075
8076
8077 2011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8078 Fix error message on engine load
8079
8080
8081 2011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8082 Implement Load Engine dialog in WinBoard
8083
8084 The Load Engine dialog is implemented for WinBoard, and is invoked by
8085 the menu item Engine->Load, which formerly was Install 2nd. Install 1st
8086 is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
8087 fields for the engine executale and its parameters.
8088   The dialog is implemented by converting the Engine Settings popup into
8089 a generic dialog generator.
8090
8091 2011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8092 Load new logo on engine change WinBoard
8093
8094 Picking the logo for the first engine is made into a subroutine. The
8095 code for picking the logo of the first engine was made into a subrroutne
8096 for this. We use the kludge to recognize the engine by its command line
8097 when starting a new engine process.
8098
8099 2011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8100 Allow switching off match mode through menu
8101
8102 The Machine Match menu item is now checkmarked, and no longer grayed
8103 during a match, and clicking it while a match is running will terminate
8104 the match after the current game. To not be left with hanging
8105 checkmarks, the checkmark is already removed duringthe last match game
8106 (which is logically equivalent to ordinary Two Machines mode anyway).
8107
8108 2011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8109 Calculate and display tourney result
8110
8111
8112 2011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8113 Implement Tournament Manager
8114
8115 New command-line options are added to specify the tourney: -tourneyType
8116 (-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
8117 -syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
8118 otherwise volatile. When a tourneyFile is specified during a match,
8119 a new routine NextTourneyGame is called from NextMatchGame before every
8120 game, to decide the pairing, and unload and redefine the engines, when
8121 needed. The XBoard Match Options dialog can be used to set the options
8122 and create the tournament file.
8123   Actual loading of new engines is done by TwoMachinesEvent, which is
8124 now modified to also wait for the feature timeout of the first engine.
8125 Waiting for the matchPause is now also implemented there, after waiting
8126 for the engines (so they can be started during the pause).
8127   Pairings and color assignment is now all done in an absolute
8128 (non-incremental) way, based on a new global game-number variable
8129 nextGame, which takes over the function of matchGame in a tourney. The
8130 latter is now used to count games between the same players, so it can be
8131 still used to derive the load-file indexes (again in absolute fashion).
8132   The next game to play is already picked in GameEnd, so it can be
8133 decided if there is a game to be scheduled, or if we can terminate.
8134
8135 2011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8136 Display note in stead of empty engine-settings dialog XB
8137
8138
8139 2011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8140 Fix crash on empty Engine Settings dialog
8141
8142 The generic popup was not foolproof against this.
8143
8144 2011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8145 Refactor code for loading games and positions in match
8146
8147 The code in NextMatchGame and MatchEvent was nearly the same,
8148 (MatchEvent did a little more error checking, but that is never
8149 harmful), and could be combined. In stead of determining the load index
8150 incrementally, it is now calculated in an absolute way from the game
8151 number, so it can be used more easily in tournament mode.
8152
8153 2011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8154 Add callback possibility to combobox selection
8155
8156
8157 2011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8158 Lock game an position file during writing
8159
8160 The use of flock() on the file desctiptor of the opened stream should
8161 guarantee multiple XBoard instances, saving on the same file, will not
8162 interleave their PGN games or FEN positions.
8163
8164 2011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8165 Remove building rule for parser.c from WB makefiles
8166
8167
8168 2011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8169 Fix Engine Settings buttons in WinBoard
8170
8171 This was broken by a leftover statement from debugging the -file/-path
8172 patch.
8173
8174 2011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8175 Implement flock in WinBoard
8176
8177 This system function seems unknown in a MinGW compile, so it is
8178 implemented with the aid of file byte-range locking, using a lock on the
8179 first 1024 bytes of the file as a semaphore.
8180
8181 2011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8182 Fix grayout XB Match Options in ICS mode
8183
8184
8185 2011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8186 Delay loading of second engine until it is used
8187
8188
8189 2011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8190 Fix zippy bughouse partner bug
8191
8192 The patchs to subject Zippy messages to coloriation was faulty, because
8193 there were messages recognized by zippy that were not colorized, and
8194 such messages would then not be 'read away' after zippy recognition
8195 (except for the first character). As a result the messages were
8196 processed over and over again.
8197
8198 2011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8199 Silence more rpm warnings
8200
8201
8202 2011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8203 Fix warnings XBoard file browser
8204
8205 All the prototypes have been moved to selfile.h, to force uniformity.
8206 The order of the #include files xstat.h and selfile.h had to be
8207 swapped, to make sure 'struct stat' is a nown type atthe time of
8208 prototype declaration. The event handler SFmotionList is considered
8209 wrong type because of its third argument (XMotionEvent in stead of
8210 XEvent), and had to be casted to (XtEventHandler) when passed to
8211 XtAddEventHandler.
8212
8213 2011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8214 Fix some warnings and header-file improvement
8215
8216 Ther were lot of 'extern' declarations in the x-files, so called
8217 'imports from xboard.c', (sometimes backend.c) which logically belonged
8218 in xboard.h (backend.h) to ensure their uniform definition. These have
8219 now been moved there. Some prototypes have been added in xboard.h as
8220 well, for functions that needed calling from xoptions.c.
8221
8222 2011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8223 Create conversion tools for language files
8224
8225 A shell script "lng2po.sh" is provided, to apply the translation given
8226 in a WinBoard .lng file to "xboard.pot", in order to generate a
8227 "language.po" file containing translations for all strings for which
8228 the .lng file had a translation. It makes use of a file "metascript",
8229 which is the ed script used to turn the .lng file in an ed script to
8230 turn the .pot into .po. For example, the command "./lng2po.sh
8231 espa?ol.lng" will create a file "language.po", which can be renamed to
8232 "es.po".
8233 ****************************** WARNING ********************************
8234   Note that the lng2po script does a "recode" that assumes the given
8235 .lng file is encoded in latin-1. This means it canot be used without
8236 modification for the Vietnamese and Chinese translation; you would have
8237 to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
8238 BIG5).
8239
8240 2011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8241 Put gettext markers in generic dialog creator
8242
8243 This is done by adding extra XtNstring argumentsto the widget gcreaton,
8244 so the displayed name can be different fromthe widget name.
8245
8246 2011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>:
8247 Use getaddrinfo instead of gethostbyname.  Hopefully this makes us compatible with IPv6 and with hosts that have more than one IP address.  However, I don't know of any chess servers that have either of those properties, so I couldn't test that.  I did test that xboard still works with freechess.org and chessclub.com and that it gives an error message for invalid host names.
8248
8249
8250 2011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>:
8251 updated German translation
8252
8253
8254 2011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>:
8255 replaced hardcoded email address with generic PACKAGE_BUGREPORT
8256
8257
8258 2011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>:
8259 updated po-files; updated german translation
8260
8261
8262 2011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>:
8263 updated list of files that include translation strings; updated pot-file
8264
8265
8266 2011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>:
8267 marked more strings for gettext that were only marked with N_()
8268
8269 they need to be marked again with _() when they are used to get the translated string
8270
8271 2011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>:
8272 updated translation files
8273
8274
8275 2011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>:
8276 added/fixed i18n support via gettext to xboard
8277
8278 this was already added a long time ago, but now it's added again to
8279 autoconf. Also fixed some compile errors that showed up.
8280
8281 2011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8282 Make engine startup error non-fatal
8283
8284 When engine startup fails, do not generate a fatal error, but swicth
8285 back to -ncp mode. Write on broken pipe errors had to be suppressed for
8286 this.
8287
8288 2011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8289 Make engine loadable during session
8290
8291 A "Load Engine ..." menu item is added to the Engine menu, which pops
8292 up a dialog where one can replace the first or second engine by a new
8293 one, without destroying the game state. Switching from -ncp to engine
8294 mode needed activation of some menu items in SetGNUMode, and
8295 re-enabling clockMode. It was also important that noChessProgram is
8296 cleared before re-initializing the ChessProgramState.
8297   The Load-Engine dialog can select from the list of installed
8298 engines, and also add a newly specified engine to this list. In this
8299 case it saves the directory, hasBook, and isUCI info with the engine,
8300 and optionally the current variant. When loading an engine with a
8301 specified variant, it resets the game and switches to the new variant.
8302
8303 2011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8304 Generalize WaitForSecond to WaitForEngine
8305
8306
8307 2011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8308 Add UnloadEngine routine
8309
8310
8311 2011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8312 Put engine initialization code in per-engine function
8313
8314 Initializing of the ChessProgramStates first and second from the
8315 option settings in appData is now done by separate calls to the same
8316 routine. Clearing of options is added to the initialization. This is
8317 needed when reloading an engine. This is done in a separate routine,
8318 which could also be called on -reset options.
8319
8320 2011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8321 Bring structure in appData engine options
8322
8323 All options in appData that came in pairs for both engines are replaced
8324 by arrays of ENGINES (=2, for now) elements. The use of the named
8325 appData field that are replaced in the source is replaced by use of the
8326 corresponding array element, by #define directives in common.h, awaiting
8327 their replacement.
8328
8329 2011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8330 Fix gettext macros in option dialogs
8331
8332 The strings in the tables were using _() in stead of N_().
8333
8334 2011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8335 Fix crash on using Engine #1 Settings in ICS non-zippy mode
8336
8337 If XBoard is compiled with zippy the Engine #1 Settings menu was not
8338 grayed out even when you don't run in zippy mode, and using it would
8339 then crash XBoard.
8340
8341 2011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8342 Fix shogipixmaps
8343
8344 Some pixmaps forptomoted pieces had wrong background color, others had a
8345 wrong name (so the one with the correct name was missing).
8346
8347 2011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8348 Change texture-install directory to pixmaps/textures
8349
8350
8351 2011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8352 Limit install of sound files to those in menu
8353
8354 The sounds directory is set to .../xboard/sounds, and only ten
8355 sounds are kept (all non-spoken).
8356
8357 2011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8358 Remove some bitmaps from install
8359
8360 Some files in the bitmaps source directory need not be installed,
8361 because they are there only to be linked to the binary in a build
8362 without LIBXPM, are README files or conversion programs. I left only the
8363 stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.
8364
8365 2011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8366 Configure some default sounds
8367
8368 The move sound is set to Wood Thunk; the sounds for tell and challenge
8369 events to Phone and Gong, respectively.
8370
8371 2011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8372 Change default sounds in Xboard menu
8373
8374 All spoken sounds are removed now. Thud, Click and Ching are replaced by
8375 Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.
8376
8377 2011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8378 Make user wav file available for try-out in sound dialog
8379
8380 The GenericReadout was adapted to be able to read a single selected
8381 value, so that the callback to the 'play' button in the sounds dialog
8382 could get the name of the 'user WAV file' without accepting all settings
8383 for the other sounds (which should only happen on 'OK', and might still
8384 be cancelled in stead).
8385
8386 2011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>:
8387 configure: enable silent rules by default
8388
8389
8390 2011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>:
8391 configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/
8392
8393
8394 2011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>:
8395 configure: added install of sounds in .../games/xboard/sounds/default
8396
8397
8398 2011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>:
8399 configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir
8400
8401 pixmaps will now be installed under .../games/xboard/pixmaps/default/
8402
8403 2011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8404 Fix gamelist highlight
8405
8406 Reopening the gamelist should highlight the current game.
8407
8408 2011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8409 Fix size limit on 'save as diagram'
8410
8411 In stead of a fixed-size buffer the diagram-save code now uses an
8412 allocated buffer with size calculated from the bitmap parameters to
8413 retreive the bitmap data, so it should work for all sizes.
8414
8415 2011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8416 Fix chaining of bottom-row dialog buttons
8417
8418 The OK & cancel buttons are chained to the bottom. This patch makes sure
8419 that other buttons appearing in the same row (as in the tags and
8420 comment dialogs) will be chained that way too, so that they will behave
8421 the same on vertical sizing. The bottom of a full-width text-edit above
8422 it will be chained to bottom too. To make this work in the tags dialog,
8423 the (optional) cmail-message field had to be put above the tags memo.
8424
8425 2011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8426 Fix switching between pixmap and bitmap pieces
8427
8428 There were still several flags that had to be reset when redoing the
8429 graphics initialization. The Debian patch to use a default bitmap
8430 directory when none is given but monoMode is selected or forced, is
8431 moved to a more sensible place, so that it does not disturb matters when
8432 compiled without LIBXPM (when we do have built-in bitmaps).
8433
8434 2011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8435 Remove outline-pieces option from board-options dialog
8436
8437 This option does not exist in XBoard (yet).
8438
8439 2011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8440 Fix running of clock during hash allocation engine
8441
8442 In TwoMachinesEvent we now wait for the second engine to acknowledge the
8443 'ping' after 'new', to make sure it is done allocating hash in reaction
8444 to the preceding 'memory' command, before the clock for the game is
8445 started.
8446
8447 2011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8448 Describe move type-in in texi file
8449
8450
8451 2011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8452 Describe Copy Game List menu item in texi file
8453
8454
8455 2011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8456 Describe -sweepPromotions in texi file
8457
8458 The new method for selection promotion piece, and the -sweepPromotions
8459 option are described in the texi file.
8460
8461 2011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8462 Describe -pieceMenu option in texi file
8463
8464 The sweep method for selecting a piece in Edit-Position mode is
8465 explained, as well as the -pieceMenu option.
8466
8467 2011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8468 Update texi file
8469
8470 Descriptions of the new XBoard menu dialogs are included in the docs.
8471
8472 2011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8473 Reorganize texi description
8474
8475
8476 2011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8477 Fix sweep-promotions patch
8478
8479 Setting of the from square was moved to before OKtoStartUserMove in the
8480 LeftClick handler, to make sure we could test the promotion possiblity
8481 when OnlyMove() would have altered (x,y) to be no longer the from
8482 square. But this setting of fromX, fromY hung on also if the move was
8483 not OK, so you could effectively select opponent pieces and empty
8484 squares. The from-square is now set back to undefined when it is not OK
8485 to move the piece you clicked.
8486
8487 2011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8488 Alter treatment of moves with empty squares
8489
8490 In Edit Position mode one can move empty squares, and use them to
8491 'capture' pieces as a means to clear their square. But this often leads
8492 to unintended disappearence of pieces one wants to grab for dragging, if
8493 a previous click had inadvertantly left an empty square selected: the
8494 click on the piece is then seen as the to-click of a click-click move.
8495   This patch treats to-clicks of moves with an empty-square differently
8496 from other to-clicks: Rather than performing the move (in this case
8497 clearing of the to-square) on the down-click, it defers that to the
8498 up-click, and only does it if that up-click is in the same square. This
8499 allows the user to grab the piece on the down-click, and drag it to
8500 another square, if that is what he wanted to do, without being disturbed
8501 by sudden implosion of the piece he tried to grab.
8502   If the to-square is in the holdings, grabbing the piece is the only
8503 action, as moves of empty squares into the holdings are forbidden anyway.
8504
8505 2011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8506 Block selection of a directory when file is needed
8507
8508 When we are not browsing merely to obtain a name to put in a text edit,
8509 but really must return an open file pointer, selection of a directory
8510 (ending in '/') can no longer be OK'ed in the file browser. (XBoard
8511 tends to segfault when offered garbage for game or position file...)
8512
8513 2011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8514 Let double-click select file in file browser
8515
8516 A second click on the already selected entry now has the same effect as
8517 pressing the OK button.
8518
8519 2011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8520 Couple mouse wheel to v-scrolls in file browser
8521
8522 A newly added mouse-wheel event handler was made to call the v-scroll
8523 callback routines with parameters to step one entry. The button-press
8524 handler for the lists themselves was also made to intercept the wheel
8525 events (buttons 4 and 5), to prevent they would select an entry, and
8526 make them scroll in stead as well.
8527
8528 2011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8529 Fix crash copying game list when there is none
8530
8531
8532 2011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8533 Fix changing of float setting by generic popup
8534
8535 Changing a float setting (so far the only one is in the Load Options
8536 dalog) did not always work, because the old value was clipped to (int),
8537 so that changing it back to an integer value might erroneously conclude
8538 there was no change.
8539
8540 2011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8541 Fix crash on closing dialogs in wrong order
8542
8543 When a menu dialog was closed when it still had an open file-browse
8544 daughter, which could be done through the system menu X on the title
8545 bar, later closing of the file browser caused a crash. This is solved by
8546 keeping track of the fact that there is such a daughter through a global
8547 flag, and ignoring the pop-down command if there is one.
8548
8549 2011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8550 Fix startup focus of board window
8551
8552 When there were open auxiliary windows, these would have focus on
8553 starting up XBoard. The XtSetKeyboardFocus call added in XBoard main()
8554 was ineffective in curing that. It has now been replaced by a call to
8555 XSetInputFocus, which does do the job. By giving input focus to the form
8556 widget, rather than the board widget, XBoard will be immediately
8557 sensitive to all key bindings.
8558
8559 2011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8560 Fix game-list highight error when filtered (WB)
8561
8562 When the gamelist was filtered, the game that was highlingted was the
8563 n-th game in the list rather than the n-th game in the file, when the
8564 latter was loaded (and n did not exceed the number of filtered games).
8565 This is fixed now by searching for the line in the listbox that starts
8566 with the game number n, rather than taking the n-th line.
8567
8568 2011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8569 Refactor move type-in code
8570
8571 Common code between XBoard and WinBoard was moved to the back-end
8572 creating TypeInEvent() and TypeInDoneEvent() routines.
8573
8574 2011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8575 Fix saving of XBoard fonts with spaces in name
8576
8577 SaveFontArg now prints quotes around the saved font string, so that the
8578 general option-argument parser doesnot stop at the first space it sees.
8579
8580 2011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8581 Implement move type-in for XBoard
8582
8583 By adding an event handler to the main window for key presses, users can
8584 now type moves when the board has focus, like in WinBoard. The typed
8585 character appears as first character in the type-in box that willpop up.
8586 Enter and Escape close the box; finishing the typing of the move enters
8587 it. Like in WinBoard it is also possible to type a move number (to go
8588 there) or (in Edit Position mode) a FEN.
8589
8590 2011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>:
8591 new developer release
8592
8593 tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG.
8594 The Changelog is just the one from master.
8595
8596 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
8597 updated Changelog, NEWS, etc.
8598
8599
8600 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8601 Fix use of game/position file in first match game
8602
8603 When a match was started from the menu, it was not paying attention to
8604 game and position files. (Later games were.) The code that handled this
8605 in the initialization when a match is started through the command line
8606 was made into a routine MatchEvent, which can be called from the menu
8607 proc too.
8608
8609 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8610 Fix crash on opening ICS Text Menu
8611
8612 The patch for the color defaults had broken the ICS Text Menu.
8613
8614 2011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8615 Implement Copy Game List menu item for XBoard
8616
8617 Some WinBoard code was cloned for this.
8618
8619 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8620 Third method of sweep selection
8621
8622 This method sweeps through the possible promotion choices for the piece
8623 that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
8624 draggin such a Pawn forwards, it immediately shows it as the piece you
8625 are going to promote to.
8626
8627 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8628 Alternative sweep promotions
8629
8630 The sweep takes place on the from-square here.
8631
8632 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8633 Make sweep-select promotions work in WinBoard
8634
8635 The mouse-move handler had to be connected to the PromoScroll back-end
8636 routine.
8637
8638 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8639 Fix path browsing in WinBoard
8640
8641 The routine BrowseForFolder was still declared as static in woptions.c,
8642 while it was used from wsettings.c.
8643
8644 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8645 Fixes to sweep selection
8646
8647
8648 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8649 Implement sweep selection of promotion piece
8650
8651 When the option -sweepPromotions is true, a click-click promotion move
8652 will first display the default choice (usually Queen) on the promotion
8653 square. While you have the mouse button still down, you can change the
8654 piece by moving the mouse vertically.
8655
8656 2011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8657 Implement sweep selection as alternative for the piece menu
8658
8659 When the option -pieceMenu is off, the piece menu will no longer appear
8660 on right-clicks in Edit Position mode. In stead a Pawn of the chosen
8661 color will appear immediately in the clicked square, and vertical
8662 movement of the mouse with the right button down will cycle through
8663 all other pieces defined in the pieceToCharTable of the current variant.
8664   Setting the side to move is acheived by clicking the correspondig
8665 clock. Clear board can be effected by clicking the clock of the side
8666 that already has the move.
8667
8668 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8669 Remember Tags and Comment dialog coordinates
8670
8671 The save-settings code now uses the shell and shellUp arrays from the
8672 GenericPopUp to read out the window coordinates for Tags and Comment
8673 window. Pointers used by GenericPopUp are set topoint to the
8674 corresponding WindowPlacement structs.
8675
8676 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8677 Redo Tags dialog
8678
8679 The generic popup is used for generating the Tags / EditTags popups.
8680 The tags popup use a 'label' field to display the cmail message
8681
8682 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8683 Implement Edit-Comment window through generic popup
8684
8685 The Edit Comment and Comment popups are combined into one, that can
8686 always be edited (similar to WinBoard). It uses shell number 1.
8687 (Number 0 is for all transient dialogs.) A save-changes button is added.
8688 The positioning is not implemented yet.
8689
8690 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8691 Refinements to generic popup and color picker
8692
8693 *) The text part of a checkbox can now be clicked to toggle the option.
8694 *) Typing <Enter> in single-line text edits is ignored
8695 *) Using a spin button now sets focus to the affected text edit, with
8696 the insert position at the end.
8697 *) Using the sample field or an RGB button sets focus to the
8698 corresponding text edit, with the insert position at the end.
8699 *) The adjust buttons now work in reverse, with a D button for "darker".
8700 *) Editing a color field causes the sample field to update to the new
8701 color when you type <Enter>.
8702 *) The color pickers now define a default color, which can be instated
8703 by clicking on the sample field.
8704 *) Fix some 64-bit pointer warnings
8705
8706 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8707 Let file browser filter on extension
8708
8709 A new text field is added in the file-browse dialog, to hold (space-
8710 separated) extensions, on which the filenames are then filtered. This
8711 field is initialized by the caller, depending on what we need the file
8712 for, but can be changed by the user. (Directories are always displayed!)
8713   Changes in the extension field  become effective after typing a return
8714 in it. Escape typed in the extension field gives focus to the filename
8715 field, and restores the contents. Escape in the filename field cancels
8716 the dialog, return ther OKs it. The extension filter of the browser is
8717 initialized to the extension (if any) of the file currently in the text
8718 edit you are browsing for.
8719   When re-opening the file browser from the XBoard File menu, and there
8720 is no suggested filename, it will now start with the last succesfully
8721 opened name as suggestion. Calling the browser with a NULL argument
8722 for the suggested filename requests that (unlike calling with an empty
8723 string, which will start it in the current directory). To make this
8724 work smoothly, the filebrowser saves the last used name on entry, so it
8725 can be restored on cancel, so that a cancelled browse session really
8726 erases all memory of it.
8727
8728 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8729 Fix animation masks on changing piece pixmaps
8730
8731 The animation masks were not remade when new pieces were loaded
8732 interactively through the board-options dialog.
8733
8734 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8735 Fix linegap option in board dialog
8736
8737 The lineGC was not recalculated, so the grid lines stayed the same
8738 thickness. In addition, setting the line-gap override to -1 now
8739 retrieves the original line gap that belongs to the current board size.
8740
8741 2011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8742 Make a kind of ICS text menu in XBoard as a dialog
8743
8744 The dialog with buttons can be opened from the View menu. It is
8745 configured by the option -icsMenu; a default setting for this is
8746 included in the master settings file.
8747   The commands specified by the -icsMenu can now contain $name and $input
8748 keywords, which will be replaced by the current primary selection, or
8749 text the user types, respectively. Commands that contain $name will not
8750 be sent when the current selection is empty. Commands that do not
8751 contain $input will be sent to the ICS immediately; otherwise they will
8752 be placed in the ICS Input Box, with the cursor at the point of the
8753 $input, and input focus given to the Input Box, so the user can start
8754 typing. When a command is prefixed by "$add " it will be appended to the
8755 existing ICS Input Box contents, rather than replace it.
8756   The items now have to be separated by ";\n", and button text from
8757 command by ';' (with optional linefeed). This allows configuring of
8758 multi-line commands, as a single linefeed no longer has special
8759 sigificance.
8760
8761 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8762 Redo ICS input box with generic popup
8763
8764 This box is just a single text edit, but the complexity is in the added
8765 callbacks. These callbacks remain in xboard.c, and were altered to
8766 access the edit through the option.handle field.
8767
8768 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8769 Activate -path and -file options
8770
8771 In XBoard the generic popup was prepared for this. In WinBoard, for
8772 -path options the BrowseFolder routine is used, and had to be made
8773 global (prototype in winboard.h).
8774
8775 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8776 Let generic popup generate Engine Settings dialog
8777
8778
8779 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8780 Merge SettingsPopUp into GenericPopUp
8781
8782 Based on currentCps the values read from the dialog are sent to the
8783 engine, or stored into the option.target in the callback, and fetched
8784 from the option.target in the PopUp. The currentCps is cleared in the
8785 generic popdown of a transient dialog.
8786
8787 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8788 Make generic dialog popup reentrant
8789
8790 To allow persistent dialogs to be implemented through the generic popup,
8791 it must be possible to have several dialogs open at the same time, and
8792 thus make sure the popdowns under the cacel or close-window button know
8793 which one to pop down. To this end an array shells[] is created that
8794 takes over the function of settingsShell, and GenericPopUp gets an extra
8795 parameter telling it which element to use for storing the dialog shell.
8796 This number is then also passed to the callbacks that trigger popdown.
8797 This was a bit nasty for the CatchDeleteWindow stuff, which passes user
8798 data to the callback as text strings.
8799 Keep a separate up/down indicator, so that shell widgets can be kept
8800 for persistent dialogs. Also keep a currentOption per dialog type.
8801   The coordinates and size of the window is read out and stored in a
8802 WindowPlacement structure, (if one is specified for that dialog), when
8803 the dialog is popped down. When initialized the structure is also used
8804 to set the window parameters when the dialog is created. (The idea being
8805 that the structure was saved in the settings file.)
8806   The routine MarkMenu checkmarks a given menu item, and logs it for the
8807 given dialog type, so that a later popdown automatically unchecks is.
8808
8809 2011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8810 Implement Machine Match menu item and options dialog
8811
8812 An item to start a match from the menu is added, similar to what
8813 WinBoard has. (The code is duplicated, so I guess it should be moved to
8814 the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in
8815 the Options menu was added with the aid of the generic popup, and allows
8816 the user to set the load Game / Position File and Index.
8817
8818 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8819 Create General-Options dialog
8820
8821 The generic popup is used to implement a General-Options dialog, which
8822 contains all Boolaen options that used to be set directly from the main
8823 Options menu, plus a spin option for the flash count and flash rate.
8824 The corresponing options are removed from the main Options menu, but the
8825 whole thing is made conditional on a compiler switch OPTIONSDIALOG.
8826 The dialog needs an OK callback for sending an altered ponder-state to
8827 the engine. (Why isn't this option disabled in -ncp mode, btw?)
8828 A spin control is added to adjust -animateSpeed between 5 and 100.
8829 Add dropMenu and showTargetSquares item as well.
8830
8831 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8832 Redo new-variant dialog with generic popup
8833
8834 Some special code was added in GenericPopUp() to force buttons of the
8835 type needed in the New Variant dialog (wide, colored, greyed-out on
8836 variant type). The dialog was implemented with these, and callbacks for
8837 the buttons directly exit the dialog, without the need for OK. New spin
8838 controls are added to the dialog for adjusting the board format.
8839
8840 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8841 Redo common-engine dialog with generic popup
8842
8843 The ponder option was removed, as it is already in the main Options
8844 menu, and would require nastiness in the OK callback. Added book options
8845 in common-engine dialog.
8846
8847 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8848 Redo adjudications dialog through generic popup
8849
8850 We dropped the periodic-updates option, as it is already in the main
8851 Option menu.
8852
8853 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8854 Make sounds dialog for XBoard
8855
8856 This uses the combo boxes. A 'play' button isimplemented for a test
8857 sound. A sound directory is introduced, and can be set through the
8858 dialog. A default setting for -soundDirectory is added to xboard.conf.
8859
8860 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8861 Add ICS options dialog
8862
8863
8864 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8865 Add board dialog XBoard
8866
8867 The GenericPopUp() is used to implement a dialog for board options. The
8868 board dialog needs to trigger redraw and redefinition of the
8869 colors, through an OK callback. Color-pickers are used for the 6 basic
8870 color settings.
8871   To allow changing board settings during the session (i.e. from a menu
8872 dialog), the routines to allocate resources have to free the resources
8873 for the previous settings first. This patch take care of XtCreateGCs(),
8874 preventing re-creation of resources that are unchangeable (such as the
8875 grid color), and calling XtReleastGC() on GCs that can be changed.
8876 To prevent resource leaks the old pixmaps are deleted before making new
8877 ones on second or later calls of CreateXPMPieces().
8878
8879 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8880 Add browse button to generic popup
8881
8882 Options of type FileName and PathName cause a browse button to be added
8883 behind the text field. The SpinCallback is used to handle the
8884 button presses, and invokes the file browser dialog to obtain a
8885 filename, which is then copied to the text field.
8886
8887 2011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8888 Make generic XBoard popup, and implement 2 dialogs
8889
8890 The Engine-Settings dialog of XBoard was cloned to work on predefined
8891 lists of (XBoard) options, rather than engine options. An extra field
8892 was added to the Option struct, to hold a pointer to the XBoard variable
8893 that should hold the option setting, so on OK'ing the dialog the altered
8894 values can be copied there. Not usable for options which should trigger
8895 an action (like redraw, or sending something to the engine).
8896 A Load Game, Save Game and ICS Options dialog were then defined by
8897 tables fed to GenericPopUp(). Options set from these dialogs were removed
8898 from the main Option menu, which removes a lot of code from xboard.c
8899 (for checkmarking, disabling the menu items).
8900   A button defined in the GenericPopUp can attain the color indicated
8901 by a previous text field, and add a callback to change the color in a
8902 spin-like manner (but using R G B W in stead of + - butons).
8903 The EndMark option can specify a callback, to be used on OK.
8904 A non-zero max field in the Option descriptor will be used to set the
8905 width of ComboBox, TextBox and Button optons.
8906 The elements are chained such that extra space goes fully into the input
8907 fields. A label type is added for clarifying texts that would not fit in
8908 the option names. A break-type (pseudo-)option is added. Make OK and
8909 cancel button suppressable in generic popup (by 2 bit of the option.min
8910 field).
8911
8912 2011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8913 Add file-browser option to just return name
8914
8915 By passing mode "f" the file browser dialog will not open the selected
8916 file at all, so it can be used to retreive the name for the benefit of a
8917 file-browser button to a -file option. A mode "p" will limit the
8918 selection to directories only, to browse for a path.
8919
8920 2011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
8921 Put insertion point at end of text on SetFocus
8922
8923
8924 2011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>:
8925 fixed 64 bit warnings by casting integers to intptr_t before casting to int
8926
8927
8928 2011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>:
8929 removed check and #includes for malloc.h, since it's not needed
8930
8931 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
8932
8933 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
8934 check if malloc.h is present before including it
8935
8936 OS X 10.6 doesn't have malloc.h, so it complained.
8937
8938 2011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>:
8939 Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file
8940
8941 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
8942
8943 2011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8944 Fix display of promotion piece in ICS superchess
8945
8946 In Great Shatranj and Superchess promoted Pawns were displayed as shadow
8947 piece because these variants had holdings, while captured pieces should
8948 go back into the holdings unchanged, rather than reverted to Pawns.
8949
8950 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8951 Fix o-o castling in new parser
8952
8953 The non-compliant notation of castling with lower-case 'o' should be
8954 preferred over the non-compliant interpretation of moving a Pawn along
8955 the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for
8956 castling! So an exception is now made for the o-file in the 'fxg'
8957 case.
8958
8959 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8960 Implement yynewstr entry point in new parser
8961
8962 This entry point, used for parsing an ICS move list, was forgotten, and
8963 was still an empty routine. This made XBoard crash when observing an ICS
8964 game.
8965
8966 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
8967 fixed wrong default for polyglotDir mentioned in docs.
8968
8969 Thanks to Hans Aberg for reporting it.
8970
8971 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
8972 Fix "make install" on Os X10.6.6 (removed a "/")
8973
8974 seems like an extra "/" made "make install" unhappy
8975
8976 2011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>:
8977 removed parser.l from build process, also removed flex dependency from configure
8978
8979
8980 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8981 New parser, written in C
8982
8983 A new parser was written to replace the flex-generated one. Immediate
8984 improvements are that it understand double-digit rank numbers, and Shogi
8985 coordinates. No changes were made in the Makefile yet to reflect the
8986 new, flexless building procedure.
8987
8988 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8989 Fix bugs in FRC castling rights
8990
8991 When parsing a castling move in FRC when no rights existed, the parser
8992 returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of
8993 the absence of rights was not adapted to the new encoding NoRights in
8994 stead of -1.
8995
8996 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
8997 Fix parsing bug of FRC castling
8998
8999 The code that was supposed to intercept castling when no rights existed
9000 in FRC was not adapted to the new encoding for this by NoRights, rather
9001 than -1, and furthermore returned 0 (= EndOfFile) rather than
9002 ImpossibleMove. Not sure if the former would manifest itself in any
9003 way, but the latter seems bad.
9004
9005 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9006 Fix two bugs in reading position diagram
9007
9008 When reading a game without FEN tag, a position diagram is used to set
9009 the initial position. This calls CharToPiece() with a '.' as argument,
9010 because that is the position-diagram way to indicate empty squares.
9011 altered CharToPiece() over time this would be recognized as the first
9012 undefined piece or, more recently, the first piece without nickName,
9013 which is a white Pawn. Now it returns EmptySquare again in that case.
9014 A second problem was that for position diagrams in braces the brace was
9015 not in the list of ignored characters, and would cause the reading to
9016 get out of phase, so that the side to move was not recognized.
9017
9018 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9019 Fix flipBlack option XBoard with board texture
9020
9021 In XBoard -flipBlack is implemented by swapping white and black pieces,
9022 because the Shogi bitmaps from XShogi are made that way. But the mask
9023 used to cut out the whole in the board texture to fit the piece was not
9024 swapped, both when drawing static pieces, as well as during animation.
9025
9026 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9027 Improve repairing damage of arrow highlight XBoard
9028
9029 With line gap the highlight arrow necessitated redrawing of the entire
9030 board, to repair damage on the grid. This interfered with flashing of
9031 pieces, which was only done on selective redraws. In stead of forcing a
9032 total repaint we now just redraw the grid lines.
9033
9034 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9035 Fix unintended translation in debug file
9036
9037 The words "first" and "second" (cps->which) were sometimes used in
9038 context that should definitely not be translated. (e.g. the indicator
9039 for which engine printed/got the line in the debug file.) So translation
9040 is now deferred to all uses in popups.
9041
9042 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9043 Fix nps bug
9044
9045 The nps settingwas tested for being > 0 in stead of >=0, so that the
9046 case of CPU time was not properly handled.
9047
9048 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
9049 Added missing fclose()
9050
9051 (tiny change)
9052 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
9053
9054 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
9055 release of version 4.5.1
9056
9057 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
9058 updated Changelog, NEWS, etc.
9059
9060 2011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9061 Fix two typos in option names in texi file
9062
9063 Polyglot was capitalyzed
9064
9065 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9066 Fix some resource leaks
9067
9068 Some files were opened not closed in XBoard, when loading XIM images
9069 (which I doubt anyone ever does) but also when copying the clipboard
9070 (which has the potential of being done very often). There was also some
9071 code that would not work if conditional code which is permanently
9072 disabled would be enabled.
9073
9074 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
9075 new developer release
9076
9077 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
9078 updated Changelog, NEWS, etc.
9079
9080 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9081 Fix MSVC snprintf problem
9082
9083 In MSVC snprintf has to be redefined as _snprintf, and this happens
9084 conditionally in config.c. But the latter was not #included in help.c.
9085
9086 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
9087 updated configure.ac to check for Xaw header files
9088
9089 check for Xaw header files when --without-Xaw3d was given. Before the test was
9090 only done when Xaw3d was specified, but could not be found.
9091
9092 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
9093
9094 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9095 Fix ICS channel 0
9096
9097 Channel 0 messages were not displayed in the console, because the test
9098 for channel number considered every non-numeric or non-existent handle
9099 in a chatbox to be zero. So the messages were diverted to a non-exsting
9100 chatbox. Now it test first for the handle to start with a digit.
9101
9102 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9103 Make language choice from menu persistent
9104
9105 Set appData.language to the chosen language file, or empty if English is
9106 chosen, so that the choice is saved with the settings. Increase the
9107 number of possible language choices from 5 to 20. (After all, we already
9108 have 7 now!)
9109
9110 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9111 Fix showing of user move after adjudication
9112
9113 The correction of the fishy patch (removing ShowMove() from Adjudicate())
9114 had broken the adjudication of user moves (that actually did work before
9115 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
9116 the correct values for the move to be shown). An entered move that led
9117 to adjudication (like a checkmate) now was not displayed at all. Adding
9118 an extra ShowMove() after (successful) return of Adudicate() solves it.
9119
9120 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9121 Fix Xiangqi King facing
9122
9123 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
9124 was cleared after the King-facing test, rather than before it.
9125
9126 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9127 Fix variant janus size prefix
9128
9129 The default board size of Janus Chess was not consistently taken to be
9130 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
9131
9132 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9133 Fix Alfil bug
9134
9135 The test for Alfil (suppressing single steps on the Elephant) contained
9136 a wrong logical operator, so that it could never be active. It also
9137 failed to include Xiangqi as variant with traditional Alfil. This led to
9138 one-step moves of the Elephant in these variants, and false check or
9139 unreliable mate detections.
9140
9141 Fix move of Xiangqi Elephant
9142
9143 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
9144 fixed configure script to correctly detect Xaw3d library
9145
9146
9147 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9148 Fix unmarked translation
9149
9150 The file-browser wndowtitle in WB was not marked for translation.
9151
9152 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9153 Put warning in HTML help
9154
9155 A warning is added that the help file is not yet updated for the new
9156 menu organzation.
9157
9158 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9159 Fix 64-bit Windows compilability
9160
9161 The API interface for Set/GetWindowLong has been changed for 64-bit
9162 Windows, both in the name of the call as in the arguments.
9163
9164 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9165 Fix MSVC compilability
9166
9167 Both the makefile and the project file had to be adapted for the new
9168 source file history.c, and the new location of parser.c.
9169
9170 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
9171 added missing #includes and missing prototypes to filebrowser
9172
9173 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
9174
9175 Also cleaned up missing prototypes and some casts.
9176
9177 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
9178 added missing header file for sprintf
9179
9180
9181 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
9182 added history.c to the tar-ball. Needed for Winboard
9183
9184
9185 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9186 Fix deselection of greyed-out variant button (WB)
9187
9188 In Windows a disabled radiobutton refuses to deselect when you select
9189 another (enabled) button from the group. There are then 2 buttons
9190 checked, and the code to readout the buttons took the first one. Now it
9191 is changed to take the first enabled one.
9192
9193 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
9194 Revert "Implement -reset option feature in WinBoard"
9195
9196 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
9197
9198 picked the wrong commit from HGM's git tree.
9199
9200 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
9201 add DIFFSTAT and SHORTLOG to tar-ball
9202
9203 was only in the v4.4.x branch and not in master
9204
9205 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
9206 release of version 4.5.0
9207
9208 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
9209 changed size of borders around squares from 0 to 1 as a default
9210
9211 this way highlights show up again.
9212
9213 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9214 Implement -reset option feature in WinBoard
9215
9216 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
9217 updated Changelog, NEWS, etc.
9218
9219 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
9220 updated parser.c form parser.l
9221
9222 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9223 Clean up fishy patch
9224
9225 None of the ShowMove() calls in Adjudicate() was working, because when
9226 this code was taken out of HandleMachineMove() it was taken outside the
9227 scope of the local fromX, fromY etc. there, so that it started using the
9228 global variables from the mouse driver. As these usually contain -1,
9229 this suppressed move animation and highlighting. All these calls have
9230 now been removed, and ShowMove() is called after a positive return (from
9231 HandleMachineMove(), so within the correct scope).
9232 This improves the previous fix, which led to some flicker, because the
9233 erroneous ShowMove() calls did draw the new board (instantly), wich in
9234 the fishy patch was then immediately overwritten by the old position, to
9235 start animation. This drawing of the old position is now no longer
9236 needed either.
9237
9238 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9239 Update RTF file
9240
9241 The RTF file is adapted to the new menu organization.
9242
9243 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9244 Update texi file
9245
9246 The highlight-with-arrow and one-click-move menu items are described.
9247 The highlightMoveWithArrow and variations option are described.
9248 Load Next /Previous Position descriptions are moved to File menu.
9249 The description for entering variations is updated (using Shift key).
9250 The remark that editing holdings is impossible is removed.
9251 Spartan Chess is added to the list of supported variants.
9252
9253 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
9254 Updated copyright notice to 2011
9255
9256
9257 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9258 Greyout unavailable variants in New Variant dialog
9259
9260 The WB radio-button code is refactored to be driven from a list (which
9261 must be kept in phase with the variant definitions in common.h!). It now
9262 also checks if the first engine supports the variant, and greys out the
9263 item if it isn't. XB now also makes this check. Slight re-ordering of
9264 10x8 variants there, to have the more common on top.
9265 If no radio button is selected, keep old variant even on OK.
9266
9267 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9268 Move clock-click code to back-end
9269
9270 Some duplicated (or should-be-duplicated) code for handling clicks on
9271 the clocks from the XBoard and WinBoard front-ends was merged and
9272 relocated to the back-end, so it can be shared. Noticeable was that
9273 XBoard allowed turn change in ICS examine mode by clock clicking,
9274 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
9275
9276 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9277 Fix legality testing of drop moves
9278
9279 Drops of noexistent pieces (i.e. with a piece indicator letter that is
9280 not corresponding to any defined piece) are now parsed as
9281 ImpossibleMove, rather than IllegalMove, so they are also rejected with
9282 legality testing off.
9283
9284 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9285 Fix WB Sound Options greyout and remove some grossness
9286
9287 The sound and ICS Options menu items in WB were accessed 'by position',
9288 with fixed defined positions (always messing up any reorganization of
9289 the menus when you forgot to redefine the position constants in
9290 winboard.h). And not only that, but for completely mysterious reasons,
9291 the greying of the sound item greyed out the game-list options (above
9292 it) in stead when it was defined as 9, and the ICS options (below it)
9293 when it was 10 !!!. Now they are addressed 'by command' (and the
9294 position definitions are removed), which fixes things.
9295
9296 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9297 Re-instate load next/prev position menu items
9298
9299 As positions do not use something similar to the game list, these are
9300 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
9301 so I settled for Shift+PgUp/Dn.
9302
9303 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9304 Remove superfluous copying of machine move
9305
9306 There was explicit code in HandleMachineMove() and FinishMove() to put
9307 the move in the moveList, while MakeMove() already does this later in a
9308 more reliable way by calling CoordsToComputerAlgebraic(). This
9309 superfluous code is removed now.
9310
9311 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9312 Fix spurious mate test in Edit Game mode
9313
9314 When entering a game, it was terminated by the mate test even when
9315 legality checking was switched off (so that mates might not be reliably
9316 recognized). The mate test is now made dependent on legality testing.
9317
9318 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9319 Fix type-in of drop moves
9320
9321 Drop moves entered through the move type-in already come in the (piece,
9322 DROP_RANK, x, y) format, rather than having a holdings from square. This
9323 caused UserMoveEvent to consider them illegal when testing if the
9324 piecewas of the side to move, and when this was fixed, to recognize
9325 Knight drops as coming from between board and holdings (and thus
9326 illegal).
9327
9328 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9329 Fix move type-in truncating game
9330
9331 Starting a new variation by keeping Shift pressed did not work when
9332 OK'ing the move type-in, because there was some code ther that truncated
9333 the game. While this could be safely left to UserMoveEvent, which it
9334 calls, as the situation is not different from entering moves through the
9335 mouse.
9336
9337 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9338 Fix legality testing for promotions
9339
9340 Turns out WB has never tested for the legality of the chosen promotion
9341 piece, and would allow promotion to King innorml chess even with
9342 legality testing on (when entered through the keyboard)! Now strict
9343 testing is done, outlawing Pawns and Kings (or Unicorns in
9344 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
9345 spartan a black King if you do not have two yet.(And promotion
9346 toLnce,representing Hoplite Pawn,is forbidden there.)
9347
9348 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9349 Reset 50-move counter on all pawn-like Lance moves
9350
9351 Now the Lance represents a Pawn-like piece not only in variant fairy,
9352 but anywhere outside Shogi / Superchess, its moves should also reset the
9353 50-move counter in those cases. Especially important for Spartan Chess,
9354 where the Lance actually participates.
9355
9356 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9357 Fix logo repainting
9358
9359 The logos were not repainted when the main window was moved out of the
9360 display area, and then back into view. The reason for this is
9361 unknown, as the PaintProc calls HDCDrawPosition, which was calling
9362 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
9363 sometimes half drawn!) despite the fact that the rest of the board was.
9364 The drawing of logos now has been decoupled from drawing the board,
9365 and has been moved to a separate routine DisplayLogos() (in analogy to
9366 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
9367 not change when the board does. So apart from in PaintProc, it has only
9368 to be called when the mode changes (ModeHighlight()) or on swap clocks.
9369 This seems to fix the problem.
9370
9371 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9372 Fix time in PGN info
9373
9374 Saving of the thinking time in the PGN was broken by the patch that
9375 removed the race condition in the clock switching, because that moved
9376 the incrementing of forwardMostMove to behind the code that used fmm to
9377 index pvInfoList. As a result the time was stored in the slot for the
9378 opponent's previous move. The value is corrected now.
9379
9380 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9381 Fishy fix
9382
9383 The move that delivers checkmate in two-machines mode is not animated
9384 when adjudication is on. There then also is no highlighting of this move
9385 Redrawing the board and calling ShowMove fixes it. Which is rather
9386 strange, because ShowMove was already called in Adjudicate (when it
9387 adjudicates), before GameEnds. For reasons that are not understood this
9388 call to ShowMove() (which calls AnimateMove()) is not effective.
9389
9390 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9391 Reset machine colors after match
9392
9393 The colors each engine playse are set to the originals after the last
9394 match game, so that a new match or two-machines game will not have
9395 swapped colors.
9396
9397 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9398 Reset win/loss counters before match
9399
9400 The win/loss counters were not reset, because the code counted on them
9401 being initialized to zero. But with matches startable from the menu,
9402 this is no longer true after the first match.
9403
9404 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9405 Show move that causes false illegal-move claim
9406
9407 Without claim testing XBoard takes back moves that an engine objects to.
9408 But when the engine is forfeited for a false claim, the move should of
9409 course stay. So the claim test is moved to before the take-back.
9410
9411 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9412 Fix Spartan promotion to King
9413
9414 Promotions toKing were refused when in check, because XBoard thought
9415 they would not resolve the check. Now the promotion is actually
9416 performed before doing the check test.
9417
9418 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9419 Fix WB font-based piece rendering on variant switch
9420
9421 The piece bitmaps were only created from the font characters when the
9422 number of ranks or files changed, because it was done in
9423 InitDrawingSizes(). This caused missing pieces when changing to a
9424 variant on the same board that used other pieces. Now InitDrawingSizes()
9425 is called for any variant switch.
9426
9427 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9428 Fix right-alignment pproblem in WB ICS window
9429
9430 Use of Ctrl-R to summon the context menu still trickled through to the
9431 default text-edit window routine, and caused right-alignment. This was
9432 because the text-edit reacts on keyDown rather than the character event.
9433 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
9434
9435 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9436 Fix chat window title
9437
9438 The title was using the engine name, rather than the ICS handle, which
9439 did not work outside zippy mode. Now it only uses the engine name when
9440 no ICS handle is known. The titleis now also subjected to translation.
9441
9442 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9443 Fix spurious reading of old game title by JAWS
9444
9445 Because focus was switched to the board window before loading the
9446 selected game from the game list, the titlebar still contained the
9447 name of the previously loaded game, which would spontaneously be read by
9448 JAWS. Now the focus switch is done after loading the new game (which
9449 updates the window title.)
9450
9451 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9452 Add variant Spartan Chess
9453
9454 In the WB menu it takes the place of the defunct Twilight Chess item.
9455 The setup routine needed patching for setting up Lances in stead of
9456 Pawns for black, the check test had to be adapted to handle duple check,
9457 Alfil and Dragon moves were fine tuned in this variant to make the exact
9458 moves, and the promotion popup was adapted to show King and interpret
9459 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
9460 moves as Modern Elephant except in Shatranj and Courier.
9461
9462 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9463 Fix mate test
9464
9465 Due to a bug in logical operators drops were tried for mate evasions
9466 even in non-drop games, which broke it in Superchess and Great Shatranj,
9467 and wasted CPU time in other variants.
9468
9469 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9470 Fix promotion suffixon disambiguated piece moves
9471
9472 The promotion suffixon piecemoves that needed disambiguation was not
9473 passedon to the back-end in most variants. Now it is passed on in any
9474 variant.
9475
9476 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9477 Fix promotion of Pawn-like Lance
9478
9479 In variants where the Lance is used to represent an unorthodox Pawn, it
9480 must promote when it reaches last rank. With legality testing on,
9481 however, the promoChar was ignored in ApplyMove in this case. The
9482 promotion suffix also was not appended in SAN moves.
9483
9484 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9485 Fix WB promotion popup
9486
9487 The promotion popup did not work properly in variants where black did
9488 not use the pieces that white wanted to promote to. Now the character
9489 for the selected piece is taken from the piece encodings of the side to
9490 move. In addition, selection of undefined pieces is ignored.
9491
9492 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9493 Fix bug in parsing variations
9494
9495 The moves parsed from a variation were stored in the moveList without
9496 appended linefeed. This caused errors if the variation extended to
9497 beyond the end of the main line,into a hitherto unused part of the move
9498 list, as the linefeed was then not there from the overwritten move. As a
9499 result moves sent to the engine were concatenated, triggering
9500 illegal-move messages and bringing the engine out of phase.
9501
9502 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9503 Define Ctrl-R as right-click in WB Comment dialog
9504
9505 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
9506 equated to a right click at the position of the caret or selection.
9507
9508 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9509 Allow starting a variation from keyboard entry in WB-JAWS
9510
9511 The status of the shift key is remembered when space is pressed to
9512 select a board square.
9513
9514 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9515 Disable some accelerators in JAWS version
9516
9517 Single-key accelerators that could result in irreversible data loss are
9518 undesirable, because the risk of accidentally pushing them is too large.
9519 So the non-Alt duplicates of next/previous game/position are disabled,
9520 as are Home and End for Revert and Truncate Game. JAWS users will have
9521 to rely on the menus for those functions.
9522
9523 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9524 Group engine-output memos with engine names
9525
9526 The engine names are now defined just before the text edits, so that
9527 JAWS 11 will read the engine name when the memo for the output of that
9528 engine is selected. (JAWS 10 will still read the NPS, as it reads in
9529 geometrical order.)
9530
9531 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9532 Put nr CPU earlier in tab cycle of WB Common Engine dialog
9533
9534 By defining the max CPU control after hash size, the tabbing steps
9535 through the controls in geometrical (and logical) order, rather than
9536 having the max CPU in between the book controls.
9537
9538 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9539 Update WB language template file
9540
9541
9542 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9543 Subject JAWS menu and spoken strings to translation
9544
9545
9546 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9547 Let JAWS SayString buffer full sentence
9548
9549 The meaning of the flag parameter of SayString was changed to indicate
9550 buffering of flushing. On flushing a message of a single space is used
9551 as a kludge to indicate interruptability. Calls to force flushing where
9552 added everywhere.
9553
9554 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9555 Adapt JAWS menu to new menu organization
9556
9557 The menus did not correspondto the texts after translation of the main
9558 menu bar.
9559
9560 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9561 Translate menus after creation of JAWS menu
9562
9563
9564 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9565 Fix ICS context menu for JAWS
9566
9567 The Ctrl+R key did select text at the mouse pointer in stead of at the
9568 curser, now that up and down-click were combined.
9569
9570 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9571 Reorganize order of WB New Variant dialog controls
9572
9573 The definitions are re-ordered so that at least JAWS 11 will speak the
9574 board-size elements properly.
9575
9576 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9577 Fix order of elements in WB time-control dialog
9578
9579 Someleading texts were defined after the text edit they referred to,so
9580 that JAWS 11 associated them to the wrong one. A tab stop was added to
9581 the time-odds label, to make JAWS speak it.
9582
9583 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9584 Change tabbing order in WB sounds dialog
9585
9586 The 'Play' button now gets focus immediately after the controls for
9587 selecting the sound, rather than at the end of the dialog (after OK).
9588
9589 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9590 Remove tab stops on first radio button of WB dialogs
9591
9592 The New Variant and Board dialogs had a tab stop on the first radio
9593 button,so that tabbing toit would automatically select variant
9594 normal or size tiny. Now it tabs straight to the current size, without
9595 changing anything. (Important for JAWS users.)
9596
9597 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9598 Put OK/Cancel last in tab cycle of some WB dialogs
9599
9600
9601 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9602 Fix duplicate menu character for Edit Comment
9603
9604 Edit Comment did have the same shortcut character as Copy Game. Changed
9605 to m now.
9606
9607 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
9608 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
9609
9610
9611 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
9612 new developer release
9613
9614
9615 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9616 Subject WB context menus to translation
9617
9618 The innerloopof the menu translation has been made into a separate
9619 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
9620 better preserve menu breaks. Menu #10 is used for context menus (from
9621 the routine that pops them up), and for this number the orignal texts
9622 are not saved in menuText. (This is not needed, because the menu is
9623 created everytime anew from the resource data.)
9624
9625 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9626 Update translation template
9627
9628 Add the new menu items; add some notes.
9629
9630 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9631 Resize buttons in WB engine-settings dialog
9632
9633 The OK and cancel buttons were to narrow for most translations, and were
9634 a non-standard order as well.
9635
9636 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9637 Add one-click move control to WB general-options dialog
9638
9639 This is a duplicate of the one in the ICS options dialog, but the latter
9640 is inaccessible in non-ICS modes, and one-click move is now
9641 alsoavailable in engine mode.
9642
9643 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9644 Create space in dialogs for translation
9645
9646 The translated texts often did not fit, because controls were defined
9647 needlessly small (when there was empty space between them). In these
9648 cases they have been enlarged to consume all available space. Some
9649 dialogs are made wider.
9650
9651 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9652 Add handle for translator acknowledgement
9653
9654 An empty string is printed in the about box, which can be 'translated'
9655 to a message acknowledging the translator.
9656
9657 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9658 Use default logo for user
9659
9660 When no logo with the name of the current user is found, use dummy.bmp.
9661
9662 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
9663 added rlwrap tip to FAQ
9664
9665
9666 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
9667 replace hard coded paths with path from configure script
9668
9669 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
9670
9671 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
9672 fixed a typo in the configure script output
9673
9674
9675 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
9676 added a desktop file
9677
9678 taken from the openSUSE project
9679
9680 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9681 Fix Edit Game/Position checkmarking in WinBoard
9682
9683 Because the entries in Edit and Mode menu were pure duplicats, the
9684 entries in the wrong menu (Edit) were checkmarked while active. By
9685 defining different IDs for those in the Edit menu, those in the Mode
9686 menu are checkmarked again.
9687
9688 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9689 Add XBoard menu items for arrow highlight and one-click move
9690
9691 These items are put in the options menu; the 'Old Save Style' item is
9692 removed.
9693
9694 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9695 Provide menus for editing WinBoard engine and server lists
9696
9697 The Edit Tags dialog in the WB front-end is adapted to act as a general
9698 edit for string variables, by giving it an extra parameter to indicate
9699 where to store the edited result. Menu items are added to invoke this
9700 dialog for editing the /first, /secondChessProgramNames and /icsNames
9701 options. This solves the problem that people would have to edit an ini
9702 file that they can no longer locate (because the %APPDATA% folder has
9703 different names and locations in the various Windows versions, and is
9704 often a hidden folder on top of that).
9705 There is a slight memory leak here, as the memory for the previous
9706 value of the altered string option is not freed.
9707
9708 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9709 Configure arrow highlighting as default in XBoard
9710
9711 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
9712 lineGap of 0 to make that efficient (and the wood theme even nicer).
9713
9714 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9715 Port highlighting with arrow to XBoard
9716
9717 Unfortuntely this duplicates a fair amount of code in the front end.
9718 Removing the arrow is done by a total repaint if there is a non-zero
9719 lineGap, because the clever algorithm for selective redrawing (based
9720 on damage) that XBoard uses does not repair damage to the grid lines.
9721 For lineGap=0, however, (for which the arrow is mainly intended) the
9722 damage mechanism is used, and the damaged squares are determined by
9723 tracing out the arrow in 64 steps, and marking all squares in the
9724 neighborhood as damaged.
9725
9726 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9727 Strip CR from xboard.c
9728
9729
9730 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9731 Let user decide if he wants highlights in blindfold mode
9732
9733 Remove the automaticsuppression ofhighlighting.
9734
9735 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9736 Fix fag-fell marker with logos on
9737
9738 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
9739 two-machines mode was printed twice when the clock was split over two
9740 lines (as with logos on).
9741
9742 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9743 Also exempt variant seirawan from eval-scale doubling
9744
9745 It is not really a drop game, so a scale from -7 to 7 in the eval graph
9746 is good enough (like variants great and super).
9747
9748 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9749 Configure EGTB cache size in adapterCommand
9750
9751 The hash size, nr of CPUs and EGTB path are transferred through the WB
9752 protocol interface commands memory, cores and egtpath. But there is no
9753 WB command for detailing the EGTB cache size. So the value of the
9754 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
9755 through its startup command to make it known to UCI engines.
9756
9757 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9758 Move Hint and Book items to Engine menu in XBoard
9759
9760
9761 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9762 Correct the key bindings fo view menu in texi file
9763
9764 The mentioned bindings for Game List and Eval Graph were wrong.
9765
9766 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9767 Fix sub-variation display with negative score
9768
9769 The test if the displayed score was the pvInfo score failed for negative
9770 scores, because floats are truncated towards zero. So the previous fix
9771 of spurious score/depth info was not working when the score was
9772 negative.
9773
9774 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9775 Peel PV out of comment
9776
9777 Arena stores engine PVs not in variation format, but within both braces
9778 and parentheses, before the score/depth info. This caused XBoard to
9779 overlook the score/depth info, (frustrating, e.g., the eval graph),
9780 while the PV would not be accessible for walking it as a variation.
9781 The routine that extracts the score/depth from a comment now has
9782 been made more clever, to recognize a leadin PV in the comment, and then
9783 place it in front of the comment as variation (by moving the opening
9784 brace to behind it). For some reason it does not work if the PV and
9785 score/depth were separated by a newline, but this happens quite rarely.
9786
9787 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9788 Allow line-straddling result comments
9789
9790 Some GUIs (in particular Arena) do not have the decency to keep the
9791 result comment on a single line. In this case the parser rules would not
9792 recognize it, and treat it as a normal comment, plus an undetailed PGN
9793 result. The rules are now fixed to allow linefeeds in the comment, and
9794 between comment and PGN result. To correctly process the comment further
9795 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
9796 back-end routines that do use the result comment.
9797
9798 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9799 Write key bindings in XBoard menus
9800
9801 Unfortunately tabs are not understood in menu texts, so fine-tuning
9802 through spaces is necessary to get some sort of ragged alignment.
9803
9804 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9805 Configure XBoard to use wood board texture by default
9806
9807 The texture pixmaps are sought in /usr/share/games/xboard, with names
9808 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
9809 to put them there. XBoard is resitent to non-existence of the files,
9810 btw. It simply ignores the arguments in that case.
9811
9812 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9813 Configure -inc as volatile option in XBoard
9814
9815 XBoard users are not used to options being persistent, and thus have
9816 many scripts assuming the timeIncrement is -1 when they don't specify it
9817 on the command line, and want to specify -mps. But a persistent -inc of
9818 0 fom a preious session would then force their -mps to zero, causing
9819 big-time confusion.
9820
9821 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9822 Make WinBoard clocks translation-proof
9823
9824 With logos on, the splitting of the clock over two lines assumed the
9825 lengths of the words "white" and "black" would always be 5. Used strlen.
9826
9827 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9828 Improve drawing of highlight arrow
9829
9830 A diagonal arrow sometimes had a notch in the shaft because of
9831 independent rounding of the starting and ending point coordinates.
9832 Furthermore the width of the shaft was unnecessary variable(as a
9833 function of direction) because half the width was rounded and then used
9834 twice. Now rounding of end-points is always done towards a fixed grid
9835 of square centers, which keeps diagonals purely diagonal, and one side
9836 of the shaft is drawn relative to the other side, after the
9837 position of the latter has been rounded, so any rounding error affects
9838 the shaft width only once.
9839
9840 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9841 Alter descriptionof Analyze File menu item
9842
9843 This menu item has been given a new function, so a new description was
9844 needed.
9845
9846 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9847 Add description of Game List Options in texi file
9848
9849
9850 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9851 Update texi file for new menu organization
9852
9853 The descriptions are shuffled around and organized into sections
9854 corresponding to the new main menus. Where necessary the name of the
9855 items was changed to their new names. The items removed from the File
9856 menu (the next/previous/same stuff) are nowmoved to the section "other
9857 shortcut keys", as the key bindings for some of them are still active.
9858
9859 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9860 Update info on key bindings in texi file
9861
9862 The texi file was still listing the old XBoard key bindings. Where
9863 necessary this is now changed to the new (WinBoard) bindings, and all
9864 the new bindings were added.
9865
9866 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9867 Add XBoard key bindings for Revert and Truncate
9868
9869 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
9870
9871 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9872 Divorce the Edit and Show Tags/Comment menu items
9873
9874 In WinBoard the items in the Edit and View menu for Tags and Comment now
9875 have different IDs, so they can be independently controlled. Only the
9876 items in the View menu are check-marked. The items still do the same.
9877
9878 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9879 Alter WinBoard menu text
9880
9881 The texts are slightly adapted, mostly by choosing more convenient
9882 tabbing characters for the new menu organization. The translation
9883 template is updated accordingly.
9884
9885 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9886 Let move-history window scroll to bottom after adding move
9887
9888 By activating the scrollbar of the viewport through XtCallActionProc
9889 the move-history window is scrolled to the bottom.
9890
9891 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9892 Fix Shogi promotion popup
9893
9894 The texts were adapted to shogi by printing new text items over the
9895 Queen and Knight buttons, but these did not alwys cover it. Now the text
9896 on the buttons is changed as it should be. Also the window title is
9897 adapted.
9898
9899 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9900 Apply gettext macros to menu texts
9901
9902 Now texts and references are separated, the texts in the tables can be
9903 decorated with the N_() macro, so that the _() macro no longer has to be
9904 applied when they are used. (This makes the texts appear in the .po
9905 files.)
9906
9907 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9908 Adapt some XBoard menu texts
9909
9910 The "Show" prefix is removed from the "View" menu items, as this seems
9911 implied. An ellipsis is added to the Engine #N Settings items, which
9912 could not be there before, because periods in a menu name would break
9913 any reference to it. For some other names the ellipsis was deleted.
9914 (These were not refered to, but who knows what we will do in the future.)
9915
9916 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9917 Separate menu text from menu name in XBoard
9918
9919 The text string in the menu-definition tables was used both for the menu
9920 text, as well as for referencing the items from the code (for enabing or
9921 checkmarking). Now these can be defined separately, so that altering the
9922 menu texts is possible without breaing any references to the item.
9923 (Moving them to another menu would still break XBoard, though!)
9924 Currently the texts and names are still the same.
9925
9926 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9927 Bugfix XBoard menu translation
9928
9929 The gettext macro N_() was applied to the menu definition tables, but
9930 this would break any translation, as these items are both used as menu
9931 texts as well as reference for enabling and checkmarking. The routines
9932 that create the menus already apply _() dynamically to these items when
9933 they are used as menu texts.
9934
9935 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9936 Restrict drops in variant seirawan to back rank
9937
9938 Drops aren't really llowed at all in Seirawan Ches, but there exists an
9939 engine that supports a variant where drops on the back-rank are allowed.
9940
9941 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9942 Let Analyze File annotate the loaded game
9943
9944 By not suppressing the auto-play loop in AnalyzeFle mode, we step
9945 through the game while the engine is analyzing, and store the PV info
9946 that the engine produces, as well as the full PV (as variation comment)
9947 with each move.
9948
9949 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9950 Revive Analyze File menu item in WB
9951
9952 We will keep this menu after all, becase it can be given a new meaning.
9953
9954 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9955 Fix spurious scores in comments
9956
9957 The comment popup is also used to display engine PV info, but when the
9958 contents of the window is written back when we select a variation,
9959 it was treated as a real comment. This is fixed now by checing in
9960 ReplaceComment() if the comment starts with the PV info, and if so,
9961 ignore the latter. This solves the problem, but I guess the real bug is
9962 that selecting a variation tries to write the comment even if it did not
9963 change.
9964
9965 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9966 Display error for wrong use of Machine Match
9967
9968
9969 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9970 Reorganize XBoard menus
9971
9972
9973 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
9974 Reorganize WinBoard menus
9975
9976 New main menus Edit, View and Engine are added; the step menu
9977 disappears. The menu items are redistributed over the new menus.
9978 Sometimes duplicates are created. No adaptation of short-cut characters
9979 as made yet (as this affects translation).
9980
9981 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
9982 removed trailing whitespaces from NEWS
9983
9984
9985 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
9986 merged readme_HGM.txt into the NEWS file
9987
9988 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.
9989
9990 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
9991 typo in date of developer release
9992
9993 but will leave the tagged version as it is, since it's still a unique version number
9994
9995 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
9996 new developer release
9997
9998
9999 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
10000 added latest version of parser.c
10001
10002
10003 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
10004 updated Changelog, etc for developer release
10005
10006
10007 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
10008 Revert "adding gnu-readline support"
10009
10010 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
10011
10012 Conflicts:
10013         backend.c
10014
10015 better to use the (relatively) new ICS input box then add readline support.
10016
10017 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
10018 Revert "bugfix: fixed readline support with icslogon option"
10019
10020 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
10021
10022 Conflicts:
10023         backend.c
10024
10025 better to use the (relatively) new ICS input box then add readline support.
10026
10027 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10028 Make Hoplite moves irreversible in Spartan Chess
10029
10030 Consider Lance moves in variant Fairy (where the Lance represents the
10031 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
10032
10033 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10034 Give Lance moves of Amazon in variant super
10035
10036 Now that Lance is no longer a wild-card piece the moves of Amazon must
10037 be programmed explicitly, to keep the possibbilty to play Superchess
10038 with legality testing on.
10039
10040 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10041 Change representation of Bede in variant fairy initial position
10042
10043 This used to be Lance, but the promoted Bishop (Dragon Horse)
10044 is more applicable. Especially now that Lance is supposed to move like a
10045 Berolina Pawn.
10046
10047 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10048 Make yyskipmoves also suppress examining of drop moves
10049
10050 Not sure if this does any good, but it seemed illogical that this would
10051 happen in all other moves, but not drops.
10052
10053 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10054 Define moves for Dragon Horse outside Shogi
10055
10056 Let it move like Bishop + Wazir + Dababba.
10057
10058 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10059 Fix safety crash when appending comments
10060
10061 The length limit imposed on safeStrCpy was one too short when copying
10062 an existing comment to the space allocated for the longer (concatenated)
10063 one. It allowed no space for the terminating '\0'.
10064
10065 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10066 Fix safeStrCpy
10067
10068 The test for when to terminate a non-fiting string was one off, and the
10069 debug message was written stdoutin stead of debugFP.
10070
10071 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10072 Fix default holdings size for variant seirawan
10073
10074 The holdings for 7 pieces werealways considered an overrule, so that the
10075 variant name was prefixed with "8x8+7_".
10076
10077 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10078 Fix home-dir crash
10079
10080 When confronted with a path name starting with ~ and not containing a /
10081 XBoard would segfault.
10082
10083 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10084 Fix one-click moving on up-click
10085
10086 (First) up-clicks were not always ignored: in Edit-Game mode with
10087 one-click moving enabled this could lead to a capture being made on
10088 the down-click, and the recapture on the correspoding up-click.
10089 This has now been corrected, and only the down-click of a first click
10090 can lead to selecting a piece or a one-click move.
10091
10092 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
10093 fixed buffer size for snprintf
10094
10095
10096 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10097 Accept Seirawan-style gating suffixes
10098
10099 The parser rules were extended to accept / as an equivalent of = in
10100 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
10101
10102 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10103 Use Falcon and Alfil as built-ins for Seirawan chess
10104
10105 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
10106 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
10107
10108 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10109 Implement entering gating moves with mouse
10110
10111 A move with a back-rank piece that starts when a piece in the holdings
10112 is selected will be interpreted as a gating move in variant seirawan.
10113 The front-end uses a 'gatingPiece' selected this way todisplay it on the
10114 from square during animate dragging.
10115
10116 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10117 Implement variant seirawan
10118
10119 Set upthe position, including Hawk and Elephant in holdings, in
10120 InitPostion(). Suppress putting captured pieces in holding. Let
10121 promoChar indicate gating in ApplyMove(). Remove gated pieces from
10122 the holdings there. Let GenLegal() generate RxK-type castlings to act as
10123 base for gating on Rook square. Gatings are tested for legality
10124 based on the holdings content and whether they occur on the back
10125 rank. Disambiguate() also tests this. Make sure the gated pieces are
10126 printed as move suffixes in CoordsToAlgebraic().
10127
10128 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10129 Add -variant seirawan to menu
10130
10131
10132 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10133 Fix acceptance of null-move with legality testing off
10134
10135 A second click on the same piece was interpreted as a to-square rather
10136 than deselection of the piece.
10137
10138 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10139 Fix one-click bug
10140
10141 Disambiguate was imagining captures, so an only capture by double
10142 clicking your own piece did not always work.
10143
10144 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10145 Fix mouse-driver buglet
10146
10147 The highlights were not cleared on moves that went vertically off board.
10148
10149 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10150 List some undocumented commands as compliant
10151
10152 The engine->GUI commands setboard and setup are now always printed in
10153 the debug file as well.
10154
10155 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10156 List Hint with compliant commands
10157
10158 This command was omitted, so that in some -engineDebugOutput modes it
10159 would not appear in the debug file.
10160
10161 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10162 Restrict use of escape expansion
10163
10164 Only expand escape sequences like \n and \t in telluser(error) comamnds
10165 that ask for it by preficing the messages by double backslash. Otherwise
10166 backward copatiblity is too severely broken for messages that display
10167 DOS-style filenames.
10168
10169 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10170 Make safeStrCpy safe
10171
10172 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
10173 always writing the character at the length limit of the destination.
10174 Now no memory is accessed that is is not needed to hold the copy.
10175
10176 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10177 Allow clicked name internal to the icsMenu command string
10178
10179 A command in the /icsMenu that was specified to contain the selected
10180 text or clicked word always appended this word at the end. Now the user
10181 can also configure it to appear in the middle, by putting a %s in the
10182 command string where he wants it to appear.
10183
10184 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10185 Let Engine #2 Settings start second engine
10186
10187 If the second engine is not yet running, it would be impossible to use
10188 the settings dialog for it, as the features have not been received and
10189 the dialog will be empty. So the user could not adjust the engine
10190 parameters before starting a match. Using this menu now automatically
10191 starts the engine, and delays the appearence of the popup untill the
10192 features are received, using a similar mechanism as in
10193 TwoMachinesEventIfReady().
10194
10195 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10196 Newly lexed parser.c
10197
10198
10199 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10200 Fix bug in parsing illegal Pawn captures
10201
10202 When a pawn move of type exf5 was illegal, the parser made an attempt to
10203 interpret it as e.p. capture of f5. This, however, messed up the move,
10204 so that it was now permanently mistaken for e5xf6. Even in cases with
10205 legality testing off, where you would want the original move to be
10206 accepted despite the fact that it was illegal.
10207
10208 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10209 Keep last PV while clearing engine-output display
10210
10211 When ponder is on, the display is cleared immediately when the last line
10212 of thinking output appears by the appearing ponder output. So you would
10213 never get the chance to see it. This line is now re-written after
10214 clearing, so it appears at the bottom of the output for the next search.
10215
10216 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10217 Give Lance moves of Berolina Pawn
10218
10219 In stead of using it as a wildcard piece, the Lance gets the moves of
10220 the Berolina Pawn (straight capture, diagonal move). The initial double
10221 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
10222 Chess.)
10223
10224 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10225 Use SAN even on illegal moves
10226
10227 If there is only one piece of type T, moves like Ta1 or Txa1 are never
10228 ambiguous, so adding the from square is just cumbersome.
10229
10230 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10231 Use normal SAN for wildcard pieces
10232
10233 SAN often can also be used with pieces we don't know the moves of, e.g.
10234 if there is only one of that type. We just always get rank or file
10235 disambiguators if there are more (even when they might be unnecessary).
10236
10237 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10238 Fix some warnings
10239
10240 Unused variables were removed from parser.l
10241
10242 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10243 Allow arbitrary nesting of sub-variations in PGN input
10244
10245 The parsing of subvariations is moved out of the state-machine parsing,
10246 to allow arbitrary nesting. In stead of the entire sub-variation being
10247 parsed by lex as Comment, it now returns Open and Close for the
10248 corresponding parentheses, which are then handled in a wrapper routine
10249 for yylex(): Myylex(). Problem was that yy_text is supposed to return
10250 the entire parsed text of the returned symbol, which thus has to be
10251 collected. To make this possible, yylex has to return everything that it
10252 parses, (even white space!), and a symbol "Nothing" was added to return
10253 in parsing rules that before just ate away irrelevant text without
10254 returning anything.
10255
10256 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10257 Implement setup (engine-GUI) command
10258
10259 This allows the frst engine (when legality testing is off) to overrule
10260 the default opening position, in reply to the variant command. Syntax is
10261 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
10262 where the FEN string is interpreted in the context of the given
10263 pieceToCharTable (which is optional, and only delimeted by parethesis if
10264 it is present).
10265 Sendng the position to the second engine is delayed until the first
10266 engine has responded to the ping after the new-game sequence, to make
10267 sure it gets the chance to alter the position before it is sent to the
10268 second engine. This feature is useful for playing variants that WinBoard
10269 does not even know the opening positon for, and can be used even if they
10270 are shuffle variants.
10271
10272 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10273 Restrict use of a2a3 kludge
10274
10275 The kudge to send "a2a3" in stead of "black" to get black to move is
10276 fatally flawed in varants that have no Pawn on a2. So in that case we
10277 revert to use of the deprecated "black" command.
10278
10279 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10280 Remember values set by -firstOptions, -secondOptions
10281
10282 When an engine announces its option features, and the option name
10283 matches that of a setting given in -first/secondOptions, the engine is
10284 sent hte specified value, but this value was not remembered as current
10285 value (but the latter  was left at the engine-announced default),
10286 leading to inconsistent behavior in the Engine #N Settings dialog.
10287
10288 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10289 Make test for valid promotion piece color-dependent
10290
10291 This is needed to make it work in variants where white and black have
10292 different armies; quite likely white will promote to pieces that do not
10293 exist in the black army, so we really have to make sure we test if the
10294 white (upper-case) piece exists in this case.
10295
10296 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10297 Remove validity test on promochar from parser
10298
10299 The backend routines Disambiguate() and LegalityTest() will catch
10300 invalid promotions, so no need to do it here.
10301
10302 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10303 Add the actual size-33 Shogi bitmaps
10304
10305 These were forgotten in the original commit that fixed the .rc file.
10306
10307 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10308 Delete some stale promotion code
10309
10310 The correction of the promotion piece to Ferz in Shatran-like variants
10311 in ApplyMove() was no longer needed, as the new promotion code already
10312 does this in the move parser.
10313
10314 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10315 Augment moves of some fairy pieces
10316
10317 To get better disambiguation in variants that have to be played with
10318 legality testing off, the Elephant is given also one-step moves (making
10319 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
10320 King (Crowned Rook), which had no moves defined for it outside Shogi at
10321 all, has been given Rook moves plus an orthogonal 2-jump, so that it
10322 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
10323 currently aways force long algebraic notation...)
10324
10325 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10326 Bugfix safeStrCpy patch, WinBoard
10327
10328 The use of sizeof on pointers was detected through the same method as
10329 the previous patches, this time while compiling WinBoard. A typo in
10330 jaws.c was fixed as well.
10331
10332 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10333 Bugfix for safeStrCpy patch for XBoard
10334
10335 By a trick (temporarily redefining safeStrCpy in common.h as
10336 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
10337 could be generated for every occurrence where the size argument was equal
10338 to 4, i.e. where the 1st argument was likely a pointer rather than an
10339 array. These cases are now fixed. The file xoptions.c, which is the
10340 only ne that does not #include common.h had to be fixed by making
10341 the #define in the file itself.
10342
10343 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
10344 Fix spurious promotions with legality testing off
10345
10346 The recent promotion patch had broken playing without legality testing
10347 completely: without legality testing one always gets the piece that was
10348 asked for, but a NULLCHAR should not be taken as a request for a piece!
10349 But it was, and this resulted in any moved piece turning into a white
10350 Pawn! For true promotions the piece was always black, which was also not
10351 very useful.
10352
10353 Also revert to the use of '+' as internal Shogi promoChar, because
10354 pre-processing turns out not to be possible when reading a game file.
10355 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
10356 can no longer be recognized as checkmate symbol.
10357
10358 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10359 Make deferral default in Shogi promotions
10360
10361 Because '+' is intercepted by the parser as check indicator, Shogi moves
10362 are pre-processed to change a trailing '+' into an internally used
10363 alternative '^'. The testing if a promotion character is OK is now done
10364 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
10365 the character does not correspond to any piece, and IllegalMove when in
10366 Shogi anything other than '^' or '=' is used. (Except for the ICS
10367 notations.) On output, in CoordsToComputerAlgebraic() and
10368 CoordsToAlgebraic(), the '^' is translated back to '+'.
10369
10370 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10371 Animate piece explosions in drag-drop moves and in XB
10372
10373 This required some code restructuring: the decision if an explosion is
10374 needed is now taken in a new routine Explode() in the backend. This then
10375 calls the front-end driver, and it returns the info if there was an
10376 explosion or not, so the caller (AnimateMove() or the mouse driver) can
10377 take action to repair the damage to the board caused by the blast wave.
10378 A front-end driver for XBoard is provided as well, so that both
10379 click-click (and replay, which is the same) and drag-drop atomic
10380 captures are animated in XB as well as WB.
10381 Explosions on rejected moves are suppressed.
10382
10383 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10384 Suppress promotion popup if piece will explode
10385
10386 In atomic, a Pawn capture to last rank is not really a promotion.
10387 Fix choice to Queen.
10388
10389 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10390 Make Knight hop first straight, then diagonal
10391
10392 It used to be the other way around, which looked pretty illogical in
10393 Xiangqi: to see Horses, which are blockable pieces there, move over an
10394 occupied square.
10395
10396 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10397 Let -oneClickMove also work in EditGame mode
10398
10399 There is really no reason why people that lke one-clcik moves enough to
10400 switch them on would not want to use them too when editing a game.
10401 This solves a nast inconsistency, as before it used to work in -ncp mode
10402 on the _first_ move, as the mode is then BeginningOfGame, and not yet
10403 EditGame, and we do want it to work for BeginningOfGame, as this is
10404 also the game mode when you start playing as white.
10405
10406 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10407 Make -flipBlack and -allWhite option volatile
10408
10409 As these options are very Shogi specific, and the variant is volatile,
10410 it seems logical to make them also volatile. Not completely sure about
10411 -allWhite, though. It cold be useful if you want, for example, to play
10412 wth dark-brown pieces for black, as any color but black looks much
10413 better with outline pieces than with solid pieces.
10414
10415 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10416 Provide some sample board-texture pixmaps
10417
10418 Wood and marble themes are provided as textures for light and dark
10419 squares, plus two complete Xiangqi boards (wood and evenly colored).
10420 These should probably not goint the distro tar ball.
10421
10422 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10423 The -overrideLineGap option is made to work in XBoard
10424
10425 Although XBoard already allowed this in the -boardSize specification,
10426 it is still seful to globally disable grid lines, e.g. for an
10427 oriental Xiangqi board. And it converges XB and WB.
10428
10429 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10430 Implement board textures in XBoard
10431
10432 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
10433 XBoard too, for loading a pixmap that will be used to cut out the dark
10434 and light square backgrounds. The cutting algorithm is such that the
10435 pixmap image is completely restored if the size was that of the total
10436 board (e.g. a drawing of a Xiangqi board).
10437
10438 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10439 Complete WB (western) bitmaps for Shogi at size 33
10440
10441 The Lance was not replacing Queen in some sizes where the bitmaps were
10442 already available, and new bitmaps for the promotion Golds were added.
10443
10444 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10445 Make starting new variation dependent on shift key
10446
10447 The shift key is read during mouse events, and posted in a global
10448 variable, which can then be used by the back-end. The decision to start
10449 a new variation (pushing the game tail rather than clipping it off) when
10450 entring a move in Edit Game or Analyze mode is made dependent on this.
10451 The move-typein also records the shift-key state.
10452
10453 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10454 Fix merging bug
10455
10456 A %g format was used to print an int in sending the level command,
10457 because decimal points were dropped when merging patches. Also an unused
10458 variable was removed to suppress a warning.
10459
10460 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10461 Add set of shogi pixmaps for XBoard
10462
10463 The -size 64 pieces from gShogi (and originally XShogi) are made
10464 suitable for loading by XBoard, through redefining the transparent
10465 background color as either light or dark square color. These bitmaps are
10466 not included in the XBoard build, and perhaps should not even be
10467 included in the source distribution, but made available in a separate
10468 distribution?
10469
10470 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10471 Implement -flipBlack in XBoard
10472
10473 When -flipBlack is true, the white and back piece pixmaps are swapped in
10474 flipView. The idea is that the black pieces are upside-down versions of
10475 the white (Shogi) pieces, so that swapping white and black in effect
10476 turns all pieces upside down, which is what should happen in flipView.
10477
10478 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10479 Disable some very verbose debug printing
10480
10481 The internationalization seems debugged enough to do without them.
10482
10483 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10484 Add option -variations to control variation-tree walking
10485
10486 Just so that users can switch it off if the find it annoying.
10487
10488 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10489 Allow full promotion suffixes on SAN piece moves
10490
10491 This facilitates the parsing of (non-standard) Shogi moves in ICS
10492 protocol. It can also be useful for Seirawan Chess, where a future
10493 implementation of it can use promotion suffixes to indicate gating.
10494
10495 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10496 Allow lower-case piece indicator in drop-move notation
10497
10498 As it seems that XBoard also sends such moves in zippy play, it seems
10499 more fair to recognize them from the engine as well.
10500
10501 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10502 Fix bug in ICS variant switch for Shogi
10503
10504 Because a test for 8x8 variants was done by <= VariantShogi,
10505 rather than <, spurious move-list fetching occurred in Shogi.
10506
10507 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10508 Fix WinBoard Lance bug
10509
10510 The choice between Lance and Queen was made on appData.variant, in stead
10511 of gameInfo.variant. Because of this it was not always up-to-date in ICS
10512 games.
10513
10514 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10515 Adapt WinBoard to Shogi implementation on Variant ICS
10516
10517 The Variant ICS does not use the '+P' notation for promoted pieces,
10518 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
10519 and uses 'H' and 'D' for +B  and +R. The Shogi promotion code in
10520 LegalityTest() and Disambiguate(), which are used in move Parsing, are
10521 adapted to handle this. Deferred promotions sent to the ICS now use an
10522 == suffix.
10523
10524 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10525 Inherit promoted-info that ICS does not give from previous board
10526
10527 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
10528 primordial or a promoted pawn (or a promoted other piece). We now derive
10529 this info from the previous board. The option -disguisePromotedPieces
10530 controls this feature.
10531
10532 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10533 Limit multi-session clock handling to non-ICS games
10534
10535 In ICS games a time forfeit crashed XBoard, apparently because the
10536 fullTimeControl string is not properly set when we try to use it to see
10537 if a sudden-death session is indeed the last session.
10538
10539 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10540 Change evalgraph scale in drop games
10541
10542 Score swings tend to be much larger in Crazyhouse and Shogi, so the
10543 vertical rangee in those games is doubled to (-14, 14).
10544
10545 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
10546 bugfix: fixed readline support with icslogon option
10547
10548 The icslogon option sends the login and password, so we don't need to handle
10549 special cases for the readline buffer.
10550
10551 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
10552 fixed some typos that were introduced during the sprintf->snprintf changes
10553
10554
10555 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10556 Fix uninitialized variable in book code
10557
10558 The variable ' power' was used uninitialized in case -bookVariation was
10559 set to 0, which can be an error even if it was only multiplied by zero.
10560
10561 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10562 Fix menu translation bug
10563
10564 The menuText array was declared too small, so that the last entry of the
10565 File menu got out of bounds and was overwritten by the first of the Mode
10566 menu.
10567
10568 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10569 Allow -timeIncrement to be a float
10570
10571 The increment can now be fractional seconds. The printing in
10572 ParseTimeControl() and SendTimeControl() is done with %g format, so that
10573 for integer increment there is backward compatibility with the old level
10574 command.
10575
10576 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
10577 adding gnu-readline support
10578
10579 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.
10580
10581 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
10582 added warning if icsLogon file couldn't be opened
10583
10584
10585 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
10586 security fix: replaced some strcat with strncat
10587
10588 there is still more to do
10589
10590 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
10591 add option for silent builds
10592
10593 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
10594 It should still work for older automake versions too
10595
10596 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
10597 bugfix: missing array index
10598
10599
10600 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
10601 added new case for (Chessmove) 0 in common.h
10602
10603 this cleans up a few more -Wall messages
10604
10605 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
10606 cleaned up -Wall warnings (apart from settings some parentheses)
10607
10608 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
10609
10610 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
10611 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
10612
10613
10614 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
10615 security fix: replaced sprintf with snprintf
10616
10617 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.
10618
10619 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
10620 security fix: replaced strcpy with safeStrCpy from backend.c
10621
10622 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
10623
10624 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10625 Enhance multi-session TC clock handling
10626
10627 Some new TC types are introduced: Bronstein and free sessions. The
10628 former is implemented by letting an exclamation point '!' in front of an
10629 increment (in the -tc string) indicate that the increment is limited to
10630 the time actually used on the previous move. The latter is an interval
10631 of given duraton in which you can do any number of moves (even zero),
10632 before the next session starts. This is needed for implementing Shogi
10633 byoyomi-type TC, as a first session, followed by a session of fixed-time
10634 per move. The latter can now be specified with the -tc argument as a
10635 degenerate case of Bronstein, where the time on the clock is <= the
10636 increment (so that it is never possible to think longer than the
10637 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
10638 300:10+!10.
10639
10640 The sessions are now separated by ':' in stead of '+', and all times in
10641 the TC string are converted to seconds first (in ParseTimeControl), so
10642 the fullTCstring can now be directly used in a PGN tag.
10643
10644 Note that this patch only addresses clock handling; the engine will not
10645 be informed yet if the TC type or parameters change at the start of new
10646 session!
10647
10648 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10649 Remove promotion-piece encoding from ChessMove type
10650
10651 The shizophrenic way to indcate promotion pieces in the XBoard code
10652 (sometimes using a promoChar, at other times relying on moveType) was
10653 cured by combining all promotion move types (such as WhitePromotionRook)
10654 into a single one (WhitePromotion), and relying on promoChar to specify
10655 the piece. This solves the problem of promoting to new piece types in
10656 variants, which formerly also required addition of new move types.
10657
10658 In Shogi the '+' character is now consistently used to indicate
10659 promotions (and recognized in ApplyMove), rather than 'q' or
10660 PieeToChar(BlackQueen), as the latter did not work in minivariants where
10661 the Queen (representng the Lance) did not partcipate.
10662
10663 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10664 Pass promoChar to SendMoveToICS
10665
10666 SendMoveToICS was the only place where the promotion piece was derived
10667 from moveType, rather than an explicity passed promoChar.
10668
10669 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10670 Suppress spurious use of SAN castling in mini variants
10671
10672 King moves from a central file to the king-side-castled position (1
10673 square away from the right corner) were intercepted and printed as O-O
10674 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
10675 normal King move Kc1-d1 as well. The castling notation is now reserved
10676 for King moves larger than one step.
10677
10678 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10679 Make Shogi promotion zone board-size dependent
10680
10681 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
10682 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
10683 Shogi (6x6), which are indeed what these variants need.
10684
10685 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10686 Make board-size overrule options volatile
10687
10688 The options -boardWidth, -boardHeight and -holdingSize were legacies
10689 from the day choosing a variant would not automatically set a board
10690 size. As a result they are seldomly used anymore. The first real
10691 application is mini-Shogi (on 5x5 board), and it turned out very
10692 annoying if the 5x5 settings persisted to the next session, where you
10693 almost certainly want to play another variant.
10694
10695 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10696 Strip DOS line endings from parser.l
10697
10698
10699 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10700 Extend mate test to drop games
10701
10702 MateTest() in case of no legal moves now also looks if there are legal
10703 drops that can resolve the check. This provides reliable mate testing in
10704 Crazyhouse and Shogi, so these are now made subject to adjudications too.
10705
10706 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10707 Extend legality testing to drop moves
10708
10709 LegalityTest() can nowbe called with (internal-format) drop moves, and
10710 delegates their testing to a new routine LegalDrop(). This routine
10711 performs the 'no-pawn-on-back-rank' test that used to be in
10712 UserMoveTest (which now calls LegalityTest also for drop moves).
10713 The more complex Shogi case is also handled (except for Pawn mate
10714 drops) in LegalDrop().
10715
10716 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10717 Revert splitting of UserMoveEvent
10718
10719 This splitting into UserMoveTest and FinishMove was no longer needed,
10720 now that the new mouse driver no longer calls UserMoveTest to figure out
10721 if a move is a promotion, and XBoard and WinBoard are unified in this
10722 respect. It was counter-productive, because UserMoveTest was not able to
10723 change the fromX, fromY (call-by-value) parameters for passing them to
10724 FinishMove, so it had to defer the conversion of drop moves to internal
10725 format to the latter, while it did not belong there. (Because
10726 DropMenuEvent already delivers the moves in internal format.) This
10727 whole kludgy construction was therefore abandoned, by going back
10728 to the original 4.2.7 calling scheme, where UserMoveEvent completely
10729 pre-processes the move, and when it is valid, calls FinishMove directly.
10730
10731 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10732 Fix silent bug in drop moves
10733
10734 In ApplyMove() the piece on the from square was accessed and used before
10735 we tested for drop moves. As drop moves have off-board from-squares this
10736 led to out-of-bound array access, which apparently was usually harmless.
10737
10738 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10739 Allow parsing of upper-case machine moves
10740
10741 Dubious patch, as it caters to non-compliancy. Some variant engines are
10742 very non-compliant, though.
10743
10744 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10745 Prevent transmission of spurious promo char to other engine
10746
10747 The parser now strps off spurious promotion characters.
10748 New move types "White/BlackNonPromotion" had to be introduced for this,
10749 to indicate NormalMoves that could have been a promotion, to make sure
10750 the '=' suffix of Shogi deferred promotions survives.
10751
10752 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
10753 fixed internationalization for winboard
10754
10755 in the original commit some files were forgotten. This should fix it.
10756
10757 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10758 Fix JAWS bug saying side to move in ICS play
10759
10760 This was done the wrong way around.
10761
10762 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10763 Make WB run-time language switch possible from menu
10764
10765 This is a rather involved patch that might not be worth it. It is
10766 difficult, because translation of things that live forever is not easy
10767 to invert (menus, the auxiliary windows). We hae to remember all
10768 original, English texts there to be able to put them back,or
10769 re-translate. Still does not fully work, although the menus and
10770 temporary dialogs now are all OK.
10771
10772 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10773 Update WB translation template
10774
10775 The language.txt file now also contains all translatable strings from
10776 the C source files, rather than jsut the resource.
10777
10778 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10779 Update docs
10780
10781 Add descriptions for machine-match menu support and enhanced book
10782 control, nick-name options and language.
10783
10784 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10785 Add some forgotten translation hooks
10786
10787 The general-options, file-browse dialogs and the about box did not call
10788 Translate() yet. Also translate contents of combo boxes. Some small bug
10789 fixes.
10790
10791 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10792 Do not translate game-end messages in PGN
10793
10794 The messages themselves are not subjected to _(), but in stead their
10795 displaying in DisplayMove is subjected to T_().
10796
10797 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10798 Internationalization for WinBoard
10799
10800 A function Translate() was added, which uses a list of item dialogs,
10801 reads their value, and replaces it by a translation (if available). It
10802 also reads the window title and sets a translation. Calls to this
10803 routine are added in the initialization code of every dialog callback.
10804 In addition all translatable strings in the WnBoard front end are marked
10805 by the gettext macro _(). Because WB is not gettexted yet, a hard
10806 re-definition of this macro is added in each file using it, to the
10807 string-translation routine T_() supplied in winboard.c.
10808 Code to read the translation file, and translate the menu texts is added
10809 in winboard.c. In backend.c the meaning of the gettet macros is
10810 redefined for the WIN32 case.
10811
10812 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10813 Make the ID of all WB dialog items unique
10814
10815 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
10816 replace tet at run-time for translation purposes, they need to be
10817 addressed individually. So they were given new IDs, with symbols defined
10818 for those.
10819
10820 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10821 Mark XBoard result messages for internationalization
10822
10823 The GNU gettext macro _() is used with the game-end messages. This might
10824 be controversial, as they will appear in the PGN as well. But only as a
10825 comment. We can always decide not to supply a translation.
10826
10827 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10828 Do not exit after match when match started from menu
10829
10830 The codelooks weird, but matchMode == 2 in this case. We then use
10831 DisplayNote() to report the match result.
10832
10833 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10834 Trivial-draws recognition improved in Xiangqi
10835
10836 Now based on a routine "SufficientDefence". If both have it, it is draw.
10837
10838 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10839 Update .dev files
10840
10841 The relocation of parser.c and the addition of history.c was not yet
10842 incorporated in the devcpp proect files.
10843
10844 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10845 Fix some MSVC compile errors
10846
10847 Some statements has moved up stream of declaratons, which is an error
10848 that gcc is forgiving about, but where MSVC is strict.
10849
10850 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10851 Improved patch for expansion of WB settings-file name
10852
10853 The expansion of environment variables now allows multiple environment
10854 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
10855 and %APPDATA%\winboard.ini.
10856
10857 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10858 Add -colorNickNames option
10859
10860 This option allows non-standard designation of side to move in FENs.
10861 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
10862 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
10863 Can also be used for FENs in a local language. A match of theinput
10864 character with the nick name translates it to the standard; this means
10865 the standard will continue to be recognized, unless it was defined as a
10866 nick name.
10867
10868 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10869 Tricked by the grossnes
10870
10871 Some WB menu items were referenced by a hard number. As items had been
10872 added over the years, the wrong menu items were grayed. In particular
10873 the Options -> Adjudication menu was grayed out, in -ncp mode, where
10874 this was intended for the Sounds dialog. This accidentally proved
10875 useful, until we started to apply adjudictions also to the Human moves.
10876 Then it was suddenly undesirable, and a small mystery why it happened at
10877 all, when I tried to change it. The numbers are now corrected to the new
10878 locatons of the items in the menus.
10879
10880 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10881 Allow match to be started from WB menu
10882
10883 A menu item Machine Match was added in the Mode menu to switch to
10884 matchMode. A persistent option /defaultMatchGames determines the number
10885 of games. A control was added to the Options -> Common Engine dialog to
10886 set this option.
10887
10888 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10889 Add some book-control options
10890
10891 Options /bookDepth and /bookVariation have been added to control the use
10892 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
10893 contains fields to set them.
10894
10895 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
10896 new developer release
10897
10898
10899 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10900 Repair exit-popup deadlock patch
10901
10902 Relocating the exit popup call had made it lose access to the message it
10903 should print, because it was declared only in an inner code block, by
10904 the same name: buf[]. Deleting the inner declaration fixes it.
10905
10906 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10907 Fix erors when compiling with --disable-zippy
10908
10909 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
10910 fields.
10911
10912 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10913 Fix zippy handling of draw offers from ICS
10914
10915 The patch by DM to fix the problem introduced by the coloration of
10916 zippy-matched commands (namely that the coloration code beat the zippy
10917 draw recognition to it, and ate the draw offer away) was only targeting
10918 ICC. The new fix should work on any ICS (by using the same pattern in
10919 zippy as in the colorization code).
10920
10921 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10922 Fix regression in colorization of zippy-matched commands
10923
10924 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
10925 that in XBoard no coloration would take place of ICS commands that were
10926 matched by zippy. (It was using &i as input pointer, rather than &backup.
10927 The XBoard-specific code now has been deleted completely, to remove a
10928 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
10929 now use the XBoard method, to only match zippy commands when logged in.
10930
10931 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10932 Suggest default file name in browser dialog
10933
10934 The argument 'def' to FileNamePopUp() was not passed through to the new
10935 file-browser routine, which got NULL in stead, and thus started with an
10936 empty input field.
10937
10938 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10939 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
10940
10941 Because the %s expansion of WB options in the /fcp and /scp lines only
10942 works for options that contain 'first' or 'second', and /fUCI thus did
10943 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
10944 install UCI engines. (The latter option should be deprecated really;
10945 the UCI-ness of the engines is a volatile option, so it makes no sense
10946 to supply a way to set them both to false or true. One only needs to be
10947 able to set it to the non-default state.)
10948
10949 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10950 Add string option /pieceNickNames
10951
10952 This (volatile) option allows definition of alternate letters for the
10953 pieces, which will be recognized next to the standard symbols as given
10954 in the /pieceToCharTable on input. (Output always uses the standard.)
10955 This can be useful for reading PGN from another language, or
10956 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
10957   The format of the argument is the same as for /pieceToCharTable.
10958 Because the nickNames are consulted before the standard table, it is
10959 possible to redefine a standard name as a nick for another piece.
10960
10961 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10962 Fix deadlock in match-result display
10963
10964 At the end of a match, GameEnds() was recursively calling itself,
10965 through DisplayFatalError() and ExitEvent(), and the latter was then
10966 delaying until the calling GameEnds() terminated. (Which it would of
10967 course never do before ExitEvent returned; fortunately there was a tim
10968 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
10969  Now the calling of DisplayFatalError() (to show the result popup) is
10970 delayed until after GameEnds completes (and resets the anti-recursion
10971 flag 'endingGame'), so that it is simply executed a second time, unaware
10972 of the earlier call. But this second time it does not do anything,
10973 because the gameMode ws set to EndOfGame the first time, and the writing
10974 of the PGN is blocked by the checksum being still the same.
10975
10976 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10977 Fix WinBoard game-list title
10978
10979 Number of displayed games and WDL stats were always appended to the
10980 existing title, leading to an ever-growing title in the game-list
10981 window. Now the old actual title is ignored, and the starts is appended
10982 to the original title "Game List". (In the future we could use the
10983 filename here?)
10984
10985 In addition, the title was not updated when re-opening the game-list
10986 window, while the stats could change if filtering was active when the
10987 window was closed. (In that case the filter is cleared on re-opening, so
10988 the number of displayed games changes.) Now a title-update (after
10989 recalculating the stats) is done every time the game-list window is
10990 opened.
10991
10992 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
10993 Refactoring of material-draws adjudication code
10994
10995 Insufficient mating material is now determined per side individually, by
10996 testing for MatingPotential of each side. If both lack mating potential
10997 the game is adjudicated as draw (if the -materialDraws option is set).
10998
10999 This way MatingPotential() can later also be used to correct losses by
11000 forfeit to draws (which currently is only done when the opponent has a
11001 bare King).
11002
11003 The accuracy of this type of adjudication in Xiangqi has been highly
11004 improved.
11005
11006 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11007 Fix bug in sending cores command to engine
11008
11009 The cores command was alwas sent to the engine(s) when the user changed
11010 it through the menu, even when the engine had sent feature smp=0 (which
11011 is default anyway). NewSettingEvent() was patched to send the new
11012 setting conditionally, based on the engine properties as recorded in
11013 ChessProgramStates first, second; In this particular case it now
11014 consults cps->maxCores. (Note the code for testing the second engine
11015 contains some dirty pointer arithmetic.)
11016
11017 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11018 Fix oneClickMove bug
11019
11020 When checking for unique captures, no attention was payed to the option
11021 setting, so the capture was also made when the option was off.
11022
11023 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11024 Remove duplicate testing for cores feature
11025
11026 The testing for this BooleanFeature occurred twice.
11027
11028 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11029 Remove misspelled prototype
11030
11031 NewSettingEvent occurred, next to the correct one, in misspelled form.
11032
11033 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11034 Fix parsing of SAN shogi promotions
11035
11036 A missing promotion character defaults to promotion in the move type,
11037 but the promotion character was not set when this happened in variant
11038 shogi. And it is especially important there, as the promotion character
11039 '+' will always be missing, as the parser will take it to be a 'check'
11040 symbol, and strip it from the move.
11041
11042 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11043 Fix variant switch on PGN loading
11044
11045 When the PGN specified an essentially different variant, the
11046 piece bitmaps were not properly adapted, because the switch was done by
11047 calling InitPosition(), rather than Reset(). (The latter would destroy
11048 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
11049 (which is normally done from Reset()).
11050
11051 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11052 Adjudicate Xiangqi material draws with Advisor-less Cannons
11053
11054 Used the Queen counter for counting Cannons. Note that material draws
11055 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
11056
11057 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11058 Remove font settings from master settings file
11059
11060 xboard.conf should not contain general font settings (not specific to
11061 one board size) with specified point size. In fact it should not even
11062 specify sizable fonts, as the new system would make specification of a
11063 general font overrule the size-specific settings in the .xboardrc file,
11064 so the persistence of fonts would be completely broken.
11065
11066 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11067 Cut board squares out of texture bitmap more cleverly
11068
11069 When the bitmap is larger than the entire board, the squares are now cut
11070 out of the center of the virtual squares from subdividing the bitmap, so
11071 that they stay centered on the grid of a Xiangqi board bitmap. If the
11072 board size exceeds that of the bitmap, the old algorithm is still used,
11073 as the centering would make the edge squares exceed the bitmap, and
11074 cause a black rim around the board.
11075
11076 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11077 Allow -flipBlack to work with font-based piece rendering
11078
11079 In addition the font-based pieces will also be flipped vertically in
11080 flipView for variant shogi when -flipBlack is off.
11081
11082 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11083 Allow font-based piece rendering in board sizes below petite
11084
11085 At least for variants that use unorthodox pieces, so that switching back
11086 to using bitmaps is not really an option anyway.
11087
11088 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11089 Ignore checks in 50-move count for Xiangqi
11090
11091 Both checks and evasions are discounted; this is only done after the
11092 naive counting exceeds the maximum, so during most of the game it causes
11093 no CPU load.
11094
11095 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
11096 removed some garbage from configure.ac that got added a while ago
11097
11098
11099 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
11100 Remove unnecessary double equals from configure.ac.
11101
11102
11103 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11104 Fix e.p. bug in xiangqi with -serverMoves option
11105
11106 Sideway Pawn moves were written as e.p. captures in the file with moves,
11107 which led to disappearence of pieces in the viewer.
11108
11109 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11110 Repair score printing with -serverMoves option
11111
11112 A previous patch had moved MakeMove to before the update of pvInfoList,
11113 so that the score/depth info would not appear in the file with moves.
11114
11115 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11116 Repair animate dragging
11117
11118 The previous patch had left a stray semicolon in the mouse handler.
11119
11120 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11121 Fix game end during dragging
11122
11123 The stale-first-click fix interfered with proper handling of a piece
11124 being dragged when a game suddenly ended (because of opponent resign,
11125 or caling the flag), because up-clicks when the from-square was reset
11126 were completely ignored. Now such an 'unmatched' upclick calls
11127 DragPieceEnd() and redraws the board.
11128
11129 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11130 Pop down old tags on loadng new game in WinBoard
11131
11132 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
11133 (unlike XBoard), so that the tags from the previous game were left on
11134 display when -autoDisplayTags was off.
11135
11136 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11137 Reverse mousewheel action
11138
11139 Apparently WinBoard was stepping in the opposite direction through the
11140 game in reaction to the mousewheel as every other GUI in existence.
11141
11142 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11143 Fix bug in sending "usermove" when forcing book moves
11144
11145 The keyword "usermove" was copied to the buffer, but not sent before it
11146 was overwritten by the actual book move.
11147
11148 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11149 Fix engine stall on perpetual-check evasion
11150
11151 The adjudication code had already put the engine in force mode after
11152 postponing the actual adjudication to the next move. Now first determine
11153 if we want to adjudicate now, and with which result, before stopping the
11154 engine and ending the game.
11155
11156 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11157 Let move parser return ImpossibleMove for off-board moves
11158
11159 It used to return 0, which interfered with buiding a game list. This
11160 broke reading of multi-game PGN files containing games in a variant with
11161 a board size larger than that of the currenty active variant.
11162
11163 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11164 Alter XBoard key bindings to mimic WinBoard
11165
11166 A lot of new bindings were added, and four menuProcs had to be registered
11167 to be able to add bindings to them. The use of the control key as
11168 temporary take-back for the last move conflicted with the use of Ctrl
11169 keystrokes, and this function was migrated to '.'. The iconify function
11170 had no shortcut in WinBoard, but to get rid of letter bindings it was
11171 migrated to '-'.
11172
11173 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11174 Update README file
11175
11176
11177 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11178 Fix typos in html help file
11179
11180
11181 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11182 Fix JAWS piece drop cursor, and streamline some sentences
11183
11184 The cursor square was reset to a1 after every use of the piece menu,
11185 which was very inconvenient. Some of the spoken sentences have been
11186 improved; the square is read before the piece now, when using the arrow
11187 keys on the board.
11188
11189 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11190 Allow escape sequences in telluser(error) messages
11191
11192 The routine EscapeExpand was moved to backend.c, and applied to the
11193 message received from the engine.
11194
11195 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11196 Allow lower-case promochar in moves of type h8=Q
11197
11198 Updated the parser rules. Other move formats already allowed this.
11199
11200 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11201 Fix Alt+M JAWS command in Two-Machines mode
11202
11203 The command refused to read the ast move because it contained thinking
11204 output of the other engine. Let it pay attention to evenIfDuplicate.
11205
11206 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11207 Fix rep-draw recognition
11208
11209 The refactoring had broken the rep-draw recognition, by adding and extra
11210 condition in a conditional with side effects. The testing of this extra
11211 condition is now moved to after the side effect.
11212
11213 2010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11214 Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~
11215
11216 Only a single variable at the beginning of the file name is recognized,
11217 and the matching is not fool proof (it matches across backslashes).
11218
11219 2010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11220 Fix info lines being used as normal thinking output
11221
11222 The new standard of using thinking output with time = nodes = score = 0
11223 as info messages for printing in the Engine-Output window was not
11224 understood everywhere, and led to such info lines being used for
11225 autoKibitzing and PGN annotation. The programStats are now only updated
11226 from thinking output received from an engine when it is not an info line.
11227
11228 2010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>:
11229 new developer release
11230
11231
11232 2010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11233 Suppress background observe for boards with own game number
11234
11235 This is really a work-around for an ICS bug. The Variant-ICS sent the
11236 initial board of a game in a move list with relation = 0, which means
11237 'observed'. So XBoard was thinking it was observing its own game, and
11238 switched to dual board. It seems harmless to suppress such a switch for
11239 all boards of your own game, however, which is now done.
11240
11241 2010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11242 Fix crash on switching to ICS xiangqi game
11243
11244 The oldBoard was a local variable, and only squares of the old board
11245 were initialized. This led to a crash if the copied board was enlarged,
11246 and then displayed. The variable is now declared static, so the
11247 uninitialized squares contain harmless zeros.
11248
11249 2010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11250 Let Chat Boxes pop up above console, rather than on top of it
11251
11252 Use EnsureOnScreen() to have them overlap if there was no room.
11253
11254 2010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11255 Fix disabling of Chat Box navigation buttons
11256
11257 The buttons for non-open boxes were enabed, rather than disabled.
11258
11259 2010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11260 Prevent <Esc> closing chat box
11261
11262 Let it in stead switch focus back to the console window.
11263
11264 2010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11265 Let WinBoard recognize ~ in settings file name as HOMEPATH
11266
11267 Fetch the appropriate environment variable to build the mathname in
11268 MySearchPath() whenever the file name starts with "~\".
11269
11270 2010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11271 Change name of Global Settings menu item to Common Engine Settings
11272
11273 The old name confused ICS users, as this is an engine-only dialog.
11274
11275 2010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11276 Update WinBoard RTF docs
11277
11278
11279 2010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11280 Update WinBoard html help
11281
11282
11283 2010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11284 Allow adjustment of clocks in any mode with shift+click
11285
11286 In practice changing to edit-game mode during a game was very
11287 cumbersome. In WinBoard shift+click is now offered as an alternative.
11288 Make sure a right-click in the clock area is not also counted for other
11289 purposes.
11290
11291 2010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11292 Allow loading of PGN variations in XBoard
11293
11294 Right-clicking variation comments in the comment-window was implemented
11295 through a translation. The right button is now bound to routines that
11296 set both the end and start of the selection, as setting a new start does
11297 not seem to work if the previous select-start was not completed by a
11298 select-end or extend-end. Finally the main handler uses the selection
11299 cursors to know what was clicked.
11300
11301 2010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11302 Update XBoard docs
11303
11304 Added a descripton of the new ICS options (seek graph, back-ground
11305 observe) and menus (Upload) to the texi file. Also added a description
11306 of the variation (Annotate menu item and PGN variation comments) and PV
11307 walking (clicking engine-output). Describe the -shuffleOpenings option.
11308
11309 2010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11310 Paint highlights on dual board (WB)
11311
11312 The highlight info is hidden in the partner board to pass it to the
11313 front-end.
11314
11315 2010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11316 Fix handling username change during game
11317
11318 The title bar and gameInfo (going into the PGN) were not adapted when
11319 the username was changed through the menu, so that the change became
11320 only effective on the next game. Requires SetGameInfo to be called from
11321 the front-end, and thus a prototype for it in backend.c.
11322
11323 2010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11324 Fix window-position upset on failing engine start in WinBoard
11325
11326 The main window was only positoned according to the settings-file data
11327 after the engine was started up from InitBackend2(), so that if the
11328 latter gave a fatal error, and Save Settings on Exit was on, a wrong
11329 position for the main window would be saved. The call to InitBackend2()
11330 is now moved until after setting the main-window position.
11331
11332 2010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11333 Display PV from Engine-Output window (XBoard)
11334
11335 Translations are added to bind button 3 to the PV walk for the memo
11336 widgets, and the corresponding handlers are ported from wengineoutput.c.
11337
11338 2010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11339 Set keyboard focus at startup to board window
11340
11341 This makes XBoard sensitive to the keybindings also when the cursor is
11342 outside the board window. This focus seems to persist indefinitely: each
11343 time the board window gets selected, the key bindings become activem
11344 wherever the mouse pointer is. Downside: the mouse pointer is no longer
11345 an arrow outside the board window, but becomes a text-insert tool there.
11346
11347 2010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>:
11348 added logo files for xboard
11349
11350 logos are installed in the hicolor theme [1] using $datadir as the basedir.
11351 Added both png and svg logo.
11352
11353 [1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
11354
11355 2010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11356 Remake programVersion string after receiving engine features
11357
11358 The engine could have sent a more accurate version of its own name
11359 than the one derived from the exe filename in a myname feature, and we
11360 better use that in the programVersion string, which will be sent as
11361 interface name to the ICS.
11362
11363 2010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>:
11364 Revert "Repair settings-file name"
11365
11366 This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85.
11367
11368 2010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11369 Add -autokibitz checkbox to UCI-options menu dialog
11370
11371
11372 2010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11373 Also capture (numeric) whispers of players for -autoKibitz
11374
11375
11376 2010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11377 Add kibitzes and c-shouts Chat Box
11378
11379 A box dedicated to c-shouts will snatch any c-shout before it is
11380 diverted to a normal shouts box. The kibitzes box can capture the
11381 left-overs of -autoKibitz, if the latter is active.
11382
11383 2010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11384 Mark non-compliant lines of engine in debug file
11385
11386 The option -engineDebugOutput is extended to accept value 3 for printing
11387 a cear indication of non-compliancy in the debug file.
11388
11389 2010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11390 Redraw second board on expose events
11391
11392 The -dualBoard option now does refresh the second board after another
11393 window uncovers it. To acheive this, some data structures remembering
11394 what is displayed had to be duplicated. (lastBoard and damage for XB,
11395 lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.)
11396 WinBoard now uses clipping also for second board. This required the
11397 clips for the destination to be translated horizontally!
11398
11399 2010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11400 Print seconds with 2 digits in backgroundObserve status line
11401
11402
11403 2010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11404 Do not recognize non-ICS variants from PGN event tag
11405
11406 These variants were introduced after supporting the variant tag, so if
11407 the variant tag is missing, their recognition from the event tag will be
11408 a false match. (Mainly to prevent events with 'super' in the name being
11409 recognized as Superchess.)
11410
11411 2010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11412 Fix display of uninitialized boards in background observe
11413
11414 A variable partnerBoardValid is cleared on starting our own game, and
11415 set when a board from the background game comes in during it. At the end
11416 of our own game, a valid partner board now is put in the display.
11417
11418 2010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11419 Add option Display Logo in WB general-options menu
11420
11421 Changing the option requires InitDrawingSizes to be called for
11422 re-formatting the board window. Switching it off requires clearing of
11423 the cps->programLogo fields to take effect immediately. Switching it on
11424 only takes effect the next session, as we will need some refactoring to
11425 redo the figuring out what logos to display.
11426
11427 2010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11428 Group Chat Boxes with console in stead of board window
11429
11430 They now open and close with the console, which seems more natural, and
11431 prevents the console from covering them.
11432
11433 2010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11434 Put new options in WB ICS-options dialog
11435
11436 The Seek-Graph, background-observe and Chat-Box options are added to the
11437 ICS options dialog. They only control the appData settings, there are no
11438 special actions yet on switching the settings.
11439
11440 2010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11441 Create space in WinBoard ICS-options dialog
11442
11443
11444 2010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11445 Use side-by-side boards to display background game
11446
11447 A game observed in the background (i.e. if -backgroundObserve true) will
11448 be displayed right of the normal board in the same window if the new
11449 (persistent) Boolean option -dualBoard is also set.
11450 Very flakey hack, especially in XBoard, where clocks and messsage
11451 field all get the wrong width (and resist adjustment in the strangest
11452 ways). The clocks of the partner game are not yet displayed, and
11453 disaster happens when the background and foreground games do not have
11454 the same board format.
11455
11456 2010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11457 Repair background-observe patch
11458
11459 Apparently a commit was lost that I collapsed with 3018a6 while the
11460 latter was already pushed to savannah. Here I recreated this commit from
11461 a diff between the respective commits in the savannah & nubati gits.
11462
11463 2010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11464 Repair settings-file name
11465
11466 The default name is put back to /etc/xboard/xboard.conf, so that XBoard
11467 can again find its settings file. "make install" will still install it
11468 in the wrong place.
11469
11470 2010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>:
11471 new developer release
11472
11473
11474 2010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>:
11475 fixed compiler warning for file-browser code
11476
11477 missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now.
11478
11479 2010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11480 Put newly opened Chat Box on top
11481
11482 Dialogs always pop up in front, so set the onTop variable that prevents
11483 highighting the button to navigate to it from other Chat Boxes
11484 to reflect that a newly opened Chat Box is in view.
11485
11486 2010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11487 Fix copying of kibitzed info in Engine-Output window
11488
11489 Make sure all lines end with "\r\n" to not lose line breaks on
11490 copy-paste from the memo. (XBoard would strip those again.)
11491
11492 2010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11493 Allow walking a kibitzed PV
11494
11495 If no tabs are found in te 'thinking output' we assume it is a captured
11496 kibitz message, and look for "PV=" to locate the start of a PV in it.
11497 Also try to include any continuation lines below the selected line.
11498
11499 2010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11500 Insert autoKibitz continuation lines at end of line
11501
11502 In the engine-output window lines that start with the ICS continuation
11503 sequence "\   " are inserted behind the line they belong to, in stead of
11504 at the top. This required keeping thrack of the length of the currently
11505 active line in OutputKibitz().
11506
11507 2010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11508 Don't disturb background observe when receiving new piece
11509
11510 When new holdings are sent when the background game is displayed, we now
11511 ignore this, as presumably we are peeking at our partners game, and thus
11512 should be well aware of what is captured there.
11513
11514 2010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11515 Newly lexed parser in XBoard directory
11516
11517
11518 2010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11519 Let yy_text determine progress of PV parsing
11520
11521 The parsed unit yy_text was not available after ParseOneMove(), because
11522 the buffer switch in yylexstr() apparently destroys it. To solve that,
11523 yylexstr() now is equiped with an extra buffer argument, where it copies
11524 yy_text before the switch, so the caller, ParsePV(), can see what was
11525 parsed in yy_textstr. This is used to update the PV pointer, but also to
11526 save any parsed comments (when ParsePV is used for parsing a PGN variation).
11527
11528 2010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11529 Support playing through PGN variation comments
11530
11531 Right-clicking a variation line in the comment dialog will shelve the
11532 current variation, and parse the comment to replace it. This uses
11533 ParsePV() in an alternative way, for which the latter had to be
11534 enhanced: it was made resistent to move numbers and comments inside
11535 the PV. It now has an argument to indicate if such comments should be
11536 stored with the moves. The Comment Popup is closed on revert, to
11537 make sure no comments to moves that are destroyed, containing
11538 variations on a non-valid line, can keep hanging around.
11539
11540 2010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11541 Add Annotate item in Step menu
11542
11543 This does the same as Revert, except that it adds the destroyed
11544 variation as comment to the original movem in PGN variation format.
11545 RevertEvent now has an argument to indicate if it should add the
11546 comment, or not. Comments in the abandoned variation are included in the
11547 varriation command to the main line. (The exact layout of the variation
11548 comment that results leaves still to be desired.)
11549
11550 2010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11551 Add option -shuffleOpenings
11552
11553 This volatile option is added just to make the existing variable
11554 available from the command line, not only from the menus.
11555
11556 2010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11557 Let the sounds sound on receiving a message in a Chat Box
11558
11559 Use Colorize() to the applicable color to trigger the sound, and then
11560 restore the original color as 'continuation', to do it silently.
11561
11562 2010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11563 Allow WB Chat Box to be dedicated to shouts and 'it'
11564
11565 By putting 'shouts' in the handle field, a chat window will capture all
11566 shouts and c-shouts, and send messages typed into it as shouts.
11567 The bracketing of the shouter name now indicates the type of shout.
11568 The handle for WHISPER Chat Boxes has been changed to 'whispers', to
11569 make it easier to pop them up by clicking the console.
11570
11571 2010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11572 Add -chatBoxes option to open Chat Boxes at startup
11573
11574 This string option contains a semicolon-separated list of handles for
11575 which Chat Boxes should be opened at startup. The value saved in the ini
11576 file is the value that was read, not the actual chat boxes that were
11577 open at the time of saving.
11578
11579 2010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11580 Make Chat Windows pseudo-tabbed
11581
11582 By adding buttons in every Chat Box to navigate directly to every other
11583 Chat Box, a stacked set of Chat Windows behaves like a single tabbed
11584 window, but can still be unstacked. The buttons turn grey to warn that
11585 new text appeared in hidden boxes (i.e. not the one last brought to top).
11586
11587 2010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11588 Allow arrow keys in WB Chat Box to access command history
11589
11590 The history is shared between al boxes and the ICS console.
11591
11592 2010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11593 Make WB Chat Boxes wrap and handle URLs
11594
11595 Cloned the code for the console text field to hande URL. (Initialization
11596 to recogize the link, and notifiction to open it when clicked.)
11597 Removed the ES_AUTOHSCROLL style from the RichEdit in the resource.
11598
11599 2010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11600 Fix copying of WB Chat Window contents
11601
11602 All line breks were lost on copy-pasting the contents of a chat window.
11603 Adding CR to each outputted line in the front-end (wchat.c) solves this.
11604 (Tell messages sent to a handle (which are not echoed by the ICS, and
11605 thus have to copied to the chat box directly) also need CR!)
11606
11607 2010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11608 Add upload of game to ICS for examining
11609
11610 New item "Upload to Examin" in Action menu, calls UploadGameEvent().
11611 Use SAN moves to upload game to ICS, rather than long algebraic
11612 (The ICS did not understand long-algebraic promotion moves)
11613 Use bsetup within examine to set position onFICS, and also variant.
11614 Castling rights do not work yet for FRC. Totally different set of
11615 commands are needed on FICS and ICC.
11616  FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the
11617 besetup command that specifies the variant. XBoard variant names are
11618 used, except for fischerandom, which is 'fr'. Things like nocastle will
11619 probably still not work.
11620
11621 2010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11622 Handle display of PV that starts with other move than played
11623
11624 Insert the retraction of the played move, without premove highlighting.
11625
11626 2010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11627 Bugfix smart capture
11628
11629 Disambiguate was changed to make sure that for ambiguous moves, a
11630 capture would always prevail in the closure, rather than the last move
11631 that happened to be generated. Before, double-clicking a piece would
11632 sometimes plsy a non-capture.
11633
11634 2010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11635 Fix XB crash on giving keyboard focus to non-text widget
11636
11637 In the Engine-Settings dialog SetFocus() could be called for non-text
11638 widgets, and this made XawTextSetInsertionPoint() croak. Setting the
11639 insertion point to the end in SetFocus() was a bad ide anyway, as it
11640 interfered with copying from the engine-output window, which would
11641 uncontrollably scroll on getting focus. It is solved now by setting the
11642 insertion point already on creation of the text widgets.
11643
11644 2010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11645 Seek-Graph bugfix: disappearing output in ICS console
11646
11647 Suppression of output to the cosole was handled fundamentally wrong: it
11648 was not enough to set next_out to after the unit that should be
11649 suppressed, as there can be a backlog in printing of previous units that
11650 came in the same packet. So this has to be flushed first, or it will be
11651 lost. -autoKibitz probably got away with that, because it comes in a
11652 separate packet. But seek ads are often suffixed to other output, and
11653 then that output disappeared! Now we flush everywhere before suppressing.
11654 We now totally rely on the prompt to restart the printing, so that
11655 acknowledgements following the echo of the sent message are also
11656 suppressed. Also suppress LF before diverted chat messages.
11657   Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of
11658 a "* (*): " pattern in tell messages, because of a missing continue.
11659
11660 2010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11661 Pop up ICS text menu with default item under mouse pointer
11662
11663 The menu popup is migrated to the down-click (was up-click), so the
11664 up-click can select the item. Some trickery is needed to fool the menu
11665 into thinking that the mouse moved, so that a moveless up-down click in
11666 the ICS text field selects the default item (the upper-right one).
11667 Also allow dummy item in ICS text menu: The command "none" in the ICS
11668 text menu will now be treated as a grayed-out (disabled) entry, so it
11669 can be defined in the position underthe mouse pointer to prevent the
11670 up-click from doing anything, while keeping the menu open. Recommended
11671 for use with an entry of spaces.
11672
11673 2010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11674 Allow ICS context menu to pop up a Chat Box on clicking handle
11675
11676 A command "chat" defined in the WinBoard icsMenu string will cause
11677 ChatPopUp() to be called when it is clicked, with the clicked handle
11678 (name) in the ChatPartner field, and focus on the input field.
11679 ChatPopUp() had to get a parameter (the handle) to make this possible.
11680 If that parameter is NULL (as when it is called from the Mode menu),
11681 focus will still start on the (empty) ChatPartner field of the box.
11682
11683 2010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11684 Fix right-edge spillover of Seek-Graph dots in WinBoard
11685
11686 Rescale the X-axis to allow margin for dot size and color offset.
11687
11688 2010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11689 Interface XBoard to GhostView file-browser dialog
11690
11691 Note: The Ghostview dialog was using some deprecated variables for error
11692 printing, and conditionally used getwd() on some systems that presumably
11693 do not have getcwd(), but it did not assess the latter properly.
11694
11695 2010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11696 Allow recalling history in ICS input box with arrow keys
11697
11698 By adding translations for the Up and Down keys, and stealing some code
11699 from winboard.c. Still needs some refactoring to move the duplicate code
11700 to the back-end.
11701
11702 2010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11703 Start insertion point at end of text edits in XB dialogs
11704
11705 The function SetFocus now uses XawTextSetInsertionPoint to position the
11706 end of the string it aready contains, rather than at the beginning.
11707
11708 2010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11709 Capture holdings of background observed game
11710
11711
11712 2010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11713 Match handles with multiple titles for channel Chat Boxes
11714
11715 Only handles with at most one suffixed 'title', such as (U), (C), (IM)
11716 or (TD), followed by the parenthesized channel number, were recognized,
11717 so tells by people with more titles always went to the ICS console window.
11718 Patterns are added to recognize handles with upto three such qualifiers.
11719
11720 2010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11721 Do not pop down Seek Graph on on-dot click
11722
11723 Leave the graph up, and let the incoming board of a started game cause
11724 the pop-down. This in case the clicked ad is no longer vailable, or
11725 manuay refused, and fails to start a game.
11726
11727 2010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11728 Observe a game in the background while playing
11729
11730 A new (persistent) option -backgroundObserve true|false is added. When
11731 set, observed boards received while playing a game will not trigger a
11732 game switch, but will be ignored except for storing in a dedicated board
11733 buffer. Pressing the right mouse button will cause the board to be
11734 displayed, until we release it. Time, strength and stm are always
11735 displayed in the message window.
11736
11737 2010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11738 Remove race condition in clock switching
11739
11740 The move number is now incremented inside SwitchClock, when no timer
11741 interrupt is scheduled, so the interrupt cannot occur at the wrong side
11742 of the increment, and decrement the wrong clock.
11743
11744 2010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11745 Let second click on piece make only capture, with -oneClickMove
11746
11747 Normally this would clear the highlighting of that piece.
11748 Required new field in DisambiguateClosure to count nr of captures.
11749
11750 2010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11751 Bugfix stale first-click
11752
11753 When the opponent resigned after the user had cicked a from-square,
11754 clicking the from-square for the first move in the next game would
11755 produce an "illegal move" message, because it was considered a to-click!
11756 We now set fromX and fromY to invalid in GameEnds().
11757 Should we also reset them on mode changes?
11758
11759 2010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11760 Add promotions and e.p. to oneClickMove
11761
11762 For e.p. the to-Square of the Pawn has to be clicked. Promotions are
11763 always to Queen when you click the to-square, but use the promotion
11764 pop-up when you click the from-square.
11765
11766 2010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11767 Fix error that compiler does not notice
11768
11769 Boolean GLT_GetFromList did not return a value. But no error on Ubuntu!
11770
11771 2010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>:
11772 new developer release
11773
11774
11775 2010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>:
11776 updated year in copyright info
11777
11778
11779 2010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11780 One-click moves
11781
11782 Playing on ICS or against engine, clicking a square from or to which
11783 only a single move can be made causes the move to be done, when the new
11784 option -oneClickMove is set to true.
11785
11786 2010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11787 Use squares for computer seek ads
11788
11789 Shape indication passed in sign bit of color (char) variable.
11790
11791 2010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11792 Use right mouse button to view seek ads
11793
11794 Right down-click does the same as left down-click, right up-click
11795 simulates a left up-click off board (so it misses all dots).
11796
11797 Use right-click miss to refresh Seek Graph
11798
11799 The 'moving' parameter had to be made into an int for this, to indicate
11800 right clicks with code 2. Right press now already pushes the clicked ad
11801 to the back, so that the up-click will display an underlying one.
11802
11803 Bugfix pushing back seek ads on right-click
11804
11805 On a right button press the previous in stead of currently hit ad was
11806 receiving the penalty.
11807
11808 Indicate seek-ad multiplicity
11809
11810 If more than one seek ad is inside the capture range of the mouse
11811 pointer, an exclamation point is printed before the seek-ad text.
11812
11813 Some fixes to make seek-ad suppression work in WinBoard
11814
11815 In WinBoard the z-depth was immediately erased by redrawing the graph;
11816 the clearing of zlist had to be moved from PlotSeekAd() to AddAd()
11817 (where it really belongs). Also aging of z-depth is now suppressed on
11818 mere pointer motion.
11819
11820 2010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11821 Dynamic Seek Graph
11822
11823 The new option -autoRefresh sets FICS and ICC to report removal of seek
11824 ads, and then removes those from the Seek Graph. New seek ads are added
11825 to the graph, as soon as the ICS reports them.
11826
11827 2010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11828 Implement SeekGraph in XBoard
11829
11830 For now only controlled by left mouse clicks on board. New options
11831 -seekGraph true|false and -sg to switch this feature on.
11832
11833 Facilitate selection of coinciding seek ads
11834
11835 Seek-ads that are viewed but not answered get a distance penalty on the
11836 up-click that makes their selection more difficult next time, so that
11837 the ad they covered gets a (better) change. The penalty ages away in the
11838 course of 5 clicks.
11839
11840 Slightly offset Seek-Graph dots of different color
11841
11842 Dots of different color are now displaced horizontally be 3 pixels, to
11843 prevent them from completely covering each other. (Required the axis
11844 labels to be moved a little too, to not be covered by the 1-min ads.)
11845
11846 Auto-show seek-ad texts in WinBoard
11847
11848 Hovering the mouse above a Seek-Graph dot will make the text belonging
11849 to it appear in the message field without the need to press a button.
11850 Required SeekGraphClick() to be called from the WB mouse event handler,
11851 with an extra argument 'moving' to make the distinction with a real
11852 click.
11853
11854 Show seek-ad text on mouse hovering (XBoard)
11855
11856 The Eventproc is also set to trigger on PointerMotion, and this event
11857 then calls SeekGraphClick with motion=true to handle it.
11858
11859 Put poetic name of wilds in seek-ad text
11860
11861 Use XBoard variant names, except for 'loadable' and 'fischerandom'
11862 (becomes 'setup' and 'chess960'), but leave number (to distinguish wilds
11863 that transate to same XBoard variant).
11864
11865 2010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11866 Fix highlighting bug in XBoard
11867
11868 The from-square was drawn before the to-square was erased, which led to
11869 a missing highlight line if they shared an edge or corner.
11870
11871 2010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11872 Shorten autoKibitz confirmation on FICS
11873
11874 Strip off the "players)", but leave the separatng space.
11875
11876 2010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11877 Repair damage to -autoKibitz done by FICS atomic zippy claim
11878
11879 The sending of -autoKibitz info was also moved back in that patch, but
11880 unfortunately to after clearing of the programStats info. Now the
11881 clearing has been moved also, to remain after it.
11882
11883 2010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11884 Send continuation lines to chat box they belong to
11885
11886 The variable savingComment is used as a kludge to remember where the
11887 comment should go (i.e. which chatbox, or elsewhere), so that when a
11888 continuation line is matched, chatPartner (which was reset at EOL) can
11889 be restored to its original value. Also put space after handle of talker
11890 in channel Chat Windows
11891
11892 2010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11893 Fix u64 format for cygwin
11894
11895 With a -mno-cygwin compile %llu and %lld are definitely not understood
11896 by scanf and printf, although they are by the compiler. In stead, %I64u
11897 seems to work. Put it in under control of a switch USE_I64, which is
11898 defined only in the gcc makefile when MINGW is used.
11899
11900 2010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11901 Remove stray dot from WinBoard makefiles
11902
11903 There was a period suffixed to config.h in the wgamelist.o dependency.
11904
11905 2010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11906 Fix bug in display of logos
11907
11908 The logo continued to be drawn after a boardSize change to a tinyLayout
11909 size, although there was no space reserved for it. Fixed by explicitly
11910 resetting logoHeight when no logo space is reserved in InitDrawingSizes().
11911
11912 2010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11913 Right-click refactoring: step III
11914
11915 Let WinBoard call RightClick in back-end, and delete the duplicate code
11916 it had for this, after rescuing the front-end bits, and let the letter
11917 act depending on the result returned by RightClick.
11918
11919 2010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11920 Right-click refactoring: step II
11921
11922 Migrate the Right-click routine to the back-end. Let it communicate back
11923 square coordinates through pointer arguments, to accomodate their
11924 different naming in XBoard and WinBoard. Template added in frontend.h.
11925
11926 2010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11927 Right-click refactoring, step I
11928
11929 Divorce front-end part from back-end part of PieceMenuPopup in XBoard
11930 front-end, and forge the back-end part into a new routine RightClick.
11931 The right up-click in XBoard, which called unLoadPV() directly, now
11932 calls RightClick through PieceMenuPopUp().
11933
11934 2010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11935 Merge gamelistopt sources into gamelist source files
11936
11937 The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c
11938 and gamelist.c, respectively. The WB front-end for the dialog already
11939 resided in winboard.c, so there was little need to move it to wgameist.c
11940 file. Makefiles adapted accordingly. Unsuitable key bindings were
11941 removed. The low-level front-end prototypes are now defined in in
11942 frontend.h.
11943
11944 2010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11945 Game-List options dialog for XBoard
11946
11947 A dialog similar to that of WinBoard was cloned from the game-list
11948 window. The XBoard front-end is in a separate file xgamelistopt.c,
11949 which in fact implements most of the low-level front-end as back-end.
11950
11951 2010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11952 Refactoring of game-list-options dialog
11953
11954 The back-end part is separated off, and moved to a file gamelistopt.c.
11955 Front-end for now stays in winboard.c. No prototypes in frontend.h yet.
11956
11957 2010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11958 Fix of ancient WB bug: test integer option values for validity
11959
11960 Only a string of digits preceded by an optional sign is accepted now.
11961 Before, any string was accepted, and leaving out a value could lead to
11962 the next option being ignored (if it did not need a value) because it
11963 was considered the value for the previous one!
11964
11965 2010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11966 Fix bug in edit-position of holdings
11967
11968 The holdings were effectivelly taken one too large, so that a promoted
11969 shogi Pawn moved to, or created in the holdings was not demoted to Pawn,
11970 but put in the dark (which you could see by the holding count if you did
11971 it twice). The overflow tests in these two cases now have been corrected.
11972
11973 2010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11974 Save fonts in XBoard settings file per boardSize
11975
11976 Each -boardSize now can have its own font specified in the settings file
11977 (and thus by a command-line option, although it would in general not be
11978 very useful to specify a font for a size other than the selected). E.g.
11979 a prefix "size33:" to the font name will apply it only to -size 33.
11980 An unspecified-size font option (not normally in the settings file) will
11981 always prevail over a font option specific for the current size.
11982 A font of some size must have been used or specified in order to be
11983 saved.
11984
11985 2010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11986 Fix width of filter field in XBoard GameList
11987
11988 An empirical dependence of the width of this text edit on the square
11989 size now makes for an acceptable layout at any board size.
11990
11991 2010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11992 Use FICS atomic draw claim for sending move in zippy mode
11993
11994 For this the relaying of the move had to be moved until after the
11995 adjudication, which again has to be done after MakeMove(), which is a
11996 bit dubious, as MakeMove might take significant time when animating.
11997
11998 2010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
11999 Send FICS atomic claim to ICS if move creates draw after offer
12000
12001 The FICS format "draw MOVE" is used to send the move to the ICS  when
12002 the user enters a move that adjudicates as a claimable draw, and he
12003 offered a draw before the move. For the benefit of ICS that do not
12004 understand this format, the plain move is sent afterwards.
12005
12006 2010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12007 Also allow user to claim by offering draw before his move
12008
12009 Use the existing userOfferedDraw variable to test for such offers in
12010 Adjudicate().
12011
12012 2010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12013 Also adjudicate after user move
12014
12015 Call Adjudicate() in FinishMove().
12016
12017 2010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12018 Refactoring of adjudication code
12019
12020 Put all the rule-based (as opposed to score-based) adjudications in a
12021 separate routine, so they can also be called on user moves. This
12022 requires sending the drawing move to the opponent engine to be made
12023 conditional on existence of the latter. Execution of the code is no
12024 longer dependent on the condition TwoMachinesPlay, but actual game
12025 terminations are now all restricted by an alternative condition (no ICS
12026 mode).
12027
12028 2010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12029 Use -keepAlive option to determine connection health
12030
12031 When there has been no ICS response since the previous 'ping', assume we
12032 are disconnected and do a fatal-error exit. Also auto-start the ping
12033 process in InitBackend3().
12034
12035 2010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12036 Use arrow keys in XBoard GameList for entry selection
12037
12038 Add translations for arrows and home/end, to call LoadSelectedProc with
12039 argument to indicate the step, and let the latter perform the action.
12040
12041 2010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12042 Allow <Enter> to apply filter in XB GameList filter edit
12043
12044 Apply a translation to intercept the <Enter> key. Set focus back to the
12045 list display afterwards.
12046
12047 2010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12048 Accept <Enter> for changing chat partner
12049
12050 A kludge stolen from Alessandro's GameList filter allowed to let the
12051 typing of <Enter> while updating the chat-partner field of the WinBoard
12052 chat windows to act as pressing the Change button. Gives focus to the
12053 input field of the window afterwards.
12054
12055 2010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12056 Move duplicat gamelist code to backend
12057
12058 The filtering routines are moved from xgamelist.c and wgamelist.c to
12059 gamelist.c, and a prototype for them is placed in backend.h.
12060
12061 2010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12062 Port game-list filtering to XBoard
12063
12064 Added a text edit and apply button to the XBoard game-list dialog, and
12065 only have it print those lines that match the filter. Translate index in
12066 list to index of game in file when a game is selected, and index in file
12067 to index in list when a line is highlighted. Duplicates some code
12068 between xgamelist.c and wgamelist.c, which should be moved to back-end.
12069
12070 2010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12071 Convert to DOS line endings
12072
12073 For easier understanding of upcoming diffs of winboard.c
12074
12075 2010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12076 Refactoring of move-history code
12077
12078 The WinBoard code in whistory.c was split in a front-end part (remaining
12079 in whistory.c) and a back-end part (now in history.c in the xboard
12080 directory). This to allow easy porting to other platforms.
12081
12082 2010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12083 Add fixed-time/move button in XBoard time-control dialog
12084
12085 Put the TC-type buttons in a radio-group, and highlight the selected mode.
12086
12087 2010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12088 Fix bug in XBoard PV display
12089
12090 The PV was unloaded on anything but a button release, in stead of the
12091 other way around.
12092
12093 2010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>:
12094 fixed hardcoded location of config file for xboard
12095
12096 the location should now follow sysconfdir during the configuration process.
12097 Also added some more output to the configure script.
12098
12099 2010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>:
12100 new developer release
12101
12102
12103 2010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>:
12104 fixed Makefile.am to handle config file correctly
12105
12106
12107 2010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12108 Change opening array -variant fairy
12109
12110 We now use the position of "Chess with Different Armies", FIDE army vs.
12111 a fantasy army (inspired on the Color-bound Clobberers) as opening
12112 position.
12113
12114 2010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12115 Add variant Makruk
12116
12117 Thai Chess, played by 2 million world-wide. Required pawn promotion to
12118 happen in a zone, and the Alfil to move as Shogi Silver, a new opening
12119 array, and unusual Pawn placement. Because of the latter, I consider it
12120 a setup position, so a FEN will always be sent to the engine.
12121
12122 2010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12123 Fix parsing of O-O and O-O-O after FEN pasting in FRC
12124
12125 Because the initial rights were not set in the FEN reader, the
12126 initial rights of the previous game remained in force, so that the
12127 parser did not understand OO-castling (although it would allow KxR
12128 castling).
12129
12130 2010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12131 Fix reading FEN castling rights for knightmate and twokings
12132
12133 Scanning the back-rank for a King did not work in these variants,
12134 because either the Unicorn castles, or there might be two Kings.
12135
12136 2010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12137 Fix omission in castling refactoring for ICS received boards
12138
12139 A default of -1 was still used, in stead of NoRights, when no Rook was
12140 found. In theory this could have had effect in a setup board 0 in FRC,
12141 when there were no Rooks on the back rank.
12142
12143 2010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12144 Fix TwoKings ICS castling-rights bug
12145
12146 Scanning the rank (as is done because of FRC) assigned castling rights
12147 to the rightmost King. Even scanning the opposite direction would not
12148 work, as it is not always the eftmost King that can castle. So we now
12149 explicitly test for a King on e1/e8 in TwoKings and assign it rights,
12150 relying on the Rook rights received from the ICS to control castling.
12151
12152 2009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12153 fix double start of zippy engine after switch to gothic
12154
12155 In ICS mode we now switch to the proper variant as soon as we receive
12156 the generic game-start message, to prevent a mismatch when the first
12157 board is received (which would trigger fetching of a move list).
12158
12159 2010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12160 Extensive bugfix of -autoKibitz
12161
12162 Suppression of printing of diverted kibitz messages failed when they
12163 extended over more than one read. This could even lead to such
12164 messages being erroneously saved as comments, which then lead to
12165 crashes. The suppression mechanism now waits for a prompt, in stead of
12166 the end of buffer. This required the printing of any leftover in the
12167 buffer to be deferred until the next read completes it.
12168 The number of people kibitzed to is now printed.
12169
12170 2010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12171 Fix piece-to-char table -variant fairy
12172
12173 The letters for Lance and Snake where swapped.
12174
12175 2010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12176 Make WinBoard makefiles use parser.c in XBoard directory
12177
12178
12179 2010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12180 Docs update for new features
12181
12182
12183 2010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12184 Fix new args parsing of -lowTimeWarningColor
12185
12186 This did not occur in the XBoard color translation table yet.
12187
12188 2010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12189 Allow editing of holdings in EditPosition mode
12190
12191 Dragging pieces to and from the holdings now consistently keep track of
12192 the home square of pieces and the piece counts, as does creation of
12193 pieces in the holdings through the piece menu.
12194
12195 2010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12196 Indicate squares a lifted piece can legally move to
12197
12198 Under control of the new option -showTargetSquares when
12199 -highlightDragging and -testLegality are on, the squares a piece can
12200 move to are marked by fat dots in the highlightColor (non-captures) and
12201 premoveHighlightColor (captures), as soon as you grab it for dragging.
12202 In variants with mandatory capture, the capture target of other pieces
12203 is marked with the highlightColor (as non-captures are then not allowed).
12204
12205 2010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12206 Fix bug for incommensurate time odds
12207
12208 After normalization (-timeOddsMode 1) the time odds factors can be
12209 non-integer, and thus must be stored as float.
12210
12211 2010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12212 Display PV right-clicked from EngineOutput window
12213
12214 The clicked PV is selected and the memo gets focus, so that it is
12215 highlighted. This selection is restored in the proper place after
12216 insetrtion of a new line in the memo.
12217
12218 2010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12219 Display PV on right-clicking board
12220
12221
12222 2010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12223 Bugfix legality null move in parsing with -testLegality off
12224
12225 The pointers were compared, in stead of the values.
12226 Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off.
12227
12228 Also exclude moves with empty squares and enemy pieces.
12229
12230 2010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12231 Newly lexed winboard/parser.c
12232
12233
12234 2010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12235 Harmonize declarations of XBoard and WinBoard
12236
12237 The engine-exit and settings patches make some stuff common to WinBoard
12238 and XBoard, which needed to be harmonized, and is moved to frontend.h.
12239
12240 2010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12241 Allow Ctrl-C copying from EngineOutput window text to clipboard
12242
12243
12244 2010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12245 Allow popup-less (fatal) exit of engine after tellusererror
12246
12247
12248 2010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12249 Improve layout of Engine #N Settings dialog
12250
12251 An attempt is made to align the input fields of spins and text-edits
12252
12253 2010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12254 Let XBoard print version with argument --version or -v
12255
12256
12257 2010-01-07 00:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12258 Fix castling rule assignment in shuffle games
12259
12260 The conversion to in-board storage for rights copied directly to boards[0] in steadof
12261 initialPosition, and was then overwritten when the latter was copied with uninitialized
12262 rights to boards[0]. This affected FRC and CRC, where rights are non-standard.
12263
12264 2010-01-07 00:17:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12265 Implement castling in -variant caparandom
12266
12267 CRC should be treated as FRC, but until now it never was. We now test for FRC_TYPE_CASTLING.
12268
12269 2010-01-07 00:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12270 Fix default castling rights on reading incomplete FEN
12271
12272 This was overlooked in the conversion to the in-board storage of rights.
12273
12274 2010-01-07 00:03:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12275 Fix NoncompliantFEN defaults.
12276
12277 This must be NULL to get compliant FENs, not "", which would suppress castling and e.p. fields.
12278
12279 2010-01-06 23:54:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12280 Change format of -adapterCommand.
12281
12282 first or f at the start of an option name are now automatically changed into second or s,
12283 rather than needing %% to be recognized. The values of -ec and -ed in the default
12284 -adapterCommand are now quoted (now XBoard understands quoting in the engine command line).
12285
12286 2010-01-06 23:51:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12287 Make WinBoard defaults for -fd and -sd equal to "." rather than empty strings.
12288
12289
12290 2010-01-06 23:28:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12291 Delete old indirection settings-file code
12292
12293
12294 2010-01-06 21:45:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12295 Correct XBoard default debug file name
12296
12297
12298 2010-01-06 21:34:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
12299 Suppress saving font settings.
12300
12301 The fonts are size dependent, and might thus not be reusable in the next
12302 session. For now we therefore suppress the saving of them in the
12303 settings file, until we diversify the fonts per boardSize.
12304
12305 2009-12-12 23:38:20 -0800 Arun Persaud <arun@nubati.net>:
12306 added missing sounds files to be able to compile on windows
12307
12308
12309 2009-12-09 17:29:37 -0700 Eric Mullins <emwine@earthlink.net>:
12310 Changes needed to compile master branch.
12311
12312
12313 2009-12-06 12:11:46 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12314 implements the eval-graph window for XBoard
12315
12316
12317 2009-12-06 11:58:34 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12318 improves the XBoard handling of the engine command line
12319
12320 it now understands limited forms of quoting, so engine binaries with spaces in their file name can be handled.
12321
12322 2009-12-06 11:56:40 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12323 A better and more flexible way of invoking Polyglot
12324
12325 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.
12326
12327 2009-12-06 11:34:50 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12328 remove trailing \r in xboard output
12329
12330 there is an annoying carriage return (displayed as ^M) at the end of the PV in the engine-output window, not
12331 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.
12332
12333 2009-11-29 11:56:32 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12334 double buffer size to prevent overflow
12335
12336 This patch doubles the size of the ICS input buffer to 16KB, to prevent
12337 the suspected overflow with -keepLineBreaksICS false when using
12338 "inchannel 1" on FICS and over 500 people are tuned in.
12339
12340 2009-11-28 13:33:52 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12341 fix problem with empty string in -firstNeedsNoncompliantFEN
12342
12343 This fixes a bug in the use of the -firstNeedsNoncompliantFEN option with
12344 an empty string as argument. (Which led to truncation of the FEN.)
12345
12346 2009-11-28 13:32:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12347 updates makefiles to include dependency on config.h
12348
12349 adds the dependency of wbres.o on config.c introduced by having the VersionInfo in the resource
12350
12351 2009-11-28 13:28:00 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12352 correctly apply some check boxes from the option menu
12353
12354 Usng the check-boxes in the Option->Adjudications menu to indicate the
12355 engine reports absolute scores is now copied directly to the ChessProgramState,
12356 from where it is used, in stead of only to appData. This makes the change take
12357 effect immediately, in stead of after restarting.
12358
12359 2009-11-28 13:27:43 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12360 score sign in analysis mode
12361
12362 this does not alter any of the current behavior with compliant engines,
12363 but does extend the correction for non-compliant score reporting under
12364 control of the -first(second)ScoreIsAbs option to cases where the engine
12365 is analyzing or playing on an ICS.
12366
12367 2009-11-24 21:09:30 -0800 Arun Persaud <arun@nubati.net>:
12368 fix for bug #28077: xboard needs to link against x11
12369
12370 hopefully fixed automake to take care of this
12371
12372 2009-11-23 20:37:20 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12373 Fix castling rights when copying FEN to clipboard (again)
12374
12375 missed a spot last time
12376
12377 2009-11-23 20:22:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12378 restoring windows (EngineOutput and MoveHistory) on startup
12379
12380 restoring the open / closed status of the
12381 auxiliary windows (EngineOutput and MoveHistory) on startup
12382 in XBoard like they do in WinBoard, which makes sense now that
12383 we aso remember their coordinates between sessions.
12384
12385 2009-11-23 20:21:14 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12386 fixed some outstanding pixmaps
12387
12388 fixed transparency issues
12389
12390 2009-11-23 20:17:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12391 use linux style options for config file and add a system config file for XBoard
12392
12393 This patch makes XBoard write the options to its conf file in
12394 Linux style, "-option value" rather than Windows style "/option=value".
12395
12396 The WinBoard option parsing code has always understood both formats
12397 (including any hybrids), but the format it preferred for writing might
12398 look quite strange to Linux users. I also attached a file to be installed
12399 as /etc/xboard/xboard.conf on "make install".
12400
12401 2009-11-23 19:58:55 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12402 fix window positioning
12403
12404 This patch adds stuff in the header files that allow the various front-end files
12405 to share information on which windows exist, are up, and how they are positioned.
12406 The EngineOutput, MoveHistory and GameList windows now all remember their
12407 position and size, even when they are closed when XBoard exits.
12408
12409 2009-11-23 19:51:19 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12410 same argDescriptor parsing for Xboard and Winbaord
12411
12412 This patch makes XBoard and WinBoard use the same argDescriptor
12413 list of options, and (largely) use the same code for parsing and saving them.
12414 This is acheived by moving this code to a new file args.h, and #including this
12415 in both winboard.c and xboard.c (so that tiny differences, e.g. in default
12416 values in the table, are decided by the context). XBoard has new menu items
12417 "Save Settings Now" and "Save Settings on Exit" in the "Option" menu.
12418 XBoard uses /etc/xboard/xboard.conf as default settings file.
12419 A new option, -saveSettingsFile, can specify where settings should be saved,
12420 without parsing the file. (So that it also works if the file does not yet exist.)
12421
12422 2009-11-22 13:00:31 -0800 Arun Persaud <arun@nubati.net>:
12423 new developer release
12424
12425 changed release name to <branch>-<date>
12426
12427 2009-11-22 12:34:13 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12428 fix the irritating wandering off of the MoveHistory window in XBoard on opening/closing.
12429
12430
12431 2009-11-22 12:29:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12432 use xtell for talking to handles, but tell for talking into a channel.
12433
12434 by changing the chatboxes to use xtell in stead of tell, we broke
12435 the possibility to use the chat-box for chatting into a channel (which is
12436 apparently not possible with xtell).
12437
12438 2009-11-22 12:15:15 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12439 fix bug in bughouse drop menu
12440
12441 This patch fixes the bughouse drop menu, which was broken by the
12442 new mouse driver, and could no longer drop white Pawns.
12443
12444 2009-11-18 19:29:57 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12445 2nd step for moving option parsing from winboard to the backend
12446
12447 This is the next step in option-setting refactoring: All options that are
12448 defined in XBoard are now included in the WinBoard ArgDescriptor list.
12449 The handling of sound option has been harmonized: the sound names
12450 now all initially go to the appData array, (as in XB) in stead of directly to the
12451 WB-specific variables, and LoadAllSounds now takes care of the copying.
12452 A new routine ExportSounds copies them back before saving settings
12453 (which, in XBoard, could be a no-op).
12454
12455 The definition of defaults for the XB-only options has been moved to common.h.
12456
12457 2009-11-18 19:24:35 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12458 1st step for moving option parsing from winboard to the backend
12459
12460 This is a preparatory step in moving option parsing of WinBoard to the back-end.
12461 The table of command-line options now contains a fifth field, holding the compiled-in default.
12462 This obviates most of the front-end routine InitAppData, which now is replaced by a table-driven
12463 initialization routine SetDefaultsFromList(), which could be back-end.
12464
12465 2009-11-18 12:33:39 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12466 refactoring evalgraph code
12467
12468 This is the refactored EvalGraph code: the back-end part is separated off,
12469 and put in a file evalgraph.c, which in the future can also be used with XBoard.
12470 Only the WinBoard front-end code is left in the file wevalgraph.c. A new
12471 header file defines the variables and routines they share.
12472
12473 2009-11-18 12:29:06 -0800 Arun Persaud <arun@nubati.net>:
12474 clean-up
12475
12476 some file permissions where set up wrong
12477 (e.g. execute permissions for text files)
12478
12479 2009-11-18 11:34:22 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12480 refactoring of engineoutput
12481
12482 This refactoring patch separates the back-end part out of
12483 xengineoutput.c, and puts it in a separate file engineoutput.c.
12484 A new header engineoutput.h included by both defines the routines
12485 for cross calling. Similarly wengineo.c will be stripped from its
12486 back-end code, (and renamed to wengineoutput.c), so WinBoard and
12487 XBoard now both use engineoutput.c rather than maintaining duplicate
12488 code in their front-end part.
12489
12490 I also let the back-end now call EngineOutputUpdate directly, rather then
12491 through a relay in the front-end, by renaming it to SetProgramStats
12492 (the former name of the relay in winboard.c / xboard.c).
12493
12494 Moved some templates of functions in engineoutput.c from winboard.h
12495 to frontend.h
12496
12497 2009-11-14 22:13:10 -0800 Arun Persaud <arun@nubati.net>:
12498 fixed build on openbsd
12499
12500 added missing header file
12501
12502 2009-11-14 22:06:58 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12503 improve thinking-output for mulit-variant
12504
12505 Improve multi-variant support by sorting the Thinking-Output lines of the most recent depth by score in the Engine-Output window.
12506
12507 2009-11-14 22:05:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12508 fix castling rights when copying FEN to clipboard
12509
12510 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.
12511
12512 2009-11-14 22:03:47 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12513 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.
12514
12515
12516 2009-11-06 18:53:19 -0800 Arun Persaud <arun@nubati.net>:
12517 fixed prototype for AppendComment
12518
12519
12520 2009-11-06 09:06:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12521 cleaned up some debug messages and typos
12522
12523
12524 2009-11-06 09:05:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12525 variation-support patch
12526
12527 It allows you to Revert to the main line (or previous variation) when
12528 playing variations on an existing game in EditGame or Analyze mode.
12529
12530 2009-11-06 08:48:09 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12531 fix for new way of saving castling and e.p. information
12532
12533 I forgot to make some conversions to the new-style encoding of castling there
12534 (using the enum constant NoRights instead of -1 to indicate
12535 the absence of rights, which was the price of storing the
12536 rights in the board, which is an unsigned enum type.)
12537
12538 I also was a bit worried about portability, because I casted the enum type ChessSquare
12539 to (int) before comparing it with (possibly negative) constants EP_NONE etc.
12540 Now on my system enum types are (unsigned int), and this works, but I could
12541 imagine there are systems where this would be an unsigned char. (Not sure
12542 if there are rules for this). So to be safe I cast ChessSquare to (signed char),
12543 which should always work to make small negative ints assigned to it read
12544 back as themselves.
12545
12546 2009-11-06 08:44:59 -0800 Arun Persaud <arun@nubati.net>:
12547 removed files that should only be in the windboard directory
12548
12549
12550 2009-11-05 19:32:35 -0800 Arun Persaud <arun@nubati.net>:
12551 add Winboard source files into tar-ball
12552
12553 forgot to add them when rewriting the Makefile.am
12554
12555 2009-11-05 19:23:44 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12556 Integrate castling and e.p. rights into board array; bugfix for EditPosition
12557
12558 A large-scale operation that I have been postponing since the very first 4.4.0:
12559 The castling and e.p. rights are now integrated into the board array, as
12560 boards[moveNr][CASTLING][i] replacing castlingRights[moveNr][i] and
12561 boards[moveNr][EP_STATUS] replacing epStatus[moveNr]
12562 These quantities are now automatically copied with the position by CopyBoards
12563 (allowing the removal of lots of dedicated copying code), and passed as
12564 function arguments with the position (so that the moves.c functions like
12565 TestLegality, MateTest, CoordsToAlgebraic, Disambiguate, GenLegal
12566 no longer need explicit e.p. and castling parameters.
12567
12568 Also fixed a bug introduced by a recent previous fix: by adding fake castling
12569 rights to a position set up through the EditPosition menu, I destroyed the
12570 castling rights of a pasted FEN. Faking castling rights is now made conditional
12571 in EditPositionDone(), depending on the caller. (I had not realized it was also
12572 called after FEN pasting, to send the position to the engine.)
12573
12574 2009-11-05 19:03:17 -0800 Arun Persaud <arun@nubati.net>:
12575 added missing library for build on OS X
12576
12577 Xmu seems to be missing
12578
12579 2009-11-04 22:57:30 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12580 Some code refactoring and cleanup; one small bug fix
12581
12582 Some code refactoring, mainly to bring definitions of routines and variables
12583 shared between winboard.c and one of the auxiliary-windows files
12584 whistory.c, wevalgraph.c, wgamelist.c, wengineo.c somewere in a header file
12585 (winboard.h). Unfortunately this made winboard.h dependent on data types
12586 defined in frontend.h, so that the #include order had to be changed in many
12587 other .c files.
12588
12589 The operation revealed one potentially bad bug: engineOutputDialogUp was
12590 written as int in engineo.c, but declared as char in winboard.c.
12591
12592 I also changed the storage mechanism of the the comment and tags window
12593 positions to use WindowPlacement structs rather than simple variables,
12594 so that in the future they can be docked, like the others.
12595
12596 I also removed some remnants of the Analysis window.
12597
12598 The wgamelist.h and wedittags.h header files contained only 3 lines, and
12599 I absorbed them in winboard.h, rather than creating other such nearly empty
12600 headers engineo.h, whistory.h and wevalgraph.h. This affects the make files.
12601
12602 2009-11-03 18:26:06 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12603 let the clocks run in -searchTime mode
12604
12605
12606 2009-11-02 17:41:12 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
12607 add fixed time per move to the WinBoard time-control menu dialog
12608
12609
12610 2009-10-31 10:42:50 -0700 Arun Persaud <arun@nubati.net>:
12611 updated version number to unstable
12612
12613
12614 2009-10-31 10:25:37 -0700 Arun Persaud <arun@nubati.net>:
12615 release of version 4.4.1
12616
12617
12618 2009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12619 cleaned up ChangeLog and NEWS
12620
12621 2009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12622 use xtell instead of tell in wchat
12623
12624 2009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12625 prevent buffer overflow
12626
12627 This is a buffer-size adjustments to prevent the JAWS version from
12628 crashing when it has to read out loud very long comments.
12629
12630 2009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>:
12631 Further copy/paste fixes
12632
12633 We needed to implement the XA_TARGETS target in order for more
12634 sophisticated apps to really believe we put anything on the clipboard
12635 they can use.
12636
12637 2009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>:
12638 Make copy/paste position and game use clipboard, bug #27810
12639
12640 Copy actually sets both the clipboard and the selection for
12641 convenience and compatibility with the old way of doing things.
12642 Paste pastes from the clipboard by default, but the new -pasteSelection
12643 option lets you get back the old behavior of pasting from the
12644 selection.
12645
12646 2009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12647 switch focus to the board after loading a game
12648
12649 2009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12650 fix for bug #27826: fixed autoDisplayComment
12651
12652 apparently the -autoDisplayComment option was not working,
12653 not even in WinBoard. This patch should fix it,both for WB and XB.
12654 (Unfortunately xboard.c and winboard.c were using a different name
12655 for the same front-end variable I needed, so I had to change one of them.)
12656
12657 2009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12658 fix for bug #27826: ported two options to xboard
12659
12660 also updated the documentation
12661
12662 2009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12663 fixed jaws version
12664
12665 turns out the new mouse handler broke the JAWS patch, as I discarded
12666 the function IsPromotion. I adapted it to call HasPromotionChoice instead.
12667 Also fixed two arnings by removing a no-longer needed debug print.
12668
12669 2009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>:
12670 reformated html to be correctly validated
12671
12672 2009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12673 quick fix for "White Mates" in parser.l
12674
12675 2009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>:
12676 fixed a regression
12677
12678 2009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12679 changed stderr to debug output, since stderr is closed in winboard
12680
12681 2009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12682 removing empty lines from ICS play
12683
12684 this patch causes removal of spurious prompts during ICS play
12685 also if the prompt is preceeded by a number of empty lines
12686 (as the board for the opponent move is on FICS).
12687
12688 2009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12689 another bug in VariantSwitch: an unitialized board was printed.
12690
12691 Must have been there a long time, but this time it crashed WinBoard.
12692
12693 2009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12694 more work on variant switch
12695
12696 the previous solution to the cosmetic problem of displaying a wrong shuffle
12697 in an ICS game that was observed from the very start unfortunately turned
12698 out to cause a real error in diplaying a stored game through the smoves
12699 command, for variants not using the FIDE setup as standard.
12700
12701 This patch displays the position from before setting up the start position
12702 of the new variant, but does setup boards[0] to the initial position of that
12703 variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board
12704 will immediately be sent from the ICS to correct the shuffle.)
12705
12706 2009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12707 force full redraw in winboard
12708
12709 Full redraw is now always forced when highlightMovesWithArrow is on,
12710 rather than only when highlight info is available. (As in drop moves the
12711 latter is invalid, but we must still erase the arrow from the previous move.)
12712
12713 2009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12714 fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle
12715 when observing shuffle games from the first move (#27790 bis),
12716 and the sounding of the FICS bell on crazyhouse captures (#27772 bis).
12717
12718 2009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12719 fixed bug related to unsigned char in convert.c
12720
12721 I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the
12722 129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed
12723 afterwards (so I could use it to create a new m33s.bm)
12724
12725 2009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>:
12726 unguarded debug printf. added the appropiate if statement
12727
12728 2009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12729 fix for two compiler warnings
12730
12731 2009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12732 fix for bug #27799: fix for nested-nested-nested variations
12733
12734 2009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12735 The book-probe code forgot to close the book file after opening it.
12736
12737 fixed by adding an fclose at two points.
12738
12739 2009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12740 removed unused v54?.bm bitmaps from resource file
12741
12742 it seems the v54?.bmp bitmaps were actually included in the WinBoard build
12743 (in the resource file), although they were never actually used. So I have
12744 removed their inclusion in the resource file now.
12745
12746 2009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12747 replaced defective bitmaps with copies from 4.2.7
12748
12749 2009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12750 removed bitmaps files that are not needed any more
12751
12752 2009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12753 fixed some bitmaps
12754
12755 2009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>:
12756 Drop an obsolete script that was only used to update my personal web site
12757
12758 2009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>:
12759 Silence warnings when compiling 64-bit xboard
12760
12761 Some harmless warnings were caused by 64-bit mode having 32-bit
12762 int but 64-bit long and pointer.  Add casts (etc.) to silence them.
12763 This might require adding a definition of intptr_t (a signed int
12764 type that is the same width as a pointer) on old systems that don't
12765 have it.
12766
12767 2009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>:
12768 Fix up man page some more
12769
12770 Sigh, the project history was still partly in reverse chronological
12771 order and partly in forward order.  Swapped the order of some
12772 sentences to help straighten it out.  I don't really care about this,
12773 so other project members should feel free to do what they like here,
12774 but the messed-up order was bugging me.
12775
12776 2009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>:
12777 Fix some issues in the XBoard man page
12778
12779 Correct places where the XBoard man page was calling XBoard
12780 "WinBoard".  Change references to "WinBoard engines" and "WinBoard
12781 protocol" to "XBoard/WinBoard ...".  Update bug reporting guidelines.
12782 Reorganize project history to something more like chronological order
12783 -- it had gotten pretty randomly ordered.
12784
12785 2009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>:
12786 new pre-release version; updated version numbers
12787
12788 2009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12789 This patch adds <Enter> to the characters that cause an automatic
12790 switch to the ICS console when typed to the board window.
12791
12792 2009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12793 fix to the minor graphics issue contained some typos,
12794 as was remarked in the bugs reports
12795
12796 2009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12797 improved mouse handler
12798
12799 The improved mouse handler still needed an extra call to DrawPosition to
12800 work in XBoard.
12801
12802 2009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12803 NPS plays and pondering
12804
12805 Clock updating did not work correctly in node-based time controls when the
12806 engine was pondering. (It was not really meant for use with pondering. Oh well...)
12807 This patch checks if the engine reporting the node count is indeed thinking
12808 (as opposed to pondering).
12809
12810 2009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12811 holdings update and regression fix
12812
12813 The holdings-update patch was not yet satisfactory, because FICS seems to send
12814 holdings both before and after the board! And those received before did overwrite
12815 the holdings received after the previous board. I know tried to fix that in a kludgey
12816 way, by hiding a flag in the board that tells if the holdings have already been written
12817 by the ICS or not, and ignore new holdings when they are. (Except in bughouse,
12818 where holdings updates cannot be tied to a particular board and multiple updates
12819 between boards are normal. (I hope?).)
12820
12821 I also undid a regression in my previous fix for the minor graphics problem,
12822 and solved it in a slightly different way to prevent flicker.
12823
12824 2009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12825 improved mouse handler
12826
12827 I improved the mouse handler in a way which will preclude disappearence of pieces
12828 on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
12829 in the "premove bug?" thread. Also the command-line premove problem reported there
12830 is now fixed, by removing the prefixing.
12831
12832 2009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12833 fix for bug #8847: moving backward while examining on FICS not reported to engine
12834
12835 I moved Daniel's code that backs up the engine when a bord with a
12836 lower number is received to a place where it is always done in zippy mode,
12837 rather than only when the engine is analyzing.
12838
12839 Apart from taking back moves, there was also the case where the
12840 user moves forward by more than one move (usually immediately to
12841 end-of-game). In this case a new movelist is fetched from the ICS
12842 to recover the moves that were skipped. But this assumes that the
12843 engine is at the start of the game and feeds all these moves to the
12844 engine. So the engine had to be reset in this case to stay in sync.
12845
12846 2009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12847 better init for random number generator
12848
12849 2009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12850 fix for bug #27772: holdings not updated
12851
12852 holdings lines from the ICS nor update the holdings
12853 of boards[forwardMostMove] in stead of boards[currentMove].
12854
12855 2009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12856 allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
12857
12858 This patch allows parsing / disambiguation of SAN moves like Xe4, if there
12859 is only one wild-card piece X on the board. Moves with wild-card pieces
12860 are now considered illegal if they leave the King in check by a piece of
12861 known gait.
12862
12863 2009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12864 fixed bug when switching to variantsuper
12865
12866 2009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12867 fix for bug #27715: 2 (minor) graphic issues
12868
12869 I forced a total redraw when Reset is called from the ICS code in case a
12870 new game is encountered, in the hope it will make the reported
12871 (irreproducible) problem go away. As game switches are not frequent, I
12872 guess there is hardly any downside to this.
12873
12874 2009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12875 fix for bug #27667: PV line missing in analysis window, part 3
12876
12877 "3. Wish for Engine state string (right to the icon):
12878 Can you add the actual search depth in analyzing mode? A change like "
12879
12880 I also added the requested display of depth of the analysis move in the
12881 EngineOutput window. I guess a similar change could be made to wengineo.c
12882 (as this is in the code they share in common), but no one ever requested
12883 that in the 5 years since Alessandro wrote it. So for now I leave it alone.
12884
12885 2009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12886 fix for bug #27760: debug printf in backend.c and additional check for variant
12887
12888 2009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>:
12889 fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
12890
12891 this is correct, deleted the text out of the documentation that claims we support it
12892
12893 2009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>:
12894 new alpha version; first one with new naming scheme
12895
12896 2009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12897 smarter analysis of the boards that XBoard receives from an ICS
12898
12899 I added smarter analysis of the boards that XBoard receves from an ICS,
12900 based on board size and piece types in the position, to recognize cases
12901 where the board does not match the current variant, and switch to an
12902 appropriate variant.
12903
12904 2009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12905 fix for bug #27667: window should be reference to toplevel
12906
12907 The remaining objections of #27667 should be fixed by bringing the
12908 EngineOutput window under control of the TOPLEVEL compile-time switch.
12909
12910 2009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12911 partly fix for bug #27715: scaling of menu bar
12912
12913 the menu bar to the left edge of the window.
12914
12915 2009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12916 fixed bug reported in WB forum: second game of a match would
12917 not start when using the GUI book
12918
12919 2009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12920 fix for bug #27751: negative holding counts displayed
12921
12922 I put code in the back-end to prevent holdings counts from
12923 becoming negative when a drop move is made from empty holdings.
12924 (This can happen when re-loading ICS bughouse games,
12925 as the smoves command fails to fill the holdings.)
12926
12927 2009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>:
12928 Updated compiling instructions.
12929
12930 2009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>:
12931 Changes to allow fonts with any charset (such as terminal)
12932
12933 Affects winboard only.
12934
12935 2009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>:
12936 Moved SIGWINCH signal so it can be used...
12937
12938 I goofed putting this in StartChildProcess() originally.
12939
12940 2009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>:
12941 Added internal wrapping ability.
12942
12943 New options:
12944   -wrapContinuationSequence "foo"  (default: "\\   "
12945   -useInternalWrap (Winboard default: false, XBoard default: true)
12946
12947 Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
12948    useInternalWrap setting.  The idea is if you want to keep ICS line
12949    breaks, then you don't want internal wrapping.  Because of this,
12950    the new default for keepLineBreaksICS is now false for XBoard.
12951
12952 2009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12953 fixed segfaul in convert.c used to convert pixmaps
12954
12955 2009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12956 new mousehandler to correct for premove and promotion popup
12957
12958 this is the new mouse handler for XBoard, which should fully implement
12959 premove, including promotion popup, and yet suppress the promotion popup
12960 on illegal moves that are not premoves. It is almost completely moved to
12961 the back-end now, so that WinBoard will be able to use it as well. I just
12962 must hook it up to winboard.c, in particular harmonize the call-backs of
12963 the mouse driver into the front-end for grabbing and releasing pieces for
12964 dragging, to make sure they have the same names and arguments.
12965
12966 2009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12967 updated black fairy pieces
12968
12969 here is a set of black fairy pieces with opaque white details,
12970 so they have the same style as the orthodox XBoard pieces.
12971
12972 2009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>:
12973 Adjustment to joining to work around server not always including space.
12974
12975 This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004
12976 into the updated joining routine.  This issue seems not to be server
12977 variance, but instead the server electing to omit the space between
12978 words when it occurs at exactly your width setting (-1 actually).
12979
12980 This patch makes the joiner add back the space just like the referenced
12981 commit.  Note: this is just a workaround to a server issue-- the joiner
12982 actually joins correctly before this patch.
12983
12984 2009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>:
12985 Fixed joiner detection, allowing it to work with timeseal
12986
12987 When timeseal's buffer fills in the middle of the continuation
12988 sequence, detection fails, and the lines aren't joined.
12989
12990 As a result of this fix, measures intended to bypass joining are
12991 no longer needed, so I removed them.  These utilize server vars
12992 when available to prevent splitting.
12993
12994 2009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
12995 fixed engingeoutput routine
12996
12997 removed outdated code regarding analysis window
12998
12999 2009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13000 moved bitmap to correct location
13001
13002 was misplaced in a previous commit
13003
13004 2009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13005 fixed wrong number of arguments for EngineOutputPopUp
13006
13007 2009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13008 new bitmap converter (including fill option) and new pixmaps
13009
13010 2009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>:
13011 forgot to add these two lines to the last commit
13012
13013 2009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>:
13014 removed AnalysisPopUp. Use EngineOutputPopUp instead
13015
13016 this was already in Winboard, copied it to xboard and removed unused code.
13017
13018 2009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13019 Proper board and holdings size when switching to variants
13020 gothic, capablanca, great and super within an ICS game.
13021
13022 2009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>:
13023 cleaned up an old #ifdef in zippy
13024
13025 2009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>:
13026 neglected this for the auto-width updating in xboard
13027
13028 2009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>:
13029 Added server width adjustment based on client width changes
13030
13031 2009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>:
13032 silence some compiler warnings
13033
13034 2009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>:
13035 Maintainence to support all compilers.
13036
13037 2009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>:
13038 Adjusted alternative joining method to obey keepLineBreaksICS
13039
13040 2009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13041 fix for bug #27668: e.p. field still not passed to engine
13042
13043 PositionToFEN now takes the e.p. rights from epStatus[moveNr],
13044 rather than calculating it on the spot from moveList[moveNr-1]
13045 (which failed on the first move).
13046
13047 2009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13048 fix for bug #27666: naming of variants
13049
13050 Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
13051 to not get confused by the board "misc shogi" run by FICS.
13052
13053 2009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13054 changed enable menus
13055
13056 Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
13057 in the appropriate enable lists for graying them out wen not applicable.
13058
13059 2009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13060 Added a command-line option -keepLineBreaksICS true/false to control line joining.
13061
13062 2009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>:
13063 Added code to prevent unnecessary width updates.
13064
13065 2009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>:
13066 Turned off wrap when possible on ICS servers.
13067
13068 Turning off line wrap prevents splitting lines up using the
13069 continuation sequence "\\   ".  This is desirable when using
13070 timeseal because timeseal's buffer is sometimes too small,
13071 causing it to break lines itself.  These lines can't be joined.
13072
13073 2009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>:
13074 vsnprintf() must be _vsnprintf() for MSVC
13075
13076 2009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>:
13077 added code to handle initial width update
13078
13079 2009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>:
13080 Added width updates to ICS client on font and window size changes
13081
13082 What still needs to be done is placing an update call after login
13083 to initialize with the correct width.  I didn't see where to put
13084 that.
13085
13086 2009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>:
13087 added ics_printf() and ics_update_width() and utility functions
13088
13089 2009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>:
13090 Cleaned up ConsoleWndProc  (not complete, see below)
13091
13092 Using static variables this way is not appropriate.  I only addressed
13093 hInput and hText in this commit though.  But imagine the WndProc being
13094 used by multiple windows instead of just one, and you can see why
13095 using static variables in this way is wrong.
13096
13097 2009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>:
13098 Restructured URL code so it fits better with how winboard is set up.
13099
13100 2009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>:
13101 cleanup: removed "#if 1" statements
13102
13103 2009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>:
13104 cleanup: removed "#if 0" from source
13105
13106 a bit of cleanup of the source code
13107
13108 2009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13109 fix joining of lines split by ICS
13110
13111 This patch fixes the joining of lines that were split by an ICS, so that adding
13112 a space at the break point is done only when there was not a space already.
13113 (Some ICS leave a space at the end of the broken line, others do not.)
13114 An extra space would interefere with board12 in Gothic Chess, which is so
13115 long that the ICS breaks it, and the WB parser could not handle a double
13116 space within the board.
13117
13118 2009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13119 fix for bug #27642: Clock jumps strangely in engine mode
13120
13121 This moves SwitchClocks() back to after incrementing forwardMostMove,
13122 so that it knows again who has the move (which was broken by the "bare" patch),
13123 and will take the appropriate tick length.
13124
13125 2009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13126 removed test for premove
13127
13128 this was added while looking for the premove bug, but is not needed
13129
13130 2009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>:
13131 added URL detection and provided hotlinks in the ICS client
13132
13133 2009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>:
13134 reverted winboard.c beofre URL commit to correct whitespace conversion
13135
13136 2009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>:
13137 Added URL detection into the console text window for ICS.
13138
13139 2009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>:
13140 added some comments and formated code
13141
13142 2009-10-08 23:46:52 -0700 Chris Rorvick <>:
13143 fix printing out help message (list of command line options) (tiny change)
13144
13145 The postfix increment always resulted in an attempt to print out an
13146 option on the right side regardless of one actually existing. Use
13147 prefix increment to prevent a crash when printing an odd number of
13148 options.
13149
13150 2009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>:
13151 Updated navigation accelerators, fixing ICS problems.
13152
13153 Recent changes to the navigation accelerators were in the wrong
13154 accelerator table.  Since the goal was to correct non-JAWS versions
13155 back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
13156 retained the #ifdef JAWS conditional compilation.
13157
13158 On an ICS, the navigation keys took control away from the ics
13159 client to navigate the game.  The update requires the ALT key to
13160 be pressed, but it works identical to 4.2.7, not causing an
13161 unexpected focus back to the board window when you're just editing
13162 text.
13163
13164 2009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13165 fixed premove recapture problem;promotion popup appearing on
13166 obviously illegal moves; promotions in Superchess and Great Shatranj
13167
13168 1) the premove recapture problem
13169 2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
13170 problem)
13171 3) promotions in Superchess and Great Shatranj, where the piece can now be
13172 selected from the holdings
13173
13174 2009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13175 added forceIllegalMove to xboard
13176
13177 2009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>:
13178 bugfix: segfault when invalid option argument was given (bug #27427)
13179
13180 when given a wrong argument to an option (e.g. -tc 0) xboard aborts
13181 before setting up the window, but tried to write a message to the
13182 messageWidget which doesn't exist at that point.
13183
13184 2009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13185 small improvement for JAWS version
13186
13187 This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
13188 As focus does not stay on the Comment window, the comment was not spoken otherwise.
13189
13190 2009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13191 updated to winboard internationalization scripts
13192
13193 Also a slight improvement of the internationalization scripting,
13194 to prevent it from crashing on messages containing a slash.
13195
13196 2009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13197 new forceIllegalMoves option
13198
13199 The -forceIllegalMoves option uses setboard or edit to force a position
13200 when an engine refuses the move leading to it by an "Illegal Move" message.
13201 Especially for engines using the edit command this was a bit tricky,
13202 because of the a2a3 kludge to avoid using the white and black commands.
13203
13204 2009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>:
13205 removed _winmajor if not defined so that VC 2008 can compile the project
13206
13207 The oldDialog variable should just be set to 0 in all cases now, and
13208 as such, legacy code supporting the old dialog ought to be removed.
13209 The test for _winmajor is against < 4, which is always false at present,
13210 causing oldDialog to be 0 in every conceviable circumstance.
13211
13212 2009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>:
13213 getting ready for 4.4.1 release
13214
13215 2009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>:
13216 Simplified future version changes.
13217
13218 Added a numeric version to config.h that is now used in winboard.rc
13219 instead of being hard-coded there.  Just be sure to preserve the
13220 proper format (4 comma-separated 16 bit integers) or else it won't
13221 compile.
13222
13223 2009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>:
13224 updated version number to 4.4.1.pre
13225
13226 should have done this straight after the last release, but forgot...
13227
13228 2009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13229 worked on premove bug
13230
13231 I made an attempt to make premove unsensitive to a race condition,
13232 just in case the premove problem was caused by that (which seems unlikely,
13233 but in any case  I added some debug printout to test this).
13234
13235 2009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13236 fixed loading of saved games via command line
13237
13238 the variables forwardMostMove and backwardMostMove where set to zero
13239 at the wrong place.
13240
13241 2009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13242 small fixes for the JAWS version
13243
13244 * I moved saying 'check' by the JAWS version to where castling also benefits from it.
13245 * I made sure the check symbols are also recognized on promotion moves
13246 * In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
13247
13248 2009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>:
13249 Fixed bug dereferencing garbage, causing crash.
13250
13251 Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
13252 resultDetails of the gameInfo structure.  That exact code exists a few lines
13253 above where it was added.  None of these free() calls finish by setting the
13254 member to NULL afterword, therefore repeated attempts to test/free() the
13255 members result in an attempt to free() memory winboard no longer owns, and
13256 an eventual crash.
13257
13258 link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
13259
13260 2009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>:
13261 Added wchat.c to the project files we maintain.
13262
13263 2009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>:
13264 Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
13265
13266 2009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>:
13267 Add resource ID for new Mute menu item.
13268
13269 I know this was probably done by HG, and simply left out of
13270 his commit.  Anyway, the project can be built now after this change.
13271
13272 2009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>:
13273 Use of strcasecmp() broke Visual C++.
13274
13275 2009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>:
13276 wrong default value for engineDebugOutput
13277
13278 the new default is now 1
13279
13280 2009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>:
13281 updated cmail.in to adapt the CVS->git change
13282
13283 don't reference $Revision:$ anymore.
13284 Instead use reference xboard-version via autoconf.
13285
13286 2009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13287 bugfix for protocol extensions: egtbpath -> egtpath
13288
13289 A new and very bad bug was discovered in the implementation of
13290 the protocol extensions: XBoard sends a command "egtbpath" to the
13291 engine in stead of "egtpath" from the protocol specs.
13292 After discussion on WB forum it was decided that egtpath was better
13293 than the egtbpath I originally had proposed, and I changed it accordingly,
13294 but I had not realized that this string occurred TWICE in backend.c,
13295 depending on if matched the -defaultPathEGTB of -egtFormats option.
13296 I only changed the first occurence.
13297
13298 2009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13299 fix for edit-position "moves" being sent by XBoard to the engine
13300
13301 2009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13302 Engine did not start playing when out of GUI book on second move with white
13303
13304 2009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13305 Opening Engine #1 Settings crashed XBoard when there were no
13306 text-edit options in the dialog (to which to set keyboard focus)
13307
13308
13309 2009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13310 added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
13311
13312 2009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13313 Updated the RTF docs for the chat windows, engine-settings dialog,
13314 /keepAlive option and new game-list tag
13315
13316 2009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13317 Made the beep sounds for JAWS board navigation configurable through
13318 command-line options
13319
13320 2009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13321 Prepared a system to internationalize the WinBoard menus
13322
13323 2009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13324 added the result comment to the game-list tags when the game list is
13325 exported to the clipboard
13326
13327 2009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13328 rewrote wevalgraph for better frontend/backend separation
13329
13330 I have finished re-writing the eval-graph code to have some
13331 front-end / backe-end separation, something I had already started on my
13332 holiday in Norway (when I had no internet :-)  ).
13333 The new code now appears to work exactly like the old code,
13334 and I guess it could be ported to gtk comparatively easily.
13335
13336 2009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13337 fix for keepalive and chat window
13338
13339 I made a fix to the keepAlive option so it does not send the date command
13340 to the ICS after every move. This required changing ScheduleDelayedEvent()
13341 so that it does not execute the event if a new identical one gets scheduled.
13342 I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c
13343
13344 (This also cures the regression of the winboard.c copyright patch)
13345
13346 I extended the chatbox patch to also listen to channel tells, and divert
13347 them to a chatbox for that channel number. Affects
13348 backend.c and wchat.c
13349
13350 That should make those patches fully operational. No docs for either of them
13351 yet, though.
13352
13353 2009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13354 fixed parse bug for pgn files
13355
13356 fixed the existing bug that the time-control tag was displayed as "?"
13357 in the game list; turns out it was never parsed on reading PGN files
13358
13359 2009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13360 allow the result comment as a display item in the game list
13361
13362 2009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13363 fixed the HAVE_LIBXPM-dependent compile errors
13364
13365 2009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13366 added a chat window to keep track of multiple conversations
13367
13368 The chat-window patch affects:
13369 winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
13370 the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
13371
13372 In addition I added a new option -keepAlive, which affects
13373 common.h (in addition to winboard.c and backend.c).
13374
13375 As I had to modify backend.h, I also defined the -reset option type there,
13376 which we are going to add later. This required some changes
13377 to suppress warnings in wsettings.c.
13378
13379 2009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>:
13380 more files for git to ignore
13381
13382 most of these are generated by make distcheck
13383
13384 2009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>:
13385 another bug fix found by Stanislav Brabec
13386
13387 returned -1  in some case although the variable was a char...
13388 changed to signed char
13389
13390 2009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>:
13391 Swapped 'tell' and 'message' parsing order for colorization.
13392 Sometimes messages are relayed as tells and should be colorized as tells.
13393
13394 2009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>:
13395 added some more files to be distributed via make dist
13396
13397 as suggested by Stanislav Brabec
13398
13399 2009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>:
13400 fixed some implicit declarations reported by Stanislav Brabec
13401
13402 2009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>:
13403 fixed a few more small bugs reported by Stanislav Brabec
13404
13405 - A function uses a 'return;' statement, but has actually a value to
13406 return, like an integer ('return 42;') or similar: xboard voidreturn
13407 xengineoutput.c:766, 782
13408
13409 - Program returns random data in a function at xengineoutput.c:602
13410
13411 - With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker
13412 ignores them. Fix is attached.
13413
13414 - ToDo: Convenient name in most projects is TODO (autotools package it
13415 automatically).
13416
13417 2009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>:
13418 reverted .texi file and fixed Makefile.am
13419
13420 the problem was actually not in the texi-file, but the Makefile.am.
13421 Reverted changes in the .texi and fixed it (hopefully) correctly now.
13422
13423 2009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>:
13424 get "make distcheck" to work
13425
13426 needed to add all *.h files to Makefile.am and also the bitmaps that
13427 are needed and some other files. Also had modified copyright.texi.
13428
13429 2009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>:
13430 changed to version 4.4.0
13431
13432 2009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>:
13433 updated AUTHORS, README and ChangeLog files for release
13434
13435 2009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13436 fixed some typos
13437
13438 2009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13439 set castling rights after setting up a position
13440
13441 I was going through old WB forum posts, and I encountered a
13442 bug report for a bug that I never fixed: The castling rights should
13443 be properly set (actually: cleared) after setting up a position
13444 in Edit Position mode (as opposed to pasting a FEN).
13445
13446 2009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>:
13447 removed install files from master
13448
13449 they now live in their own branch
13450
13451 2009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13452 updated polyglot protocol
13453
13454 I added a new option type "-reset" to the protocol for the new option feature.
13455 4.4.0 does not implement it yet, but Michel wants it for future Polyglots,
13456 and I think it is best to update the protocol in one big swoop.
13457 So I want to already include it in the specs now. (engine-intf.html)
13458 I made xboard's response to an unknown option type compliant
13459 with the new protocol specs.
13460
13461 2009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13462 fixed some typos
13463
13464 2009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>:
13465 Updated project files for DevCpp and Visual Studio to add wsettings.c
13466
13467 2009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>:
13468 Added newline at end of file to silence warning.
13469
13470 2009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13471 workaround for error message for missing pieces used in variants
13472 and initstring bugfix: error messages showed for non-existing pieces
13473 showed up for old user supplied pixmaps.
13474 Loading a pixmap of the king for the missing pieces now.
13475
13476 Another bad bug surfaced: the -initString argument does not work in any
13477 XBoard version! (Including 4.2.7b) The escape sequences for linefeed in
13478 the string are not understood: -initString "new\nrandom\n" actually sends
13479 the \ and n to the engine (which then does not recognize the line as a
13480 valid command)!
13481
13482 So I also added a patch to expand escape sequences in the InitString and
13483 ComputerString command-line options.
13484
13485 2009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13486 updated installe script
13487
13488 I re-organized the doc files in the install, so they now all go in the
13489 WinBoard\doc folder (and none in the root). I so included the COPYING
13490 and COPYRIGHT files there. This required some updates of the links in
13491 some html files, and of the menu link to README.html in the install script.
13492 I also fixed an error with the current directory
13493 in the menu short-cuts of some engines (which started in the fonts folder,
13494 and could not find the opening book there...).
13495
13496 2009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13497 updated documentation
13498
13499 2009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13500 updated installer script
13501
13502 2009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13503 new help files for windows
13504
13505 2009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13506 updated installer
13507
13508 2009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13509 undid some previous changes
13510
13511 some files got mixed up
13512
13513 2009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13514 fixed small bug in wsetting
13515
13516 2009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13517 trigger a focus switch to ICS input field when typing
13518
13519 old behavior was that "." or "," triggered this,
13520 now every printable character  except 1-9 will trigger the focus switch
13521
13522 2009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13523 bug in backend.c when receiving lines from ICS
13524
13525 A space was appended to every character received from an ICS
13526 in stead of just at line breaks.
13527
13528 2009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13529 fixed warning messages from compiler
13530
13531 2009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>:
13532 fixed build on OS X
13533
13534 this seems to fix it. Bug reported by Louis Zulli who also did the testing.
13535
13536 2009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13537 OK, this is the beefed up version of the Polyglot info-string kludge,
13538 for WB and XB.
13539
13540 2009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>:
13541 added missing X_LIBS references to Makefile.am
13542
13543 2009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>:
13544 made the install script and executable
13545
13546 2009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>:
13547 changed beta1 to beta2
13548
13549 2009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>:
13550 fixed enable zippy in configure script and added some checks for OS X
13551
13552 make tried to compile zippy even when --disable-zippy was given.
13553 Also fixed a bug in xboard.c where #ifdef instead of #if was used
13554 to test for ZIPPY (it's either 0 or 1, so we need #if). Also added
13555 some special checks for OS X, not sure if these will do it, but it's a start;)
13556
13557 2009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>:
13558 added configure summary to configure output, also cleaned up configure.ac a bit
13559
13560 used AS_HELP_STRING where possible
13561
13562 2009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>:
13563 added check for malloc.h
13564
13565 this should fix a build error on OS X
13566
13567 2009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13568 A small cosmetic change in the size of buttons
13569 inside a groupbox of the Engine-Setup dialog.
13570
13571 2009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13572 make xboard usable with UCI engines
13573
13574 I made a small patch in xoptions.c (where the corresponding Engine Settings
13575 dialog was for XBoard), to make it at least usable for UCI engines: I now
13576 divide the options over upto 4 columns, if there are too many to fit into
13577 a single column. This seems to work. Still looks very ugly, but it is
13578 functional.
13579
13580 2009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13581 fix premove for winboard
13582
13583 This might fix the illusive premove problem. In 4.2.7 the code was not properly
13584 indented, and this led to an unbalanced braces error that I then fixed the
13585 wrong way. Click-click premoves did only work after clicking the toSquare twice.
13586 It might be that they actually did work after clicking it once,
13587 but that the highlights were not displayed (although set)
13588 for lack of a display refresh.
13589
13590 2009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13591 fixed bug for double saved games
13592
13593 This patch should solve the problem with doubly saved games when XBoard is
13594 closed. I calculate a cecksum of each saved game now (including move comments),
13595 and suppress saving if the checksum is not changed.
13596
13597 2009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13598 fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c.
13599
13600 2009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13601 updated xboard.texi: added warning that pixmaps are not build for all variants
13602
13603 2009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13604 added a dialog for engine-specific option settings
13605
13606 2009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13607 updated some documentation
13608
13609 2009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13610 fixed several bugs in the backend and added some more polyglot support
13611
13612 * I added recognition for the new UCI3 option types that are recognized in the WB
13613 option features, to make sure this version is compatible with future Polyglots.
13614 Also fixed a bug that failed to strip an asterisk prefix from the first
13615 combo-box item.
13616
13617 * I fixed the ICS-time-in-PGN bug.
13618
13619 * I fixed a bug which caused a space to be missing when long lines broken up by
13620 an ICS were joined.
13621
13622 2009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13623 better polyglot support for engine ouput
13624
13625 I fixed the algorithm for clearing the Engine Output window to work better with
13626 the latest Polyglot, whight outputs UCI "info strings" amongst the thinking
13627 output.
13628
13629 2009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>:
13630 Beginnings of installer for 4.4.0.  HGM asked me to forward the nsi file,
13631 but it seemed best to just add the installer tree to git even though
13632 it's not finished.  You must install NSIS then FontName-0.7.exe
13633 (included in installer folder) then run build.bat in the same directory.
13634
13635 2009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13636 patch backend.c to make the -noGUI option also work in ICS mode.
13637
13638 2009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13639 temporary fix for pre-select
13640
13641 As a temporary kludge I replaced looking into the holdings for the piece type
13642 by figuring out which piece would belong on the clicked holdings square.
13643 This is a non-trivial process, as it depends on which pieces participate
13644 in a certain variant.
13645
13646 2009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13647 changed click-click moves
13648
13649 I got complaints about the way XBoard 4.4.0 handles click-click moves,
13650 in particular changing the selected piece after selecting King
13651 (for which I suppressed interference with FRC castling in a rather brutal way).
13652 People tell me it is very annoying that clicks sometimes don't work to select a piece.
13653 WinBoard uses refined logic in the back-end to handle this, but the XBoard
13654 front-end is not interfaced with that yet.
13655 (This would require a major rewrite of the mouse handler.)
13656 This temporary patch suppresses this behavior in all variants that do not support
13657 Fischer castling, and even there only exhibit it for Rook-after-King selection
13658 (which will be interpreted as an attempt to enter a castling move as K x own R).
13659
13660 2009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13661 option -adjudicateDrawMoves is not included in the XBoard list.
13662
13663 added it to the option list
13664
13665 2009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>:
13666 converted files from dos to unix format
13667
13668 run dos2unix over a bunch of files
13669
13670 2009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>:
13671 Stripped out unused VersionInfo
13672
13673 2009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>:
13674 changed version to 4.4.0.beta1
13675
13676 2009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>:
13677 updated INSTALL file to add ./autogen.sh
13678
13679 2009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13680 higher number of engine options possible now
13681
13682 I upped the number of options per engine from
13683 50 to 100, and the average number of characters per option from 10 to 20.
13684
13685 2009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>:
13686 Fix of bad bug
13687
13688 2009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>:
13689 Added version information to resources.
13690
13691 2009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>:
13692 Added Jaws targets to IDE projects.
13693
13694 2009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>:
13695 Final makefile adjustments and compiling instructions.
13696
13697 2009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>:
13698 Cleaned up garbage left behind from my makefile update.
13699
13700 2009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>:
13701 Updated cmdline makefiles to be able to produce JAWS binaries.
13702
13703 This breaks support for MSVC 4.x.  It may still be possible to
13704 use that compiler if you obtain the latest SDK from Microsoft.
13705 MSVC 6.0 still works, but I had to change the target windows
13706 version to 0x500 which causes warnings about building beta
13707 applications.  This is all due to the use of MENUBARINFO data
13708 type in the jaws binary.  You can reduce the WINVER to 0x0400
13709 safely if you are not building a JAWS binary, and MSVC 4.x
13710 will work fine.
13711
13712 2009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>:
13713 Removed dependency on jfwapi.h
13714
13715 Allows anyone to compile a jaws compatible binary.
13716
13717 2009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>:
13718 Fixed duplicate resource in winboard.rc
13719
13720 PLEASE remember to pull before commiting.  This is the 2nd
13721 time I've fixed this.  It's a waste of time to keep fixing
13722 the same problems.
13723
13724 2009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>:
13725 resolved conflict between Xt and Xaw libraries
13726
13727 seems like we don't need to link against Xt.
13728
13729 2009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13730 help-menu was not un-grayed in the JAWS version, when it played with engines
13731
13732 2009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13733 integrated jaws into winboard
13734
13735 I integrated the JAWS patch now into WinBoard in such a way that the
13736 JAWS and standard version can use the same resource file. This new
13737 winboard.c contains the improved dialog layot of the JAWS version,
13738 but none of the menus and JAWS-specific acclerator keys. The latter
13739 are now generated at run time by code in jaw.s. As a result jaws.h
13740 could be cancelled, as there the JAWS-specific defines are no
13741 longer needed outside jaws.c (now the .rc does not use them), and
13742 is incorporated in it.
13743
13744 2009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>:
13745 fixed problem in autoconf using Xaw3d
13746
13747 rewrote the section for Xaw3d in the autoconf file
13748
13749 2009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>:
13750 Added Jaws support to GCC makefile
13751
13752 2009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>:
13753 added help support: MSVC IDE and DevCpp IDE project files
13754
13755 2009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>:
13756 Removed obsolete makefiles and support files.
13757
13758 2009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>:
13759 updated AUTHORS with the help of git. use
13760
13761 git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD  |sort |uniq
13762
13763 a bit of hand editing and a quick emacs macro later and you have a nice
13764 comma seperated list of all files changes by one author between two commits.
13765
13766 2009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>:
13767 updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7
13768
13769 2009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>:
13770 cleaned up some more copyright notices
13771
13772 2009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>:
13773 updated copyright to reflect A. Scotte as copyright holder
13774
13775 need to mention him, since the paperwork won't be finished before the next release
13776
13777 2009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>:
13778 updated patchlevel to "k"
13779
13780 2009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>:
13781 fixed autoconf problem with VERSION/PATCHLEVEL variables
13782
13783 xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables.
13784 Switched to PACKAGE_STRING provided by autoconf
13785
13786 2009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>:
13787 cleaned up old CVS left overs
13788
13789 removed $Id tags from all files
13790
13791 2009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>:
13792 converted xhistory via dos2unix
13793
13794 2009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13795 fixed crash in history window
13796
13797 someone discovered that opening the move-history window in XBoard leads to
13798 an immediate crash. Turns out that renaming the menu item broke it! (The
13799 name of the item was apprently used elsewhere in the code to access it,
13800 for putting a check mark there.)
13801
13802 2009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13803 fix for Animation of castling moves in Chess960
13804
13805 Animation of castling moves in Chess960 turned out to sometimes make the
13806 king disappear from the display. For the time being I patched this in
13807 xboard.c to suppress animation of FRC castling moves altogether. As FRC
13808 castlings internally are represented as KxR, the to-square does not make
13809 sense anyway, which made the animation look very weird even when it led
13810 not to a king disappearance act. And the Rook move of a castling is never
13811 animated.
13812
13813 2009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
13814 Update GCC makefile to remove .obj targets.
13815
13816 Dunno how they got in there, but they should be .o
13817
13818 2009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>:
13819 Update makefile dependencies on help.c and help.h.
13820
13821 2009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>:
13822 Allow compiling with MSVC6.0 and 4.1
13823
13824 Move prototypes into help.h, after making sure that DWORD_PTR is
13825 defined.  Include help.h from winboard.c and help.c so both files
13826 benefit from the definition.
13827
13828 2009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13829  lists these accelerator keys in the menus for JAWS
13830
13831 2009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13832 added shortcuts
13833
13834 This patch allows the use of Ctrl+C and Ctrl+V for Copy Game
13835 and Paste even in I C S mode when the board has focus.
13836
13837 2009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13838 better handling of pasting a game without PGN tags
13839
13840 patch in wclipbrd.h to make it smarter to decide between pasting
13841 a game or a position so it can handle games without PGN tags.
13842 If it doesn't parse as a FEN it is assumed to be a game.
13843
13844 2009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13845 fixed parser error for knight move
13846
13847 The parser had a strange quirk: it recognized bd2 as a valid Knight move
13848 (Nb1-d2) while this SAN format should be reserved for Pawn moves only.
13849
13850 2009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13851  fixed a few warnings in connection with the help patch (now warning free)
13852
13853 2009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13854 some major re-assignment of accelerator keys in the JAWS
13855
13856 2009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
13857 several small fixes
13858
13859 uptracked winboard.ini
13860
13861 * Cleanup: moved "Some definitions required..." from winboard.c to config.h,
13862 and combined some definitions from borland w/ MS.
13863
13864 * Changed internal HtmlHelp return type and 4th argument to facilitate various
13865 compilers.  These changes, while not strictly adhering to HtmlHelp() conventions,
13866 won't impact anything since the function modified is internal only.
13867
13868 * Modified HtmlHelp return values to integer to silence warnings.
13869 * Added help.c to the project in makefile.gcc & makefile.ms.
13870 * Fixed duplicate resource in winboard.rc.
13871
13872 2009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13873 added JAWS support; help files for Vista; bugfixes for winboard.c
13874
13875 * JAWS support
13876 * help files should now work under Vista (the user has to have either
13877   a program to view old windows help files or to view html-files installed)
13878 * I fixed the tabbing between all windows that were added according to Tim's sugestions.
13879 * I added typing in of a move number in the move type-in dialog as a shortcut
13880   to going to that position by use of the < and > buttons. Mainly intended to
13881   ease life for the blind, but I think it can be generally useful.
13882   (Although the move-history dialog provides that functionality too,
13883   this is quicker if you don't happen to have it open.)
13884 * I added typing of a FEN in the move type-in dialog in Edit Position mode.
13885   (Which could not be used without mouse at all, and is defective
13886   in crazyhouse even with mouse, as there was no way to populate holdings.)
13887
13888 2009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13889 some bugfixes: ICS error handling
13890
13891 * play a different sound for takebacks in ICS mode
13892 * pop up error messages for illegal moves for typed-in moves
13893
13894 2009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13895 removed no longer needed debug message
13896
13897 2009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13898 fixed compile error from a previous change
13899
13900 2009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13901 user selectable font in game list
13902
13903 This makes the game list use the same (user selectable) font
13904 as the the move-history window.
13905
13906 2009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13907 fixed typos in xboard.texi documentation.
13908
13909 2009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13910 updated the FAQ
13911
13912 2009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13913 changed font in engine output window
13914
13915 The engine-output window now uses the same font as the move-history window
13916 (which was selectable in the "Options  -> Fonts..." menu, while the other
13917 wasn't).
13918
13919 2009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13920 fixed some characters in xboard.texi
13921
13922 It seems that copying manual sections from the RTF to th texi file did
13923 somehow mess up the double-quote characters, and changed them into some
13924 strange (unicode?) symbols.
13925
13926 2009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13927 two shogi related bugfixes
13928
13929 I discovered a bug in the move generator for the Shogi Dragon King. I
13930 guess it went unnoticed so far because this is a promoted version of the
13931 Rook, which hardly occurs in games. (moves.c)
13932
13933 There was also a problem with the piecesfix I sent you before; Shogi
13934 chosen as initial variant did use wrong piece symbols. (I had tested this
13935 on gothic, but there it happened to work for a different reason, unique to
13936 gothic.) This affects xboard.c.
13937
13938 2009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>:
13939 small cleanup
13940
13941 2009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13942 adds bitmaps for shogi promotions, and selects the bitmaps or
13943 pixmaps for the more rarely used piece types on a per-variant basis.
13944
13945 2009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13946 adds new piece types in the promotion dialog and edit-position piece menu
13947
13948 2009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13949 updated bitmaps files: files for fairy pieces where missing,
13950 others had names that didn't work with autoloading.
13951
13952 2009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13953 fixed a bug concerning bitmaps
13954
13955 2009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>:
13956 give a default directory for bitmaps files (tiny change)
13957
13958 this is also one of the debian patches, should be rewritten to use
13959 the correct install directory. No Author was given.
13960
13961 2009-06-27 15:47:52 -0700 Brian May <>:
13962 verbose_error_message_about_recognized_options (tiny change from Debian patches)
13963
13964 2009-06-27 15:45:14 -0700 Matt Zimmerman <>:
13965 add a visual low time warning (tiny change from Debian patches)
13966
13967 2009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>:
13968 dos 2 unix conversion of backend.c
13969
13970 2009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>:
13971 exchanged some sprintf with snprintf found in a patch for the debian system,
13972 extended it a bit to other sprintf's original patch included only 11 lines
13973 by Florian Ernst <florian@debian.org>
13974
13975 2009-06-24 23:07:23 -0700 Mark Ioli <chessknight>:
13976 enabled a patch for default settings in winboard
13977
13978 2009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13979 updated copyright notice
13980
13981
13982 2009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13983 patches a bug in chosing the initial board size on a virgin startup
13984 I introduced recently
13985
13986 2009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13987 I put in testing for the winning condition in 3checks
13988
13989 on a check it just goes through the entire game to subject
13990 every position on a check test, to see if there were two more.
13991
13992 2009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
13993 updated copyright notice in docs
13994
13995 2009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>:
13996 added small patch from debian (tiny change)
13997
13998 according to the debian patch tracker, this patch is by
13999 Florian Ernst <florian@debian.org>.
14000 It fixes whitespace issues in filename called from cmail.
14001
14002 2009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>:
14003 converted dos2unix format for xboard.texi
14004
14005 2009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>:
14006 deleted two more files that don't need to be in git
14007
14008 these files can be generated by autogen.sh
14009
14010 2009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14011 major overhaul of the -stickyWindows feature
14012
14013 I did a major overhaul of the -stickyWindows feature.
14014 The game-list and ICS-interaction windows are now also sticky.
14015 I also added a form of stickiness when the main window is resized;
14016 edges of auxiliary windows sticking to the right or bottom side of
14017 the main window stay attached when the window resizes
14018 (due to nr of board squares or their size). The way the window
14019 coordinates are saved in the .ini file is now relative to the
14020 main window, and some dummy options are added to be able to
14021 recognize right- and bottom-edge sticking, and reconstruct that
14022 when WB starts up with another board size. Also added are
14023 volatile options to ensure there will be space for auxiliary windows
14024 above and left of the main window.
14025
14026 2009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14027 fixed long-algebraic form of drops
14028
14029 The WB parser turned out not to understand the long-algebraic form
14030 of drops send by an ICS. (like B/@@-e4), so even with
14031 legality testing off I now use the SAN move for drops.
14032
14033 2009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14034 Refined stalemate adjudication in Suicide, some cleanup
14035
14036 Refined stalemate adjudication in Suicide, which seems to be not always won
14037 for the stalemated side, but for the side with the smallest number of pieces.
14038 Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h)
14039 Also includes a tiny change in the -autoKibitz format, as requested on
14040 Talkchess.
14041
14042 2009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14043 Enhancement of the way -autoLogo decides which logos to display
14044
14045 2009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14046 bugfix and enhancement in autoKibitz mode
14047
14048 changed the format of the autoKibitz: score/depth in stead of depth/score,
14049 as in PGN. I also supress the ICS time for the move now in the PGN
14050 if extended info is available. When enhancing the functionality of
14051 the autoKibitz command (using the opponent engine kibitz for the saved PGN)
14052 I discovered that the xengineoutput.c in our tree was obsolete,
14053 and contained a routine of which the arguments were no longer compatble
14054 with the call from backend.c, and caused segfaulting. I copied in
14055 the  corresponding routine in wengineo.c, which was compatible. That the
14056 compiler did not flag this is a sign of badly organized code, I suppose...
14057
14058 The enhancement itself affected backend.c.
14059
14060 2009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14061 modified clock layout
14062
14063 I altered the display of the clocks in the presence of engine logos; I used to
14064 stack them, but some inquiry on Talkchess sowed that people disliked the
14065 stacking. So now I display them next to each other again, but as 2-line-high
14066 fields to make room for te logos.
14067
14068 2009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14069 new zippy option zippyShortGame
14070
14071 On request of Mike Adams I added a new zippy option, -zippyShortGame,
14072 to make life more difficult for abusers of abort and disconnect for cheating.
14073
14074 2009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14075 fixed some bugs in the animation of atomic captures
14076
14077 2009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14078 some small bugfixes
14079
14080 I had overlooked one place from which the FEN writer
14081 (of whicf I changed the argument types), which made WB crash
14082 if you copied a FEN (or PGN that cotained FEN) to the clipboard.
14083 I must have overlooked a warning during compile, or some depedency
14084 is not correct in the makefile. Anyway, wclipboard.c had to be changed.
14085 I also moved adjudication of some losing conditions to before tetsing
14086 for stalemate, (e.g. in atomic, if your king get destroyd you lose,
14087 even if you have no moves after that because it was your only piece.).
14088 this affects backend.c.
14089 I had used the same bits in the rule-modifier flags for indicating
14090 mandatory capture as was already used for indicating FRC-style castling.
14091 This led to frequent illegal move calls in FRC... (moves.h)
14092
14093 2009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>:
14094 cleaned up HTML in FAQ.html -- still need to work on content
14095
14096 2009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14097 added option for work-around for some FRC engines in regards to FRCFENs
14098
14099 It suddenly occurred to me that I had promised on CCC to include an option
14100 to provide a work-around for the problem that some FRC engines do not
14101 understand FRC FENs (and thus do not play at all under WinBoard,
14102 as FRC always has to begin with sending the initial position).
14103 So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN.
14104 This affects winboard.c and xboard.c, (for defining the option),
14105 common.h, backend.h, backend.c, (for implementing it),
14106 xboard.texi and winboard.rtf (decribing it).
14107 This option provides users with a means to always force the FEN castling field
14108 to KQkq (but can be used for many other work-arounds as well).
14109
14110 2009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14111 fixed bug with random calls
14112
14113 There also seemed to be a bug with the shuffling of opening positions;
14114 I had changed the declaration of the position number from
14115 long long int to u64 to comply with MSVC, but this suppressed shuffling
14116 completely. I now changed it to int. I recently noted a problem with true
14117 randomizing anyway: this was based on srand(time()), but time() apparently
14118 did not change fast enough, so that starting several games in rapid succession
14119 (because the book line contained a 3-fold repetition) produced identical games.
14120 So I now seed the random once and for all during startup, based on the msec of
14121 the time mark, and removed the other calls to srand().
14122
14123 2009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14124 changed name for fairymax program in xboard.h
14125
14126 2009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14127 removed my name from copyright message in help->about menu
14128
14129 2009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14130 fixed -stickyWindows option
14131
14132 I figured out why -stickyWindows was not working in XP and Vista
14133 (while it always worked under Win2K), and I think I found a fix for
14134 it that works under all Windows versions. (I tried XP and Win2K.)
14135
14136 2009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14137 Updated docs for Engine-Settings menu
14138
14139 2009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14140 Awareness of winning conditions for atomic and giveaway variants; two bugfixes
14141
14142 fixed bug in claim verification
14143 Bugfix on initial position of Great Shatranj
14144
14145 2009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14146 Legality testing (mandatory capture) in giveaway variants
14147
14148 2009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>:
14149 don't ignore winboard/parser.c
14150
14151 2009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14152 Added new variant Twilight Chess
14153
14154 2009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14155 some renaming and restructuring of WB menu items, to conform more to XBoard
14156
14157 2009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14158 Fixed bug in atomic patch that interfered with non-atomic variants
14159
14160 2009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14161 fixed different use of engine option compared to Polyglot
14162
14163 it turns out the new Polyglot uses a sightly different version
14164 of the GUI->engine option command than the one I proposed
14165 (and implemented in XBoard; Michel sneaked in an '=' sign
14166 between the NAME and VALUE of the option, to allow for
14167 more unambiguous parsing. I guess in principle this is a good idea,
14168 so I adapted XBoard to Polyglot rather than the other way around.
14169 The result is that there are canges in xboard.c, and the documentation.
14170 I noticed that I unjustly had internationalized the option strings
14171 to be send to the engine in xoptions.c; this was of course nonsense,
14172 as this was WB protocol. So I undid that too.
14173
14174 2009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14175 add the already supported variants 3check and great (=Great Shatranj)
14176 to the New Variant... menu.
14177
14178 2009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14179 animate explosions in variant atomic (if animate moves is on).
14180
14181 2009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14182 fixed castling bug in variant twokings.
14183
14184 2009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14185 fixed forteitary wins for special game variations
14186
14187 feature that corrects forfeitary wins (e.g. on time)
14188 of a bare King to draws of course breaks proper operation
14189 in losers, suicide and giveaway
14190
14191 2009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14192 automatically test ini file extension for files from commandline option @filename
14193
14194 The winboard.c is a patch that automatically tries indirection files on the
14195 command line (@filename type arguments) also with an extension .ini if the name itself
14196 did not match any existing file and contained no period. This saves the user typing the
14197 .ini all the time (which I started to find pretty annoying while working on the installer
14198 package).
14199
14200 2009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14201 added gamelisttag option to xboard
14202
14203 also updated documentation.
14204
14205 2009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14206 updated RTF file for winboard
14207
14208 2009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>:
14209 fixed syntax error in texi file
14210
14211 2009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>:
14212 updated to patchlevel "j"
14213
14214 2009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14215 fixed adjudicating probelm in Shantranj
14216
14217 Refrain from adjudicating a draw based on insufficient mating material
14218 (except bare King vs bare King) in Shatranj (where in this case you can
14219 still win by baring the opponent's King).
14220
14221 2009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14222 updated documentation and FAQ
14223
14224 2009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14225 source clean up. Fix compiler warning, removed unused variables, etc.
14226
14227 2009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>:
14228 adding support for different windows compiler
14229
14230 Eric kindly provided us with some makefiles for different windows
14231 compiler and also fixed some issues that came up while using those compilers.
14232
14233 2009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>:
14234 cleanup: got rid of a lot of files that are not needed for a new release
14235
14236 lots of documentation was available in several places,
14237 old unused source files and not used graphics file were floating around
14238 in the tree. This should clean up most of it. No need to keep these files
14239 around, especially since we are using version control.
14240
14241 2009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14242 Added the Action-menu items that allow the user to adjudicate
14243 ongoing games in Two-Machines mode. This was an already existing
14244 backend function from Winboard_x; I only had to create a menu item for it
14245 to be called. Due to an oversight I had forgotten to do that so far.
14246 (Logically, I should have done it in the 4.3.5 release,
14247 where I updated the XBoard menus to conform to the WinBoard menus.)
14248
14249 I tested them, and they seem to work. (As expected.)
14250
14251 2009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>:
14252 updated patchlevel to "i"
14253
14254 2009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14255 small change to mousewheel support; two changes in window behaviour
14256
14257 * Visible effects during resizing suppressed, bug in chosing new size fixed.
14258 * No longer reserves left and top margins next to main window on first popup.
14259 * built in some hysteresis into mousewheel support, ignorng the first event in any new
14260 direction to suppress effects from accidential mouse movement.
14261
14262 2009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14263 corrected 'animate dragging'
14264
14265 I finally figured out how the 'animate dragging' works in XBoard,
14266 so that I could add code to do the unstacking of multiple pieces
14267 in the holdings, rather than always leaving an empty square while
14268 you drag them. (And then suddenly re-growing the remaining pieces
14269 as you make the drop.)  It does not look as fancy as in WinBoard
14270 yet, because the counts still only decrease when you release the
14271 piece, rather than when you lift it. But this is not nearly as
14272 disturbing as leaving empty holdings (if only temporarily) when
14273 you still have pieces there.
14274
14275 2009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14276 Added comand-line options -debugFile (as synonym for -nameOfDebugFile,
14277 as WinBoard also has these synonyms), and -engineDebugOutput
14278 (wich already existed in the backend).
14279
14280 2009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14281 updated documentation for new release
14282
14283 2009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14284 added Xiangqi perpetual-chase detection
14285
14286 2009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>:
14287 Updated all files to GPL version 3.
14288
14289 2009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>:
14290 converted two files from dos to unix format
14291
14292 2009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>:
14293 updated INSTALL, NEWS and other files for new release
14294
14295 cleaned up a bit and updated some information in the text files.
14296
14297 2009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>:
14298 winboard/config.h shouldn't be in .gitignore, only ./config.h
14299
14300 2009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14301 bumped patchlevel to 0g
14302
14303 2009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14304 corrected path in makefile
14305
14306 2009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14307 updated rtf
14308
14309 2009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14310 added firstOptions, secondOptions, noGUI, firstXBook, secondXBook
14311
14312 2009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14313 handle promotion case for Shogi
14314
14315 2009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14316 add note about RESULT command for GUI programmers
14317
14318 2009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14319 small changes to book.c
14320
14321  added code for different board sizes
14322  added some debuginfo
14323  handle promotion of pieces
14324
14325 2009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>:
14326 added a .gitignore file
14327
14328 2009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>:
14329 wrong line ending for Unix... ran dos2unix on both files
14330
14331 2009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>:
14332 fixed texinfo files, added windows help file, removed config.h from git
14333
14334 texinfo.in is not needed anymore, since it only provided a
14335 version string, but this can be created automatically using autotools
14336
14337 deleted config.h from version control, since it is automatically created.
14338 added winboard.hlp file (not sure if needed)
14339
14340 2009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>:
14341 updated autoconf init file
14342
14343 * renamed autoconf init file from configure.in to configure.ac
14344 * added bug-report email address to ac_init
14345 * replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output
14346
14347 2009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>:
14348 parser.c is generated by lex, so it shouldn't be tracked
14349 and also parcer.c shouldn't be in Makefile.am
14350
14351 2009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>:
14352 added book.c to Makefile.am
14353
14354 2009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>:
14355 use autoheader to create config.h.in
14356
14357 no need to track this in git anymore
14358
14359 2009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>:
14360 fixed autoheader warings, remove depreciated acconfig.h
14361
14362 2009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>:
14363 added a autogen.sh
14364
14365 2009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14366 changes from H.G. Muller; version 4.3.16
14367
14368 2009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14369 changes from H.G. Muller; version 4.3.15
14370
14371 2009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14372 changes from H.G. Muller; version 4.3.14
14373
14374 2009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14375 HGM fixed cygwin compile for winboard
14376
14377 2009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>:
14378 cross compilier working
14379
14380 2009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14381 changes from H.G. Muller; version 4.3.13
14382
14383 2009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14384 changes from H.G. Muller; version 4.3.12
14385
14386 2009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14387 changes from H.G. Muller; version 4.3.8
14388
14389 2009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14390 changes from H.G. Muller; version 4.3.7
14391
14392 2009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14393 changes by H.G. Muller; version 4.3.4
14394
14395 2009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14396 changes from H.G. Muller; version 4.3.2
14397
14398 2009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
14399 changes from H.G. Muller
14400
14401 2009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>:
14402 cleaned up the directory a bit. Removed winboard-dm-beta,
14403 merged the two Changelogs together
14404
14405 2009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>:
14406 changes from Alessandro Scotti from 20060129
14407
14408 2009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>:
14409 changes from Alessandro Scotti from 20060112
14410
14411 2009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>:
14412 changes from Alessandro Scotti from 20051231
14413
14414 2009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>:
14415 changes from Alessandro Scotti from 20051129
14416
14417 2009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>:
14418 changes from Alessandro Scotti from 20050322
14419
14420 2009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>:
14421 translated a handfull of strings and set the codeset to UTF-8
14422 for the translations.
14423
14424 2009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>:
14425 Translation: added German po file (roughly 50% translated)
14426
14427 2009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>:
14428 fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi
14429
14430 2009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>:
14431 fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in
14432
14433 2009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>:
14434 fixed a warning message in the configure script
14435
14436 2009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>:
14437 fixed parser.l. Should fix bug #22812
14438
14439 2009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>:
14440 fixed parser.l. Should fix bug #22812
14441
14442 2009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>:
14443 added myself to the AUTHOR file
14444
14445 2007-06-15 04:26:57 +0000 Mark Loli <chessknight>:
14446 Initial check-in of NSIS Winboard installer files.
14447
14448 * 06/12/2005: bugfix some more possible buffer overflows.
14449
14450 * 06/27/2004: added simple icsEngineAnalyze for xboard
14451
14452 * 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games
14453 with a chessprogram on a Internet Chess Server (ICS)
14454
14455 * 02/12/2004: Bugfix ICS interaction console crashed while chess
14456 engine starting and user type in some stuff. We wait now to finish
14457 the engine boot.
14458
14459 * 02/11/2004: Winboard: Added color lines for the ics interaction
14460 console if zippy used
14461
14462 * 02/09/2004: Added mousewheel support for winboard. Play moves
14463 backward and forward with the mousewheel.
14464
14465 xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann
14466
14467 * 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output
14468 to WinBoard.debug too.  (This isn't needed in xboard because ICS
14469 output already goes to stdout, so it's easy to capture along with the
14470 debug output on stderr.)  This was issue #280 in the ToDo file.
14471
14472 * 11/23/2003: Cleaned up some minor problems in cygwin.mak.  Thanks to
14473 Hans Werner Strube for the problem report.
14474
14475 * 11/23/2003: Updated the default list of chess servers in
14476 winboard/defaults.h.  Deleted two that appear to be dead and added a
14477 new one that is active.
14478
14479 * 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.
14480 Hopefully this will get them the right way around by default on more X
14481 window managers.  I wish I understood this better.
14482
14483 * 11/18/2003: Implemented a simple 32-bit random number generator for
14484 WinBoard, replacing the Windows rand(), which ranges only up to
14485 0x7fff.  Formerly on Windows, only zippy.lines sayings that started in
14486 the first 32767 bytes of the file could ever be used.  This was issue
14487 #505 from the ToDo file.
14488
14489 * 11/16/2003: The xboard man page and info files are now built from a
14490 common set of texinfo source files, and the xboard man page now covers
14491 cmail as well.  Formerly, ever since the texinfo file was first
14492 contributed to the project, it was separate from the man page and the
14493 two files had to be updated in parallel, making for a maintenance
14494 nightmare.  To make combining the files possible, I took the Perl
14495 script "texi2man" from the GNU Units project and added support for a
14496 larger subset of the texinfo markup language.  I then carefully
14497 compared the old man page and old texinfo file to make sure the latest
14498 and clearest words survived into the new combined texinfo file.  It
14499 would be great to merge in WinBoard's help file too, but that's a
14500 larger project.  It would have to be heavily conditionalized to
14501 deal with differences in features between XBoard and WinBoard.
14502
14503 * 11/15/2003: Cleaned up and applied a small patch from Daniel
14504 Mehrmann, to stop overly long PVs in thinking output from causing a
14505 buffer overflow crash in backend.c.
14506
14507 * 11/5/2003: When a chess engine sends a "telluser" command (including
14508 the cases where "tellall" or "tellopponent" acts like telluser), the
14509 information now goes into a nonmodel popup that is automatically
14510 dismissed when the user clicks anywhere on the board.  This fix is
14511 more significant on WinBoard, where formerly you got a fully modal
14512 dialog that had to be dismissed by clicking on OK before anything else
14513 could happen.  The bug was issue #406 in the ToDo file.
14514
14515 * 11/1/2003: Removed email addresses from this file to reduce spam
14516 load, as it gets linked to from the Web.
14517
14518 * 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.
14519
14520 * Modified xboard and winboard makefiles to be able to build the
14521 project in the new combined directory structure.
14522
14523 * Applied a small security fix to pxboard, from Martin Maeok.
14524
14525 * Fixed a bug in the game list dialog.  The change in 4.2.6 to opening
14526 games in text mode (meant to avoid getting extra \r's into comments)
14527 caused a new bug in determining seek offsets when parsing a game file
14528 to form the game list.  Also, the change was incomplete; on some code
14529 paths games were still being opened in binary mode.  Thanks to Lenik
14530 Terenin for reporting the offset bug.  I've now gone back to always
14531 using binary mode when reading game files, and I've fixed the comment
14532 bug by adding code to remove \r's from parsed comments explicitly.  I
14533 still use text mode for writing game files so that games written by
14534 WinBoard will have Windows-style line endings.
14535
14536 * Fix for minor bug in WinBoard installer.  If you chose a non-default
14537 destination directory, the default directory was still used for a
14538 couple of unimportant things, namely setting the App Paths registry
14539 keys (unused by WinBoard) and trying to copy the existing WinBoard.ini
14540 file to WinBoard.old.  I inherited this bug from the InstallShield 5
14541 sample template.  Thanks to "l.d." for noticing the incorrect keys.
14542
14543 * Patch from Chris Priest: when two engines are being run through rsh,
14544 avoid reusing the same stderr port for both.  I'm not sure why this
14545 should be needed, but it's harmless, at least.
14546
14547 * Bugfix: The kludge to deal with old engines that give an error
14548 message because they don't know the "st" command was too sloppy; it
14549 could hit on an "st" substring anywhere in an error message.  GNU
14550 Chess 4 is the only engine I know of where the kludge was needed, so I
14551 changed the kludge to match a longer, more GNU-specific string.
14552
14553 * Changed the WinBoard self-extracting installer to choose a unique
14554 temporary subdirectory name within the Windows temp directory instead
14555 of always putting wb-setup directly in temp.  Besides being better
14556 practice, this avoids the need to deltree wb-setup first, which
14557 occasionally alarms someone who thinks that deltree is only used by
14558 trojans to delete all your files.  (Yes, I'm serious.)
14559
14560 * Fixed a bug where FICS-style "wild/0" strings were not parsed as the
14561 proper wild type.  The "/" was not being skipped.
14562
14563 * Fixed a WinBoard bug where temporary files created by game
14564 copy/paste were being created in the root directory of the current
14565 drive instead of the TMP directory and were not always deleted on exit.
14566
14567 * Fixed a small bug in winboard.c's ErrorDialog() function.  Thanks to
14568 "Ron" (no last name given).  The bug might have caused a problem when
14569 pressing OK or Cancel in an error dialog when more than one error
14570 dialog was being displayed, but I'm not really sure.
14571
14572 * Removed a hack that worked around a bug in very old versions of
14573 Crafty, where it would sometimes reply "illegal move" to a "."
14574 command.  The hack kept us from recognizing real illegal move messages
14575 in analyze mode from engines that don't respond to the "." command.
14576 Thanks to Fabien Letouzey for the report.
14577
14578 * Fixed a bug in the xboard version of GetDelayedEvent.  It would
14579 return the most recently scheduled event even if it had already fired.
14580 This caused at least one visible error: in -ics -xreuse mode, starting
14581 the engine again and seeing another "feature done=1" would re-run the
14582 initialization code in InitBackEnd3, including the code that opens the
14583 connection to ICS.  The WinBoard version didn't have this bug.  Thanks
14584 to Bob Hyatt for the bug report.
14585
14586 * The promotion popup for ICC wild 26 (giveaway) now includes King.
14587 Thanks to Fredrik Josefsson for the bug report.
14588
14589 * The first game in a file (or being pasted from the clipboard) can
14590 now start with a bare move -- no PGN tags, no move number "1", etc.
14591 Suggested by Shane Harrelson.  One could imagine taking this farther
14592 and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but
14593 I haven't done that.
14594
14595 * Bug fix: xboard didn't really accept a paste of multiple games,
14596 contrary to what I wrote when adding the feature to WinBoard in
14597 4.2.4.  Now it works in both.
14598
14599 * Fixed generic start/end of game messages to work on chess.net, where
14600 they put ratings in parens after the player names.
14601
14602 * Updated config.sub and config.guess to newer versions from
14603 automake-1.4p5-2.  This makes configure work with MacOS X + X11.
14604
14605 * Bugfix: when examining a game fragment on FICS where black plays
14606 first, don't show two "(0:00.000)" times on the initial "none" move.
14607
14608 * If TestLegality is on and one of the engines makes an illegal move
14609 in TwoMachines mode, it forfeits immediately.  Formerly the game would
14610 get stuck at that point and the engine that made the illegal move
14611 would eventually lose on time.
14612
14613 xboard/WinBoard 4.2.6 -- Fri Feb  1 22:26:31 PST 2002
14614 Tim Mann
14615
14616 Another small bugfix release.
14617
14618 * Put in a small change from Alexander Mai to allow xboard to build in
14619 an OS/2 EMX environment.
14620
14621 * Fix WinBoard-only bug where editing a PGN file with comments would
14622 insert more \r characters before the \n after every Load/Save cycle.
14623 For some unknown reason we were reading the files in "rb" mode but
14624 writing them in "a" mode, so we kept the \r characters on reading and
14625 added an extra one on writing.  Fix: change the "rb" to "r".  Thanks
14626 to Joel (last name not given) for the bug report.
14627
14628 * Put the arguments to rsh/remsh in the right order for better
14629 portability.  Thanks to Michael Kalisz.
14630
14631 * FreezeUI is now implemented in WinBoard; it was previously only
14632 implemented in xboard.  This function prevents the user from entering
14633 moves or other commands while we are waiting for an engine to
14634 initialize itself.  Implementing it fixes a bug where the user could
14635 start a game (etc.) during feature negotiation.  One of the symptoms
14636 of this bug was that we could send "new" one or move moves *after* the
14637 first game started!
14638
14639 * Fixed some handle leaks (WinBoard only), including a nasty one that
14640 leaked one handle per command sent to ICS.  Thanks to several folks
14641 who helped characterize the bug and tried to look for leaks.
14642
14643 * We now install and look for the info file in ${prefix}/share/info
14644 instead of ${prefix}/info.  The latter is still the default in
14645 autoconf, but the former is currently used in Red Hat Linux and
14646 probably elsewhere.
14647
14648 xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001
14649 Tim Mann
14650
14651 * Changed the bundled GNU Chess 5.02 in the WinBoard package to
14652 include a much smaller book and to use much less hash table space by
14653 default (8 MB transposition table, 0.5 MB pawn evaluation table).  The
14654 large book included with 4.2.4 made the WinBoard download too big for
14655 some people, and the default hash tables were larger than the
14656 available physical memory on some people's computers. I built the
14657 small book by running Crafty's "small.zip" book line collection
14658 through a Perl script that makes it look enough like real PGN games
14659 that the GNU Chess book builder will accept it.  The script and some
14660 minor patches to GNU Chess 5 are available in the WinBoard source
14661 distribution and at http://www.tim-mann.org/gnuchess.html.
14662
14663 * Fixed a bug in the code that deals with engines that complain that
14664 "time" and "otim" are illegal moves.  This was a new bug in 4.2.4.
14665
14666 * Revamped the implementation of ToStart in analysis mode.  Formerly
14667 there was some ill-conceived code that would try to get back to the
14668 start of the game by doing a "new" command (and all the followup
14669 commands that requires) while remaining in analysis mode.  This is
14670 problematic for engine authors to support, though it works with
14671 Crafty.  This code was trying to solve the problem of ToStart being
14672 slow because the engine would try to start an analysis after every
14673 "undo" command all the way back to the start.  But ToEnd already had a
14674 much better solution to this problem, and now ToStart does the same
14675 thing: we exit from analysis mode and enter force mode instead,
14676 make/unmake moves to get to the end/start of the game, and then
14677 reenter analysis mode.
14678
14679 * Formerly, Zippy could try to start playing a game before the engine
14680 was initialized; that is, during the initial timeout for protover 1
14681 engines, or before "feature done=1" for protover 2 engines.  We now
14682 wait until the engine is initialized before connecting to ICS, which
14683 fixes this in the common case.  If you turn off engine reuse for
14684 multiple games (that is, if you give the -xreuse option), there could
14685 still be problems; see item 503 in the ToDo file.  Thanks to Dieter
14686 Buerssner for the bug report.
14687
14688 * Bugfix: All WinBoard versions since the merge with WinBoard Plus
14689 (but not xboard) have had a bug in changing the PeriodicUpdates,
14690 PonderNextMove, and ShowThinking options from the menu.  The bug
14691 mostly just caused changing these options during a game to not take
14692 effect until after the next reset.  For TwoMachines games, though,
14693 changing PonderNextMove just before the game would take effect
14694 immediately for the second engine but not until the next game for the
14695 first engine.  Thanks to Koundinya Veluri for the bug report.
14696
14697 * Bugfix: In 4.2.4, we sometimes got confused when trying to leave and
14698 reenter analyze mode.  One symptom was that Analyze File did not work.
14699 Thanks to Igor Syry for the bug report.
14700
14701 xboard/WinBoard 4.2.4 -- Sun Dec  9 14:56:30 PST 2001
14702 Tim Mann
14703
14704 * WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.
14705
14706 * WinBoard's PasteGameFromClipboard will now handle a paste with
14707 multiple games in it, popping up the game list dialog.  xboard
14708 already did this.  Suggested by Robert Gerstman.
14709
14710 * We now use the "clearboard" command on ICC where appropriate.
14711
14712 * Bugfix: don't generate a bogus "variant normal" command to an engine
14713 for the loadable ICC wild types that we internally flag as
14714 VariantLoadable.  Also clarified the message that Zippy sends when
14715 declining such wild games -- it can't deal with the possibility of
14716 loading an arbitrary position into the game.  Thanks to Dieter
14717 Buerssner for reporting the problem.  It would be nice to be able to
14718 actually play these wild types some day; presumably there would have
14719 to be an option to either send "loadgame" with a specified position,
14720 or to deal with an opponent sending it.
14721
14722 * If we get a holdings message from ICS when we thought we were
14723 playing normal chess, we now try asking for a move list so that we can
14724 find out from the header what's really happening.  Formerly we guessed
14725 bughouse in this case.  Response to a comment from Gian-Carlo
14726 Pascutto.
14727
14728 * Fixed two longstanding bugs in the clock code.  These affected only
14729 play between a user and a local engine, or between two local engines,
14730 not ICS play.  (1) The last fractional second used by a player before
14731 moving and virtually pushing his clock was being charged to his
14732 opponent instead of to him.  (2) The time and otim commands were being
14733 sent to an engine before the (buggy) fractional second update was
14734 done.  The second bug was pretty harmless in itself, but the first one
14735 was serious.  Many thanks to Peter Rosendahl for carefully diagnosing
14736 and reporting these bugs!
14737
14738 * Changed WinBoard timestamp key.  Nothing is changed other than the
14739 key and a recompilation.  ICC may phase out the old key soon; if they
14740 do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later
14741 to connect to chessclub.com.
14742
14743 * Fixed an xboard-only bug where most dialogs would not take keyboard
14744 input unless the mouse was actually over the dialog, even if the
14745 dialog window had focus.  Thanks to Jason Varsoke for the bug report.
14746
14747 * Bugfix; Remember to send time and otim commands to engine before
14748 sending playother.  Thanks to Bob Hyatt for the bug report.  Also
14749 fixed a bug where time and otim were sometimes sent even with feature
14750 time=0.
14751
14752 * Added small patches from Wilkin Ng that are meant to fix a crash in
14753 CopyGameToClipboard and a "can't unlock clipboard memory" error in
14754 PasteTextFromClipboard, under Windows 2000.
14755
14756 * Changed cygwin.mak to not use -mno-cygwin.  In other words, it now
14757 uses cygwin1.dll instead of the mingw libraries.  This works around
14758 bugs in fileno() and stat() that I encountered in mingw.  (fileno
14759 seems to always return 0.  stat fails because the library routine uses
14760 a different definition of struct stat than the header files provide.)
14761 Thanks to Robert Gerstman for reporting the symptoms these bugs caused
14762 when WinBoard was compiled with Cygwin.
14763
14764 * Added -showButtonBar option.  This lets you delete the << < P > >>
14765 buttons and thus widen the message widget a bit.
14766
14767 * Added code to address a very obscure bug.  If an engine dies and
14768 needs to be restarted while in one of the analyze modes, it was not
14769 getting put back into analyze mode.  This bug should not really ever
14770 have gotten tickled unless reuse was turned off and the engine sends
14771 game end commands (such as 1-0) when a game ends by rule while in
14772 analyze mode.  The next version of the protocol spec will say that
14773 engines should not do that, but version 2 and earlier didn't address
14774 the issue.
14775
14776 * We now use the FICS "iset ms 1" feature to get times in ms instead
14777 of seconds.  Thanks to DAV for email telling me about this feature.
14778
14779 * Changed clock display to show tenths of seconds for 9.9 seconds and
14780 less, instead of 0.9 seconds and less as before.
14781
14782 * It has been discovered that Zippy can play simuls on ICC (but not on
14783 FICS).  If you arrange for Zippy to send the ICC command "simulize" in
14784 the -zippyGameStart string, it will accept additional games while
14785 playing.  Zippy will use the same engine for every game, so whenever
14786 it switches opponents, the engine's state will be reset with the "new"
14787 command.  This will of course weaken its play, so don't enable simuls
14788 if you want your engine to have the highest possible rating.  Zippy
14789 was never designed to work with simuls; it just works by accident, and
14790 it hasn't been tested much.  So please report any bugs you notice, but
14791 don't expect them to be fixed rapidly.  Thanks to Paul McGuire for
14792 noticing that this works.
14793
14794 * Bugfix: Suppress the direct command to engine popup if there is no
14795 engine.  In WinBoard this case used to cause a crash.  Thanks to
14796 "Dargon" for the bug report.
14797
14798 * Bugfix: formerly we did part of the engine initialization for the
14799 very first game too soon, before feature negotiation.  One result of
14800 this is that engines would never get the "ics" command for the first
14801 game.
14802
14803 * Lengthened timeout to detect protocol version 1 chess engines to 10
14804 seconds.  This should reduce problems with protocol version 2 engines
14805 that are slow to initialize missing the timeout and not getting a
14806 chance to send their feature commands before the first game starts.
14807
14808 * Klaus Friedel says that adding a short sleep to WinBoard after
14809 starting a new chess engine solves a problem that occurs under Windows
14810 2000, in which engines sometimes don't see the initial command(s) from
14811 WinBoard and hang.  I don't understand how that can happen, but the
14812 sleep is harmless, so I've put it in.  Others have also reported what
14813 may be the same problem, so hopefully this will fix it for them too.
14814
14815 * Bugfix: editing the Result field in EditTags will no longer cause a
14816 later crash.  Thanks to DAV for a clear bug report that let me
14817 reproduce the problem.
14818
14819 * ICC wild 28 is now recognized as shatranj, but it is not supported.
14820 You might be able to play it by turning off Test Legality.
14821
14822 * Formerly we would always turn off "feature time" if the engine
14823 printed an error message with the string "time" or "otim" in it; now
14824 we do that only if the message comes before the engine makes its first
14825 move.  This change is useful because some engines spew a lot of bogus
14826 error messages about commands they don't fully parse, so something
14827 like "result 0-1 {White lost on time}" could generate such a message.
14828 Engines shouldn't do that, but if they do, mysteriously turning off
14829 "feature time" is not a good way to react.
14830
14831 * Fixed an infrequently occurring Zippy bug: formerly, resuming from
14832 adjournment by position (that is, with GetMoveList turned off) or
14833 starting/resuming a wild game (nonstandard starting position) would
14834 try to set up the position without putting the engine into force mode
14835 first.  That was probably tolerated by most engines, but if the
14836 position was black-to-play and the engine hadn't set feature
14837 setboard=1, then the fake "a2a3" move (which we use as a kludge to get
14838 black to be on move before sending the edit command) would appear to
14839 be a real move, and the engine might reply to it!  This bug could also
14840 be seen when trying to use Zippy to play a simul -- something that
14841 Zippy was never designed to support, but which seems to mostly work
14842 anyway.  Thanks to Paul McGuire for sending a WinBoard.debug file that
14843 showed the bug occurring.  Some other cases of resuming adjournments
14844 or starting games from nonstandard positions may have been broken too;
14845 I think I've straightened out the problems.
14846
14847 * Agreeing to a draw in the human vs. local engine case formerly did
14848 not work if the human offered first; now it does.  A human's
14849 unsolicited offer is considered valid until he makes another move.
14850 Thanks to Bruce Moreland for the bug report.
14851
14852 * Bugfix: We used to look for just "fr" in Event tags or strings from
14853 ICSes to recognize Fischer Random games.  This caused a lot of false
14854 matches.  Now we look for "wild/fr" instead, which is what FICS uses.
14855
14856 * Bugfix: Clicking on a move in the MoveList window only updated the
14857 displayed position; if a chess engine was active, its state was not
14858 updated.  Thanks to Alejandro Dubrovsky for the bug report.
14859
14860 * Bugfix: The "resign" command from engine to xboard formerly did not
14861 work in ICS (Zippy) mode.
14862
14863 * Bugfix: Formerly we would register a garbage premove if the user
14864 clicked on a piece, then clicked on an edge or outside the board.  Now
14865 such an errant click is ignored.
14866
14867 * Bugfix: GameEnds would send "exit" to an engine in analyze mode even
14868 if we did not actually want to leave analyze mode.
14869
14870 * Bugfix: "feature pause" was being rejected.  We don't currently use
14871 it, but that is no reason to reject it.  Thanks to Gian-Carlo Pascutto
14872 for the bug report.
14873
14874 * Bugfix: when "partner" needed to be sent both to ICS and the engine,
14875 Zippy was erroneously sending the ICS prefix character to the engine
14876 too.  Thanks to Gian-Carlo Pascutto for the bug report.
14877
14878 * Zippy now declines challenges when the engine is not yet ready to
14879 play again, instead of ignoring them.  This is needed so that the
14880 server will let the opponent repeat the challenge.  It might be better
14881 to remember such challenges and accept them when the engine is ready,
14882 but that would be a bit more complicated to implement.
14883
14884 * Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a
14885 built-in alias for "it", not a real command.  So sending "$i foo" gave
14886 an error message instead of doing "it foo".  We now leave out the
14887 alias-suppressing prefix for emotes.
14888
14889 xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001
14890 Tim Mann
14891
14892 * Bugfix: The error message "Variant X not supported by gnuchessx"
14893 formerly could pop up even in -ncp mode.
14894
14895 * Fixed an xboard bug in premove highlighting.  If you had
14896 HighlightLastMove turned on, premoves got highlighted in
14897 highlightSquareColor (yellow) instead of premoveHighlightColor (red).
14898
14899 * Modified premove again.  Now we are back to displaying the move
14900 locally immediately after sending it to the server, as in versions
14901 prior to 4.2.1.  This is good because it lets you register your next
14902 premove sooner.  As a better fix to the problem that the change in
14903 4.2.1 had been trying to address, we now suppress animating the
14904 opponent's move if you have a premove reply pending.  However, it's
14905 probably still a good idea for you to turn off AnimateMoves entirely
14906 if you are trying to play extremely fast games.
14907
14908 * Removed an erroneous patch that left zombie chess engines around
14909 when both sigterm and reuse were turned off.  (Bug was in xboard only,
14910 not winboard.)
14911
14912 * Bugfix: loading a game with autostepping did not work for games with
14913 PGN result "*" (unfinished).  This bug was introduced in 4.1.0, caused
14914 by some outdated code that was supposed to leave you in EditGame mode
14915 after loading an unfinished game.  I fixed this, and also changed it
14916 to leave you in EditGame mode after loading *any* game, but without
14917 changing the tags to say it's an edited game.  It's not really clear
14918 whether that is the best thing is to do here -- ideally, perhaps, the
14919 tags should change to say "edited game" if you actually make any
14920 changes, but that is harder to make work.
14921
14922 xboard/WinBoard 4.2.2 -- Tue Feb  6 20:00:00 PST 2001
14923 Tim Mann
14924
14925 * Fixed a problem introduced in 4.2.1.  In -zippyPlay mode, 4.2.1
14926 started sending the initString immediately after the old game ended,
14927 but then when the next game started, it would still send "force" and
14928 another initString.  Another problem was that the first initString put
14929 the engine out of sync with the displayed board position, though that
14930 might not usually have been noticeable.  This is now changed to do a
14931 full Reset at the end of the previous game, and avoid doing a Reset at
14932 the start of a new game if we are still in BeginningOfGame mode.
14933
14934 * Fixed some limitations in -zippyPlay mode.  The engine was not being
14935 fed the moves or history of games that were displayed but not being
14936 played, so it would get confused if you tried to do something like
14937 examine a game, then enter EditGame mode from somewhere in the middle
14938 of the game.
14939
14940 * Made a small change so that cygwin can compile xboard for Windows
14941 (an X server is required to run it).  Thanks to Volker Zell.  Most
14942 people would probably prefer to run WinBoard on Windows, however; note
14943 that cygwin could already compile WinBoard.
14944
14945 * Added some missing documentation to engine-intf.html: It is okay to
14946 send "feature done=0" even before you receive the xboard and protover
14947 commands, if this is needed to give your engine enough time to
14948 initialize.  See engine-intf.html for more discussion.
14949
14950 * Bugfix: "feature done=0" did not work for the second engine; now it does.
14951
14952 xboard/WinBoard 4.2.1 -- Sat Feb  3 19:52:26 PST 2001
14953 Tim Mann
14954
14955 * Bugfix: in Zippy mode with feature san=1, the elapsed time was being
14956 sent to the engine after the SAN move; for example, "e4 (0:01)" was
14957 sent instead of just "e4".
14958
14959 * It seems that scroll wheel mice with incompletely installed software
14960 (under Windows 95, at least) can send repeated middle button up events
14961 when the wheel is turned.  Moved QuickPaste from middle button up to
14962 middle button down to avoid problems with this.
14963
14964 * A premove is now sent *before* the opponent's move that it replies
14965 to is animated.  The premove itself is no longer displayed (or
14966 animated) when sent; instead, it is displayed when the chess server
14967 echoes it back as a board update.
14968
14969 * Bug fix: in -xreuse mode, xboard was only sending command line
14970 arguments to the engine the first time it was started.  (WinBoard
14971 didn't have this bug.)
14972
14973 * In -zippyPlay mode, we now initialize the chess engine for a new
14974 game immediately after the old game ends.  (In -xreuse mode, this
14975 means starting a new engine process; in the default -reuse mode, it
14976 just means sending "new".)  If the engine supports ping, we don't
14977 accept challenges until the "new" has finished.  This should help
14978 avoid losing time (re)initializing the engine after the game starts.
14979
14980 * We now handle the new FICS field in style 12 that says whether the
14981 clocks are ticking.
14982
14983 * whiteFlag and blackFlag are now reset whenever an ICS board image
14984 arrives, giving autoflag a fresh chance to work.
14985
14986 * Suppressed "geometry error" debug messages unless -debug flag is given.
14987
14988 * Bugfix: avoid core dump on Solaris with -debug flag, caused by
14989 passing NULL to a %s format in GameEnds.
14990
14991 * Added -firstProtocolVersion and -secondProtocolVersion.  This will
14992 allow use of extremely broken engines that hang or die when given the
14993 "protover 2" command.  It should be rarely if ever needed.
14994
14995 * Zippy now strips highlights from player names in the Creating
14996 message; previously the ratings would not be extracted from this
14997 message properly if you had set the highlight variable.
14998
14999 * Bug fix: Zippy with -zp but not -zt used to be fooled by false
15000 partner tells inside channel tells; e.g.:
15001 Garf(24): Garf (your partner) tells you: sit
15002
15003 * Bug fix: when an engine reported its name with the new "feature
15004 myname=" command, we had been putting just that name into the window
15005 title even when in TwoMachines mode.
15006
15007 * By default, WinBoard no longer uses the new feature introduced in
15008 4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess
15009 engine command lines in separate files; instead, the lists are back in
15010 the winboard.ini file.  This gets rid of some problems where the
15011 separate files could not be opened because the working directory was
15012 not set to WinBoard's installation directory.
15013
15014 * WinBoard command lines and ini files now have another optional
15015 syntax for quoting an option value.  All characters within { } curly
15016 braces are interpreted literally except for '}' itself.  SaveSettings
15017 now uses this syntax for string values that contain a backslash or
15018 newline and do not contain a '}'.  This should address the problem
15019 that the separate .ini files had been meant to fix; engine command
15020 line lists can now be written without \-escapes.
15021
15022 * Fixed three bugs in relaying moves between engines in TwoMachines
15023 mode: an engine would be sent SAN if the *other* engine had set
15024 feature san=1, a relayed SAN move did not end with a newline, and
15025 feature usermove was not implemented for relayed moves.
15026
15027 * Fixed several bugs in exiting: File/Exit would sometimes hang;
15028 timestamp/timeseal would not get killed off; an engine crash would
15029 cause error messages to be printed recursively until stack overflow.
15030
15031 * Fixed a bug in the code to detect which ICS is in use and adapt to
15032 it; the chess.net case was broken.
15033
15034 * Removed the leading alias-suppression character when sending a move
15035 to ICS, because it seemed to break accuclock on chess.net.
15036
15037 * Fixed a bug where a FICS prompt like "10:01_fics%" would be matched
15038 as finger note number 10, causing a problem detecting when the user is
15039 logged in.
15040
15041 * Added tellicsnoalias command to protocol.
15042
15043 * Changed st command in protocol back to old behavior.
15044
15045 * Added done=0 feature to protocol, to lengthen initial timeout.
15046
15047 * Added missing -colorSeek command line option to xboard.  (Was
15048 present in WinBoard.)
15049
15050 * Bug fix: setting feature reuse=0 was not working.
15051
15052 xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000
15053 Tim Mann
15054
15055 * Setting -searchTime no longer turns off -clockMode.  Note that when
15056 -searchTime is set, some engines may search for the lesser of
15057 searchTime and the amount of time their normal clock management would
15058 dictate, while others will disable their normal clock management and
15059 always search for exactly searchTime.
15060
15061 * Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the
15062 ICS Interaction window would scroll back to the top whenever it filled
15063 to capacity and WinBoard trimmed some text off the top.
15064
15065 * Changed xboard dragging so that the center of the dragged piece is
15066 forced to be over the mouse cursor.  (WinBoard dragging already worked
15067 that way.)  This should avoid confusing cases when you start a drag
15068 with the mouse near the edge of a square -- formerly most or all of
15069 the piece could be over one square but the mouse cursor over another.
15070 Suggested by DAV.
15071
15072 * Added move list window for xboard.  Code contributed by Manuel
15073 Hoelss and re-hacked a bit by me.  Performance of this window is poor,
15074 because the implementation regenerates the entire window contents
15075 whenever anything changes.  It's hard to avoid this when using the
15076 Athena List widget, though we could be a little smarter and notice
15077 when the current move number has changed but the move list has not.
15078 There are also several drawing problems caused by bugs in the Athena
15079 Form and List widgets.  The window should not really allow a
15080 horizontal scroll bar, but the bugs are much worse if I turn it off.
15081 In both Xaw and Xaw3d, the List widget tries to resize itself when
15082 XawListChange is called, even if you tell it not to; and what's worse,
15083 if the widget cannot resize itself to be large enough to avoid
15084 clipping any of the list item, it does not change the list!  Arrgh.
15085 On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1
15086 (X11R6.4.3).
15087
15088 * The OK button in the WinBoard startup dialog is now simply disabled
15089 if none of the radio buttons is selected, instead of bringing up an
15090 error dialog.  Suggested by Ted Milbaugh.
15091
15092 * Used ping to address the worst of the race conditions in the
15093 protocol.  Now if an engine supports ping, we ping it after sending
15094 the "new" command and after trying to place it in force mode at the
15095 end of a game.  When a ping has been sent and the corresponding pong
15096 has not yet come back, we (1) ignore or undo any moves the engine
15097 sends, (2) ignore game end messages (such as "offer draw", etc.) from
15098 the engine, (3) ignore thinking output from the engine, (4) delay
15099 starting the next game if in -matchGames mode, (5) in -zippyPlay mode,
15100 respond to challenges with a polite message to try again soon instead
15101 of accepting them.  There are a few more things that should be done
15102 (and item 5 might not be quite what we want), but it's hard to fit
15103 them all into the existing code.
15104
15105 * Patched the version of GNU Chess 5.00 included with WinBoard to
15106 support protover, feature, setboard, and ping, and to fix some minor
15107 bugs.  See gnu500+.patch.
15108
15109 * Changed the GNU Chess 4 kludges for missing "st" and "sd" commands
15110 to be invoked only if the engine gives an error message for "st" or
15111 "sd", and to always use protocol commands instead of engine
15112 command-line options.  See "Idioms" in engine-intf.html.
15113
15114 * Added new protocol command "protover 2" to tell the engine what
15115 version of the protocol is in use.  Version 2 is still compatible with
15116 old engines; see engine-intf.html.
15117
15118 * Add new protocol command "feature ..."  The engine can send this in
15119 response to the protover command command, to say what extended
15120 protocol features it would like to enable, etc.  xboard responds
15121 "accepted F" or "rejected F" for each feature F that is set.  See
15122 engine-intf.html.
15123
15124 * Added new protocol command "setboard <fen>".  This is an alternative
15125 to "edit", used only if the engine says "feature setboard=1".
15126
15127 * Added new protocol command "ping <msg>".  The engine is supposed to
15128 respond "pong <msg>".  This gives us a tool to fix some race
15129 conditions in the protocol, but it is not used to the fullest yet.
15130
15131 * Added new protocol command "tellopponent".  This will do a "say" if
15132 you're on a chess server in Zippy mode, or pop up an information
15133 dialog otherwise.
15134
15135 * Added new protocol command "tellall".  This will do a "kibitz" if
15136 you're on a chess server in Zippy mode, or pop up an information
15137 dialog otherwise.
15138
15139 * Added new protocol command "tellothers".  This will do a "whisper" if
15140 you're on a chess server in Zippy mode, or do nothing otherwise.
15141
15142 * Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,
15143 and /secondChessProgramNames options to accept a filename preceded by
15144 "@", meaning to find the value in the file.  Changed the defaults to
15145 use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,
15146 and scp.ini.  This should make it easier for users to edit the values,
15147 since one less level of quoting is needed, and each value is in its
15148 own file, not mixed into winboard.ini.  Those who upgrade from an
15149 older winboard version and already have a winboard.ini file will not
15150 automatically have these values moved to a file; that has to be done
15151 by hand if desired.
15152
15153 * We now strip .exe from engine names for "name" command, tags, etc.
15154
15155 * Allowed WinBoard input widget to hold more than one line.  You can get
15156 a newline into the widget with copy/paste or with Ctrl+Enter.
15157
15158 * Fixed an xboard bug where the [P] button would appear in the
15159 opposite highlight state from what it should be after being pressed.
15160
15161 * We now use the "/" or "$" alias suppression feature on the chess
15162 servers, to avoid problems if the user inadvertently aliases a
15163 needed command to something else.
15164
15165 * Changed the method used to deiconize xboard in AutoRaise and cmail.
15166 This may fix bugs under some window managers where after
15167 deiconization, the board window was mapped but nothing was drawn
15168 inside.
15169
15170 * Preliminary, partial support for playing several chess variants
15171 against a local engine or editing variant games.  The -variant option
15172 must be given on the command line or WinBoard startup dialog; there is
15173 no menu.  The current variant is not displayed (except in the
15174 Tags/EditTags window).  Many variants will not work quite right even
15175 if the engine supports them; see item 326 in the ToDo file for
15176 details.
15177
15178 * Added a workaround to detect the variant type when examining a
15179 scratch wild game on an ICS.
15180
15181 * Fixed two cases where "variant" command should be sent to the engine
15182 when necessary but was not: loading a game from a file and restarting
15183 a dead engine.  Thanks to Gian-Carlo Pascutto.
15184
15185 * Added missing support for FICS games that start from a bsetup position
15186 with Black moving first.
15187
15188 * Fixed a bug in loading a file from the game list window while in
15189 Analysis or AnalyzeFile mode.  This now leaves us in AnalyzeFile
15190 mode, analyzing the new file.
15191
15192 * Fixed a bug in loading games with a comment before the first move.
15193
15194 * Fixed a bug in handling LoadGame (or -lgf) with -td 0.
15195
15196 * Added a command line option to select an initial minor mode from the
15197 Mode menu.  This should satisfy requests from a couple of users with
15198 special applications.
15199
15200 * Fixed a problem where some things in WinBoard's General Options
15201 dialog box were grayed out at the wrong time.
15202
15203 * We look for a few messages from the chess engine pipe that are
15204 intended to catch problems starting an engine via rsh, such as "No
15205 such file".  Moved code so that these strings won't match until other
15206 protocol messages have been looked for, and documented the messages in
15207 engine-intf.html.
15208
15209 * Fixed the WinBoard bug that sometimes made the console input box
15210 white-on-white even when not in password-entry mode.
15211
15212 * Small changes to WinBoard to be compilable with the latest Cygwin
15213 net release (as of 10-16-2000).  Thanks to Mark Schoenberg.
15214
15215 * Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net
15216 release (as of 10-16-2000).  Also rebuilt the book just to be sure,
15217 since I had one bug report about it.  It came out identical and seems
15218 to work fine.
15219
15220 * Added messages for some common InstallShield errors instead of just
15221 printing InstallShield's stupid error code numbers.
15222
15223 * Added -firstComputerString and -secondComputerString, allowing you
15224 to suppress or change the command that is sent to a chess engine when
15225 its opponent is another computer.
15226
15227 * Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead
15228 of Xaw widgets in xboard.  Thanks to Johnny C. Lam of the NetBSD
15229 project.  I've left Xaw as the default because Xaw3d is too ugly.
15230
15231 * The version of the Xaw Form widget released in XFree86 4.0.1
15232 (X11R6.4.3) has a bug that causes xboard to display the button bar
15233 on top of the message widget.  I've reported the bug and have
15234 installed a kludge workaround into xboard.
15235
15236 xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000
15237 Tim Mann
15238
15239 * Merged Winboard Plus 4.0.8 from Mark Williams into xboard
15240   source pool.  Status of Winboard Plus features in xboard:
15241
15242   - White pieces now have borders, but the implementation is
15243     completely different from WinBoard's; see below.
15244
15245   - Options menu not changed, probably won't be.
15246
15247   - Copy&paste support working, using Mark's changes to backend.c, Ben
15248     Nye's changes to xboard.c for FEN positions, and some code of my
15249     own in xboard.c for PGN games.
15250
15251   - Premove hooked up and working.  No pre-first-move, though.
15252
15253   - ICS Alarm hooked up and working.
15254
15255   - Auto-flip working.
15256
15257   - PGN Training mode hooked up and working.
15258
15259   - Improved menu item enable/disable working.
15260
15261   - Improved >> button working.
15262
15263   - Auto activate board working.  I changed this to be optional; you
15264     might not always want it, especially in Zippy mode.
15265
15266   - Blindfold working.
15267
15268   - Documentation updated.
15269
15270 * Fixed more colorization bugs.  Commands like "message foo tells you:
15271 xxx" and "tell 33 tells you: xxx" will no longer generate bogus
15272 colorization.
15273
15274 * Added low-tech sound support to xboard, by invoking an external
15275 program on a filename for each sound to be played.
15276
15277 * ICC wild 27 is now recognized as VariantAtomic, and it sets the
15278 "ignore check" flag, but is not otherwise supported.
15279
15280 * Converted the piece bitmaps from .bm to .xpm for use with xboard's
15281 xpm support.  (An .xim version was not created.)  Wrote a shell script
15282 using ImageMagick to do the conversion and to bucket fill from
15283 coordinate 0,0 with the background color.  Used xpaint by hand to
15284 clean up a few pieces where background color "leaked" into the inside
15285 or didn't flow all the way around the outside, then a sed script to
15286 fix up color names and bitmap names in the xpaint output.  If any more
15287 sizes are added later, they should be straightforward to convert with
15288 reference to the existing scripts.  With this conversion, not only do
15289 the white pieces now have dark borders, but (unlike with WinBoard) the
15290 light details on the black pieces are opaque.
15291
15292 * If the XPM library is found when building xboard, the new xpm pieces
15293 are compiled in as the default.  External bitmap (or xpm) pieces can
15294 still be used by giving the -bitmapDirectory (or -xpmDirectory)
15295 option.  If the XPM library is not found, the old bitmap pieces are
15296 the default.  In this case external bitmap (or xim) pieces can be used
15297 by giving the -bitmapDirectory (or -xpmDirectory) option.  There is no
15298 way to compile in xim pieces.
15299
15300 Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000
15301 Mark Williams
15302
15303 * Bugfix release.
15304
15305 * Main menu now visible in Win NT.  Thanks to Microsoft for creating a
15306 compiler which auto-mutilates the WinBoard.rc file so that the menu is
15307 displayed under Win 98 but not Win NT.  I fixed the problem by hand editing the
15308 .rc file.  Sigh.
15309
15310 * "Reset game" now works properly when invoked from Analysis mode when two
15311 engines are present. Correction of bug introduced in Winboard Plus. Thanks to
15312 Mogens Larsen for reporting the bug.
15313
15314 * Pasting a FEN position with Black to move now works in all modes.
15315 Thanks to Mogens Larsen for reporting the bug.
15316
15317 * Added gnuchess.dat to the distribution and a couple of text files that were
15318 missing in 4.0.7.
15319
15320 *** Merged in the following changes from Tim Mann:
15321
15322 * Bugfix: Highlights would sometimes not be taken down, at least in
15323 xboard.  The problem is that SetHighlight works in chess coordinates,
15324 not view coordinates, so if flipView has been toggled since the
15325 highlight was put up, it gets taken down from the wrong square.  Fixed
15326 by being careful to call ClearHighlights before toggling flipView, not
15327 after.  Ugh.
15328
15329 * Bugfix: HighlightLastMove would sometimes highlight square a1 after
15330 a FICS "tomove black" command.
15331
15332 * Bugfix: a move list with initial position that has black to play was
15333 not being handled correctly.
15334
15335 * Removed "decline abort" and "decline adjourn" commands from Zippy.
15336 The syntax is changing on FICS, and Zippy really doesn't have to
15337 explicitly decline the requests anyway; it's sufficient to not accept
15338 them.
15339
15340 * ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC
15341 calls it "giveaway").
15342
15343 * Bugfix: PGN games with black to move in the initial position weren't
15344 being legality checked correctly.  I think this was introduced in
15345 4.0.6 when I fixed a different PGN bug.  Thanks to Mark Williams for
15346 spotting the bug and suggesting a fix.
15347
15348 * Bugfix: the initial "name(" of a kibitz wasn't being colorized.
15349
15350 Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000
15351 Mark Williams
15352
15353 * New white pieces with black borders.
15354
15355 * Major overhaul to Options menu. New dialogs for setting General Options,
15356   Board Options, ICS Options, Sounds, Fonts, Colors.
15357
15358 * Clipboard support for PGN game scores and FEN positions.
15359
15360 * Optional ICS Premove with user-specified first moves for White and Black.
15361
15362 * New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.
15363
15364 * New auto-flip option when playing against a chess program.
15365
15366 * Added PGN Training mode.
15367
15368 * Certain menu options now disabled while program is thinking.
15369
15370 * ">>" button now always goes to the end of the game.
15371
15372 * In ICS mode, the board is automatically activated at the start of a
15373 new game.
15374
15375 4.0.7 -- Sun Mar  5 17:17:49 PST 2000  Tim Mann
15376
15377 * Fixed a nasty bug in parsing ICS game histories that was introduced
15378 in 4.0.6.
15379
15380 4.0.6 -- Fri Mar  3 16:20:11 PST 2000  Tim Mann
15381
15382 * Fixed bugs in Zippy's code for responding to messages sent with the
15383 ICS "message" command.
15384
15385 * Fixed bugs where xboard could still create dialogs partially off the
15386 top of the screen.  Fixed unwanted interactions between initial sizes
15387 and positions of various unrelated xboard dialogs.  Deleted
15388 borderXoffset and borderYoffset resources.
15389
15390 * Fixed restoring the xterm name on exit to work in more cases.
15391
15392 * Small fix to the WinBoard self-extracting installer: when it starts
15393 up, it now always deletes any old wb-setup directory left over from a
15394 previous installation.  Formerly this worked only on Windows 95/98, so
15395 on NT the self-extractor would sometimes stop and ask the user whether
15396 it was OK to overwrite the old wb-setup files.
15397
15398 * Modified WinBoard to be compilable with the free Cygwin tools
15399 available from http://sourceware.cygnus.com/cygwin/.  Based on work by
15400 Mark Schoenberg.  (His mods were enough to get WinBoard through the
15401 compiler, but a few things were broken along the way, so I reworked them.)
15402
15403 * Merged changes from Don Fong to make WinBoard compilable with
15404 Borland C++ 4.5.  I do not have Borland C++ and am unable to test with
15405 it, but I did make sure the changes don't stop it working with MSVC++
15406 5.0 and Cygwin.
15407
15408 * Forbade entering TwoMachines mode from MachineWhite or MachineBlack
15409 mode when machine is on move.  This used to confuse the engine and
15410 cause problems, because when we try to get the engine to stop, it
15411 might make a move first, and it might not do that immediately.
15412
15413 * Variant classification now deals with new ICC wild 25, classifying
15414 it as "3check".  Also, we are now conservative about new wild numbers
15415 we don't know about, classifying them as "unknown" instead of
15416 "normal".
15417
15418 * Replaced bad GNU Chess 5.00 book in WinBoard distribution with a
15419 correct one.  1.e4 now no longer takes GNU Chess 5.00 out of book!
15420 Thanks to Pete Galati.
15421
15422 * Made move parser accept and ignore nonstandard ep suffix on PGN moves,
15423 e.g., "exf6ep" or "exf6e.p."
15424
15425 * Fixed bugs in parsing PGN files starting with no move number, or
15426 with a move number other than "1." (including "1...").  Thanks to
15427 Michael Soulier and Stefan Zipproth for example PGN files
15428 demonstrating the bugs.
15429
15430 * Changed InitComboStringsFromString to not modify the input string;
15431 this caused an exception when WinBoard was compiled with MSVC++ 6.
15432 Thanks to Bert Tuyt for the report.
15433
15434 * In WinBoard, dragging a piece off the edge of the board without
15435 releasing the mouse button no longer instantly aborts the move.  You
15436 still must release the mouse button inside a square to complete a
15437 move, but you can now drag off the edge and come back inside.
15438
15439 * WinBoard bugfix: If you went into EditGame or EditPosition mode
15440 while observing or playing an ICS game, and a new move came in
15441 (snapping you back to ICSClient mode) while you were dragging a piece
15442 around, the drag state would not be reset, causing the piece you were
15443 dragging to remain on the board wherever you dropped it.  Thanks to
15444 David Brinegar for the bug report.
15445
15446 * WinBoard bugfix: If you moved or resized the board while your
15447 opponent was moving, and you had AnimateMoving on, his move would not
15448 be displayed until after your next move.  Thanks to DAV for reporting
15449 the bug repeatedly until I finally understood it.
15450
15451 * Added a Zippy "farewell" feature; see zippy.README.
15452
15453 * Fixed a bug (xboard only) in processing -zippyReplayTimeout on the
15454 command line.  Thanks to Steve Beer for the report and patch.
15455
15456 * Send "computer" command to both sides in TwoMachines matches.
15457
15458 * Fixed a Y2K bug in Evan's cmail code!  Thanks to Brian Mays for the
15459 report and patch.
15460
15461 * Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.
15462 This could cause crashes in LoadGame.  Thanks to Andrzej Nagorko.
15463
15464 * Fixed several pattern matching problems: Finger notes and formula
15465 vars no longer get replied to by zippyTalk or colorized.  Channel
15466 tells by players with many titles are now colorized fully, and
15467 zippyTalk handles channel tells by such players correctly.  The shout
15468 "--> foo(99): bar" no longer gets colorized as a channel tell.  Code
15469 is cleaned up a bit, and autocomment capture now uses the same
15470 criteria as colorization.
15471
15472 * xboard fix: Enter key now closes error popups as in WinBoard.
15473 Especially nice for the "Exiting: Connection closed by ICS" popup.
15474
15475 4.0.5 -- Tue Dec  7 10:30:40 PST 1999  Tim Mann
15476
15477 * Added missing documentation of SIGTERM usage into engine-intf.html.
15478
15479 * Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as
15480 -zippyReplyTimeout.  Thanks to Francesco Di Tolla.
15481
15482 * xboard -ics now restores the xterm's original title upon exit, at
15483 least if $WINDOWID is set.
15484
15485 * Bugfix: -matchGames mode wasn't terminating properly.  Final score
15486 popup would come up twice and engines would not be killed off.  Thanks
15487 to Frank Quisinsky for the bug report.  Bug was introduced in 4.0.4.
15488
15489 * Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;
15490 similarly for "...s-shouts:" and "...c-shouts:".  Thanks to David Lee
15491 for the bug report.
15492
15493 4.0.4 -- Fri Dec  3 17:51:27 PST 1999  Tim Mann
15494
15495 * Bug fix: formerly if you invoked SaveGame from EditPosition mode
15496 with black to play, the position was not saved properly.  As a quick
15497 fix, SaveGame now takes you out of EditPosition mode before saving.
15498
15499 * Changed -matchGames to keep track of the score (won-lost-drawn) and
15500 display it in the banner.  The final score is displayed in a modal
15501 popup before the program exits.
15502
15503 * Changed "Connection closed by ICS" to display in a model popup
15504 before the program exits.
15505
15506 * Added -popupExitMessage option, default on.  Setting this to false
15507 suppresses the modal popups that you sometimes get just before
15508 xboard/winboard exits -- both the two new ones listed above and the
15509 existing Fatal Error popup.  This is useful when running Zippy
15510 unattended from a shell script (or .bat file) that loops and starts a
15511 new copy after a time delay when there is an error.
15512
15513 * In xboard, added missing support for WM_DELETE_WINDOW to all
15514 windows.  This makes xboard a better citizen, and is much needed with
15515 the newer X window managers that put an [X] button on every window and
15516 bind it to "kill application" if the applicationd does not support
15517 "delete window".  We can't allow xboard to be thoughtlessly killed,
15518 since that leaves the chess engine running in the background.
15519
15520 * We now avoid positioning tops of xboard dialog boxes offscreen.
15521
15522 * zippy.lines can now use the caret ('^') character as an inter-saying
15523 separator. You no longer need to dig up a text editor that can put NUL
15524 ('\000') characters in text files.
15525
15526 * Bugfix: In traditional chess clock mode, White now gets time added
15527 to its clock as soon as it makes time control.  Previously both White
15528 and Black got their time added only when Black made time control,
15529 which would cause some engines to make their 41st move as White too
15530 quickly, thinking they were low on time.
15531
15532 * The zippyAcceptOnly feature no longer sends a decline command or
15533 a tell.  Thus you can use it to put Zippy into a manual accept mode.
15534
15535 * Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a
15536 personal tell; similarly for "...whispers:" and "...kibitzes:".
15537
15538 * WinBoard no longer blanks the message line when you start a new
15539 move, unless there was an error message there from the previous move.
15540
15541 * WinBoard now never puts the white piece drop menu on the middle
15542 mouse button.  Both colors are always on the right button.  Windows
15543 users often don't think to look for a middle button menu, or don't
15544 really have a working middle button despite what Windows says.
15545
15546 * Guest login handles on ICC are now parsed again; an ICC wording
15547 change had broken this feature.
15548
15549 * Autodetect when the engine does not support the "draw" command and
15550 don't relay the command to it in that case.  Needed because sending an
15551 unsupported command to GNU Chess makes it move immediately, so people
15552 could make Zippy move without thinking by continually offering a draw.
15553 Thanks to Frank Walker for the problem report.
15554
15555 * Small changes based on code from Robert Jurjevic: The WinBoard
15556 analysis window can be minimized (though not to the taskbar).  The
15557 WinBoard ICS Interaction window will autoscroll if you drag the mouse
15558 above or below the window while selecting, and password entry mode
15559 leaves the entry line as the background color instead of using 75%
15560 gray.  Seeks are now colorized with a new color of their own.
15561
15562 * Added -zippyMaxGames feature.
15563
15564 * -zippyNoplayCrafty command line option was missing in xboard; fixed.
15565 Thanks to John Perry.
15566
15567 * Fixed bug in detecting when Zippy loses his bughouse partner.
15568 Thanks to Ben Dean-Kawamura.
15569
15570 * allobs fix in 4.0.3 didn't work; corrected it.
15571
15572 * WinBoard will now update the board immediately if a move is made
15573 while the window is being moved or resized.
15574
15575 4.0.3 -- Sun Aug 15 18:44:39 PDT 1999  Tim Mann
15576
15577 * Bugfix: moved winboard wizard functions that send a command directly
15578 to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.
15579 Ctrl+Alt is equivalent to the European AltGr key, so the old assignments
15580 conflicted with typing an @-sign on some keyboards.
15581
15582 * Bugfix: prevent "If this message stays up, your chess program does
15583 not support analysis" from appearing if AnalysisMode is selected when
15584 already in Analysis or AnalyzeFile mode.  Also, deleting analysis window
15585 in WinBoard now switches you to EditGame mode, to avoid the anomaly of
15586 being in an analysis mode with no analysis window present.
15587
15588 * Change all Zippy environment variables to work as command line
15589 options.  For now they still work as environment variables too, but
15590 the environment variables are deprecated.
15591
15592 * Use unsigned long to hold node counts from engines.
15593
15594 * Print error instead of crashing on attempts to use xpm or xim pieces
15595 in monochrome mode.  Thanks to Jim Torrance for the bug report.
15596
15597 * Tightened pattern recognition for ICS messages sent to Zippy; should
15598 no longer match ICC allobs output.  Fixed recognition of when Zippy is
15599 sent a message; small change to FICS output had broken it.
15600
15601 * Zippy now exits if the engine dies unexpectedly.
15602
15603 * Added Zippy "spoofedby" feature; see zippy.README.
15604
15605 * Narrowed the margins on some older WinBoard dialogs to make their
15606 style uniform with the newer ones.
15607
15608 * Bugfix: Changing Ponder Next Move from the Options menu did not take
15609 effect until the next game.  This bug was in WinBoard only.  Thanks to
15610 Stefan Zipproth for the bug report.
15611
15612 * Got rid of "Internal error: bad move type" message when the engine
15613 makes a move that we can parse but think is illegal.  Now the move is
15614 just passed on (which also may be the wrong thing to do).
15615
15616 4.0.2 -- Thu Feb 25 19:55:32 PST 1999  Tim Mann
15617
15618 * Added one more built-in sound choice to WinBoard: move.wav from Pete
15619 Galati.
15620
15621 * Added new larger piece sizes: big, huge, giant, colossal, titanic.
15622
15623 * Modified the xboard font searcher to be able to use scalable fonts.
15624 The new -fontSizeTolerance flag controls how closely a nonscalable
15625 font must match to be used in preference to a scalable font.
15626
15627 * Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control
15628 whether Zippy will accept abort and adjourn requests.
15629
15630 * We now determine the variant type being played on ICS, send it as a
15631 command "variant VARTYPE" to the chess engine (if in Zippy mode), and
15632 put it in the PGN tags.  See engine-intf.txt for variant names.  See
15633 ZIPPYVARIANTS in zippy.README to control what variants Zippy will
15634 accept.  Note that this now applies to bughouse, too.
15635
15636 * Zippy now won't do -zippyTalk in a channel unless his handle is
15637 mentioned there.
15638
15639 * Zippy now ignores bughouse holdings if not actually playing, instead
15640 of stupidly trying to abort the game.  Let me know if other strange
15641 things happen when Zippy is observing a game.
15642
15643 * Set ICS Interaction title bar to "user@server".  User name is
15644 determined by parsing message during the login sequence.  Zippy now
15645 uses this method to get its name too, so ZIPPYNAME is eliminated.
15646 Problem: with xboard, the title bar gets set to "xterm" upon exit,
15647 since we didn't know what it was to start with.
15648
15649 * Fixed xboard-only bug in -colorChannel1 command line option.  Thanks
15650 to Fredrik Sandstrom for the bug report and fix.
15651
15652 * Check for overflow of MAX_MOVES.  Still not sure this is checked for
15653 everywhere it needs to be.
15654
15655 * Added .epd to suffixes recognized by WinBoard as position files.
15656 This is a bit of a kludge, as the .fen reading code was not written
15657 with .epd files in mind, but reading them with it is said to work.
15658
15659 * Added ZIPPYGAMESTART feature, suggested by Jason Hoblit.  See
15660 zippy.README.
15661
15662 * Restored the feature of soaking up the moves from a user-typed "moves",
15663 "oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but
15664 changed it so that the move list is also echoed to the screen.  Some folks
15665 still liked the old feature since it is faster than examine mode, and
15666 printing the moves to the screen should eliminate the confusion it caused
15667 for other people.
15668
15669 * Bugfix: in WinBoard, starting a click-click move and then clicking on
15670 a black line would cause the source square to be forgotten without taking
15671 the highlight down.  Now the errant click is ignored.
15672
15673 * Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's
15674 File menu.  Thanks to Andreas Stabel for the bug report.
15675
15676 * Bugfix: if you had a completely full ICS context menu in WinBoard
15677 (90 items), the last one would do nothing if selected.
15678
15679 * The "computer" engine command added in 4.0.1 was not working; I had
15680 left out part of the code patch.  Oops.
15681
15682 4.0.1 -- Fri Feb 12 21:24:15 PST 1999  Tim Mann
15683
15684 This is a minor bugfix release.  The first item listed below is the
15685 only interesting new feature.
15686
15687 * You can now type in moves from the keyboard in WinBoard.  Either
15688 select TypeInMove from Step menu, or (if you are not in ICS mode),
15689 just start typing.  In ICS mode you can type moves into the ICS
15690 interaction window anyway, so I've retained the feature that typing
15691 switches you there.  Not implemented in xboard.
15692
15693 * Removed the "noise 1000" command that used to be sent to the chess
15694 engine when entering analysis modes.
15695
15696 * Deleted the feature where we soak up the output of a user-typed ICS
15697 "moves" or "oldmoves" command.  This ancient feature is not really
15698 useful anymore, now that "examine" exists, and it caused a lot of
15699 complaints.
15700
15701 * Increased maximum size of ICS text menu to 90 entries and added
15702 overflow checking.
15703
15704 * The command sent to ICS by Zippy at the end of each game can now be
15705 customized with the ZIPPYGAMEEND environment variable.
15706
15707 * We treat xboard.info as a pseudo-source since most people don't have
15708 the tools to rebuild it.  But "make install" erroneously had a
15709 dependency on it, even though "make all" did not.  Fixed.
15710
15711 * Miscellaneous minor updates and clarifications to engine-intf.txt.
15712 In particular, documented the st and sd commands (support for command
15713 line options -searchTime and -searchDepth), warts and all.
15714
15715 * Added a small code patch from Bob Hyatt to detect when Zippy's ICS
15716 opponent is a computer and send the command "computer" to the engine.
15717 Added this command to engine-intf.txt.  Thanks, Bob.
15718
15719 * Bugfix: configure was looking for usleep(), but config.h.in didn't
15720 have an entry for it, so HAVE_USLEEP was never defined.  Also, in the
15721 non-HAVE_USLEEP case, there was a possible race condition between the
15722 signal handler and the pause() call.  Thanks to Ben Dean-Kawamura for
15723 the bug reports.
15724
15725 * Bugfix: a "1..." preceding Black's first move (usually present if
15726 there is a comment on White's first move) would cause the parser
15727 to think a new game started there and report "End of game" on the
15728 current game.  Thanks to Dell Garner for the bug report.
15729
15730 * Changed the abbreviation for -searchDepth from -sd to -depth to fix
15731 a clash with -secondDirectory.
15732
15733 * Changed -searchDepth to be orthogonal to the various timing options.
15734 Previously it would search for an unlimited time to the given depth;
15735 now the engine is allowed to choose its search time in the normal way,
15736 but is told to cut off the search early if it reaches the given depth.
15737
15738 * Bugfix: SaveSettings in WinBoard was saving both the long form
15739 option highlightSquareColor and its abbreviation (hsc).
15740
15741 * Fixed a redisplay bug in DisplayBothClocks that could cause White's
15742 clock to be highlighted in EditPosition mode when Black's should have been.
15743
15744 * Fixed Zippy's feature of passing on draw offers from the ICS opponent.
15745 The colorization code was eating the offer before Zippy saw it, so I disabled
15746 colorization of offers while in -zp or -zt mode.  (Other types of
15747 colorization are already disabled in Zippy mode for similar reasons.)
15748
15749 * Added some more commands to the default ICS context menu in WinBoard,
15750 and put "(name)" on the ones that insert a playername (or game number).
15751
15752 * Added missing documentation to WinBoard help file: PonderNextMove, the
15753 -ponder/-xponder argument, and the up/down arrow history feature in the
15754 ICS Interaction window.
15755
15756 * Fixed ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,
15757 not if some other Crafty is observing the game and kibitzes.
15758
15759 * Fixed bugs in generating "partner" commands when Zippy is playing
15760 bughouse.
15761
15762 4.0.0 -- Sat Jun 20 16:59:47 PDT 1998  Tim Mann
15763
15764 * Fixed WinBoard resizing so that the edges you do not drag remain in
15765 place, even when the final size is different from what you dragged to.
15766 (This doesn't work on NT 3.51 or earlier, if anyone cares.)
15767
15768 * Fixed problems with resizing WinBoard on Windows NT: you no longer get
15769 whitespace around the board, a clipped board, or a lot of flashing during
15770 the drag.
15771
15772 * Added customization for highlight-square color.
15773
15774 * Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't
15775 work in WinBoard.
15776
15777 * Added Index Number field back to LoadGame/LoadPosition dialog boxes in
15778 WinBoard.  This required some extra code to work with both the
15779 Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes.  Ugh.
15780
15781 * WinBoard startup dialog now understands -zp mode.  The first chess
15782 engine selector is enabled and the value is used.
15783
15784 * Bugfix: ResetGame would send "exit" to engine twice if it was in an
15785 analysis mode.
15786
15787 * Bugfix: The response "Illegal move: bk" to the "bk" command, indicating
15788 that it is not implemented, would confuse xboard.
15789
15790 * Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message
15791 saying that some bogus string (often "Hint:") is illegal.
15792
15793 * Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.
15794
15795 3.6.12 -- Sat Jun 13 14:57:10 PDT 1998  Tim Mann
15796
15797 Beta test release of xboard and WinBoard.
15798
15799 * Spruced up xboard man page a bit.
15800
15801 * Added Highlight Last Move to xboard too.
15802
15803 * The revamped xboard mouse click code had several more bugs than the
15804 previous version, so I revamped it again.  All fixed now, I hope.
15805
15806 * xboard bugfix: crash in CreatePieceMenu.
15807
15808 * Oops.  winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.
15809
15810 3.6.11 -- Fri Jun 12 20:00:48 PDT 1998  Tim Mann
15811
15812 Beta test release of xboard and WinBoard.
15813
15814 * Major reorganization to engine-intf.txt.  Some new features added,
15815 many existing features clarified and hints for engine programmers added.
15816 Support for new features added to program.
15817
15818 * Changed defaults for -scp (etc.) back to being independent of -fcp, as
15819 in 3.6.2. That is, the default is no longer to copy the value from -fcp if
15820 -scp is not specified.  This will sometimes make command lines longer but
15821 will remove some confusing situations.
15822
15823 * Split -reuseChessPrograms into two options: -reuseFirst and
15824 -reuseSecond.  Fixed obscure bugs when reuse is off.
15825
15826 * Detect ICC and change some command usage slightly there: only ICC has
15827 set-quietly; only FICS has iset and bsetup clear.  With this feature, we
15828 can now safely use bsetup clear when appropriate instead of deleting each
15829 piece one by one.
15830
15831 * Added indent to lines that are wrapped by WinBoard ICS Interaction
15832 window.  This seems to tickle a Microsoft bug in the RichEdit control:
15833 occasionally the start of the next line after the wrapped line is indented
15834 too.  I think the wrapped indent feature is useful enough that it's worth
15835 having in spite of the bug.
15836
15837 * WinBoard bugfix: bounding box for the board was computed incorrectly by
15838 mouse code.  It would think you moved off the bottom of the board before
15839 you really did, so it was hard to drag pieces along the bottom rank on
15840 smaller board sizes.
15841
15842 * Fixed obscure parser.l bug: ambiguity between capture using : instead of
15843 x and email header line.  Also removed or simplified a lot of complex
15844 patterns for English (as opposed to PGN) end-of-game indications while I
15845 was in there.
15846
15847 * Added PonderNextMove option.
15848
15849 * xboard EditPosition piece menus now let you set the side to play by
15850 selecting the "White" or "Black" label at the top of the menu, like
15851 WinBoard.  (Both xboard and WinBoard still let you set the side to play by
15852 clicking on the clock.)
15853
15854 * Merged documentation of Crafty and GNU Chess thinking output in
15855 engine-intf.txt.  Corrected code in backend.c to match documentation; it
15856 used to require the PV to start in column 27 (!).
15857
15858 * Fixed bug that caused crashes in "-reuseChessProgram false" mode.
15859
15860 * Draw by agreement in Two Machines mode now works as it is supposed to.
15861 Other minor bugs in handling game end messages from machines are also
15862 fixed, and engine-intf.txt is revised in this area.
15863
15864 * Revamped xboard code for handling mouse clicks on the board.  In
15865 particular, it had a bug if a click-click promotion move was made.
15866
15867 * Fixed and reinstated optimization for << in analysis modes: send
15868 initString and re-send the board if needed.  Sending repeated undos
15869 is bad because Crafty prints some analysis after every one.
15870
15871 * Don't go into a spin loop while pausing between xboard animation frames.
15872 This caused problems, especially when compiling with -O2 on HP-UX.
15873
15874 * WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome
15875 if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.
15876 This seemed to confuse people before.
15877
15878 * Bugfix: ICS Interaction context menu items with neither of the two
15879 optional flags set did not work.
15880
15881 * Bugfix: PGN move numbers are optional, but we were insisting on "1"
15882 right after the tags.
15883
15884 * Bugfix: only the first game of an -mg match was loading -lpf or -lgf.
15885
15886 * Other minor fixes and code cleanup.
15887
15888 3.6.10 -- Mon Jun  1 01:32:31 PDT 1998  Tim Mann
15889
15890 * Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.
15891
15892 * Added timestamps for chess engine interaction to -debug output.
15893
15894 * Now allow 10 seconds (was 5) between games in match mode for engines to
15895 respond to "force" command that ended previous game.
15896
15897 * When a game is picked from the game list and the names of White and
15898 Black are known, display them in the window banner instead of the filename
15899 and game number.
15900
15901 * Changed default for -scp and -sd to be the values of -fcp and -fd.
15902
15903 * Added boxes for both engines to WinBoard startup dialog.  Changed to
15904 dropdown boxes whose content can be set from winboard.ini, similar to
15905 the box for ICS name.
15906
15907 * Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.
15908
15909 * Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.
15910
15911 * Added support for bughouse engines (Zippy mode only).
15912
15913 * Move bombproofing for engines sending illegal or out of turn moves.
15914
15915 * Always send "xboard\n" to engine as first command.  Eliminates need
15916 to run crafty as "crafty xboard".
15917
15918 * Rewrote xboard code for input from engines to fix longstanding bugs.
15919 Previously an engine that sent one line in two separate writes with
15920 some time lapse in between (or perhaps that sent several lines in one
15921 write) could make xboard hang.  WinBoard did not have this bug.
15922
15923 * Fixed minor bugs in dealing with illegal moves.
15924
15925 * Added "iset startpos 1" for FICS.
15926
15927 * Removed special support to put "GNU Chess" or "Crafty" in the window
15928 banner instead of the engine's base filename.  This gives a more level
15929 playing field for other engines.  Also fixed bugs in the code that finds the
15930 engine's base filename.
15931
15932 * Bugfix: Abort or Resign at the very start of a game in chess engine mode
15933 would fail to send "force" to the engine.
15934
15935 * Fixed some minor bugs in new "result" messages, and changed format to
15936 include a trailing PGN comment giving the reason the game ended.
15937
15938 * Changed syntax of /font options in WinBoard; old syntax was assuming
15939 that a font name can't contain a digit, which is wrong.  Old font names in
15940 WinBoard.ini files are still accepted.
15941
15942 * Serious further work on getting WinBoard to read/write files in the
15943 "right" directories and documenting exactly what it does.
15944
15945 * Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.
15946
15947 * Misc. tiny fixes and cleanup.
15948
15949 3.6.9 -- Sun May 24 20:53:08 PDT 1998  Tim Mann
15950
15951 xboard and WinBoard beta release.
15952
15953 * Tightened up illegal move handling.  Illegal or meaningless moves from a
15954 file or chess engine should no longer get translated into a1a1 and blindly
15955 applied.  Explicit moves to the same square (like a1a1) no longer make the
15956 piece on that square capture itself and vanish.
15957
15958 * Added AlwaysOnTop feature to winboard.
15959
15960 * Fixed bug in winboard "@" command line indirection operator.
15961
15962 * Removed buggy "optimization" code for ToStart in analysis modes.
15963
15964 * Fixed typo bug in zippy.c that would often cause winboard to crash
15965 right after starting a game in -zp mode.
15966
15967 3.6.8 -- Sat May 23 22:23:19 PDT 1998  Tim Mann
15968
15969 xboard and WinBoard beta release.
15970
15971 * Added -firstDirectory and -secondDirectory so that chess engines can
15972 be started in a different directory from xboard/WinBoard itself.
15973
15974 * Added -matchGames to allow more than one game in -matchMode.  The games
15975 are played with colors alternating between the two chess engines.  Had to
15976 add a time delay at the end of each game to catch up with game ending
15977 messages from both chess engines -- yuck.
15978
15979 * Changed TwoMachines mode to have firstChessProgram play White by
15980 default.  Added -firstPlaysBlack to restore old behavior.
15981
15982 * Major rework of code in backend.c for dealing with first and second
15983 chess engines.  Generalized the code and created a struct type with one
15984 instance for each engine.  Several small bugs fixed along the way.
15985
15986 * Fixed bugs in Abort in local chess engine mode.
15987
15988 * Tightened pattern matching to recognize moves from machine.  Should cure
15989 bogus "Illegal move" errors while Crafty is pondering with Show Thinking
15990 on, among other things.
15991
15992 * WinBoard keeps focus in board window after popping up a comment due to
15993 Forward/Backward/ToStart/ToEnd commands.
15994
15995 * Finally got rid of warnings on compiling moves.c under Windows.
15996
15997 * Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not
15998 defined.
15999
16000 * Removed various bits of unused code.
16001
16002 * Parse (and ignore) NAGs in PGN files.
16003
16004 * Updated engine-intf.txt.
16005
16006 * Send "result R" to the chess program at the end of each game, where
16007 R is the PGN result 1-0, 0-1, 1/2-1/2, or *.
16008
16009 * Bugfix: suppress animation when loading a game with timeDelay=0.
16010
16011 * Bug fix: pondering output from Crafty that contained "..." could be
16012 mistaken for a move, causing bogus error messages and general chaos.
16013
16014 * xboard "make clean" bug fix: moved things created by configure to be
16015 removed only by "make distclean".
16016
16017 * Fixed a remaining case where move was being animated before being
16018 relayed to opponent.
16019
16020 * Backend was reversing time/otim commands to the chess program (new bug),
16021 and was often not sending them on the first move of a game or the first
16022 move after a mode change (old bug).  Fixing the latter required a kludge
16023 to work with both GNU Chess and Crafty, because Crafty swaps white and
16024 black clock times when it swaps sides, while GNU Chess does not.  The
16025 kludge is that we always make sure the chess engine thinks its opponent is
16026 on move before we set the clock.  This will sometimes result in sequences
16027 like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and
16028 black interchanged.
16029
16030 * Removed last trace of old -whiteString and -blackString arguments.
16031
16032 * Fixed so that you can type "bd" into the Direct Command dialog when
16033 debugging gnuchess, without having xboard parse the clock display
16034 (starting with "White") as "White wins" and end the game.
16035
16036 * Changed moves.c to make a distinction between IllegalMove (where we
16037 could tell what move was intended, but it violates the chess rules) and
16038 MeaninglessMove (where we could not tell).  This is a step towards getting
16039 rid of cases where we translate meaningless moves into "a1a1", but some
16040 work is probably needed to track them all down.
16041
16042 * Fixed bug in WinBoard monoMode dragging.
16043
16044 * Changed WinBoard to new style file dialogs.  In the process, disabled
16045 the feature that let you enter the index number of a game or position within
16046 the file in the dialog.  This is no loss in LoadGame, as you can pick your
16047 game from the game list dialog that follows, but it does remove some
16048 functionality from LoadPosition.
16049
16050 3.6.7 -- Mon May 18 21:25:00 PDT 1998  Tim Mann
16051
16052 xboard and WinBoard beta test release.  I've been unable to reproduce some
16053 reported drawing bugs, so they may still not be fixed.
16054
16055 * Changed PopUpErrors option to PopupMoveErrors, which is more useful, and
16056 changed default to off.  Errors other than move errors should always be in
16057 popups; they are often too big for the message area and too important to
16058 put where they can be easily missed.  But it seems good to get rid of the
16059 popups for move errors by default.
16060
16061 * xboard analysis window no longer forces itself to top whenever there is
16062 new output.  Also, now uses built-in Xaw word wrapping instead of trying
16063 to do its own; works better.
16064
16065 * Bugfix: Reset did not take Crafty out of analyze mode.
16066
16067 * A chess engine no longer has to claim to be Crafty to be able to use
16068 AnalysisMode and AnalyzeFile; it just has to implement the analyze
16069 command as Crafty does.  Put in heuristics to generate more informative
16070 error messages if the engine does not support analyze, and checked that
16071 they work at least with GNU Chess.
16072
16073 * Added click-click moving, HighlightLastMove, and HighlightDragging to
16074 WinBoard.  The highlight features are unlikely to go into xboard unless
16075 the xboard drawing code is cleaned up to do *all* drawing on the board
16076 from DrawPosition, as WinBoard does.  This is low priority for me.
16077
16078 * Eliminated bogus "Error gathering move list: no header" popup.  You
16079 could get this by observing two fast games at once without turning off
16080 GetMoveList.
16081
16082 * Disable WinBoard Sounds menu entirely in -ncp mode, since not even
16083 MoveSound is used in that mode.
16084
16085 * WinBoard bugfix: Several problems were caused if the user changed
16086 WinBoard's current directory in a Load, Save, or Browse dialog.  In
16087 particular, WinBoard.ini would get saved in the wrong directory, and
16088 sound .wav file names would not get saved with a full pathname.  I think
16089 all such problems are now fixed.
16090
16091 * WinBoard bugfix: iconizing the board after an aborted mouse resize would
16092 (partially) resize it to Tiny.
16093
16094 * WinBoard bugfix: board was not being drawn in color on 256-color
16095 displays.  This bug was introduced in 3.6.6.
16096
16097 3.6.6 -- Tue May 12 17:43:43 PDT 1998  Tim Mann
16098
16099 xboard and WinBoard beta release.  Note: not all reported bugs are fixed.
16100
16101 * Move animation in WinBoard, programmed by Henrik Gram.  Great stuff!
16102
16103 * Animate backward moves too.
16104
16105 * xboard bugfix: -font (and friends) can now specify a font alias (such
16106 as "fixed"), not just a full X Consortium name pattern.  Previously this
16107 would give a resource conversion error message.
16108
16109 * Some coding style cleanup in xboard.c.
16110
16111 * Earlier error check for moving wrong color piece in EditGame mode.
16112
16113 * Completed fix to pattern matching; see 3.6.5.
16114
16115 * Fixed some software rot bugs in Zippy.
16116
16117 * Split AnimateDragging as separate option from AnimateMoves.
16118
16119 * Added FlashMoves to options menu and -flash/-xflash to command line
16120 options (xboard only).
16121
16122 * Some preliminary work on visible bughouse holding support.  Most of the
16123 code is not present in this release because I have not gotten it working
16124 properly yet; my first approach went down a blind alley and I had to
16125 remove most of the partially working code in preparation for a rewrite.
16126
16127 3.6.5 -- Fri May  8 14:22:09 PDT 1998  Tim Mann
16128
16129 Not generally released.
16130
16131 * Pack bughouse holdings display in banner more tightly when board is one
16132 of the smaller sizes (when smallLayout or tinyLayout is true, that is).
16133 An interim measure, but should help.
16134
16135 * Completed fix to make move list parsing recognize the end condition and
16136 final comment.
16137
16138 * Fixed pattern matching for chatter (tells, etc.) to be more reliable.
16139 This should reduce the incidence of colors starting in the wrong place and
16140 of incorrectly matching things that look like other patterns inside
16141 chatter, such as "shout <12>".  (These errors were already rare.)
16142
16143 * WinBoard now lets you customize the list of ICS's in the startup dialog.
16144 For now, at least, requires editing WinBoard.ini with a text editor.
16145
16146 * Bug fix: WinBoard window sizing and position setting save/restore did
16147 not work right when the taskbar was at the top (or left side) of the
16148 screen and not in autohide mode.
16149
16150 * Merged xboard click/click mode and drag mode, and deleted
16151 ClickClickMoving option on menu.  Now if you click on a piece, it
16152 highlights and a further click on another square will move it.  (A second
16153 click on the same square takes down the highlight.)  Or if you press down
16154 on a piece and start to drag, you can drag it to a new square.
16155
16156 * When making click/click style moves, if your second click is on a piece
16157 of the same color, instead of saying "Illegal move", we now cancel the first
16158 starting square, replace it with the second, and wait for another click to
16159 finish the move.
16160
16161 * Separate -secondInitString.  Default: same as -initString.  Suggested by
16162 Remi Coulom.
16163
16164 * Patch from Frank McIngvale to make animation work with XIMs.  Yay!
16165
16166 * Changed move animation to happen after move is passed on to ICS or the
16167 chess engine, where applicable.  Fixed problems with updating moveList
16168 that this uncovered.
16169
16170 * Changed game list to show PGN result token for each game.
16171
16172 * The usual minor bug fixes.
16173
16174 3.6.4 -- Thu Apr 30 23:14:43 PDT 1998  Tim Mann
16175
16176 xboard and WinBoard beta test release.
16177
16178 * xboard documentation updated, both man page and info file.  An attempt
16179 to generate both from the same source with LinuxDocSGML was abandoned, at
16180 least for now.  WinBoard doc updated too.
16181
16182 * Merged updates to animation code from Hugh.  Fixed a couple of remaining
16183 bugs, mostly to do with handling Pause mode correctly.
16184
16185 * Added SaveSettingsOnExit to WinBoard.
16186
16187 * WinBoard now saves the last screen position of the Comment, Edit Tags,
16188 Game List, and Analysis windows (in addition to the board and ICS
16189 Interaction windows) in WinBoard.ini.
16190
16191 * WinBoard now provides a way to customize the right-button context menu
16192 in the output area of the ICS Interaction window.  For now, requires
16193 editing WinBoard.ini with a text editor.
16194
16195 * Various minor fixes to ICS message recognition, most affecting only Zippy.
16196
16197 * Colorize the notification when someone sends you a message while you are
16198 logged in, not the output of the "messages" command.
16199
16200 * Fixed colorization to turn off at the right place more reliably.
16201
16202 * Added a new color and WinBoard sound for "requests": abort, adjourn,
16203 draw, pause, and takeback.  The same color and sound are used for all of
16204 these.
16205
16206 * Added GUI to change sounds in WinBoard.
16207
16208 * Suppressed WinBoard error popup when a sound can't be played.  They were
16209 popping up when two separate WinBoards tried to play a sound at the same
16210 time (such as during a bughouse match).
16211
16212 * Fixed WinBoard crash when a sound file didn't exist.
16213
16214 * WinBoard ports of timestamp and timeseal now produce decent error
16215 messages if they fail to connect, and WinBoard captures the messages and
16216 puts them into a popup.  Previously WinBoard would exit with no message on
16217 such errors.
16218
16219 * WinBoard resizing with mouse improved; now accurately picks the largest
16220 size that fits in the new area.
16221
16222 * Added option to turn off error message popups.
16223
16224 * Added sizes slim, dinky, and teeny.
16225
16226 * Fixed some minor problems with error message wording.
16227
16228 3.6.3 -- Mon Feb 23 19:08:57 PST 1998  Tim Mann
16229
16230 xboard beta test release only.  Man page is updated for the changes, but info
16231 file is not.
16232
16233 * Bug fix: LoadGame could not load a PGN game whose first move was
16234 castling (which is possible from setup positions).
16235
16236 * Bug fix: we were ignoring illegal move messages from chess engines in
16237 modes where the engine is refereeing but not participating (EditGame,
16238 LoadGame, AnalyzeFile).  The problem was in a workaround for a Crafty bug,
16239 where Crafty generates a bogus illegal move message if a "." (used by
16240 the PeriodicUpdates feature) is sent in analysis mode when the current
16241 analysis reveals a forced mate.  Installed a different workaround (that
16242 works in most but not all cases) and reported the Crafty bug.  Bob Hyatt
16243 replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.
16244
16245 * WinBoard only: enabled resizing board with the mouse.  It snaps to the
16246 nearest (but not too much larger) predefined size.
16247
16248 * The xboard default font is now sized according to piece size, just as
16249 clockFont and coordFont have always been.
16250
16251 * Added more sizes: bulky, moderate, average, middling, mediocre, petite.
16252
16253 * xboard only: Added Animate Moves and Click-Click Moving to Options menu.
16254
16255 * xboard only: Added code to animate piece movement, from Hugh Fisher.
16256
16257 * New feature: autoflag is implemented in MachineWhite, MachineBlack, and
16258 TwoMachines modes.  If it is on and either a chess program or the user
16259 oversteps his time, xboard will automatically call the flag and end the
16260 game.  This feature was requested by someone who runs matches between
16261 programs and wants to penalize GNU Chess for its habit of running slightly
16262 over at the end of a time control.  I personally think it's pointless.
16263
16264 * Fixed a bug in Zippy's pattern matching; he can now reply to ICC
16265 messages again.
16266
16267 * Generate prettier notation for illegal moves.  If a move is illegal only
16268 because it leaves the player in check, generate notation as if that were
16269 not illegal.  For instance, if two knights are a knight's move away from
16270 f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to
16271 move the g1 knight, Nef3 to move the e5 knight.  (Suggested by Philippe
16272 Schnoebelen.)  In addition, if a move is illegal because the type of piece
16273 moved cannot go that way, would be jumping over another piece, etc., we
16274 give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,
16275 d2xd8=Q, etc.  An alternative would be to still write Ng3 if there is only
16276 one knight on the board, or Ngg3 if the other knight is not on the g file,
16277 but life is too short to code up all this stuff, and perhaps the way I did
16278 it is better as it emphasizes that this move was really made despite being
16279 illegal.  I wonder if the new PGN standard revision will speak to notation
16280 of illegal moves?
16281
16282 * Fixed gross bug from 3.6.2: if a chess program said "checkmate" and
16283 White was left on move, the PGN outcome was "1-0 {Black mates}" instead
16284 of "0-1 {Black mates}"!  The bug occurred only for that specific string.
16285
16286 3.6.2 -- Wed Jul 23 16:47:29 PDT 1997  Tim Mann
16287
16288 * There was a bug in backing up from the end of a game against a chess
16289 engine, introduced when -reuse mode was added.  Fixed.
16290
16291 * Recognize "{" as terminating an ICS move list.  Previously we needed to
16292 see a prompt (containing %), but occasionally ICC can send more stuff
16293 right after a move list with no prompt in between.
16294
16295 * In WinBoard, -mm now implies -cp, so you don't get the startup dialog.
16296
16297 * WinBoard startup dialog no longer sets -scp.  People used to get
16298 confused because they would give the -fcp and -scp arguments, but omit
16299 -cp.  This would bring up the startup dialog, which would set both -fcp
16300 and -scp to the value in the engine name box.  Now you can change -scp
16301 only with the command-line argument.  That will confuse some people too,
16302 but hopefully fewer.  I think overall it's better than putting spaces for
16303 both -fcp and -scp in the dialog, which would puzzle newbies.
16304
16305 * Bug fix: Analyze File mode now works in WinBoard.
16306
16307 * Bug fix: WinBoard window no longer cuts off part of the bottom row if
16308 the menu bar wraps to a second line.
16309
16310 * Accept game end messages of the form "PGN-result {comment}" from the
16311 chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2.  Accept "resign"
16312 or "computer resigns" from the chess engine as a synonym for "0-1 {White
16313 resigns}" or "1-0 {Black resigns}". Accept any message from the chess
16314 engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".
16315 Accept "White resigns" or "Black resigns".
16316
16317 * Enable "Action / Draw" menu item in chess engine mode.  It sends the
16318 command "draw" to the engine.  Accept any message from the chess engine
16319 containing "offers a draw" as a draw offer.  WARNING: Draw offers from the
16320 user and the engine (or from two engines) are not yet matched up by xboard
16321 in chess engine mode.  Two engines could get into a loop offering each
16322 other draws.
16323
16324 * Bug fix: Game end messages from the chess engine are always ignored in
16325 Zippy mode.  Previously they could sometimes be processed, which was
16326 sometimes making Zippy hang at the start of a new game that followed
16327 quickly after an old one.
16328
16329 * Zippy can now respond to titled players in channels.  Zippy will avoid
16330 talking to himself in a channel if he knows his own name.
16331
16332 * Bug fix: in colorization arguments, the bold setting was being ignored
16333 if the background color was defaulted.  (xboard only.)
16334
16335 * Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.
16336 If fewer than 8 squares are given in a row, or fewer than 8 rows are
16337 given, the uncovered squares are empty.  Also, there can be a / after the
16338 8th row.
16339
16340 3.6.1 -- Sat May 17 01:02:33 PDT 1997  Tim Mann
16341
16342 * Bug fix: Hitting escape while entering a password on WinBoard no longer
16343 sets the font color back to black (which made further typing visible).
16344
16345 * Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would
16346 often hang if you tried to exit with the Exit menu item, the [X] button,
16347 etc.  The same fix may also have corrected the problem where running a
16348 chess program with /xreuse would sometimes crash Windows 95 (but not NT)
16349 when the chess program was killed and quickly restarted.
16350
16351 * Bug fix: Periodic Updates would not work if turned on after having been
16352 off.  Also, the default was needlessly "off" in WinBoard.
16353
16354 * Zippy bug fix: Continuing an adjourned game was totally broken.  The
16355 wrong moves, or no moves at all, were being fed to the chess program.
16356
16357 * WinBoard change: Giving -ics without -icshost now pops up the startup
16358 dialog with "Use an Internet Chess Server" pre-selected, so that you get a
16359 menu of chess servers instead of going directly to ICC.
16360
16361 * Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and
16362 -icshelper in winboard.ini.  This causes a problem if you use a different
16363 icshost later that needs the default values for icsport (5000) and
16364 icshelper ("", meaning none).
16365
16366 * Disabled complaints about unexpected "[Ii]llegal move" messages from
16367 the chess program; we still get them at times.
16368
16369 * Greatly simplified the code for Move Now and SIGINT (ATTENTION).  Fixes
16370 the bug where Move Now did not work with GNU Chess in WinBoard, and
16371 several more obscure bugs as well.  Reintroduces a minor bug: GNU Chess might
16372 not think on your time after a Move Now command.  Trying to fix this
16373 causes too many other problems.  Documented change in engine-intf.txt.
16374
16375 * Cleaned up code for obtaining ratings from ICS.  It was kludgey and may
16376 have had bugs on systems with no "Creating:" message.  It should fail
16377 gracefully there, just not finding the ratings.
16378
16379 3.6.0 -- Thu May  8 19:55:58 PDT 1997  Tim Mann
16380
16381 * WinBoard now has right-button context menus in the ICS Interaction
16382 window.  Some of the items do immediate commands on the player name you
16383 have selected or pointed to.  (Suggested by Paolo Casaschi.)  Also, the
16384 middle button or shift+right does a immediate Copy and Paste.
16385
16386 * Fixed a bug in Zippy's wild rejection.  The bug was causing Zippy to
16387 reject all forms of wild.  Now it rejects only 1, 9, 16, 17, and 24, as
16388 was intended.  These variants have different rules, while the other
16389 variants defined so far only have different starting positions.
16390 (Actually, wild 2, 3, and 4 never allow castling, but may sometimes by
16391 chance have king and rook start on squares where castling appears legal.
16392 This could cause a problem later.)
16393
16394 * Zippy now resumes adjourned games by feeding the chess program
16395 the move list instead of the position.  Setting -getMoveList to False
16396 restores the old behavior.  Feeding in the move list is better because
16397 it enables the chess program to correctly handle en passant legality,
16398 castling legality, draw by repetition, and draw by the 50 move rule.
16399
16400 * Added a WinBoard startup dialog for people who run WinBoard.exe without
16401 using the Start menu or reading the help file.  Instead of being dumped
16402 directly into GNU Chess mode, you now get a menu of choices.  You now have
16403 to give the new WinBoard -cp option to go directly into chess engine mode.
16404 I did not add this feature to xboard.
16405
16406 * Handling of "illegal move" from Crafty is now back on.  (It was turned
16407 off in 3.4.6; see below.)  Crafty 12.0 doesn't seem to send bogus ones
16408 anymore.  I did have to suppress sending time and otim in analyze mode to
16409 make this work, but there is no harm in that.
16410
16411 * Zippy now sends "gameend" to ICS at the end of each game.  You can alias
16412 this to "seek" or whatever you like.
16413
16414 * Added Crafty support for Move Now, using the "?" command.  We test
16415 whether this command exists by trying it once at the start of the first
16416 game, before it really makes sense.  If we don't get a message like
16417 "Illegal move ... ?", we assume it's OK.  (We're careful about this
16418 because sending a "?" to GNU Chess on Move Now keeps it from pondering the
16419 next move as it should.)
16420
16421 * Added support for a tellusererror command from the chess engine.  See
16422 engine-intf.txt.
16423
16424 * Attempted to make engine-intf.txt complete.
16425
16426 * Minor fixes/cleanup to GameEnds code, to be sure we always interrupt
16427 when needed, and always undo an extra move generated by stopping the chess
16428 program while it is thinking.
16429
16430 3.5.7 -- Sat May 03 22:37:44 PDT 1997  Tim Mann
16431
16432 Beta release of both xboard and WinBoard.
16433
16434 * Updated xboard documentation.  I really wish the man page was built from
16435 the info file instead of being separate!  It's a pain to update them both.
16436
16437 * Updated documentation of the interface between XBoard/WinBoard and chess
16438 programs, and renamed it to engine-intf.txt.
16439
16440 * Added support for tellics, telluser, and askuser commands from the chess
16441 engine.  See engine-intf.txt.
16442
16443 * Various bug fixes.  On WinBoard, 256 color displays are finally handled
16444 right; no more color flashing when you switch windows unless the colors
16445 really need to be updated.  Also, I think the problem of the console font
16446 failing to change or changing back by itself is finally fixed.
16447
16448 3.5.6 -- Tue Apr 29 03:08:00 PDT 1997
16449
16450 Beta release, WinBoard only.  ChangeLog was out of date in release,
16451 updated here.
16452
16453 * Added ICC timestamp and FICS timeseal to WinBoard distribution.  These
16454 are my own ports to Win32, based on and used by permission of the owners
16455 of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram
16456 for timeseal).  The owners permit these programs to be distributed only in
16457 binary form (to help prevent cheating), so to avoid running afoul of the
16458 GPL, I have kept them as separate programs, not linked into the WinBoard
16459 address space.  Updated Start menu icons to use them.
16460
16461 * Miscellaneous smaller changes.
16462
16463 3.5.5 -- Fri Apr 25 03:06:00 PDT 1997
16464
16465 Beta release, WinBoard only.  ChangeLog was out of date in release;
16466 updated here.
16467
16468 * Added simple sound support to WinBoard.
16469
16470 * Updated WinBoard documentation.
16471
16472 * Internal implementation of the telnet protocol is now more complete.
16473 You can now hop through a VMS host on the way to ICS.  For example, do
16474 "xboard -ics -icshost vms.host.edu -icsport 23", then log in.  Do not use
16475 the -telnet flag; that says to use an *external* telnet program.  To avoid
16476 double echoes, you need to force character mode in VMS telnet after
16477 connecting from VMS to ICS.  Do "^]^Mset mode char^M^M".
16478
16479 * Display opponent names in the title bar for MachineWhite, MachineBlack,
16480 and TwoMachines modes.
16481
16482 * WinBoard now has an installer, built with InstallShield.  The installer
16483 works with a binary-only distribution.  Sources are still freely
16484 available, but now separately.
16485
16486 * Added SaveSettings to WinBoard, which saves current option settings to
16487 winboard.ini.  Made sure all options can be saved and loaded, including
16488 fonts and com port settings.
16489
16490 * If the game ends while you are dragging a piece, we now don't let you
16491 finish the move.  Formerly the move was accepted and your opponent's clock
16492 would start running again.
16493
16494 3.5.4 -- Fri Apr 18 01:15:24 PDT 1997  Tim Mann
16495
16496 Beta test release of WinBoard and xboard.  The documentation remains
16497 out of date.
16498
16499 * Many fixes and improvements to new WinBoard user interface code.
16500
16501 * In Zippy mode, avoid sending another copy of the same move to the chess
16502 program if ICS sends us another copy of the board image.  Hard to believe
16503 it took me until now to diagnose and fix this problem!
16504
16505 3.5.3 -- Sat Apr 12 19:49:33 PDT 1997  Tim Mann
16506
16507 Beta test release of WinBoard and xboard.
16508
16509 * Fixed fatal bug in WinBoard input handling.
16510
16511 * Made code to stop chess program for reuse a bit smarter.  Removed kludge
16512 of "white" in initString; it didn't work well, and is unneeded
16513 with Crafty 11.21 and later.
16514
16515 3.5.2 -- Sat Apr 12 15:40:01 PDT 1997  Tim Mann
16516
16517 Beta test release of WinBoard.
16518
16519 * Ignore check and permit promotion to King during suicide games; no need
16520 to turn off TestLegality.
16521
16522 * Renamed CheckLegality to TestLegality to avoid confusion with the chess
16523 term "check".
16524
16525 * Added Rematch to Action menu.
16526
16527 * WinBoard now has a custom ICS interaction window with scrollback, a
16528 separate line for input, and colorization.  Accelerators that conflict
16529 with normal editing keys were changed (by requiring Alt+) so they can work
16530 in both the console and the main window.
16531
16532 * WinBoard error popups are now non-modal and disappear when you make a
16533 new move, as in xboard.
16534
16535 * Configure now defaults to --disable-ptys on all systems.  If anyone has
16536 an ancient SysV system where pipes don't work with select, they can still
16537 do "configure --enable-ptys" explicitly.  I would appreciate getting a bug
16538 report if this happens to anyone, with complete output from configure and
16539 "uname -a".
16540
16541 * "make install" now makes the installation directories too.
16542
16543 * Fixed a bug that would cause an "Illegal move" message for Black from
16544 GNU Chess to be incorrectly considered bogus.
16545
16546 * Handle name changes during an ICS game (FICS bname and wname commands).
16547
16548 * You can force both chess programs to be killed at the end of each game
16549 by turning off the reuseChessPrograms option.  There are still some
16550 problems with reusing Crafty even in version 11.20.
16551
16552 * Now the second chess program stays around by default too, if it ever
16553 gets started.
16554
16555 3.5.1 -- Sat Apr  5 16:47:48 PST 1997  Tim Mann
16556
16557 Beta test release.
16558
16559 * Don't kill off and restart the chess program for each game; keep the
16560 same one running, using the "new" command to start a new game.  This
16561 change works around the problem in Windows 95 that makes WinBoard crash it
16562 at times, and is generally desirable to make new games start faster.  The
16563 second chess program (for TwoMachines) is still killed at the end of the
16564 game, and unfortunately this can still crash Windows 95.  Temporarily
16565 added "white" to the initString to make this work with Crafty 11.20, which
16566 has a minor bug in "new".  Older versions of Crafty have worse bugs in
16567 "new"; they should not be used with this version of xboard.
16568
16569 * Support for FICS suicide chess: Parse illegal moves (that leave King in
16570 check) in game history.  If CheckLegality is off, allow promotion to King
16571 and illegal moves in game files.  We still generate e2e4 style notation
16572 for illegal moves.
16573
16574 * Handle FICS "has timeseal; checking" message.
16575
16576 * Changed the coords from white back to black; this was a bug.
16577
16578 * Fixed problems compiling with K&R compilers.
16579
16580 * Fixed an old bug in RegisterMove that was crashing cmail on some systems
16581 (notably linux).
16582
16583 3.5.0 -- Thu Jan  2 16:59:49 PST 1997  Tim Mann
16584
16585 Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!
16586
16587 * Fix Crafty resumed game time bug (frankm)
16588
16589 * Word wrap text in Analysis window (frankm)
16590
16591 * More debug info for XPM loading (frankm)
16592
16593 * Replaced config.sub, config.guess, etc., with up-to-date versions from
16594 autoconf 2.12.  Hopefully this will fix problems on Pentium Pro machines.
16595
16596 * Removed some Makefile gunk that was causing looping for one person.
16597
16598 3.4.7 -- Thu Dec 19 14:22:41 PST 1996  Tim Mann
16599
16600 All changes from Frank:
16601
16602 * Retrieve ratings from ICC (and FICS, etc., when they add the Creating:
16603 message), save them in the PGN tags, and pass them to Crafty in Zippy mode.
16604
16605 * Add settable time delay between characters in ICS login script.
16606
16607 * Colorize messages like personal tells.  Fix false recognition of channel
16608 tells.
16609
16610 * Pass "tells" from Crafty through to ICS (in Zippy mode).
16611
16612 * Implement ~/ filename convention from C shell for game and position file
16613 names.
16614
16615 * ZIPPYACCEPTONLY feature for testing.
16616
16617 3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996  Tim Mann
16618
16619 * Put recognition of "illegal move" messages from Crafty for
16620 illegal castling, etc., inside an #if that is currently turned off,
16621 because of a bug in Crafty that generates bogus "illegal move" messages
16622 after some moves that are actually legal and accepted by Crafty.
16623
16624 * Added -checkLegality option; previously this could not be turned off.
16625
16626 * Fixed an old bug in finding default board size parameters.
16627
16628 * Differentiated among channel tell, kibitz/whisper, and personal tell/say.
16629
16630 * Fixed a bug in detecting Xpm in the configure script.
16631
16632 3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996  Tim Mann
16633
16634 * Added zic2xpm to the kit; it had been omitted by mistake.
16635
16636 * Added some default colors for -colorize
16637
16638 3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996  Tim Mann
16639
16640 This is meant to be a beta release in preparation for version 3.5.
16641
16642 * Added InfoXBoard and ManXBoard to the Help menu.
16643
16644 * Made Frank's ICS input box optional, defaulting to off.
16645
16646 * Merged in Frank McIngvale's XbKit.  Many new features, including
16647 -clickClick mode, the Analysis modes, piece flashing, ZIICS import,
16648 ICS text colorization, and the ICS input box.  Many thanks to Frank for
16649 supplying and documenting this code.
16650
16651 3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996  Tim Mann
16652
16653 Small set of changes made while Frank McIngvale was working on XbKit in
16654 parallel.  Unreleased in this form.
16655
16656 * Updated zippy.README.
16657
16658 * Removed useless X event handler and removed strange code for copying
16659 form translation table to board that worked around the bug it caused.
16660 This makes changing bindings in .Xdefaults more straightforward.
16661
16662 * Now pressing the Control key steps back one move, and releasing it steps
16663 forward again.
16664
16665 * Moved quit from "q" to "Q" for greater safety.
16666
16667 * Use "unobserve" instead of "observe" to stop observing; needed on FICS.
16668
16669 * Support for interface variable.
16670
16671 * Strip titles from people who are talking to us, so (for example) Zippy
16672 won't try things like "tell Darooha(*) hello".  Needed on FICS.
16673
16674 3.4, patchlevel 2 -- Tue Jul  9 19:06:42 PDT 1996  Tim Mann
16675
16676 This patchlevel is not planned to be an announced release.  It's in
16677 preparation for integrating Frank McIngvale's XbKit.  It mostly contains
16678 minor fixes I've accumulated since 3.4.pl1.
16679
16680 * WinBoard /telnet option now fires up an external program, as
16681 with xboard, instead of trying to use a feature of NT 3.1 that does not
16682 exist in later versions of NT or in Windows 95.  ChangeLog for 3.4.pl1
16683 said this had been implemented there, but it really wasn't.
16684
16685 * Indicating player to move by the icon color now works under Windows 95.
16686
16687 * WinBoard now kills the chess program when you exit using the system menu
16688 or the [X] button.  Thanks to Michael Lowe.
16689
16690 * Minor changes to Zippy, including: Now understands wild challenges on
16691 FICS; these used to crash it.  Removed limit on how fast a game will be
16692 accepted.  Use "set formula ..." on the chess server to limit this if you
16693 are using GNU Chess.  Now sends correct opponent name to Crafty.
16694
16695 * Added some missing default values to documentation.  Thanks to Stuart
16696 Cracraft.
16697
16698 * Bugfix: Trying to print "No fonts match pattern" error message would
16699 crash.  This can happen to Linux users who don't install Helvetica, for
16700 example.
16701
16702 * Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an
16703 infinite loop.
16704
16705 * Added more directories to search for Athena widgets on HPUX.
16706
16707 * New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.
16708
16709 * Recognize "illegal move" messages from Crafty for illegal castling, etc.
16710
16711 * Bugfix: "name" command added to zippy.c for Crafty was producing error
16712 message if GNU Chess was in use.
16713
16714 * In bughouse mode, suppress holding messages from console window; show
16715 holdings only in banner.
16716
16717 * Minor fixes/cleanup to Makefile.in and configure.in.
16718
16719 3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995  Tim Mann
16720
16721 * This patchlevel updates WinBoard to match xboard, and includes a few
16722 fixes and minor improvements.  "-size tiny" and "-size n,n,n,n,n,n"
16723 are still not implemented for WinBoard.
16724
16725 * Installed support for Crafty based on code from Bob Hyatt.
16726 Currently the only documentation for this is in the FAQ, and a few
16727 things don't work with Crafty 8.23.  Please do not report these
16728 problems as bugs in either xboard or Crafty.  Bob and I know about
16729 them.  The worst ones (if not all of them) should be fixed in Crafty
16730 8.24.
16731
16732 * Changed the kludge command we send when gnuchess wants to print
16733 something that doesn't end with a newline, from "help" to "bogus".
16734 This works because the error message gnuchess prints ends with a
16735 newline.  It also improves compatibility with Crafty, which doesn't
16736 need the kludge, but for which sending "help" causes a problem.
16737
16738 * Don't draw grid at all if lineGap is 0; previously we drew the grid
16739 with X "0-width" lines (usually 1 pixel wide) and then overwrote it.
16740
16741 * Makefile: Removed xboard.info from "all" target so we won't try to
16742 rebuild it, because this fails on hosts that don't have makeinfo
16743 installed.  Other minor fixes to "clean" targets, etc.
16744
16745 * Fixes and cleanup to Auto Comment code that handles continuation
16746 lines and highlighting.
16747
16748 * Auto Observe now tries to observe the game from the point of view of
16749 the player who was on your gnotify list.  Requested by rng.
16750 Limitations: We can't tell which player it was unless you have ICS
16751 highlighting turned on.  Also, currently "observe foo" works as
16752 required (observing from foo's point of view) only on ICC, but FICS
16753 will probably implement this soon.
16754
16755 * "-size tiny" now makes the default font smaller automatically.  This
16756 was implemented by introducing an extra Form widget in the hierarchy
16757 for all xboard windows, named either normalLayout, smallLayout, or
16758 tinyLayout.  So you can have resource specifications that apply only
16759 to certain layouts; in particular, XBoard*tinyLayout*font.
16760
16761 * Bug fix: EditGame or EditPosition while playing or examining still was
16762 not really being permitted.
16763
16764 * WinBoard bug fix: On the EditPosition menu, King did not work.
16765
16766 * Added text catalog of WinSock error messages to WinBoard, because
16767 Microsoft still has not put them in the system message catalog.
16768
16769 * Removed support for older ICS game-ending messages that do not have
16770 a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.
16771 The code for older messages was sometimes firing on the newer
16772 messages, due to parsing ambiguity.  If the current code sees an old
16773 message, it will understand that the game is over, but will always
16774 display * as a result token instead of trying to guess the result by
16775 interpreting the text message.
16776
16777 3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995  Tim Mann
16778
16779 * This patchlevel was released for xboard only.
16780
16781 * Updated the info file.  It should now be as up-to-date as the man page,
16782 with good English except in the parts that pertain only to AmyBoard.
16783
16784 * Added "-size tiny", requested by Bob Hyatt.  Also cleaned up bitmap
16785 support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,
16786 if the actual bitmaps are supplied by the user.
16787
16788 * Updated bughouse support.
16789
16790 3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995  Tim Mann
16791
16792 * Unreleased beta that works with preliminary FICS bughouse code.  Will
16793 need changes before release to track FICS message changes.
16794
16795 * Removed use of .EX macro from man page.  It is not supported by some
16796 nroff -man macro packages, notably the one on Slackware Linux.  Switched
16797 to boldface for references to xboard and other commands within the man
16798 page, as this seems to be the modern way.
16799
16800 * Bug fix: If ICS rejected a move, it was correctly undone on the board,
16801 but the message widget still displayed the bad move.  Reported by DAV.
16802
16803 * Normally, xboard in ICS mode fetches the move list whenever the board
16804 display switches to a new game.  Doing this is now an option
16805 (getMoveList) that can be turned off, which is useful if you are watching
16806 multiple blitz games.  Requested by rng.
16807
16808 * Move list fetching code is now smarter: it ignores a move list if it is
16809 not for the right game.
16810
16811 * Added support for bughouse as implemented on FICS.  Holdings are shown
16812 in the window title in place of the strength numbers.  A menu on mouse
16813 buttons 2 and 3 (same on both) lets you drop pieces.  There is no checking
16814 as to whether you actually hold the piece you are trying to drop; we rely
16815 on ICS to check that.  Notation of the form P@f7 is generated and parsed.
16816 The mate detector does not understand that non-contact mate is not really
16817 mate in bughouse, but this does no real harm.  It results in a "#"
16818 suffix being displayed on the move notation, but xboard does not assume the
16819 game is over.
16820
16821 * Bug fix: Promotion to a knight was not working with ICC!  Thanks to
16822 Wendigo for the report.
16823
16824 * Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*
16825 (supplied from configure.in) had a bug that would cause childio.c to
16826 fail to compile, due to a "continue" that was not within a loop.
16827
16828 * Bug fix: In pgntags.c, memory was being freed while still in use.  One
16829 symptom this caused was that on some machines, cmail would fail with a
16830 message that it could not find the BlackNA tag.  The error was in some
16831 submitted code that I included in version 3.2.pl3 without reading
16832 carefully enough.  Anders Forberg noticed the symptoms, and Evan Welsh
16833 (who had nothing to do with causing the bug) found the bug and submitted a
16834 fix; thanks to them both.
16835
16836 * Removed restriction against using EditGame while playing, observing,
16837 or examining on ICS.  You still get a warning popup.
16838
16839 3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995  Tim Mann
16840
16841 * Bug fix: Going directly from MachineWhite to TwoMachines mode would kill
16842 off the second chess program after Black's first move.
16843
16844 * Added -timeIncrement feature.  Thanks to Joel Rivat.
16845
16846 * Deleted code that tries to keep you from observing more than one game,
16847 or observing while playing or examining.  There is actually no problem in
16848 doing this, except that every time an update comes in from a different
16849 game than is currently being displayed, xboard fetches the history of the
16850 new game, which may be time-consuming if you are on a slow link.
16851
16852 * Fixed configure so as not to crash when neither lex nor flex is found.
16853 lex or flex is needed only if the user wants to rebuild parser.c.  Thanks
16854 to Phil Humpherys for reporting the crash.
16855
16856 * Bug fix: config.h.in used #define instead of #undef for some macros used
16857 in the pty code in childio.c.  This causes the code to fail to compile on
16858 some architectures, because the symbols are supposed to be undefined, not
16859 defined to empty, when they are not set in configure.  Bug originated in
16860 3.3.pl0 when config.h was introduced.  Thanks to Phil Humpherys for report.
16861
16862 * Bug fix: ShowThinking would not show anything when current position had
16863 no move to display in the move window.  E.g., if position was created by
16864 LoadPosition or EditPosition.
16865
16866 3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995  Tim Mann
16867
16868 * Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.
16869
16870 * For WinBoard, added hint to help file that you may need to turn off
16871 LocalLineEditing while typing dialing commands to your modem.
16872
16873 3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995  Tim Mann
16874
16875 * Zippy distribution is no longer separate from regular xboard distribution.
16876
16877 * Deal properly with Show Thinking output from GNU Chess when it is
16878 thinking on its opponent's time.  In TwoMachines mode this output is
16879 suppressed to avoid interfering with the output from the machine that is
16880 on move; in other modes it is displayed (including the move that GNU Chess
16881 is predicting the user will make next).  GNU Chess produces this output
16882 only if it is built without -DQUIETBACKGROUND defined; this symbol is
16883 defined by default in patchlevels before pl75, but undefined by default in
16884 pl75.
16885
16886 * Bug fix: Handling of initial board position in move list for wild games
16887 was broken, so wild games could not be observed and adjourned wild games
16888 could not be continued.  Thanks to "Maximum Entropy" for the bug report.
16889
16890 * Added feature: algebraic notation now shows "+" indicator for check
16891 and "#" for checkmate, as called for in PGN standard.  Thanks to Kevin
16892 Maher for the suggestion.
16893
16894 3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995  Tim Mann
16895
16896 * Changed configuration to use a config.h file instead of passing zillions
16897 of -D options on the cc command line.
16898
16899 * Merged a small fix and some updates to the texinfo file from Jochen
16900 Wiedmann.  The texinfo file still needs work.
16901
16902 3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995  Tim Mann
16903
16904 * Beta test release of xboard only.
16905
16906 * Updated WinBoard code to include new xboard features.
16907
16908 * Added texinfo file from Jochen Wiedmann to the release, but not as the
16909 primary documentation.  It needs updating, and the English needs work.
16910 I did make a few improvements, mostly to change incorrect uses of @var to
16911 either @samp or @code as appropriate.
16912
16913 * Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.
16914
16915 * Fixed EditComment; did not pop up window in previous beta.
16916
16917 * Added AutoComment feature.
16918
16919 * Added GameListDestroy to disable the outdated game list popup in cases
16920 where we load a new game file without building a new popup.
16921
16922 * Added yyskipmoves feature to parser.l to speed up building of gamelist.
16923
16924 * gamelist.c wouldn't compile with a non-ANSI compiler.  Fixed.
16925
16926 * Change to yy_text handling in patchlevel 3 still had problems.  Can't
16927 use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER
16928 according to whether the lexer on the current host makes yytext a pointer.
16929 But most people will be using a parser.c that was generated on another
16930 host and shipped with the package.
16931
16932 3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995  Tim Mann
16933
16934 * Beta test release of xboard only.
16935
16936 * Added FIREWALLS section to man page.
16937
16938 * Changed -icsport to be a string.  Now with the -telnet option,
16939 specifying -icsport "" suppresses the second argument to telnet.
16940
16941 * Added EditTags feature.  Removed AboutGame from menu, because EditTags
16942 subsumes it.  EditTags suggested by Jochen Wiedmann and first implemented by
16943 him in AmyBoard.  xboard implementation is my own.
16944
16945 * Fixed some missing or incorrect prototypes.
16946
16947 3.2, patchlevel 3 -- Sat Jun  3 18:57:38 1995  Tim Mann
16948
16949 * Beta test release of xboard only.
16950
16951 * New version of cmail from Evan Welsh, to fix compatibility problems with
16952 perl 5.0.
16953
16954 * Added game list feature on Load Game, based on code from Jochen
16955 Wiedmann.  Integrated it with cmail.
16956
16957 * Several bug fixes from Jochen Wiedmann, including one to my yy_text
16958 workaround for the difference in the type of yytext between lex and flex.
16959
16960 * Handle clock pause on FICS.
16961
16962 * Suppress clocks in untimed FICS games (time control 0 0).
16963
16964 * Rebuilt configure script with autoconf 2.3.  This fixes a bug in
16965 configuring for X11R6, where -lSM -lICE would not be added when needed.
16966
16967 * Fixed inconsistent type declarations on IntSigHandler and
16968 CmailSigHandler.  Bug report from Josh Daynard.
16969
16970 * backend.c wouldn't compile with a non-ANSI compiler.  Fixed.
16971
16972 3.2, patchlevel 2 -- Tue Feb  7 14:50:30 1995  Tim Mann
16973
16974 * Minor release of both xboard and WinBoard.
16975
16976 * Added recognition of some FICS messages.  On the other hand FICS is also
16977 changing some of its messages to match what xboard already recognizes.
16978
16979 * Temporarily went back to using "promote" command on ICS instead of
16980 "a7a8=Q", because FICS doesn't implement the latter yet.
16981
16982 * We now avoid using overlapped I/O on pipes in WinBoard, to make Windows
16983 95 beta 2 happy.  This lets WinBoard work with GNU Chess on Windows 95!
16984
16985 * Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.
16986
16987 * Installed patch to cmail bug in LoadGame from Evan Welsh.
16988
16989 * Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode
16990 were not being handled correctly.  Bug was in GameEnds().
16991
16992 * Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").
16993 Now passwords won't be echoed when you connect directly to ICS.  Also,
16994 telnet negotiation characters aren't displayed (when possible).
16995
16996 * Implemented more of the telnet protocol.  Now connecting to a telnet
16997 server with "-icsport 23" should work even without giving the -telnet
16998 option.  The telnet is in "old line-by-line mode".
16999
17000 3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994  Tim Mann
17001
17002 * This patchlevel released for WinBoard only.
17003
17004 * winboard.c: Fixed ConsoleInputThread().  Needed to change CRLF to LF,
17005 not to CR.  This was stopping normal /ics mode from working.  Thanks to
17006 Asher Kobin for the bug report.
17007
17008 * winboard.c: Fixed Raw(), EchoOn(), EchoOff().  Now they take effect
17009 immediately, not on the next console read after the one in progress.
17010
17011 * winboard.c: Attempted to make WinBoard work with gnuchessx running
17012 directly on Windows (not remotely via rsh).  It now works on NT, but only
17013 if gnuchess is told not to think on its opponent's time ("easy\n" removed
17014 from initString).  The problem seems to be that GenerateConsoleCtrlEvent
17015 is not doing anything.  On Windows 95 beta 2, we get error messages on
17016 both reading and writing to gnuchessx; I didn't investigate why.
17017
17018 3.2, patchlevel 0 -- Wed Dec  7 13:23:36 1994  Tim Mann
17019
17020 * Thanks to all the beta testers who gave me feedback: Josef Nelissen,
17021 Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,
17022 Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike
17023 Lee.  Sorry if I forgot anyone.  Thanks to Virendra Kumar Mehta for
17024 information about DYNIX/ptx.
17025
17026 * Don't exit on keyboard EOF unless we get two in a row.
17027
17028 * WinBoard only: added -localLineEdit switch to allow turning off local
17029 line editing if you really want to.  It is still a bad idea to let the
17030 echoing be done remotely, however; see below.
17031
17032 * Fixed some configure problems on HP-UX.  [Steve Booth]
17033
17034 * Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3.  [Josef Nelissen]
17035
17036 * cmail bugfix from Evan Welsh (cmail 3.4).
17037
17038 3.1, patchlevel 9 -- Fri Dec  2 23:54:56 1994  Tim Mann
17039
17040 * Beta distribution only
17041
17042 * Always do local echo/edit of user typing in ICS mode.  Doing the echo
17043 downstream may seem nicer in some modes, and it can be hard to turn that
17044 echo off, but the echoed characters can be interleaved with ICS output
17045 and make it impossible to parse correctly.  For xboard this involved only
17046 a change to recommendations in the man page, as Raw() isn't implemented.
17047 For WinBoard, removing Raw() made a real difference.  Added code in
17048 WinBoard to change /r/n back into /r on keyboard input, as we get the
17049 former when Raw() is not called.
17050
17051 * Do not issue ICS "refresh" command after we start to observe a game
17052 unless we get to the next prompt without seeing a board image.  Newest
17053 version of ICS doesn't require this refresh, but old versions around still
17054 do.
17055
17056 * cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.
17057
17058 * Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame.  Evan
17059 Welsh request.
17060
17061 * Using "-" on the command line as a filename for loading (saving) games
17062 or positions specifies the standard input (standard output).  Alain Picard
17063 suggestion.
17064
17065 * On WinBoard only, a command line option without a leading '-' or '/' is
17066 now taken as the value of -lgf.
17067
17068 * Changed to not use stdin, stdout, stderr as initializers in backend.c;
17069 needed for GNU libc compatibility.  You also must build parser.c with flex
17070 (not lex) if you are using GNU libc, to avoid having the same problem
17071 there.
17072
17073 * Changed WinBoard to avoid using "overlapped" input on the console.  It
17074 now seems to fully work on Windows 95 beta 2.
17075
17076 * Improved comment popups on WinBoard.  Now newlines are handled properly,
17077 and the plain Comment popup window doesn't disappear and reappear when we
17078 step to a new move with a new comment.
17079
17080 * Fixed bugs in detecting the absence of the time and otim commands.
17081
17082 * Added built-in implementation of rcmd protocol to WinBoard.  Windows NT
17083 does not implement passing signals through rsh, and Windows 95 does not
17084 have rsh at all.
17085
17086 * Added -remoteUser option.
17087
17088 3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994  Tim Mann
17089
17090 * Beta distribution only
17091
17092 * Rearranged ChangeLog file into reverse chronological order to be closer
17093 to GNU standards.
17094
17095 * Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).
17096 Includes a bug fix to TruncateGame.
17097
17098 * Updated ICS address to be chess.lm.com.
17099
17100 * Bug fixes to handling the aftermath of FatalError.  Thanks to Chris
17101 Petroff for the bug report.
17102
17103 * Test for remsh before rsh, other fixes for HP-UX.  Thanks to Richard
17104 Lloyd.  I wasn't able to do all the things he suggested, so there may
17105 still be some rough edges in building on HP-UX.  See the FAQ file for hints.
17106
17107 * Bug fix; added missing check for HAVE_SYS_SYSTEMINFO.  Thanks to Josef
17108 Nelissen for testing on Solaris 2.x.
17109
17110 * Updated WinBoard to match xboard.  (WinBoard still has a few option
17111 dialogs that don't exist in xboard.)
17112
17113 * Changed Hint output to a popup.
17114
17115 * ShowThinking output and move output no longer overwrite each other.
17116 ShowThinking output won't appear if the displayed position is not current.
17117 ShowThinking output in TwoMachines mode made clearer and documented.
17118
17119 * Implemented --enable-ptys and --disable-ptys arguments to configure.
17120
17121 * Fixed Book and Hint code to work over a pty with echo enabled and tabs
17122 expanded to spaces.  Thanks to Dima Dahknovsky for the bug report.
17123
17124 * Moved Attention calls from all over xboard to one place, inside
17125 SendToProgram.
17126
17127 * Added bulletproofing to ShowThinkingEvent.
17128
17129 * Added code to handle "refresh N" boards that come in from ICS properly,
17130 assuming ICS is changed to mark them with a new relation code (-3).
17131
17132 3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann
17133
17134 * Beta distribution only
17135
17136 * Changed ShowThinking to just show the current best line in the
17137 DisplayMessage area, instead of dumping everything to stdout.
17138
17139 * Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and
17140 changes to cmail code in backend.c, from Evan Welsh.
17141
17142 * Miscellaneous minor fixes.
17143
17144 3.1, patchlevel 6 -- Fri Nov  4 12:53:53 PST 1994 -- Tim Mann
17145
17146 * This patchlevel was not actually released to anyone.
17147
17148 * Updated the pty code to be based on GNU Emacs 19.24, and moved it to a
17149 separate file.  It was hard to split out just the pty configuration from
17150 all the stuff emacs does with its custom configure script and .h files,
17151 but I did my best.
17152
17153 * Converted from imake to GNU autoconf.  This was a serious upheaval.
17154
17155 * Put in code to help trap "error gathering move list" problem reported by
17156 Michel van der List if it recurs.  I couldn't reproduce it.
17157
17158 3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann
17159
17160 * Beta distribution only.
17161
17162 * We now test for checkmate or stalemate in EditGame mode after every user
17163 move, and in LoadGame mode whenever we hit the end of a game without
17164 seeing a PGN end marker.  cmail needs an update to deal with this
17165 correctly; Evan promises one.
17166
17167 * Bugfixes in new move generator.  Thanks to Mike Lee for reporting one of
17168 the bugs.
17169
17170 * Imakefile was omitted from patchlevel 4.
17171
17172 3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann
17173
17174 * Beta distribution only.
17175
17176 * The move generator includes a mate tester.  Initially this is used only
17177 by cmail, and even that usage needs further work.
17178
17179 * Wrote a true move generator and used it to replace all the move
17180 disambiguation and legality checking code in parser.l.  The move generator
17181 is capable of dealing correctly with en passant and castling availability,
17182 but the rest of the program still does not keep track of this information.
17183
17184 * Bug fix: xboard did not handle "foo has made you an examiner of game 23"
17185 message.  Thus you could not use examine features until the next board
17186 came in, showing your new relation to the game.  Thanks to POOKIEWOOKIE on ICS
17187 for the bug report.
17188
17189 * Added AutoObserve feature.  Thanks to Chris Petroff for the idea.
17190
17191 * Added Book feature to use new gnuchess "bk" command.  Mike McGann request.
17192
17193 * Redid code to handle missing "time" command in gnuchess, because latest
17194 gnuchess no longer sends a response to this command.
17195
17196 * Eliminated need for -DFLEX.  Thanks to Michael Shields (Vladimir?) for
17197 the idea.
17198
17199 * Added missing code to implement MoveNow in TwoMachines mode.
17200
17201 * Added ShowThinking feature.  Thanks to Richard Lloyd for the idea.
17202
17203 * Applied patches from Evan Welsh; some fixes and improvements to the
17204 cmail code.
17205
17206 * Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,
17207 introduced in previous patchlevel.  Also fixed related bug in ending a
17208 game in ICS mode; was entering EndOfGame mode instead of IcsIdle.
17209
17210 * Added patch to implement internetChessServerLogonScript flag, from Kevin
17211 O'Connor.  Thanks!
17212
17213 3.1, patchlevel 3 -- Wed Sep  7 13:22:07 PDT 1994 -- Tim Mann
17214
17215 * Beta distribution only.
17216
17217 * Merged in new cmail code from Evan Welsh.  He added the ability to have
17218 more than one game per message, needed for official IECG matches.  I added
17219 the ability to resign or offer/accept/decline a draw in a cmail game.
17220
17221 * Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError
17222 was called too early in initialization.  Georges Honore reported this bug.
17223
17224 * Decided to keep EndOfGame mode as an element of the user interface---it
17225 means that a gnuchess game or loaded game has ended, and the user must
17226 explicitly select EditGame to edit it, rather than just being able to
17227 enter more moves freely.  But internally there is no longer an invariant
17228 tying this mode to whether the chess program is running.
17229
17230 * Zippy bugfix: Was saving only the final position in the -sgf file when
17231 the game ended by something other than resignation or flag.  Also fixed
17232 the longstanding bug that Zippy would think the final board of such a game
17233 was a new game and restart the chess program.
17234
17235 * Now does a better job of faking castling availability in FEN.  We still
17236 don't really keep track of it, but now at least we don't say that castling
17237 is still available when the king or rook is not on its home square.
17238
17239 * Bugfix: Initial board of game history for wild games was going through
17240 too much processing, causing us to forget the game length, which is now
17241 needed by ParseGameHistory.  This was causing problems with resuming
17242 adjourned wild games.
17243
17244 * Updated ICS host to ics.onenet.net.
17245
17246 * Zippy now accepts challenges where the opponent specified his color.
17247
17248 * Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.
17249
17250 * Bitmap directory can include alternative icons now, too.
17251
17252 * Handle "Game * (*) has no examiners" message from ICS.
17253
17254 * Revamped window title and icon name selection.
17255
17256 3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann
17257
17258 * "Beta" distribution for Zippy users only.
17259
17260 * Bugfix: common.h was assuming that X11 type Boolean is char, which is
17261 not always true.  This might have caused all sorts of obscure bugs!
17262
17263 * Installed new bitmaps from Elmar Bartel as the default.  Many thanks!
17264 The old bitmaps can be used by changing the "bitmaps" symbolic link before
17265 compiling xboard, or by using the -bitmapDirectory option at runtime.
17266
17267 * Loading a game that ends with the PGN unfinished symbol ("*") now always
17268 leaves you in EditGame mode.
17269
17270 * Added documentation of -icscomm to man page.  Thanks to Maarten Remkes
17271 for the linux script.
17272
17273 * ^C now kills gnuchess as well as xboard.  Thanks to Dima Dakhnovsky for
17274 reminding me how to do this.
17275
17276 * Bitmap icon color now indicates player to move.  Stuart Cracraft
17277 suggestion.
17278
17279 * Changed piece bitmap flags to have just one flag, which points to a
17280 directory full of bitmaps, instead of a flag for each bitmap.  Also
17281 changed bitmap naming convention.
17282
17283 * "Connection closed by ICS" is no longer a FatalError popup.  This was
17284 too annoying in the normal case where the user typed "quit".
17285
17286 * Changed default font to 14 pixels instead of 10 points.  This seems to
17287 make it close to the size I want it to be on more displays.
17288
17289 * Major mode (GNU Chess, etc.) appears in title bar.  Stuart Cracraft
17290 request.
17291
17292 * Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and
17293 TwoMachinesEvent were calling PauseEvent to get out of pause mode, which
17294 now has undesired side effects, such as advancing the display to the
17295 forwardMostMove.  It works fine to just set pausing = FALSE instead.
17296
17297 * IcsExamining mode now lets you access ICS edit position commands using
17298 the same popup menus as xboard's EditPosition mode.  Thanks to DAV on ICS
17299 for inspiring the idea.
17300
17301 * Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.
17302
17303 3.1, patchlevel 1 -- Wed Jun  1 16:25:11 PDT 1994 -- Tim Mann
17304
17305 * Added parser.c.lex and parser.c.flex to the distribution.
17306
17307 * Added HP gcc options to Imakefile, from Mats Nylen.
17308
17309 * EndOfGame mode no longer highlights EditGame mode indicator, because the
17310 modes really do differ.  I would like to get rid of EndOfGame mode in the
17311 future, at least as far as users can see.
17312
17313 * Larger %a in parser.l, needed for RS/6000 users.
17314
17315 * Minor improvements to Mail Move error messages.
17316
17317 * When -debug flag is given to xboard, -v is passed to cmail.
17318
17319 * Old Save Style uses "1. ..." instead of "1..." when black moves after a
17320 comment; more like xboard 3.0's actual style.
17321
17322 * New version of cmail from Evan Welsh.  Looks for UCB Mail in a more
17323 portable way and has some minor bug fixes.
17324
17325 * Bug fix: Saving a FEN position while in EditPosition mode with black to
17326 play was showing white to play in the saved position.
17327
17328 3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann
17329
17330 * This is the first general release since 3.0, patchlevel 9.  Releases
17331 since then have been limited-distribution or beta releases.
17332
17333 * Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,
17334 Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,
17335 Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and
17336 Evan Welsh.  Sorry if I've forgotten anyone who gave me feedback.
17337
17338 * Updated man page.
17339
17340 * Minor cleanup on menu sensitivity code.
17341
17342 * Integrated another even better version of cmail from Evan Welsh,
17343 including some code he supplied in xboard itself.
17344
17345 * A few more fixes to cmail support.
17346
17347 * Automatically update clocks after an ICS "moretime" command.
17348
17349 * Handle ICS automatic examine mode (set examine 1) after a game.
17350
17351 3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann
17352
17353 * Beta test release only.
17354
17355 * Don't suppress prompt on first board of game being examined; otherwise
17356 it looks like nothing happened at all (i.e., like you're lagged).
17357
17358 * Added StopExamining and StopObserving (Chris Petroff suggestion).
17359
17360 * Made Reset do a refresh on ICS.  John Chanak's original ICS code for
17361 xboard tried to do this; I finally decided it was a good idea after all.
17362
17363 * Fixed bugs in handling updates that come in while you are pausing in
17364 examine mode.  This is pretty tricky to do right.
17365
17366 * Made un-Pausing immediately pop you to the current position.  This is
17367 always necessary in examine mode, since the game may have changed under
17368 you; your remembered moves might no longer be right.  So I made it do the
17369 same in all modes.
17370
17371 * Took Detach Examine mode back out...used Pause mode for this instead!
17372
17373 * Put in a trap for the GNU Chess bug of printing an Illegal Move message
17374 when its own hint move is illegal.
17375
17376 * Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after
17377 it checkmates its opponent.  This involved adding an argument to GameEnds
17378 to say who says it ended (ICS, GNU, etc.)  and taking different actions in
17379 different cases.  Unfortunately, this just restored an older Zippy bug, where
17380 Zippy restarts gnuchess when it gets the board with the final position,
17381 because GameEnds still puts xboard in EndOfGame mode.  Sigh.
17382
17383 * We now capture elapsed time on last move when getting game history.
17384 (Josef Nelissen bug report)
17385
17386 * Rewrote code to redisplay last file title so it really works.
17387
17388 * Fixed bug in oldSaveStyle.
17389
17390 * Larger %a and %o were needed for lex.
17391
17392 3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann
17393
17394 * Beta test release only.
17395
17396 * FatalError popups stay on the screen now.  If the error is really fatal,
17397 all functions are disabled, and the program exits when you press OK.
17398
17399 * Redisplay last file title when using Load (Next/Previous/Same) Game.
17400
17401 * Zippy understands new match challenge message format on ICS.
17402
17403 * Added Revert command.
17404
17405 * When examining a game on ICS, < > buttons do ICS backward/forward
17406 commands, unless you set the Detach Examine option.  Thanks to Dima
17407 Dakhnovsky for the idea.
17408
17409 * Fixed various minor problems in cmail mode.
17410
17411 * cmail generates the tags now.  New version of cmail from Evan Welsh.
17412
17413 * cmail mode won't let you do MailMove unless the currently displayed
17414 position is exactly one move past the end of the game you loaded.
17415
17416 * Fixed building of man pages in Imakefile
17417
17418 * Updates to INSTALL file
17419
17420 3.0, patchlevel 12 -- Sat May  7 21:10:03 PDT 1994 -- Tim Mann
17421
17422 * Beta test release only.
17423
17424 * Brought man page up to date.
17425
17426 * Added Shift+R to resign from keyboard.
17427
17428 * Some items on Action menu available in GNU Chess mode now.
17429
17430 * Revamped Action menu.
17431
17432 * Reordered functions in backend.c as a small step toward reorganizing
17433 this whole mess.
17434
17435 * Generate TimeControl PGN tag.
17436
17437 * Get type of ICS game (e.g., rated blitz) and save in PGN tags.
17438
17439 * Bug fix: Clocks were not redisplayed when entering EditGame mode.
17440
17441 * Bug fix: Clocks were not being redisplayed after loading a game file
17442 with -td 0, so they could show the wrong color active.
17443
17444 * Bug fix: Chess programs would be killed and match mode would exit
17445 prematurely when loading a PGN game fragment ending with "*".
17446
17447 * ICS command "sposition" no longer confuses xboard.
17448
17449 * Integrated new version of cmail (with support code in xboard) from Evan
17450 Welsh.
17451
17452 * Added TruncateGame, MoveNow, RetractMove, and QuietPlay.
17453
17454 * Bug fix: switching between MachineWhite and MachineBlack was not calling
17455 Attention().  Reported by Dino Dini.
17456
17457 * More improvements to INSTALL and Imakefile.
17458
17459 * Pack moves into 79 character lines in PGN output.  We don't generate
17460 check indications, and we always break the line before the result,
17461 so this is not quite PGN export format.
17462
17463 * Use FEN tag in PGN.
17464
17465 * Improved finding and counting of game starts in save files.
17466
17467 * Negative position or game numbers in -lpi/-lgi mean to seek to that byte
17468 offset.  Hook for possible future features, not in man page.
17469
17470 * Detect and handle absence of either "time" or "otim" commands in
17471 gnuchess.
17472
17473 * Don't use "promote" command to ICS anymore.
17474
17475 * Handle switching sides and taking back moves on FICS.
17476
17477 * Handle flip state flag in style 12 board.
17478
17479 * Handle examine mode on ICS.
17480
17481 * Improved error popups for various kinds of illegal moves.
17482
17483 * Suppress unasked-for hints from gnuchess (which it generates in post
17484 mode).
17485
17486 * Load/save position functions use FEN.  Old style also supported.
17487
17488 * Added detailed error messages if loading a bitmap file fails.
17489
17490 * Small board has 2-pixel lines between squares instead of 3-pixel.
17491
17492 * Added OldSaveStyle and AboutGame.
17493
17494 * Renamed ForceMoves to EditGame.
17495
17496 3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann
17497
17498 * The following changes were present in xboard 3.0, patchlevel 11, but the
17499 first group did not make it into WinBoard 3.0 until later.  xboard
17500 3.0.pl11 was a limited-distribution release only, mostly to Zippy users.
17501
17502 * Man page minor fixes.
17503
17504 * Added a missing file close.
17505
17506 * Removed automatic error popdown on Reset, which was destroying some
17507 error messages before they could be read.
17508
17509 * Fixed char vs. unsigned char warnings on bitmaps.
17510
17511 * Use ICS board style 12.  Some improvements to ICS parsing.
17512
17513 * Comment window is now labelled with the move the comment is on, and
17514 comments don't pop down when you step to the next move.
17515
17516 * Save files now in PGN format.
17517
17518 * Support for loading PGN files.  PGN tags pop up when a PGN game file
17519 is loaded.
17520
17521 * More info in INSTALL and Imakefile about building for Suns (and
17522 other systems).
17523
17524 * WinBoard 3.0 patchlevel 11 split off from an early version of xboard
17525 3.0 patchlevel 11, so it does not have all the features of that
17526 patchlevel.  The following changes made it into both xboard and
17527 WinBoard:
17528
17529 * Made Comment dialog non-modal in WinBoard.
17530
17531 * EndOfGame mode is now more transparent.  It looks like ForceMoves
17532 mode except that there is no chess program running.
17533
17534 * Small bug fixes in clock management.  Most noticeably, pausing when
17535 it is gnuchess's move now works as documented (again).
17536
17537 * Add minimal support for -icscomm option.  Not documented yet because
17538 I haven't sorted out the issues with setting the tty modes on the comm
17539 port device, or with locking it properly.  But it's usable by wizards.
17540
17541 * Don't restart the chess program upon Backward event from EndOfGame mode.
17542
17543 * Suppress extra prompt after ICS sends us a board.
17544
17545 3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann
17546
17547 * Beta test release only.
17548
17549 * Zippy now plays chess.  zippy.c and zippy.h are still not included
17550 in the standard distribution, but are available on request.
17551
17552 * Switched to using style 12 on ICS.
17553
17554 * Updated man page, and documented use of XBoard*form.translations to
17555 add more shortcut keys.
17556
17557 * Added shortcut keys "d" to claim/offer/accept a draw, and "t" to
17558 call flag.  Suggested by venu on ICS.
17559
17560 * More explicit instructions in INSTALL file.
17561
17562 3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- Tim Mann
17563
17564 * General release, minor update to 3.0.pl8.
17565
17566 * Loosened checking on whether it's okay to start a move, to satisfy
17567 ICS ultra-blitz players.  Now we don't check whether it's your turn
17568 until you let go of the piece.
17569
17570 * Parser now recognizes "+-+" as meaning the game ended in a draw.
17571
17572 * Got rid of S_NONE symbol, which seems to conflict with some symbol
17573 Sun defines.
17574
17575 * Tweaked the man page.  Clarified that there is currently no way for
17576 two people running copies of xboard to play each other without going
17577 through the Internet Chess Server.
17578
17579 * Fixed a bug in color name conversion.  Asking for two different
17580 colors whose names were the same in the first four characters would
17581 get you two copies of the first one.  Thanks to Volker Zink for the
17582 bug report.
17583
17584 * Improved confusing Usage() message.
17585
17586 * Added a bunch of Sun information to the Imakefile and INSTALL file.
17587 Thanks to Ed Hanway, Arik Klingensmith, and others who responded.
17588
17589 * Test for defined(WIN32) instead of !defined(unix).
17590
17591 * Avoid using (void *) type with non-ANSI C compilers.  Thanks to
17592 James Altucher for the bug report.
17593
17594 3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- Tim Mann
17595
17596 * Note: Patchlevel 8 was the first non-beta release of xboard 3.0
17597
17598 * Added cmail to distribution.  Contributed (and still maintained) by
17599 Evan Welsh.
17600
17601 * Bug fix: -queen option wasn't initializing menu check.  Reported by
17602 Pat Surry.
17603
17604 3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann
17605
17606 * Sent WinBoard 3.0.pl7 to Torre on ICS
17607
17608 * Added parser.h to hold the interface to parser.l
17609
17610 * Upgraded COPYING file and copyright notices to GNU GPL version 2.
17611
17612 3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann
17613
17614 * We no longer display intermediate positions or intermediate comments
17615 while loading a game file with -timeDelay 0 or loading an opening to
17616 start up a -matchMode game.
17617
17618 * Loading an empty game from an xboard save file now gives a status
17619 message "No moves in game" instead of an error popup saying "Game not
17620 found in file."
17621
17622 * Added comment.awk to distribution.
17623
17624 3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann
17625
17626 * Bug fix:  xboard would crash if it couldn't get all its colors; now
17627 it switches to monoMode instead.  Also, xboard was trying to convert
17628 color resources even when using a b/w display.  Reported by Larry
17629 Rogers.
17630
17631 * Bug fix: Declared fields of TimeMark as signed so that we get signed
17632 instead of unsigned arithmetic.  SubtractTimeMarks was breaking on
17633 Alpha AXP (which has 64-bit longs) with old declarations.  Reported by
17634 Michel van der List.
17635
17636 * Bug fixes:  Keyboard accelerators now work after EditComment window is
17637 popped down.  Iconize keyboard accelerator now works even if xboard
17638 was started with -iconic flag and later deiconized.
17639
17640 * Bug fix:  The routine that tests whether a move is illegal because it
17641 would leave you in check was not handling e.p. captures properly.
17642 Reported by Patrick Surry.
17643
17644 * Bug (?) fix:  Was adding time to clocks at time control even when
17645 loading a game file.  Actually it's not entirely clear how time
17646 controls should be dealt with when some moves are loaded from a file
17647 or clicked in with ForceMoves.  For now ForceMoves mode does add the
17648 time (because it can be used to change moves during a live game), but
17649 LoadGame mode does not.
17650
17651 * Updated usage message.
17652
17653 * Previous attempted fix to matchMode had broken TwoMachines mode and
17654 generally needed more work.  Also simplified command line interface to
17655 matchMode.
17656
17657 3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- Tim Mann
17658
17659 * Thanks again to the beta testers listed for 3.0 patchlevel 3, and also
17660 Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.
17661
17662 * Reorganized man page, splitting OPTIONS into subsections.
17663
17664 * matchMode was very broken; fixed.
17665
17666 * Changed convention for turning off command line options from --opt
17667 to -xopt, to be less inconsistent with GNU standards.  Also changed
17668 the long command line options to take True/False arguments like
17669 resources; seems to make more sense this way.
17670
17671 * Added AlwaysQueen option -- suppresses promotion dialog and always
17672 promotes to a queen if you move a pawn to the last rank.  Has no
17673 effect on gnuchess (or your ICS opponents!) -- they can still
17674 underpromote.
17675
17676 * Subtracted an extra fudge term when determining how wide message and
17677 title widgets should be.  This fixes a problem some beta testers had.
17678 Wish I knew why it's needed.
17679
17680 * Bugfix in parser; symptom was that you couldn't do LoadGame after
17681 observing a game on ICS.
17682
17683 * Bugfix in Forward; didn't work after game ended while Pause was turned on.
17684
17685 * Removed bogus execute bits on .h files.
17686
17687 * Use REMOTE_SHELL and TELNET_PROGRAM definitions.
17688
17689 * MachineWhite and MachineBlack now work from TwoMachines mode.
17690
17691 * Popping down an error message with the [ok] button was not turning off
17692 the errorUp flag, so the next move would cause xboard to try to pop it
17693 down again, resulting in a wild memory reference and sometimes a crash.
17694
17695 3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- Tim Mann
17696
17697 * Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
17698 Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
17699 Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
17700 Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.
17701
17702 * Improved error messages for trying to move the wrong color pieces or
17703 to move when it's not your turn.
17704
17705 * Special code for monoMode on 1-bit displays now understands displays
17706 where 1=white and 0=black.
17707
17708 * Declare getenv() if <stdlib.h> not included; avoids a compiler warning.
17709
17710 * Documented borderXoffset and borderYoffset.
17711
17712 * Added -titleInWindow option for use with X window managers that
17713 don't let us set the title in the window banner.
17714
17715 * Fixed error message printing in WinBoard; system error messages no
17716 longer appear as numeric codes.
17717
17718 * The error message popup is now non-modal; you don't have to press the
17719 [ok] button before you can do something else.  In addition, the popup is
17720 positioned so that it doesn't cover up the board (too much), and making a
17721 move or otherwise clicking on the board pops it down.  (Not implemented in
17722 WinBoard.)
17723
17724 * You can now call your opponent's flag in ICS mode by clicking on his
17725 clock.
17726
17727 * Fixed minor bugs in -flipView option and documented exactly how xboard
17728 decides which way to flip the view.
17729
17730 3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann
17731
17732 * Added Autosave to Options menu.  Would be better to have Save
17733 Options dialog as in WinBoard, but this was quick to do and gives the
17734 most-needed functionality.
17735
17736 * Changed "Reload Game" on menu to "Reload Same Game".
17737
17738 3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- Tim Mann
17739
17740 * Sent a copy of patchlevel 1 to Patrick Surry to beta-test.
17741
17742 * Added -cmail option that sets appData.cmailMode.  Currently a no-op.
17743 In the future this may set special modes for use by the cmail script
17744 for playing chess by email.
17745
17746 * Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
17747 ReloadGame suggested by Patrick Surry.
17748
17749 * Added -flipView command-line option.  Suggested by Patrick Surry.
17750
17751 * Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."
17752 needed to match to end of line.  (2) Start of a new file was not matching
17753 the ^ start-of-line character.  The fix for this is a kludge.
17754
17755 * Made game counting code in LoadGame more robust, and made LoadGame
17756 able to detect the end of a saved partial game (by noticing the start
17757 of the next game) in game files created by XBoard itself.  We don't
17758 try to find the start of the next game that way in other kinds of game
17759 files, because the only way I can think of to do that is to look for
17760 another move #1, and that technique gets too many false hits.
17761
17762 * Fixed recently introduced bug in LoadGame when game starts with a
17763 position diagram.
17764
17765 3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann
17766
17767 * Changes in this patchlevel were too numerous to list.  Larger ones are
17768 listed below.
17769
17770 * Added a popup dialog to enter and edit comments.  Inspired by some
17771 code from Patrick Surry.  Changed the normal read-only comment popup
17772 to the same style.
17773
17774 * Added ICS init script feature from Karl Schwamb.
17775
17776 * Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.
17777
17778 * Revamped code to allow use of flex instead of lex on parser.l.
17779 Using flex requires adding -DFLEX to defines in Imakefile.
17780
17781 * Source code is split into front end (xboard.c), which knows about X
17782 and Unix, and back end (backend.c), which knows about chess, gnuchess,
17783 and the ICS.  There is also a front end for Windows NT.
17784
17785 * Boolean command line options now use "-foo" to turn on and "--foo"
17786 to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;
17787 see above.]
17788
17789 * Added menu commands to control autoflag, bell, and coords options.
17790
17791 * User interface has a new look: (1) Menu bar instead of array of
17792 buttons.  A few very commonly used features have small buttons in
17793 addition to being on the menus. (2) Large font for clock.  (3) Pop-up
17794 dialogs for errors.
17795
17796 2.1, patchlevel 11 -- Sat Jun  5 00:01:01 PDT 1993 -- mann@src.dec.com
17797
17798 * Added code to deal with "wild" games on ICS.  This includes allowing
17799 castling with the king on d1 or d8, which is allowed in wild(1) games
17800 if the king started there.  Notation is o-o to castle "short"---to
17801 whichever side the king is closer to---and o-o-o to castle "long."
17802 Right now wild castling is always allowed by xboard; we rely on ICS or
17803 gnuchess to reject it when we aren't really in wild mode.
17804
17805 * memcpy call had arguments in wrong order.
17806
17807 * Removed April Fool code
17808
17809 2.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com
17810
17811 * Avoid trying to select on a pipe when using System V.  Needed to
17812 copy some code from InitChessProgram() up into establish().
17813
17814 * Bug fix in disambiguating pawn moves like "ed".
17815
17816 * Fix to error handling in ReceiveFromProgram.
17817
17818 * Bug fix: entering EditPosition mode with black to play highlighted
17819 White's clock instead of Black's.
17820
17821 * Added telnetProgram resource in case "telnet" is not the name of the
17822 telnet program.
17823
17824 2.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com
17825
17826 * Entering Force Moves mode clears "flag has fallen" messages from display.
17827
17828 * ICS host name can now be in numeric format; for example 128.2.232.4.
17829
17830 * Bug fix: LegalityTest was failing to test whether a pawn move was
17831 illegal because the move would discover a check.
17832
17833 * Handle ICS message "mann asserts a win over manntest, who disconnected."
17834
17835 * Bug fix: A recent change to PromotionCallBack had broken
17836 underpromotion to a knight.
17837
17838 * Bug fix: In EditPosition mode, dragging a piece onto a square border
17839 would make it vanish.  xboard wasn't distinguishing this case from
17840 dragging the piece off the board.  Thanks to Matthew Kidd.
17841
17842 * Removed "static" declaration from yywrap for compatibility with IRIX
17843 version of lex.  Thanks to stiller@blaze.cs.jhu.edu.
17844
17845 * Added substitutes for bzero, bcopy, and gethostname for Solaris
17846 SVR4.  Thanks to Michael Grant.
17847
17848 * Bug fixes to queen move disambiguation.  Bugs showed up only when
17849 promotion resulted in more than one queen on the board.
17850
17851 2.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com
17852
17853 * parser bug fix: It now really works to leave off the piece a pawn is
17854 promoting to and let it default to queen.
17855
17856 * When starting to observe or play an ICS game, don't draw board in
17857 initial position and then immediately redraw it in the current
17858 position.
17859
17860 * Handle ICS messages when an "abuser" forfeits a game by
17861 disconnecting and when a game is aborted ("removed") by an
17862 administrator.
17863
17864 * Bug fix: A user move when in LoadGame+Pause mode was resuming the
17865 game load instead of putting us in force mode.
17866
17867 * It seems that crashes inside sscanf when xboard is compiled with gcc
17868 (as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are
17869 caused by an incompatibility between gcc and the sscanf implementation
17870 on these platforms.  A workaround is to specify -fwritable-strings to
17871 gcc (see the gcc documentation).  Added info on how to do this to the
17872 Imakefile.  Thanks to Tom McConnell for this information.
17873
17874 * Clocks are allowed to go negative.  This is mostly for ICS
17875 compatibility, but it affects gnuchess mode too.  Also, we give the
17876 time bonus when a player hits the time control boundary even if his
17877 flag is already down.  This choice is a bit debatable, but it makes
17878 things look better when you are in TwoMachines mode and gnuchess's
17879 time management screws up causing it to exceed its time limit.
17880
17881 * Implemented move legality checking code.  Moves made with the mouse
17882 or parsed from a file are checked for legality before being made.
17883 This is mostly in preparation for future extensions, such as
17884 human-human play.  For now it makes -noChessProgram mode more useful.
17885
17886 * If the user takes back moves, we restore the clocks to the earlier
17887 settings.
17888
17889 * We now handle the output of the ICS oldmoves command, including
17890 parsing the game end condition.
17891
17892 * Added autoCallFlag mode.
17893
17894 * Fixed glitches in the medium size outline king and rook bitmaps, and
17895 touched up the medium size solid king and outline queen.
17896
17897 * bug fix: DisplayMove would not display backwardMostMove - 1.
17898
17899 * Added CallFlag button and removed AcceptMatch.  CallFlag is more
17900 important with new ICS, and accepting the current match offer is easy
17901 with the new ICS command "accept" (can be abbreviated "ac").
17902
17903 * LoadGame and LoadPosition display tail of file name (plus index
17904 number, if any) as title.
17905
17906 * MachineWhite, MachineBlack, and TwoMachines now work properly from
17907 LoadGame and LoadGame+Pause mode.
17908
17909 * Use o-o and o-o-o to castle on ICS, not 00 and 000.
17910
17911 * Stripped out code for old ICS messages; new ICS is now installed.
17912
17913 * Bug fix: don't offer autosave when paused during LoadGame.
17914
17915 2.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com
17916
17917 * Track change to "Illegal move" message in new ICS.
17918
17919 2.1, patchlevel 6 -- Tue Dec  8 10:48:44 PST 1992 -- mann@src.dec.com
17920
17921 * Kludged around bug in keeping comment popup where you put it by
17922 adding borderXoffset and borderYoffset resources that give the width
17923 of the borders added by the window manager.  Yucch.
17924
17925 * Changed searchDepth kludge back to using "help" instead of "bd"; the
17926 latter didn't work because the output contains a line starting with
17927 "White", so we think gnuchess is telling us that White won.  Oops.
17928
17929 * Removed some code that uses an X11R5 feature, XrmGetDatabase.
17930 Without this, the auto font sizing code is harder to make work, so to
17931 keep my sanity I had to change it to affect only the fonts that appear
17932 in the main window and the comment popup, not the other popups.  Maybe
17933 this is better anyway.
17934
17935 * AcceptMatch button now works after a counterchallenge, too.
17936
17937 * Added code for more variants of messages about games being adjourned
17938 or aborted.  These messages need to be unified in new version of ICS.
17939
17940 * Added workaround for minor bug in ICS; game number on first board
17941 can be wrong.
17942
17943 * Removed code to say "refresh n" instead of "refresh"; was broken and
17944 wasn't needed anyway.
17945
17946 * Added missing casts for compilers that distinguish enums from ints
17947 and missing cast in connect call.
17948
17949 * Added code to recognize "both sides are out of time" draw message
17950 proposed for next version of ICS.
17951
17952 * Thanks to Danny Sleator and Joe Peterson for bug reports.
17953
17954 2.1, patchlevel 5 -- Sun Dec  6 19:52:40 PST 1992 -- mann@src.dec.com
17955
17956 * Removed gcc and CDEBUGFLAGS from Imakefile.
17957
17958 * Corrected setting of mode to ForceMoves when game file ends or
17959 contains an AmbiguousMove or BadMove.  Previous bug was harmless.
17960
17961 * Added AcceptMatch button and mention of 50-move rule for Draw button
17962 to man page.
17963
17964 2.1, patchlevel 4 -- Sun Dec  6 02:55:42 PST 1992 -- mann@src.dec.com
17965
17966 * Now handles revised messages from new version of ICS.  New ICS is
17967 not released yet, so this code might change further.  Next patchlevel
17968 will remove support for old ICS; both are there now.
17969
17970 * Initial processing for a new game being watched or played now
17971 happens when we see the first board image.  Removes the need to parse
17972 some messages and unifies some code.
17973
17974 2.1, patchlevel 3 -- Tue Dec  1 19:40:40 PST 1992 -- mann@src.dec.com
17975
17976 * Handles ICS messages "Draw : neither player has mating
17977 material" and "Draw : White has no material, Black has no time."
17978
17979 * Added AcceptMatch button for ICS mode.
17980
17981 * Fixed bug in previous fix to yylexstr().
17982
17983 * Fixed bugs in code for loading old position files that don't start
17984 with "#" and for handling case where user asked for nth position in
17985 file but there aren't that many.
17986
17987 * Handles ICS message "* has restored your old game"
17988
17989 * ResetProc always clears title line now.
17990
17991 * Don't issue just "refresh" when watching a game; use game number.
17992 Upcoming new version of ICS may need this.
17993
17994 * Added code to try to prevent user from watching and/or playing more
17995 than one game at a time.  There is a race condition inherent here; if
17996 we get more than one board from the game before our command to stop
17997 watching it takes effect, we'll think the user started it again.  Not
17998 clear how to fix this.
17999
18000 * Redid ParseBoard8 to use sscanf.  Code is a good deal cleaner now.
18001 Also, we now parse out the game number too, though we don't make much
18002 use of it yet.
18003
18004 * (Tried to put in a feature that recognizes the current game in a
18005 game file must have ended when we see the start of a new one, but had
18006 to disable it because we have too many false hits with the current
18007 parser, especially in gnuchess listing files.)
18008
18009 * Moves read from game files or received from ICS are now translated
18010 into canonical algebraic form just like all other moves.  Minor nit:
18011 If you use Reset while playing or observing a game in ICS mode, the
18012 game history (including the current board position) is lost, so the
18013 next move of the current game can't be translated.
18014
18015 * Default fonts now vary with board size, and are chosen by pixel size
18016 instead of point size (since piece bitmaps have a fixed pixel size).
18017
18018 * Bug fix: An extra Forward was required to skip over time indications
18019 in game files.
18020
18021 2.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com
18022
18023 * If you move the comment popup, the next time it pops up it will come
18024 back where you put it.
18025
18026 * Fixed yylexstr() so calls to it can be interspersed with calls to
18027 yylex().
18028
18029 * Fixed bugs in Forward/Backward while in LoadGame mode.
18030
18031 * Changed Save{Game,Position} functions to append instead of
18032 overwriting if file exists.  Changed Load{Game,Position} functions to
18033 deal with multiple games/positions per file.
18034
18035 * Changed load{Game,Position}File resources to trigger automatic load
18036 on program startup.  Changed save{Game,Position}File resources to
18037 trigger automatic save after every completed game and on program exit.
18038
18039 * Added autoSaveGames mode.
18040
18041 * Fixed bug with PromoPiece in call to MakeAlg from MakeMove.
18042
18043 * Many changes to get rid of picky compiler warnings and generally
18044 clean up the code.
18045
18046 2.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com
18047
18048 * A last minute change before patchlevel 0 went out broke
18049 ParseGameHistory().  Immediately fixed in patchlevel 1.
18050
18051 Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com
18052
18053 * Uses "time" command of gnuchess 4.0 and following to keep clocks in
18054 sync.  Still works with older versions without this command; we test
18055 whether the command is present the first time each chess program is
18056 started.
18057
18058 * File name dialog pops up under the mouse cursor, so that it's got the
18059 keyboard focus if the window manager is using pointer focus.
18060
18061 * Attempts to move the wrong color piece or an empty square are filtered
18062 out in xboard instead of being passed on to GNU Chess or the ICS.
18063
18064 * The reason a game ended is now remembered even if you move backward
18065 and forward after it ends.  It is forgotten only if you make a move
18066 (which is as it should be---this is now a different game, which hasn't
18067 ended yet).  The message saying why the game ended no longer wipes out
18068 the last move.
18069
18070 * Pause, Backward, Forward, ForceMoves, and EditPosition now work from
18071 TwoMachines mode.
18072
18073 * Forward and Backward now change only the board display unless you
18074 are in ForceMoves mode.  Pause mode keeps new moves that are received
18075 from being displayed on your screen until you unpause (or use
18076 Forward).
18077
18078 * Added option to ring the bell after opponents' moves.
18079
18080 * Saved games that start from other than the standard initial position
18081 now begin with a postion diagram as in saved position files.  The
18082 loader is modified to understand such save files.
18083
18084 * Improved error checking when trying to read from gnuchess.
18085
18086 * Parser understands things that look like time indications, e.g., (0:12),
18087 instead of popping them up as comments.
18088
18089 * Send "quit" to gnuchess before trying to kill it.  I needed this
18090 locally because sending a SIGTERM to rsh was not killing the remote
18091 program on some internal field test systems we have.
18092
18093 * Merged in code from John Chanak to make xboard a front end to the
18094 Internet Chess Server, and added several improvements of my own.
18095 (These include parsing end of game messages, loading the current state
18096 and previous history of a game that's joined in progress via "watch"
18097 or "load", automatic switch from board style 1 to 8 when needed,
18098 removing irrelevant buttons and adding some new ones, adding the
18099 useTelnet and gateway resources, and miscellaneous code cleanup, bug
18100 fixes, and documentation.)  Many thanks to John for writing and
18101 contributing the initial version of this code.
18102
18103 Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com
18104
18105 * gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a
18106 preliminary version of 4.0.pl60 that I have).  Added code to handle
18107 this.  The old format ("e1g1", etc.) still works too.
18108
18109 * Added code to format moves in normal abbreviated algebraic notation
18110 (for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic
18111 (for example, e2e4, e3d4, f7f8q, g1f6, e1g1).  Moves entered with the
18112 mouse or received from gnuchess are translated into this canonical
18113 format for display on the message line or in saved game files.  Moves
18114 read from game files are not translated, however; they are shown and
18115 saved just as they appear in the file.
18116
18117 Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com
18118
18119 * It's not really correct to write an ep capture of a pawn on e5 as
18120 fxe5; this should be written as fxe6 because e6 is where the capturing
18121 pawn ends up.  Nevertheless, the parser now interprets fxe5 as the ep
18122 capture f5xe6 unless there is a pawn on f4, in which case it
18123 interprets fxe5 as f4xe5.  By design, the parser does not flag fxe5 as
18124 ambiguous if there are pawns on both f4 and f5; instead it prefers the
18125 more legitimate f4xe5 interpretation.
18126
18127 * A move like fxe6 or fe6 is now interpreted as an e.p. capture of the
18128 pawn on e5 if there is one there and e6 is empty.
18129
18130 * A move like fxe5 can no longer be interpreted as an e.p. capture if
18131 there isn't a pawn on e5 to be captured.  Previously this could happen
18132 erroneously if there were pawns on both f4 and f5, and the f4 pawn was
18133 capturing a piece on e5.
18134
18135 * The parser no longer munges the move it is parsing; in the past, for
18136 instance, it would remove the "x" from a move like dxc5 before echoing
18137 it to the screen.
18138
18139 * The parser now detects when a move is ambiguous and returns an
18140 error, instead of arbitrarily choosing one possibility as it used to.
18141
18142 Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com
18143
18144 * Added code so parser can handle fully qualified algebraic, e.g.,
18145 Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4.  The "P" and "/" work only for
18146 fully qualified moves, not generally.
18147
18148 * Fixed parser bugs in handling moves with rank or file disambiguator,
18149 e.g. N1f3 or Ngf3.
18150
18151 Mon Jul  6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com
18152
18153 * AIXV3 patch from Tom McConnell; thanks!
18154
18155 * After hitting the Backward button we see the last move made instead of
18156 the word "Pausing" displayed.
18157
18158 * Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault
18159 and Alan Walsh for bug reports and help with fixes.
18160
18161 * Added optional display of algebraic notation coordinates along left and
18162 bottom edges of board.  This was inspired by some code from Jean-Christophe
18163 Engel; thanks!
18164
18165 * Swapped EditPosition and Pause buttons to reduce danger of losing the
18166 game in progress by hitting EditPosition when you wanted Backward.  Thanks
18167 to Ove Lundberg for complaining (though it bugged me too).
18168
18169 * Despite one complaint, I kept the feature of changing both clocks when black
18170 makes time control, rather than changing each individually when the player
18171 involved makes it.  This is to avoid having it look like White is way ahead on
18172 time while Black is thinking about the last move of the time control period
18173 (i.e., when White has made time control but Black hasn't yet).
18174
18175 * Corrected clocks to work as in real tournaments.  Time is *added* when you
18176 reach time control; previously the clocks were simply set to the length of the
18177 new time period.  Also, when a player's flag falls, he still does not receive a
18178 new time allotment at the next time control, but his opponent does still
18179 receive more time if *his* flag has not fallen; previously, time controls were
18180 ignored for both players if either flag fell.  I forget who reported this bug.
18181
18182 * Added a small ESIX patch from Kayvan Sylvan.
18183
18184 Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21)
18185
18186 * Added some SVR4 support code from Ronald Cole.  It's Greek to me.
18187
18188 * Note:  Stephen Meatheringham reports a bug causing xboard to crash with an
18189 error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1
18190 and OpenWindows 3.0.  This bug has not been tracked down yet.
18191
18192 * Fixed a problem with ATTENTION code.  On some operating systems, you have to
18193 be even more cautious about when you send a SIGINT to gnuchess, because the
18194 signal handler gets deinstalled each time it is used, and gnuchess does not
18195 reinstall it immediately.  In particular, if you send a SIGINT and make an
18196 illegal move or ask for a hint, gnuchess does not reinstall the handler until
18197 *after* you make your next move, so you had better not send a SIGINT before
18198 it.  I put a workaround for this case into xboard; I hope there are no more.
18199
18200 * The ATTENTION code is needed when compiling for the ESIX operating system,
18201 because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that
18202 lets you interrupt its thinking on your time just by typing in your move does
18203 not work.  Perhaps gnuchess will have a workaround for this eventually.
18204
18205 * Fixed yet another bug in using XtGetValues; code to inhibit shell resizing
18206 was leaving a null pointer as the place to store the current sizes.
18207
18208 * Man page fixes: corrected -sl to -sd, updated LIMITATIONS.
18209
18210 * Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY.  I hope this
18211 works for all systems; on mine, <time.h> and <sys/time.h> are the same file,
18212 but with an #ifndef that makes it harmless to include both.
18213
18214 * Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan,
18215 d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole.
18216
18217 Mon Jun  8 11:39:18 PDT 1992 (patchlevel 20)
18218
18219 * Documented default value of initString and explained what it means.  This
18220 paragraph also serves to inform the user that xboard by default will tell
18221 gnuchess to think on his time, something one user apparently didn't understand.
18222
18223 * Redid -searchDepth (formerly -searchLevel) and -searchTime code.  They both
18224 work correctly with gnuchess 3.1 now.  The -searchDepth option also works
18225 correctly with gnuchess 4.0.  The -searchTime option does not work with
18226 gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a
18227 working searchTime feature.  Instead of having xboard do a half-baked emulation
18228 of this feature by using a 1-move time control, I will be submitting a patch to
18229 the gnuchess folks to restore the feature as in 3.1.
18230
18231 * Improved clock code.  It now keeps accurate track of fractional seconds of
18232 clock running time, if your system has gettimeofday(); if not, it is generous
18233 about them---if a clock has been going for n.m seconds when it is stopped, only
18234 n seconds are charged.  Previously, xboard would charge one second immediately
18235 when a clock was started, so if n.m had elapsed when it was stopped, n+1 would
18236 be charged.  This should stop xboard from thinking gnuchess has let its flag
18237 fall on the last move of a time control, as it often did before.  I also
18238 improved the comments and condensed the code a little.  I hope there are no
18239 systems that have X11 and don't have gettimeofday(), but if there are, I'd like
18240 to know what to replace it with.
18241
18242 * "Flag dropped" messages now show up on the top line, beside the clocks, so
18243 that they don't obscure more interesting messages on the second line.
18244
18245 * Fixed confusion of NULL and '\000'.
18246
18247 * Include time.h to get ctime() declaration.
18248
18249 * Fix to "parser bug" messages in parser.l.
18250
18251 * Changed code to work with old-fashioned tolower() macro that requires its
18252 argument to be an uppercase letter.
18253
18254 * Minor fix to some usage error messages; was reversing program name and
18255 erroneous argument value.
18256
18257 * Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports.
18258
18259 Fri Jun  5 13:06:08 PDT 1992 (patchlevel 19)
18260
18261 * Note: xboard does not seem to work when compiled with gcc 1.40 on a
18262 PS/2 running AIX.  It crashes at the sscanf in line 768 of xboard.c.
18263 You can work around the problem by specifying the -timeControl option
18264 on the command line instead of defaulting it.  This does not seem to
18265 be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with
18266 MetaWare High C.  [But see 2.1.pl8 above.]
18267
18268 * Removed bogus files from distribution.
18269
18270 * Changed variable name that conflicted with SVR4 ttyname function.
18271
18272 * Thanks to Christoph Strozyk for another bug report, and to several
18273 of the folks mentioned under patchlevel 18 for testing it.
18274
18275 Wed Jun  3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com
18276
18277 * Added an include of sys/fcntl.h to pick up the definition of O_RDWR for
18278 System V users.
18279
18280 * Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine
18281 which chess program got the signal.
18282
18283 * Removed the declaration of strrchr, which was causing problems for some
18284 people, and added an include of <string.h> or <strings.h> instead.
18285
18286 * Fixed a bunch of type errors uncovered by compilers that check more carefully
18287 than the one I was using.  I just patched many of them with casts---typically
18288 cases where a function didn't take the same number and type of arguments as the
18289 X header file prototype said it should---because I didn't see any other way to
18290 fix them.  The versions of the X header files that I have don't actually have
18291 full prototypes for these function types; they declare only the return type and
18292 just give the argument types as comments.
18293
18294 * InitChessProgram returns immediately if chess program died while we were
18295 waiting for it to say "Chess".  I think this fixes a bug that could make xboard
18296 crash or go into an infinite loop printing "Warning: Select failed; error code
18297 9" if gnuchess crashed there.
18298
18299 * Removed code that tries to put the file descriptor used to read messages from
18300 gnuchess into nonblocking mode.  I don't see how this kludge could ever have
18301 fixed the problem it was intended to (see below), and it seemed to be causing
18302 a race condition when we were waiting for the initial message from gnuchess
18303 after it started up.
18304
18305 * Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark
18306 Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas,
18307 and Kris Van Hees for bug reports and help with fixes.
18308
18309 Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu
18310
18311 *  'xboard' suffered from a couple of serious bugs.  An initial
18312    size needed to be given to the message label to avoid a race
18313    condition (!) so I gave it some text (otherwise occasionally
18314    xboard would fail because the message widget was 0 width under
18315    MIT X11R4).  The sizes needed to be Dimension, not int, because
18316    they were written in by Xt -- on my big-endian box Dimension
18317    is short, causing chaos.  Also, I hacked a declaration in for
18318    strrchr() to shut the compiler up -- this is arguably a kludge,
18319    but I couldn't think of anything better; maybe you can.
18320
18321 Fri May 22 13:40:50 PDT 1992 (patchlevel 16)
18322
18323 * First real (non-beta) release of version 2.0.
18324
18325 * Added GNU copyleft notices covering version 2.0 enhancements.
18326
18327 Thu May 21 12:30:09 PDT 1992 (patchlevel 15)
18328
18329 * Removed -g from Imakefile.
18330
18331 * Added casts in parser.l to prevent warning messages from some C compilers.
18332
18333 * Bugfix: code to exit if chess program couldn't be started had bug in error
18334 message printing.
18335
18336 Tue May 19 11:58:06 PDT 1992 (patchlevel 14)
18337
18338 * Fixes one small bug: If LoadGame does not find a game in the file, it resets
18339 xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of
18340 leaving it in LoadGame mode.
18341
18342 Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13)
18343
18344 * Improved error handling when gnuchessx crashes.  Now displays a message and
18345 enters EndOfGame state without exiting.  This should help with diagnosing
18346 gnuchessx problems, since the position and move history are not lost.
18347
18348 * Debugged man page.
18349
18350 Version 2.0 -- Thu Apr  2 16:04:54 PST 1992 (patchlevel 12)
18351
18352 * Added small 40x40 pixel pieces; board size now specified as small, medium, or
18353 large.
18354
18355 * Improved man page.
18356
18357 * Saved position files now say "white to play" if it's white's move.
18358
18359 * SavePosition while in EditPosition mode now gets side to play right.
18360
18361 * Made "Pawn" the default on edit position menus.
18362
18363 * Removed "To play" from edit position menus, since it's redundant.  Left
18364 support code in so it can be restored if someone wants it.
18365
18366 * Tightened parser's definition of a move number to help further with skipping
18367 over stuff before the first move.
18368
18369 * Put back feature of skipping over stuff in game files before a start of game
18370 marker.  This helps when loading electronic mail messages that have things
18371 like "00" in the header (looks like castling), or that talk about moves in
18372 running text before the actual game score.  Tradeoff is that we can't load
18373 games that don't either have move numbers or say "gnuchess game" just before
18374 the moves.
18375
18376 * Changed version number to 2.0 because others have used "1.3" for patched
18377 versions of 1.2.  Display version number and patchlevel at startup.
18378
18379 Thu Apr  2 15:30:22 PST 1992 (patchlevel 11)
18380
18381 * Bugfix:  Match started with TwoMachines button now handles the case where
18382 user loaded/edited a position *and* forced some moves.
18383
18384 * added error message feedback to many cases where the user's button press is
18385 rejected because it isn't allowed in the current mode.
18386
18387 * added -noChessProgram option to allow use as a passive chessboard without
18388 gnuchess, replacing old buggy scheme that tried to do this automatically when
18389 gnuchess was not found on the search path.
18390
18391 * parser accepts "=" in front of promotion piece
18392
18393 * parser accepts ":" notation for captures
18394
18395 * Removed SwitchSides button to make room for EditPosition.  Left code in
18396 place, ifdef'ed out.
18397
18398 * Added EditPosition mode.
18399
18400 * Reformatted xboard.c to eliminate long lines.
18401
18402 * Promotion popup now appears near rank to which pawn is moving.
18403
18404 * UI improvement: Button representing current program mode is kept highlighted.
18405
18406 * Bug fix:  Hint button is now disabled when machine is on move.
18407
18408 Sat Mar 21 14:57:37 PST 1992 (patchlevel 10)
18409
18410 * TwoMachines now works from MachineWhite or MachineBlack mode.
18411
18412 * ForceMoves and Backward/Forward now work at the end of a game started by
18413 the TwoMachines button.
18414
18415 * Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O.
18416
18417 * Bug fix:  SwitchSides button is now disabled when machine is on move.
18418
18419 * Added -searchLevel option and corrected handling of -searchTime to reflect
18420 the way gnuchess really handles command line options instead of what the
18421 documentation used to say.  Allowed optional ":seconds" on times.
18422
18423 Tue Mar 17 21:00:35 PST 1992 (patchlevel 9)
18424
18425 * Removed non-working code that tried to recover when a remote chess program
18426 could not be started; now exits with a message instead.
18427
18428 * Now waits for chess program to print its first message (normally "Chess")
18429 before sending it any commands.
18430
18431 * Matches between two machines can now start from a black-to-play position or
18432 black-to-play opening.
18433
18434 * Bug fix: The program would sometimes lose track of the board position after
18435 the end of the game, drawing a board full of white pawns next time it got an X
18436 redraw request.  Now fixed.
18437
18438 * Cleaned up handling of illegal moves in game files.  Now we just stop reading
18439 and go into ForceMoves mode.
18440
18441 * Saved games against gnuchess indicate who won (restored and debugged 1.2
18442 feature).
18443
18444 * Setting -searchTime turns off -clockMode.
18445
18446 * My trick for setting up a black-to-play position broke in the transition from
18447 gnuchess 3.1+ to 4.0.  Installed a different trick that works with both.
18448
18449 * Bug fix: Was clobbering memory by mallocing one byte too few for the file
18450 name in SetupPositionFromFileProc.  This usually resulted in a crash on the
18451 second attempt to load a position from a file.
18452
18453 Mon Mar 16 16:49:00 PST 1992 (patchlevel 8)
18454
18455 * Game and position files are saved in CHESSDIR as well as loaded from there.
18456 We actually chdir there, so gnuchess listing files also wind up there.
18457
18458 * Underpromotion moves from gnuchess really work now.
18459
18460 Sat Mar 14 14:55:24 PST 1992 (patchlevel 7)
18461
18462 * Cleaned up lots of bugs and kruft in parser.l.  It's a wonder the old version
18463 worked at all.  Improved rejection of random text interspersed with the moves.
18464
18465 * Relabeled buttons to reduce confusion (Play From File --> Load Game;
18466 Setup From File --> Load Position).
18467
18468 * Bug fix:  Doesn't exit at the end of a game that was started by pressing
18469 the Two Machines button.
18470
18471 * Bug fix:  Doesn't get confused if you hit Machine Black (White) while
18472 the machine is already playing black (white) and is on move.
18473
18474 * Prints "White to play" or "Black to play" after loading a position file.
18475
18476 * Bug fix:  No longer hangs if no start-of-game is found in a game file.
18477
18478 * More permissive about game file format.  The first line is not assumed
18479 to be a header comment unless it starts with "#".  We don't insist on
18480 seeing a "1." before the first move.
18481
18482 * Added pop-up dialog to allow underpromotion.  Moving a pawn to the last rank
18483 pops up a dialog to let you select what piece to promote to.  Also added code
18484 to handle underpromotion moves from gnuchess or from a game file correctly.
18485
18486 * Added code to send SIGINT to gnuchess before trying to move, if gnuchess
18487 might be busy thinking on our time.  The code is ifdef'ed out because it's
18488 not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or
18489 below require it.
18490
18491 Mon Feb 24 20:10:22 PST 1992
18492
18493 * Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode
18494 and to ShutdownChessPrograms.  (They both sent the same fixes.)  I did not
18495 install the change that removed "easy" from the initialization string, so
18496 xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's
18497 time) by sending this command.
18498
18499 Version 1.3 -- Thu Dec 19 18:19:00 PST 1991  mann@src.dec.com (Tim Mann)
18500
18501 * I've fixed a slew of bugs in this version of xboard:
18502
18503 * You can now back up from the end of a game, even if gnuchess was playing
18504 against you.  Since gnuchess exits upon mate or draw (when it's not in force
18505 mode), this feature works by starting up a new copy of gnuchess and feeding it
18506 the saved starting position and moves.  Drawback: the new gnuchess starts with
18507 clocks at the beginning of a fresh time control.
18508
18509 * Note: the "force" command to gnuchess is a toggle.  I fixed a couple of
18510 places in xboard where "force" was being issued when gnuchess was already in
18511 force mode, which resulted in chaos.  I don't know if they were in 1.2 or if I
18512 added them myself in the course of putting in new features.
18513
18514 * ForceMoves button is now legal in PlayFromFile mode.  It closes the game file
18515 and lets you force moves (or go Backward) from whatever position you've
18516 reached.
18517
18518 * The parser now recognizes "white resigns" and "black resigns" (in any
18519 combination of upper and lower case, with or without the closing "s").  These
18520 used to be misinterpreted as meaning "white wins" or "black wins" respectively!
18521 Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1".
18522
18523 * I removed the parser feature of considering "!" as a comment delimiter.
18524 "!" is so common as an annotation in game scores that this feature seems like a
18525 very bad idea.
18526
18527 * Added a wait() after each successful call to kill() to avoid leaving zombie
18528 processes around.
18529
18530 * Removed the feature of putting an indication of how the game ended into the
18531 internal move list when playing from a file.  The only benefit of this was that
18532 it would get written back out if you saved the game at that point.  This
18533 feature doesn't seem too useful, since you are unlikely to save a game you've
18534 read in without making any changes, and it caused a lot of problems in the code
18535 and user interface.  The end condition is still displayed as a message when
18536 it's first read in from the file.  End conditions when playing against gnuchess
18537 are still saved, too.
18538
18539 * programName is now the last file name component of argv[0], not all of it.
18540
18541 * xboard.c got three compiler warnings due to arguments that didn't match the
18542 prototypes on X toolkit functions.  I got rid of them by adding some casts, and
18543 adding extra unused arguments to the ReceiveFromProgram function.
18544
18545 * As I received it, the distribution had an extra period glued on the front
18546 of every line that started with a period.  This broke the manpage in an
18547 obvious way.  It also broke parser.l in a nonobvious way that stopped
18548 PlayFromFile from working.
18549
18550 * Fixed one or two bugs where the clock was started when it shouldn't have
18551 been.  I think one example was if you tried an illegal move in ForceMoves mode.
18552
18553 * Now starts the machine's clock if you hit MachineWhite when white is on move
18554 or MachineBlack when black is on move.
18555
18556 * Now updates the to-move indicator (highlight on clock display) when you use
18557 Forward/Backward or ForceMoves.
18558
18559 * gnuchess 3.1+ has a bug that makes it try to think on its opponent's time
18560 even when in force mode; this causes problems with xboard's SetupFromFile
18561 command because gnuchess's saved hint move is garbage after the new position is
18562 loaded, so gnuchess prints out an error message when it tries to think about
18563 what it would do if the user made this move.  Here is a patch for gnuchess
18564 3.1+:
18565
18566 *** nondsp.c~   Mon Dec  2 12:37:18 1991
18567 *-- nondsp.c    Thu Dec 19 15:36:06 1991
18568 ***************
18569 *** 1223,1229 ****
18570     ok = flag.quit = false;
18571     player = opponent;
18572     ft = 0;
18573 !   if (hint > 0 && !flag.easy && Book == NULL)
18574       {
18575         fflush (stdout);
18576         time0 = time ((long *) 0);
18577 *-- 1223,1229 ----
18578     ok = flag.quit = false;
18579     player = opponent;
18580     ft = 0;
18581 !   if (hint > 0 && !flag.easy && Book == NULL && !flag.force)
18582       {
18583         fflush (stdout);
18584         time0 = time ((long *) 0);
18585
18586 * SavePosition/SetupFromFile now handle black-to-play positions.  If it's
18587 black's move in a saved position, the line "black to play" is printed
18588 immediately after the board display.  Upon loading a position, xboard
18589 looks for "black" at the beginning of this line to determine whether it's
18590 black's move.
18591
18592 * SetupFromFile now leaves you (effectively) in ForceMoves mode.  This
18593 eliminates some cases where the program would get into an inconsistent state,
18594 and hopefully is more intuitive for the user, too.
18595
18596 * PlayFromFile now leaves xboard in ForceMoves mode after playing through all
18597 the moves in the file.  You can use Backward/Forward, make moves, get gnuchess
18598 to join the game with MachineWhite or MachineBlack, etc.  The game file can end
18599 with either white or black to play.
18600
18601 * Backward/Forward now seem to work in all cases.  Previously using these
18602 buttons during a game against the machine would get xboard out of sync with
18603 gnuchess's idea of what was going on, resulting in chaos.  Now using these
18604 buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the
18605 game using the MachineWhite or MachineBlack buttons.
18606
18607 Thu Jun 27 15:06:25 PDT 1991
18608
18609   * Remove comment popups during a reset.
18610
18611   * Bug in my forward move fix.  Didn't work for playgamefile mode.
18612
18613 Thu Jun 20 15:04:06 PDT 1991
18614
18615   * Can't do a backward move when it isn't your turn because gnuchess
18616     gets confused.  Similar bug for forward move.  Do a bunch of moves,
18617     back up move and go forward.  These get filtered out now.
18618
18619   * Put easy back into the initString.  This DISABLES easy mode which by
18620     default is ON.
18621
18622   * New-line wasn't always being added to forward move strings sent to gnuchess.
18623
18624   * Parsed comments as [ ..............text follows ] into d7d5
18625
18626   * Long game file comments cause core dumps on HP systems.
18627
18628   * Multiple uses of the get positition file button got confused
18629     on the second click.
18630
18631   Minor fixes to the 1.2 release
18632
18633 Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991
18634
18635   * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D.,
18636     Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found
18637     a lot of bugs that we put into xboard just to see if they were paying
18638     attention.  They were.
18639
18640   * Changed the protocol that xboard uses to work with the new version of
18641     gnuchessr.
18642
18643   * There was an off by one error with the clock resetting code.  Also,
18644     the clock display highliting was wrong.  Thanks to Bill Shauck for
18645     pointing these out.
18646
18647   * enumerations are not really integers on some C compilers.  I added casting.
18648     The new version of gnuchess expects the "go" command for two machine
18649     and machine plays white cases.  The whiteString resource is for
18650     compatibility with previous gnuchess versions which get confused by go.
18651     Thanks to Martin D. for catching these.
18652
18653   * Fixed a bug where the checkmate message wasn't being parsed and xboard
18654     kept playing.  Also, the message was added to game file if saved.
18655     Thanks to Scott Hemhill for pointing this out.
18656
18657   * Fixed a bug where saving a long game, resetting and saving a short game
18658     resulted in appending the end of the long game to the short one.
18659     If a game is just being played out and there is no reason for gnuchessr
18660     to be used, ignore pipe signals.  This allows people to use xboard
18661     as a chess board without need for gnuchess.  Also, trivially bad moves
18662     such as e2e2 are not passed on to gnuchessr but instead ignored out of
18663     hand.  This allows people using xboard as a chessboard with gnuchessr
18664     to pick a piece up, think and put it back down without making a move.
18665     Thanks to Jeff Kenton for pointing these out.
18666
18667   * Added the CHESSDIR environment variable.  Game and position files are
18668     found in this directory.  If this variable is not declared, then the
18669     current directory is used.  File names starting with / are treated
18670     specially.
18671
18672   * The bitmap file names were changed so that none exceeded 14 characters.
18673     This is necessary for R5.
18674
18675         fcntl(from_prog[0], F_SETFL, O_NDELAY);
18676
18677     The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr
18678
18679         printz ("Illegal move (no matching move generated)");
18680
18681   * fixed a problem with the new version of gnuchessr where xboard wasn't
18682     getting gnuchessr error messages for illegal moves.  The problem seems
18683     to be fixed *without* any gnuchess changes but this is likely to be
18684     highly system dependant.  There should be a new line on line 246 of nondsp.c
18685
18686   * -iconic doesn't work at all now.  The Iconify() does work.  This was
18687     a tradeoff and it is really an Xt bug.
18688
18689   * Fixed a compiler warning for gcc and an error for the IBM RT compilers.
18690     This is the VOID_PROC macro in xboard.h.  Thanks to David Jensen for this.
18691
18692   * If the DisplayWidth or DisplayHeight is less than 800, use small size mode.
18693     Also the size of the name widget was reduced from 500 pixels to 400 pixels
18694     because in small size mode there was a gap on the right.
18695     Changed the default font from fixed to helvetica_oblique14 to:
18696         **-helvetica-bold-r-normal--14-*-*-*-*-*-*-*
18697     helvetica_oblique14 is a font alias not on all R4 systems.
18698     Curiously enough, the 17 point is not available on 75dpi systems
18699     and the 18 point font is not available on 100dpi systems.
18700     Thanks to Richard K. Lloyd for pointing these out.
18701
18702   * Minor hacks to work with R5 alpha.  Had to add an event handler to the
18703     boardWidget to get translations to work.  This may go away with the real R5.
18704     Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility.
18705
18706   * If the first character of the file is not `1' then the first line
18707     of a game or position file is displayed as the name in a label widget.
18708
18709   * Added a PopUp dialog for getting file names.
18710
18711   * Modified the code to use the R4 routines rather than R3 compatibility.
18712
18713   * Changed the forwards/backwards/readgamefile code to allow a play to step
18714     back and forth in a game.  If he steps all the way to the beginning
18715     he has to restart the game.  If he gets into a mated position, same problem.
18716
18717   * Moved the man page from xboard.1 to xboard.man.  This makes imake man page
18718     installs work correctly.  Thanks to Richard K. Lloyd for pointing this out.
18719
18720   * Corrected the queening code.  XBoard was sending the wrong syntax.
18721     It was sending for example h8(Q) when it should have been sending h8q.
18722     Thanks to Paul Vaughan and Mike McGann for pointing this out.
18723
18724   * Added a lex parser for algebraic games.  It should be easy to use the parser
18725     for other interfaces such as the Microsoft Windows version.
18726     It parses comments of the form [anything] and ! to the end of a line.
18727
18728 Version 1.1 -- Mon Jan  7 14:46:03 PST 1991
18729
18730   * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,
18731     Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during
18732     beta-testing.
18733
18734   * older non-ANSI versions of Sun compilers complain vociferously.
18735
18736   * the remoteShell resource was added for HP-UX systems
18737     and other systems where the remoteShell isn't rsh.
18738
18739   * -iconic doesn't work properly.  If XBoard is opened iconic then
18740     iconifying it later with a keystroke doesn't work.  I think
18741     this is an Xt bug.
18742
18743   * For systems with smaller screens, XBoard can use smaller pieces,
18744     and a smaller board.  -bigSizeMode False uses a smaller set of pieces.
18745     These are scaled versions of the large pieces.  They look ok but could
18746     be improved.
18747
18748   * getlogin() does not work in all cases.
18749     It was replaced by getpwuid(getuid())->pw_name).
18750
18751   * Warning messages get displayed in the message box.
18752
18753   * Any button restarts a paused game.
18754
18755   * Kayvan Sylvan contributed a patch for ESIX.
18756     It seems that select() on pipes is broken on his system.  We declined
18757     to incorporate his patch though, because it was a work-around for
18758     something that was broken on one system, and selfishly, that system
18759     was not my own.  Nevertheless, it is likely that other System V users
18760     on PC's may need to use this patch and it is is included as the file
18761     ESIX.patch.  To use it, type
18762
18763         patch xboard.c ESIX.patch
18764
18765   * Fixed a bug where hint didn't work.  The local version of gnuchessr
18766     had been hacked.  The fix was to clone stderr and stdout for gnuchessr.
18767
18768   * Fixed a bug where a player could play after a game had been finished.
18769
18770   * The bitmaps have been pushed into the bitmaps directory.
18771
18772   * Substantially rewrote and simplified the Two Machine code.
18773
18774   * Added StrStr() because many systems don't have this ANSI function.
18775
18776   * Added keyboard equivalents.  Added an iconify keystroke, C or c.
18777
18778   * Works with gcc now.  gcc complained about casting float constants
18779     as XtPointers.
18780
18781   * Detect if the visual doesn't support color.  If so, run in monoMode.
18782     An alternative would be to detect grayscale visual and use a collection
18783     of gray user interface colors.
18784
18785         XBoard.clockMode:    False
18786
18787   * For people who don't like or use chess clocks a clockMode switch
18788     has been added.  It is on by default.  It can be turned off in the
18789     .Xdefaults file with
18790
18791   * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.
18792
18793   * Hal Peterson contributed a new Imakefile.
18794
18795   * Rewrote DisplayClocks().
18796
18797   * Rewrote TwoMachinesPlay mode.
18798
18799   * Konstantinos Konstantinides added the -searchTime option.
18800
18801   * Substantially rewrote and simplified the clock code.  If a game was paused
18802     and then resumed, the clocks were out of sync.
18803
18804   * Fixed a bug in HandleUserMove() where the user could make a move while the
18805     machine was thinking.  The fix detects and ignores these moves.  onMove
18806     was not being used and was removed.