updated Changelog, NEWS, etc.
[xboard.git] / ChangeLog
1 ChangeLog for XBoard/WinBoard
2 -----------------------------
3
4 (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
5
6
7 2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
8 malloc.h is not needed
9
10 2011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
11 Fix ICS move-list header mistaken for null moves
12
13 2011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14 Allow two-games-per-opening to work with book
15
16 A new option -seedBase is added, and written to the tourney file.
17 It allows all XBoard instances working on a tourney to generate the same
18 'random' openings in a deterministic way, based on this one-time seed
19 and the game number. When -loadGameIndex equals -2, it uses the same seed
20 for an odd and the following even game.
21
22 2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
23 Fix use of random
24
25 In some places rand() was called explicitly, rather than through the
26 (configured) place-holder random().
27
28 2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
29 Translate search texts
30
31
32 2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
33 Add -useBoardTexture and -usePieceFont options
34
35 These options suppress the use of the given texture files or piece fonts
36 without relying on the kludge to disable them by prefixing an asterisk
37 to the file or font name. Checkboxes have been added to the Board dialog
38 to control them. The user can now set piece font in WB font dialog.
39 The sample text can be used to specify the -fontPieceToCharTable,
40 the font name itself the -renderPiecesWithFont value.
41
42 2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
43 Fix crash on start without settings file
44
45 A primordial -1 in currCurrent caused a crash when WinBoard was started
46 without ini filein game-viewer mode.
47
48 2011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
49 Fix generic-popup failure after empty engine-settings dialog
50
51 The error exit ofthe Engine #N Settings dialog in case of an engine without
52 options forgot to clear currentCps, with as a result that the generic popup
53 thought every subsequent popup was an empty one, and kept repeating the
54 'engine has no options' error message for every dialog.
55
56 2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
57 Allow substitution of engines during tournament
58
59 Two buttons are added in the tournament options dialog, for upgrading
60 and for replacing a tourney participant. Lots of tests on the validity
61 of the request are done, and if all are passed, the tourney file is
62 written with the new participants (and in case of replace) with the
63 results of the replaced engines erased from the -results string.
64
65 2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
66 Fix up/down arrows in game list
67
68
69 2011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
70 Add key bindings for loading next/previous game of list
71
72 These bindings are set both for the game list and the board window.
73 To make them useful, focus has to be transferred to the board widget
74 after loading (it tends to transfer to the tags window), which now
75 seems to work, but not always. From the game list the shellWidget
76 seems to get focus rather than the board, which is bad as it is not
77 sensitive to the key bindings.
78
79 2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
80 Allow deletion of last book move
81
82 The book-edit function refused to delete the entiremove list,
83 for no good reason. This limitation now has been lifted.
84 Also the error message that the key for the current book entries
85 is different from that of the currentposition has been suppressed
86 if there were no entries found for the current position (so that the
87 book is positioned at the next key), so that it is possible to add
88 moves from scratch.
89
90 2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
91 Speed up parser
92
93 Line numbers > 1, which are common, can exit already during move parsing,
94 to save lots of matching on resultsand castlings.
95
96 2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
97 Fix missing files in file browser
98
99 The file browser was throwing away the first two files, assuming
100 they were "." and "..". Alas, this is no longer true on every Linux.
101 Now we actuallyc compare for these names, before skipping them.
102
103 2011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
104 Delay file loading to allow expose event first
105
106
107 2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
108 Fix paging
109
110
111 2011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
112 Better fix of crash on empty game list
113
114 An empty list is now replaced by a list containig a simple message.
115
116 2011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
117 Add plain arrows as key binding for stepping forward/backward
118
119
120 2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
121 Debug position selection
122
123
124 2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
125 Print progress during load / selection of game
126
127 The title bar of themain window is used to display a running count
128 of the number of games loaded / searched.
129
130 2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
131 Parse PGN tags without allocating memory
132
133 In WinBoard malloc/free did not seem to work when preparing the game list,
134 leading to a huge memory list when ParsePGNTag was used. The added code
135 parses the required tags in an alternative way as a work-around.
136
137 2011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
138 Implement searching games in Game List for a position
139
140 For this it was needed to reconstruct all positions of the games
141 without loading them, so they could be compared to the currently
142 displayed position. A new routine GameContainsPosition is made for that.
143  In Disambiguate, when the global quickFlag is set, we now do the
144 disambiguation ignoring check,and only if this leads to an ambiguous
145 move, we repeat it taking check into account to see if that resolves
146 the ambiguity. This causes us to miss if unambiguous moves are illegal
147 because they put their King in check, but who cares?
148  We now do not make game-list line when not needed. If we do not filter
149 by text, but by position, there is no need for preparing the game-list
150 line for games that are not selected. All for efficiency.
151
152 2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
153 Allow entry of variations in PlayFromGameFile mode
154
155 Adding variations is more like editing a comment,and not really editing
156 the game. Therefore we allow it on loaded games. As soon as we are in a
157 variation, we temporarily switch to a (hidden) EditGame mode, restoring
158 the original mode when we revert to the main line.
159   We now also stay in PlayFromGameFile mode after loading a game,
160 And opening variation (fromtheComment window) in PlayFromGameFile mode
161 is also allowed.
162
163 2011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
164 Force Move History refresh after loading/reverting variation
165
166 The Move History window was not refreshed after switching to or from
167 a variation if that variation happened to have the same length as
168 the main line. Now a change in storedGames since the previous refresh will
169 force a full refresh to avoid this. For this to work, storedGames
170 did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
171 calls HistorySet before the history is restored, so we don't want
172 it to snatch away the full refresh. A call to HistorySet had to be
173 added after PopInner is done restoring the move history.
174
175 2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
176 Popdown Comment window on new game
177
178 What is in this window cannot possibly remain valid, and can even be harmful.
179
180 2011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
181 Allow null move in analysis and edit-game mode
182
183 In some games it is allowed to pass your turn. The internal
184 representation picked for such a null move is the drop of an empty
185 square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
186 SAN form is "--", (for compatibility with ChessBase / SCID), and the
187 non-compliant forms "null", "pass"and "Z0" are recognized in
188 the parser as well. ApplyMove() has to test for this special case
189 (to not actually clear a1), and a way to enter the pass for the user had
190 to be found (clicking the opponent clock, like in EditPosition mode).
191  The null move is made move irreversible to prevent repetition draws
192 spanning null moves being adjudicated.
193   Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
194 Because Chess engines will not accept null moves, SendMoveToProgram had
195 to be adapted to send not the move, but the position after it in
196 case of a null move. This erases the move history in the engine,
197 so it will not react to 'undo' for that null move, so BackwardInner
198 had to be adapted to test for intervening null moves, and if one is
199 found, approach the target from the other side after loading the
200 earliest position before it not crossing another null move, and
201 then loading the moves upto the target.
202   XBoard clock clicks had to be fixed, to pay attention to the shift key.
203
204 2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
205 Give WinBoard Game List its own font
206
207 The font fort he Game List used to be shared with the Engine Output and
208 Move History windows, but this made it impossible to use a figurine font
209 in the latter two (which displays piece symbols for capitals) without
210 messing up the Game List. An option -gameListFont has been added to specify
211 the font for the Game List(and save it in the settings file), while a
212 control for it is added in the fonts dialog.
213
214 2011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
215 Fix crash on OK after Save Changes in Tags and Comment popup.
216
217 The global variables tagsText and commentText were used to pass
218 a string obtained from a widget (and thus not malloc'ed), which
219 caused a crash when the GenericReadout tried to use those variables
220 for the new value. Fixed by using GenericReadout (which does malloc)
221 to read out the text,in stead of GetWidgetText.
222
223 2011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>:
224 Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
225
226 This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
227
228 2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
229 Suppress some XBoard warnings
230
231
232 2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
233 fixed segfault in xengineoutput
234
235
236 2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
237 Disable -showTargetSquares in ICS mode
238
239 Help like this is considered cheating on FICS, so it is disabled for
240 all 'classical' ICS variants. (For variants eyont Shogi we don't care.)
241
242 2011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
243 Put grab on sweep-selecting in Edit Position
244
245 A right down-click starting a sweep-selection event did not grab the
246 mouse events, so that an up-click outside the window would go
247 unnoticed, and the pointer motion stayed coupled to selecting the
248 piece until the next click. By returning 2 from the RightClick back-end
249 routine we request the grab.
250
251 2011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
252 Write more labels on score axis of eval graph
253
254 The labels for +/-1 and +/-3 are now also written, provided there is
255 enough space.
256
257 2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
258 Improve Eval Graph  with -evalZoom and -evalThreshold
259
260 The score range between -1 and +1 can now be blown up by a factor
261 specified through -evalZoom. The threshold below which histogram bars
262 are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
263 be set through the -evalThreshold option.
264
265 2011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
266 Print reversible plies done in stead of plies to go
267
268 Printing the number of plies left to the draw-adjudication point was
269 confusing when the N-move rule was set to a non-standard value.
270 In stead we now print the number of plies since the last irreversible
271 move, so the user can compare it to both the engine claim point (100)
272 and the adjudication point he set (which might be beyond 100).
273
274 2011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
275 Let WB eval graph react ot single left-click
276
277 Unlike in XBoard, the WinBoard eval graph awatys had required double-
278 clicking to go the the corresponding move, while there really is no
279 reason for this, as it is no text edit, and single-clicks have no function
280 (like select).
281
282 2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
283 Add -scoreWhite option
284
285 This is similar to -absoluteAnalysisScores, except that it works in
286 all modes, and flips the score given by the engines in the engine-output
287 window when black is to move.
288
289 2011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
290 Print 50-move counter in Engine-Output title
291
292
293 2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
294 Display score/depth in Eval Graph title
295
296 No longer print it in the comment window.
297
298 2011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
299 Let -sweepPromotions also work for click-click moves
300
301 A click-click promotion no longer causes auto-queening, but the down-click
302 on the to-square causes a Queen to stick to the mouse pointer, and then
303 allows the user to change it through dragging backwards before releasing it
304 with an up-click.
305   In WinBoard this required a slight change in DragPieceBegin, because
306 the dragged piece there only was made visible when the mouse pointer
307 actually started moving (and dragInfo.pos was set), presumably under the
308 assumption that before mouse move the piece was already on the clicked
309 square. Which in the case of a to-square was of course not true. (Because
310 a piece jumps to the mouse pointer when the click is not centered on a
311 square, this gives less jittery static clicks.) So DragPieceBegin has
312 been given an extra argument now, to indicate whether it should attach
313 the piece to the mouse pointer immediately.
314   To make the click-click sweepPromotions work in Shogi (for which the
315 drag-drop sweepPromotions could never work, because it is not clear the
316 piece has a posibility to promote when you pick it up), translation of
317 the sweep-selected piece to a Shogi promoChar had to e added.
318
319 2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
320 Improve -showTargetSquares on click-click moves
321
322 The markers on move targets are now kept when a first click merely
323 selects a piece, rather than dragging it elsewhere. The second click
324 (by definition on the to-square) then clears the markers.
325
326 2011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
327 Let PGN parser accept lower-case piece in drop moves
328
329 The @ sign prevents amiguity with other notations anyway.
330
331 2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
332 Fix parser.c line endings
333
334
335 2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
336 Fix writing searchTime in tourneyFile
337
338 This had to be derived from the variable searchTime, which gives it
339 in seconds, as appData.searchTime (a string in minutes) is not reliable,
340 as it contains the command-line value, which might have been altered
341 through the time-control dialog.
342
343 2011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
344 Fix resetting searchTime if other TC mode is chosen (XB)
345
346 This fixes a bug in the new time-control dialog.
347
348 2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
349 Fix coords display on large boards
350
351 The file indicators can now run upto 'w'. Only the lowest digit
352 of the rank number is printed, from a table that is valid to 22.
353
354 2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
355 Fix crash on making too-long FEN
356
357 The buffer for in PositionToFEN was only 128 bytes, which was not enough
358 for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
359 There also is some approximate overflow checking added (but it is not
360 fool proof in case there are holdings...)
361
362 2011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
363 Fix drop moves on boards with more than 10 ranks
364
365 The internal encoding for rank 16 is '@', and thus ambiguous with drop
366 moves. They were always printed as 16, breaking drop games on large
367 boards. The ambiguity is now solved (for boards with more than 16 ranks)
368 by checking if the preceeding letter is upper case, in which case it
369 cannot be a fileindicator, but must be a piece, and thus a drop.
370
371 2011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
372 Don't one-click move when legality testing is off
373
374
375 2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
376 Reorder controls in Engine Setings dialog WB
377
378 To get tabbing through the controls in left-to-right order, they are
379 now added to the template structure in that order. Also add a tabstop
380 to Label options, so that JAWS will read those.
381
382 2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
383 Add tab stops in WB generic popup
384
385 The WinBoard generic popup did not put tab stops on push buttons,
386 including the OK and cancel button, with as a consequence that these were
387 skipped when tabbing through the dialog controls. In addition the tabbing
388 could not begin before the user selected one of the controls with the mouse.
389   Now all buttons have tab stops, and the cancel button is given focus
390 when the dialog pops up.
391
392 2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
393 Implement Grand Chess
394
395 Grand Chess requires a lot of exceptional handling similar to Superchess
396 and Great Shatran, because it also allows only promotion to a captured
397 piece. In addition it shares the enlarged promotion zone with Makruk and
398 Shogi, as well as the fact that promotion can be deferred. The 10-rank
399 board furthermore required a better generalization of double-pushes and
400 e.p. captures. On such a board double puhes are now allowed from 2nd and
401 3rd rank, e.p. capture from 5th and 4th.
402
403 2011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
404 Allow promotion to Pawn with legality testing off
405
406 In stead of ImpossibleMove promotionto Pawn now merely is an
407 IllegalMove, so it can be played with legality testing off.
408
409 2011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
410 Create some space in WB New Variant dialog
411
412
413 2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
414 Allow double-digit rank numbers
415
416 The parser already understood double-digit numbers on input, and
417 CoordsToAlgebraic produced them on otput. This patch also fixes sending
418 of the moves to the computer, for which the moveList was used. The latter
419 stored 10 as ':', etc,to always get a 4-char move, the characters of which
420 were frequently being converted to fromY or toY by adding/subtracting ONE.
421 To not break that the one-character encoding of rank number is kept in
422 moveList, but in SendMoveToProgram, characters > '9' are converted to
423 double digits.
424
425 2011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
426 Add Absolute Analysis Scores in Genral Options dialog XB
427
428
429 2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
430 Fix texi file, and update it further
431
432
433 2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
434 Modified po
435
436
437 2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
438 Update texi file
439
440
441 2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
442 Restore echo after ^C in ICS password
443
444
445 2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
446 Fix some warnings
447
448
449 2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
450 Increase efficiency of SAN generation / disambiguation
451
452 **************** Risky patch! **********************
453 The algorithm used for disambiguating and generating SAN was extremely
454 inefficient, because it generated all pseudo-legal moves from the relevant
455 position, and then for each of those did a check test (involving generation
456 of all moves of the opponent), before determining if the move matched the
457 (proposed or given) SAN move. While it is pointless to generate moves
458 with a piece that does not match (let alone checking them for legality).
459 And for a piece that matches, it is pointless to test legality of moves
460 that do not match the to-square.
461   To speed up the process GenLegal and GenPseudoLegal have been equiped
462 with an argument that can indicate the piece type of the required move,
463 so they can skip generating moves with other pieces. TestLegality,
464 Disambiguate and CoordsToAlgebraic make use of this facility, and set also
465 (through global variables rFilter and fFilter) a to-square filter to be
466 applied in the GenLegalCallback before it tests the move for legality.
467   This patch is especially tricky for Crazyhouse, where the piece indicated
468 in the move might not be the piece actually on the board, because the latter
469 is a promoted Pawn, and has to be demoted toits base type before the
470 comparison.
471
472 2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
473 Fix compile errors WinBoard
474
475 The patch to make non-existing options non-fatal broke WinBoard. All calls
476 to ExitArgError from it now supply a third argument TRUE to fix it.
477
478 2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
479 Add -fSAN / -sSAN options
480
481 These options force the PV of the applicable engine to be converted to SAN.
482 They make use of the existing ParsePV routine, after shelfing a possible
483 PV (from user PV walking) to free the space after the last move.
484 Could be costly in terms of CPU usage.
485
486 2011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
487 Cure flicker in Move History window, fix highlighting
488
489 The highlighting of the current move in the Move List window by selecting
490 it did not always work, because some other windows were clearing their text
491 widgets by selecting the contents and killing it, thus snatching the
492 selection away. This has been changed to setting XtNstring to an empty
493 string as a method for clearing without side effects on the selection.
494 As a bonus the Engine Output window now also no longer has the black flicker
495 on clearing it.
496   In addition, triggering a scroll by setting the insertion point to the
497 end of the text caused excessive flicker in the Move List window, apparently
498 clearing it and redrawing from scratch, (even if there was no scroll motion),
499 to the point where on my slow laptop the move history stayed entirely blank
500 during a rapid succession of moves. This has been combatted by using the
501 end-of-line action procedure (which does not seem to suffer from this) to put
502 the insertion point at the end, when we need to scroll to close to the end.
503
504 2011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
505 Fix crash on clearing new Move List window
506
507 When a new game started and a previous game had filled the Move List
508 window, a crash occurred because an attempt was made to undo the
509 highlighting of a no-longer-existing move, and then scrolling to it.
510
511 2011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
512 Use sound for ICS tells also with engine telluser popups
513
514 The telluser and tellusererror commands now can be assigned a sound.
515
516 2011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
517 Add Score in Move List option to general options dialog XB
518
519 Now that we have a WinBoard-style Move History window, this option is
520 no longer a no-op in XBoard.
521
522 2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
523 new developer release
524
525 2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
526 updated Changelog, NEWS, etc.
527
528 2011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
529 Update window itle after last game of match
530
531 The result printed behind player names during a match would still be the one
532 without the game, differing from what the popup would show, which looked
533 sloppy enough for people to complain about it.
534 .
535
536 2011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
537 Make WB generic popup translatable
538
539 When used for internal settings (as in the Load Engine and Tournament
540 Options dialogs), the option names are now subectto translation.
541
542 2011-06-17 21:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
543 Redo Move History with generic popup in WinBoard style
544
545 The use of color and boldness to make the move list more readable
546 unfortunately cannot work in Xaw; reverse video by selection is used as an alternative to highlight the current move.
547
548 2011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
549 Remove stray else
550
551 Due to an erroneous else, the window parameters of Move History were
552 not retreived (and thus incorrectly saved) when the Engine Output was up.
553
554 2011-06-14 18:47:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
555 Make non-existing opton in settings file non-fatal
556
557 It is rather difficult to recover from a situaton where the settings
558 file contains an unknown option (e.g. because you downgraded to a
559 previous version that had fewer options), especially in WinBoard, where
560 the user settings file is in a hidden folder, and people might not be
561 able to find it, let alone edit it. By just skipping the line with the
562 offending option, rather than generating a fatal error, when reading
563 from a settings file, such options will be automatically purged from the
564 file as soon as you save settings.
565   Small problem is that the user cannot be warned, as the initialization
566 has not progressed far enough at this point to generate error popups. In
567 XBoard we can at least print to the console, but in WinBoard there is no
568 warning at all. But the worst thing that can happen is that new options
569 in a settings file of a more advanced version will revert to their
570 defaults.
571
572 2011-06-14 18:20:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
573 Change long form of -tf option to -tourneyFile
574
575 This is a more logical name, and in the WinBoard docs it was already
576 described as such. Also remove the -processes option, which in the
577 current design of the tourney manager is no longer used.
578
579 2011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
580 Fix default of -remoteUser
581
582 This has to be an empty string, rather than NULL, to prevent XBoard from
583 segfaulting when the -gateway option is used.
584
585 2011-06-14 13:32:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
586 Add -at and -opt options as alternative for @
587
588 Windows XP and Vista shortcuts do not display command lines with @ in
589 them correctly, and these optionsprovide a work-around for that.
590
591 2011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
592 Fix empty-string option values in XBoard
593
594
595 2011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
596 Fix crash on switching sound in Vista
597
598 When choosing a new sound the wave form of the old one was free'ed, but
599 because built-in sounds are not really malloc'ed, this led to a crash.
600
601 2011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
602 Update WB docs for tourney manager
603
604
605 2011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
606 Add icon to WB for tournament files
607
608
609 2011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
610 Redo Time Control dialog with generic popup
611
612 As poor-man's disabling of the unneeded input fields, we print the word
613 "Unused" in them.
614
615 2011-06-10 14:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
616 Some refactoring in xoptions.c to separate out front-end
617
618
619 2011-06-10 12:38:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
620 Redo New Shuffle Game dialog with generic popup
621
622 The buttons are slightly renamed, and in stead of having an 'off'
623 button to clear it, shuffleOpenings now has its own checkbox, which is
624 ticked when a fixed or dynamic random is chosen with the buttons.
625
626 2011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
627 Fix type of shuffleOpenings
628
629 This was a Boolean option, and thus accessed by the args.h code as such,
630 while it was declared as an int (and used in backend.c as such). This
631 could have led to problems with different endianness.
632
633 2011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>:
634 Internationalize the file browser.
635
636 The file browser was missed in the previous round of
637 internationalization and had gotten broken by setting international =
638 True in its widgets.  I got nothing but segfaults trying to set
639 international to False in the file browser widget subtree when it was
640 True in the main window, so I gave up and did the
641 internationalization.  It turned out to be pretty easy.
642
643 As a tiny bonus fix, I removed some ../'s from includes, and you can
644 now configure and build xboard in a subdirectory again.  This was
645 useful for building both --enable-nls and --disable-nls from the same
646 sources to compare functionality and make sure both still work.
647
648 2011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
649 Fix crash at end of Swiss tourney
650
651
652 2011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
653 Fix display of logos
654
655 The logo files are now sought relative to the WinBoard install
656 directory. Non-existing logos cause clearing of the logo, rather than
657 letting the logo of the prevous engine hang. Logo change is requested
658 explicitly from the back-end (when an engine is initialized for a new
659 game), rather than using the kludge in StartChileProcess. This required
660 a dummy UpdateLogos routine in the XBoard front-end.
661
662 2011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
663 Fix parameter handling in adapter command
664
665 A backslash was not considered the end of an option name, which was
666 fatal for UCCI2WB, which needs %fd\\%fcp in its command line.
667
668 2011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
669 Clear Engine-Output pane when initializing engine
670
671 This to prevent output from the previous game hanging there during the
672 next game, when the engine that is really playing is in book and
673 doesn't produce thinking output there.
674
675 2011-06-08 17:20:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
676 Fix display of last move of last match game
677
678 When a game was adjudicated (e.g. because XBoard detected mate) GameEnds
679 would trigger an exit if it was the last game of the match, and thus
680 never returned, while the ShowMove was called only after return from
681 Adjudicate. An extra ToNrEvent is now used in GameEnd in this case to
682 cause ShowMove to be called before exiting. (Ugly kludge...)
683
684 2011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
685 Fix concurrency in Swiss tourneys
686
687 The pairing engine was consulted for the next round before all games of
688 the previous round were finished, if other XBoard instances were still
689 playing games. This caused the instances finishing early to stall
690 indefinitely. This is fixed by moving the Swiss pairing code to after
691 the syncInterval code. The normal pairing code (the call to Pairing)
692 must stay before it, because it determines the syncInterval. So ther is
693 a bit of tourneyType dependence cluttering up the code here. :-(
694
695 2011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
696 Give error popup when pairing engine fails
697
698 An invalid pairing now produces an error popup to inform the user, so he
699 knows why the tourney stagnates.
700
701 2011-06-08 17:24:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
702 Fix clock mode in tourney starting from -ncp mode
703
704 When a tourney started from -ncp mode, which was allowed in MatchEvent,
705 because the tourney loads its own engines anyway, the menu enablings and
706 clockmode where not restored to their 'GNUMode' state.
707
708 2011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
709 Fix round-robin schedule
710
711 The first round was played twice, and the formulas used to derive the
712 pairing were not even-odd resistant anyway. Both even and odd number of
713 participants should work now.
714
715 2011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
716 Fix interrupting tournament
717
718 Stopping a tourney by using the Machine Match menu item did not wor
719 properly.
720
721 2011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
722 Improve quoting of engine name on install
723
724 Rather than always using double quotes for the engine command, the
725 engine filename is now double-quoted if it contains spaces (and no
726 double-quotes), and the comand is single-quoted if it contains
727 double-quotes (and double-quoted otherwise).
728
729 2011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
730 Print sensible window title during tourneys
731
732 Rather than the "(W-L-D)" in the title we now print game number and
733 total games, plus indication of the tourney type (rr, gt or sw).
734
735 2011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
736 Let XBoard propose name of tourney file
737
738 Add an option -defaultTourneyName to configure the name that will be
739 proposed in the Tournament Options dialog's tournament-file field. The
740 option can contain %y, %M, %d, %h, %m, %s for year, month, day, hour,
741 mintes, seconds of the curret time in %02d format, or %Y for the year in
742 %04d format. Any tournament -file name is ignored when no participants
743 are given. Participants without a tourney file remains an error.
744
745 2011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
746 Improve Tournament dialog layout WB
747
748
749 2011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
750 Fix -matchGames option
751
752 The new MatchEvent code had broken the -mg option, and used always
753 -defaultMatchGames in stead.
754
755 2011-05-30 19:55:13 -0700 Tim Mann <tim@tim-mann.org>:
756 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.
757
758 - Several files were in utf8 but needed to be marked as such (that is,
759   "CHARSET" changed to "UTF-8").  Affected es.po, it.po, ru.po, vi.po,
760   zh_CN.po, zh_TW.po.
761
762 - it.po was missing a \n at the end of one translation.
763
764 - ru.po had unescaped double-quote marks in one translation.
765
766 - vi.po needed to be normalized to Unicode normalization form C.  With
767   this fix, more characters display correctly, though at least one is
768   still missing in the X core fonts that xboard is able to use.
769   See http://vietunicode.sourceforge.net/ for more about Vietnamese.
770
771 - zh_HK.po was written in big5 and then utf8-encoded on top of that,
772   making it unusable.  I stripped off the spurious utf8 encoding and
773   then used recode to convert the file to Unicode properly encoded as
774   utf8.
775
776 Unfortunately, I wasn't able to test any of the Chinese translations,
777 as I haven't been able to get XCreateFontSet to work in Chinese
778 locales with any of the fonts I have installed, even after adding the
779 Ubuntu language support packages for both simplified and traditional
780 Chinese.  I did spot check a bunch of the translations using Google
781 Translate.
782
783 I've checked in a couple of tiny Perl scripts that I used to do part
784 of the fixups on vi.po and zh_HK.po in case we need them again.
785
786 2011-05-30 14:12:53 -0700 Tim Mann <tim@tim-mann.org>:
787 The empty string can't be translated and it causes the gettext utilities to complain, so change _("") to "".
788
789
790 2011-05-30 13:21:06 -0700 Tim Mann <tim@tim-mann.org>:
791 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.
792
793
794 2011-05-29 20:14:37 -0700 Tim Mann <tim@tim-mann.org>:
795 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.
796
797 In the process I had to rewrite the code to insert the pixel size into
798 a font name (replacing a "*" in that field).  The new code is much
799 more general.
800
801 2011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>:
802 translation: activated Ukrainian translation
803
804
805 2011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>:
806 translation: added new Ukrainian PO file from the TP
807
808
809 2011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>:
810 Fix display of international characters outside the ASCII range.
811
812 1) Set Xaw resources required for internationalization --
813    *international and *fontSet.
814
815 2) Untangle the new XFontSet-aware code from the old FindFont code.
816    It doesn't make any sense to apply the old (and obsolete) size
817    searching code from FindFont to a font set, which contains fonts
818    that are all the requested size.
819
820 3) With these changes, the -font option doesn't work at all when given
821    on the command line.  The -font option actually is parsed by the Xt
822    library, used to set the *font resource, and removed from argv
823    before xboard can see it, so the option didn't really work properly
824    with the new WinBoard-style option framework anyway.  Now that
825    -font is even more broken, I changed the documented name of the
826    option to -messageFont and changed args.h so the option is saved in
827    ~/.xboard as -messageFont.
828
829 2011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>:
830 Move "hide thinking" option into alphabetical order.
831
832
833 2011-05-28 21:01:25 -0700 Tim Mann <tim@tim-mann.org>:
834 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.
835
836
837 2011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
838 Fix layout tournament Load Engine dialog WB
839
840
841 2011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
842 Fix ArgTwo warnings
843
844
845 2011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
846 Add Swiss tourneys through pairing engine
847
848 An external program can be designated pairing engine through the new
849 persistent option -pairingEngine. Defining the option will allow
850 tourneytype -1 to be chosen for Swiss. In this case the pairing engine
851 will be queried for a pairing before every new match game, by sending it
852 the -results string, plus the command 'pairing' + game number.
853
854 2011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
855 Allow generic dialog to ignore OK
856
857 The EndMark callback can now suppress popdown of the dialog on OK, when
858 it somehow does not like the values entered by the user. In XBoard this
859 required all the callbacks to return a value.
860 Caveat: A refused OK would still have set all new values given in the
861 dialog!
862
863 2011-05-23 17:22:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
864 Fix CR in multi-line WinBoard text-edits
865
866 The generic popup did not add CR when strings containing '\n' were
867 printed in a multi-line text-edit, thus joining the lines. It was also
868 not possible to type a CR in a multi-line text-edit.
869
870 2011-05-23 14:16:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
871 Let mentioning completed tourney file add one cycle
872
873 Secifying a tourney file of a fully completed tourney will now resume
874 that tourney with another cycle added. When there are still uncomleted
875 games in the tourney, the usual error message will appear. There are
876 also error popups added for when the user fails to specify a tourney
877 file, or gives too few participants.
878
879 2011-05-16 11:02:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
880 Make engine startup failure non-fatal in WinBoard
881
882 Unlike XBoard, which forks first, the parent process WinBoard has direct
883 knowledge of a failure to execute the engine command, and used it to
884 trigger a fatal error. The code doing this has now been disabled. Only
885 in case of a first engine we switch back to -ncp mode in stead, but no
886 action is taken to 'bury' the deceased engine process. Like in XBoard,
887 errors in writing or reading the pipes will trigger this.
888
889 2011-05-14 17:03:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
890 Add secondry adapter command for UCCI or USI
891
892 The option -uxiAdapter can define a second adapterCommand, which will be
893 invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
894
895 2011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
896 Obey san feature when sending book moves
897
898 Book moves were always sent in long algebraic, even when the engine had
899 said it wanted to receive SAN.
900
901 2011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
902 Fix initialization of engine state
903
904 Some of the initialization relied on variables being zero at startup,
905 which meant value from the previouly loaded engine hng on after loading
906 a new one.
907
908 2011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
909 Take account of holdings in book key
910
911 The board is numbered by rank, for comptibility with Polyglot format,
912 starting at a1. We then continue counting in the holdings 'files', in
913 up-rank direction, each holding spanning the full board height (even if
914 it is not fully used). Firstthe left (black) holdings, then the right,
915 Even in Shogi this limits the square number to < 99, which is below the
916 absolute limit of 128 (where we would run out of hash keys).
917
918 2011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
919 Alow promotions and drops in book-editing
920
921
922 2011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
923 Include learn info in book edit
924
925
926 2011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
927 Adapt default directory of lng2po
928
929 The path is prefixed with "../" to make it runable from the po directory.
930
931 2011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
932 Recode some po files
933
934 po files were generated with the aid of lng2po for Russian,
935 Vietnamese, Chinese(simp) and Chinese(trad), using encodings CP1251,
936 CP1258, GB2312 and BIG5, respectively.
937
938 2011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
939 Implement Edit Book in XBoard
940
941
942 2011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
943 Improve WB Load Engine dialog texts
944
945
946 2011-05-09 09:48:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
947 Make 'add to list' default in Load Engine dialog
948
949
950 2011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
951 Add -userFileDirectory option
952
953 This volatile option is initialized from 'installDir'. It is
954 primarily intended for configuration of WinBoard through its master
955 settings file, and specifies an alternative place to create saveGameFile
956 or look for other user files, in stead of looking in the installDir.
957
958 2011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
959 Add option -absoluteAnalysisScores
960
961 This persistent option flips scores in the when black is thinking in
962 analysis mode, just before they are printed in the engine-output window.
963
964 2011-05-08 17:47:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
965 Automatically play moves of clicked PV in analyze mode
966
967 The Shift key now no longer needs to be pressed to play moves from the
968 PV in analyze mode (so it could be given back its original meaning of
969 starting a variation with the entered moves). In analyze mode the PV
970 walk begins after the first move, so a static right-click plays the
971 first PV move. To just peek the PV you have to walk to the start of it
972 before releasing the mouse button. In other modes the PV walk
973 stillstarts at the very end.
974
975 2011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
976 Let ParsePV always generate SAN move
977
978
979 2011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
980 Fix vscrolling in XBoard Engine-Output window
981
982 After clicking the memos they scrolled to the bottom, because SetFocus
983 put the insertion point at the very end of the text. This behavior is
984 now reserved for text-edits containing less than 100 characters.
985
986 2011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
987 Fix button sizing in generic popup
988
989
990 2011-05-08 13:02:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
991 Allow changing MultiPV setting from Engine-Output window
992
993 In analyze mode a header line is printed in the first engine-output
994 pane, which can be right-clicked to increase or decrease the number of
995 PVs. (Only with engines that support the MultiPV option.)
996
997 2011-05-08 11:28:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
998 No clearing of Engine-Output memos on stat01
999
1000
1001 2011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>:
1002 updated xboard.pot with released version
1003
1004
1005 2011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>:
1006 new developer release
1007
1008
1009 2011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>:
1010 updated ChangeLog, NEWS, etc.
1011
1012
1013 2011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>:
1014 deactivated new languages for the moment...
1015
1016 po files need some cleanup, probably better to wait until the translation-project looked at them
1017
1018 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
1019 added translations generated via lng2po from all winboard languages
1020
1021 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
1022 lng2po.sh: added command line options, GPL header
1023
1024 also use a temporary file generated with mktemp instead of a hard coded one
1025
1026 2011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>:
1027 fixed access rights to winboard language files (644 instead of 655)
1028
1029 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1030 Import WinBoard language files into git
1031
1032 2011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1033 Let Shift+RightClick on PV actually play the PV moves
1034
1035 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1036 Make book-edit function WB
1037
1038 The tags dialog is used to display the GUI book moves from the current
1039 position, and will be updated when you step or move to another one.
1040 The edited move list (with weights) can be written back to the book.
1041
1042 2011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1043 Fix resetting engine options
1044
1045 Not all options were reset, and -needsNonCompliantFEN was 'reset'
1046 to a completely wrong value, so that bad FENs would be sent.
1047
1048 2011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1049 Add -first/secondPgnName option
1050
1051 This option replaces the tidy name of the engine in the PGN player tags
1052 of engine-engine games. In WinBoard engines can be installed with this
1053 option through a checkbox in the Load Engine dialog.
1054
1055 2011-05-06 23:31:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1056 Let XB generic popup define default file extensions
1057
1058
1059 2011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1060 Save time-control settings in tourney file
1061
1062 Because parsing the options and storing them in appData is not enough,
1063 the time-control code setting the internally used parameters from the
1064 appData info in InitBackend was made into a subroutine, and also caled
1065 after parsing the tourney file.
1066
1067 2011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1068 Put saveGameFile in tournament dialog
1069
1070
1071 2011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1072 Plug memory leak, filenames relative to installDir
1073
1074 String options are consistently freed now, before assigning a new value
1075 to them through strdup. The init code now even does use strdup when
1076 setting defaults. This is important for optionslike -lgf, which are not
1077 saved in the settings file, and thus are usually left with their
1078 default. When a dialog to set them then uses free, this causes a crash.
1079 When setting the defaults uses strdup, ParseArgs can already free them.
1080 This plugs an important memory leak, as ParseArgs in now called to parse
1081 the tourney file before every tourney game (twice!), and the lists of
1082 participants and results in it can be quite long.  Macros are defined in
1083 common.h to make the code look simpler.
1084   Filenames entered through the generic popup are now interpreted
1085 relative to the WinBoard installation folder, just as the saveGameFile
1086 already was. The code handling the atter was made into a subroutine for
1087 this.
1088
1089 2011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1090 Add WB new popup prototypes
1091
1092
1093 2011-05-06 18:58:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1094 Add partcipants at bottom in tourney dialog (WB)
1095
1096
1097 2011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1098 Fix range of tourneyType spin WB
1099
1100
1101 2011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1102 Fix exit popup in tourney mode
1103
1104 Only the instance finishing the last tourney game will cause a popup
1105 with final standings. As long as there are still busy games, it exits or
1106 switches back to idle mode silently.
1107
1108 2011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1109 Fix stopping of match in tourney mode
1110
1111
1112 2011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1113 Add default extension in file browser
1114
1115
1116 2011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1117 Improve sizing of comment and tags dialogs
1118
1119 There seems to be a bug in Xaw for the sizing of buttons; they get
1120 unpredicatble and weird sizes when the size is not explicitly set,
1121 possibly stretching the initial width of a dialog to rediculous values.
1122 Sizing back to a remembered value from the settings file then makes
1123 buttons overlapand text edits shrink to almost nothing. To prevent that
1124 we now define exlicit sizes for the buttons in tags and comment popups.
1125
1126 2011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1127 Fix generic combobox bug
1128
1129 The patch placing gettext markers was done wrong, setting the
1130 translated menu text outside the loop, so all entries became the same.
1131
1132 2011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1133 Fix PV walking in analysis mode
1134
1135 ParsePV assumed that the PV would always have been produced by an engin
1136 thinking about the final position of the game (or the one before it). In
1137 analysismode, however, the engine can be analysing positions internal to
1138 the game, and the PV would be considered invalid. This is fixed by
1139 cutting of the tail off the game (shelving it in variation fashion)
1140 before starting the PV walk, and reverting afterwards.
1141   For this the PushTail and PopTail routines had to be split into an
1142 'inner' part, doing the pushing and popping, and an outer part, handling
1143 menu graying and popdowns (which is undesirable in in this application).
1144
1145 2011-05-03 00:24:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1146 Lift length-limit on text-edits in WB generic popup
1147
1148
1149 2011-05-04 13:53:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1150 Lift limitation of text length in generic dialog XB
1151
1152 All string options should now point to allocated memory, as strdup /
1153 free is consistently used on them. This is OK for values received from
1154 ParseArgs, but for non-arg intermediate variables that must receive strg
1155 values, such as in the comment and tags popups, strdup has to be used to
1156 initialize those.
1157
1158 2011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1159 Implement Tournament Options dialog WinBoard
1160
1161 The file browser now can select on extension WB generic dialogs,
1162 with a default based on the option.max value of the option for which it
1163 browses. A textBox can be forced to be multiline by putting the number
1164 of extra lines in option.min.
1165
1166 2011-05-04 15:30:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1167 Make option to draw second engine from first list
1168
1169
1170 2011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1171 Fix error message on engine load
1172
1173
1174 2011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1175 Implement Load Engine dialog in WinBoard
1176
1177 The Load Engine dialog is implemented for WinBoard, and is invoked by
1178 the menu item Engine->Load, which formerly was Install 2nd. Install 1st
1179 is renamed 'Edit Engine List'. Unlike in XBoard, the dialog has separate
1180 fields for the engine executale and its parameters.
1181   The dialog is implemented by converting the Engine Settings popup into
1182 a generic dialog generator.
1183
1184 2011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1185 Load new logo on engine change WinBoard
1186
1187 Picking the logo for the first engine is made into a subroutine. The
1188 code for picking the logo of the first engine was made into a subrroutne
1189 for this. We use the kludge to recognize the engine by its command line
1190 when starting a new engine process.
1191
1192 2011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1193 Allow switching off match mode through menu
1194
1195 The Machine Match menu item is now checkmarked, and no longer grayed
1196 during a match, and clicking it while a match is running will terminate
1197 the match after the current game. To not be left with hanging
1198 checkmarks, the checkmark is already removed duringthe last match game
1199 (which is logically equivalent to ordinary Two Machines mode anyway).
1200
1201 2011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1202 Calculate and display tourney result
1203
1204
1205 2011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1206 Implement Tournament Manager
1207
1208 New command-line options are added to specify the tourney: -tourneyType
1209 (-tt), -tourneyCycles (-cy), -participants, -syncAfterRound,
1210 -syncAfterCycle, -results, to be saved on a -tourneyFile (-tf), but
1211 otherwise volatile. When a tourneyFile is specified during a match,
1212 a new routine NextTourneyGame is called from NextMatchGame before every
1213 game, to decide the pairing, and unload and redefine the engines, when
1214 needed. The XBoard Match Options dialog can be used to set the options
1215 and create the tournament file.
1216   Actual loading of new engines is done by TwoMachinesEvent, which is
1217 now modified to also wait for the feature timeout of the first engine.
1218 Waiting for the matchPause is now also implemented there, after waiting
1219 for the engines (so they can be started during the pause).
1220   Pairings and color assignment is now all done in an absolute
1221 (non-incremental) way, based on a new global game-number variable
1222 nextGame, which takes over the function of matchGame in a tourney. The
1223 latter is now used to count games between the same players, so it can be
1224 still used to derive the load-file indexes (again in absolute fashion).
1225   The next game to play is already picked in GameEnd, so it can be
1226 decided if there is a game to be scheduled, or if we can terminate.
1227
1228 2011-05-04 15:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1229 Display note in stead of empty engine-settings dialog XB
1230
1231
1232 2011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1233 Fix crash on empty Engine Settings dialog
1234
1235 The generic popup was not foolproof against this.
1236
1237 2011-04-22 12:47:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1238 Refactor code for loading games and positions in match
1239
1240 The code in NextMatchGame and MatchEvent was nearly the same,
1241 (MatchEvent did a little more error checking, but that is never
1242 harmful), and could be combined. In stead of determining the load index
1243 incrementally, it is now calculated in an absolute way from the game
1244 number, so it can be used more easily in tournament mode.
1245
1246 2011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1247 Add callback possibility to combobox selection
1248
1249
1250 2011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1251 Lock game an position file during writing
1252
1253 The use of flock() on the file desctiptor of the opened stream should
1254 guarantee multiple XBoard instances, saving on the same file, will not
1255 interleave their PGN games or FEN positions.
1256
1257 2011-04-27 17:05:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1258 Remove building rule for parser.c from WB makefiles
1259
1260
1261 2011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1262 Fix Engine Settings buttons in WinBoard
1263
1264 This was broken by a leftover statement from debugging the -file/-path
1265 patch.
1266
1267 2011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1268 Implement flock in WinBoard
1269
1270 This system function seems unknown in a MinGW compile, so it is
1271 implemented with the aid of file byte-range locking, using a lock on the
1272 first 1024 bytes of the file as a semaphore.
1273
1274 2011-04-29 23:06:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1275 Fix grayout XB Match Options in ICS mode
1276
1277
1278 2011-05-03 00:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1279 Delay loading of second engine until it is used
1280
1281
1282 2011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1283 Fix zippy bughouse partner bug
1284
1285 The patchs to subject Zippy messages to coloriation was faulty, because
1286 there were messages recognized by zippy that were not colorized, and
1287 such messages would then not be 'read away' after zippy recognition
1288 (except for the first character). As a result the messages were
1289 processed over and over again.
1290
1291 2011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1292 Silence more rpm warnings
1293
1294
1295 2011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1296 Fix warnings XBoard file browser
1297
1298 All the prototypes have been moved to selfile.h, to force uniformity.
1299 The order of the #include files xstat.h and selfile.h had to be
1300 swapped, to make sure 'struct stat' is a nown type atthe time of
1301 prototype declaration. The event handler SFmotionList is considered
1302 wrong type because of its third argument (XMotionEvent in stead of
1303 XEvent), and had to be casted to (XtEventHandler) when passed to
1304 XtAddEventHandler.
1305
1306 2011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1307 Fix some warnings and header-file improvement
1308
1309 Ther were lot of 'extern' declarations in the x-files, so called
1310 'imports from xboard.c', (sometimes backend.c) which logically belonged
1311 in xboard.h (backend.h) to ensure their uniform definition. These have
1312 now been moved there. Some prototypes have been added in xboard.h as
1313 well, for functions that needed calling from xoptions.c.
1314
1315 2011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1316 Create conversion tools for language files
1317
1318 A shell script "lng2po.sh" is provided, to apply the translation given
1319 in a WinBoard .lng file to "xboard.pot", in order to generate a
1320 "language.po" file containing translations for all strings for which
1321 the .lng file had a translation. It makes use of a file "metascript",
1322 which is the ed script used to turn the .lng file in an ed script to
1323 turn the .pot into .po. For example, the command "./lng2po.sh
1324 espa?ol.lng" will create a file "language.po", which can be renamed to
1325 "es.po".
1326 ****************************** WARNING ********************************
1327   Note that the lng2po script does a "recode" that assumes the given
1328 .lng file is encoded in latin-1. This means it canot be used without
1329 modification for the Vietnamese and Chinese translation; you would have
1330 to replace latin-1 by the applicable encoding first (CP1258 / BG2312 /
1331 BIG5).
1332
1333 2011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1334 Put gettext markers in generic dialog creator
1335
1336 This is done by adding extra XtNstring argumentsto the widget gcreaton,
1337 so the displayed name can be different fromthe widget name.
1338
1339 2011-05-01 19:56:38 -0700 Tim Mann <tim@tim-mann.org>:
1340 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.
1341
1342
1343 2011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>:
1344 updated German translation
1345
1346
1347 2011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>:
1348 replaced hardcoded email address with generic PACKAGE_BUGREPORT
1349
1350
1351 2011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>:
1352 updated po-files; updated german translation
1353
1354
1355 2011-04-23 10:51:02 -0700 Arun Persaud <arun@nubati.net>:
1356 updated list of files that include translation strings; updated pot-file
1357
1358
1359 2011-04-22 21:50:58 -0700 Arun Persaud <arun@nubati.net>:
1360 marked more strings for gettext that were only marked with N_()
1361
1362 they need to be marked again with _() when they are used to get the translated string
1363
1364 2011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>:
1365 updated translation files
1366
1367
1368 2011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>:
1369 added/fixed i18n support via gettext to xboard
1370
1371 this was already added a long time ago, but now it's added again to
1372 autoconf. Also fixed some compile errors that showed up.
1373
1374 2011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1375 Make engine startup error non-fatal
1376
1377 When engine startup fails, do not generate a fatal error, but swicth
1378 back to -ncp mode. Write on broken pipe errors had to be suppressed for
1379 this.
1380
1381 2011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1382 Make engine loadable during session
1383
1384 A "Load Engine ..." menu item is added to the Engine menu, which pops
1385 up a dialog where one can replace the first or second engine by a new
1386 one, without destroying the game state. Switching from -ncp to engine
1387 mode needed activation of some menu items in SetGNUMode, and
1388 re-enabling clockMode. It was also important that noChessProgram is
1389 cleared before re-initializing the ChessProgramState.
1390   The Load-Engine dialog can select from the list of installed
1391 engines, and also add a newly specified engine to this list. In this
1392 case it saves the directory, hasBook, and isUCI info with the engine,
1393 and optionally the current variant. When loading an engine with a
1394 specified variant, it resets the game and switches to the new variant.
1395
1396 2011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1397 Generalize WaitForSecond to WaitForEngine
1398
1399
1400 2011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1401 Add UnloadEngine routine
1402
1403
1404 2011-04-20 13:45:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1405 Put engine initialization code in per-engine function
1406
1407 Initializing of the ChessProgramStates first and second from the
1408 option settings in appData is now done by separate calls to the same
1409 routine. Clearing of options is added to the initialization. This is
1410 needed when reloading an engine. This is done in a separate routine,
1411 which could also be called on -reset options.
1412
1413 2011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1414 Bring structure in appData engine options
1415
1416 All options in appData that came in pairs for both engines are replaced
1417 by arrays of ENGINES (=2, for now) elements. The use of the named
1418 appData field that are replaced in the source is replaced by use of the
1419 corresponding array element, by #define directives in common.h, awaiting
1420 their replacement.
1421
1422 2011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1423 Fix gettext macros in option dialogs
1424
1425 The strings in the tables were using _() in stead of N_().
1426
1427 2011-04-18 20:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1428 Fix crash on using Engine #1 Settings in ICS non-zippy mode
1429
1430 If XBoard is compiled with zippy the Engine #1 Settings menu was not
1431 grayed out even when you don't run in zippy mode, and using it would
1432 then crash XBoard.
1433
1434 2011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1435 Fix shogipixmaps
1436
1437 Some pixmaps forptomoted pieces had wrong background color, others had a
1438 wrong name (so the one with the correct name was missing).
1439
1440 2011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1441 Change texture-install directory to pixmaps/textures
1442
1443
1444 2011-04-17 17:36:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1445 Limit install of sound files to those in menu
1446
1447 The sounds directory is set to .../xboard/sounds, and only ten
1448 sounds are kept (all non-spoken).
1449
1450 2011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1451 Remove some bitmaps from install
1452
1453 Some files in the bitmaps source directory need not be installed,
1454 because they are there only to be linked to the binary in a build
1455 without LIBXPM, are README files or conversion programs. I left only the
1456 stuff that is in a Debian binary package in .../xboard/bitmaps.xchess.
1457
1458 2011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1459 Configure some default sounds
1460
1461 The move sound is set to Wood Thunk; the sounds for tell and challenge
1462 events to Phone and Gong, respectively.
1463
1464 2011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1465 Change default sounds in Xboard menu
1466
1467 All spoken sounds are removed now. Thud, Click and Ching are replaced by
1468 Wood Thunk, Slap and Cymbal; Car Horn and Pop are added.
1469
1470 2011-04-17 12:46:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1471 Make user wav file available for try-out in sound dialog
1472
1473 The GenericReadout was adapted to be able to read a single selected
1474 value, so that the callback to the 'play' button in the sounds dialog
1475 could get the name of the 'user WAV file' without accepting all settings
1476 for the other sounds (which should only happen on 'OK', and might still
1477 be cancelled in stead).
1478
1479 2011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>:
1480 configure: enable silent rules by default
1481
1482
1483 2011-04-16 10:28:16 -0700 Arun Persaud <apersaud@lbl.gov>:
1484 configure: added install directory for bitmaps files: .../games/xboard/bitmaps/default/
1485
1486
1487 2011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>:
1488 configure: added install of sounds in .../games/xboard/sounds/default
1489
1490
1491 2011-04-16 09:54:26 -0700 Arun Persaud <apersaud@lbl.gov>:
1492 configure: renamed bitmapdir to pixmapsdir, since it installed only pixmaps. also changed name of default dir
1493
1494 pixmaps will now be installed under .../games/xboard/pixmaps/default/
1495
1496 2011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1497 Fix gamelist highlight
1498
1499 Reopening the gamelist should highlight the current game.
1500
1501 2011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1502 Fix size limit on 'save as diagram'
1503
1504 In stead of a fixed-size buffer the diagram-save code now uses an
1505 allocated buffer with size calculated from the bitmap parameters to
1506 retreive the bitmap data, so it should work for all sizes.
1507
1508 2011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1509 Fix chaining of bottom-row dialog buttons
1510
1511 The OK & cancel buttons are chained to the bottom. This patch makes sure
1512 that other buttons appearing in the same row (as in the tags and
1513 comment dialogs) will be chained that way too, so that they will behave
1514 the same on vertical sizing. The bottom of a full-width text-edit above
1515 it will be chained to bottom too. To make this work in the tags dialog,
1516 the (optional) cmail-message field had to be put above the tags memo.
1517
1518 2011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1519 Fix switching between pixmap and bitmap pieces
1520
1521 There were still several flags that had to be reset when redoing the
1522 graphics initialization. The Debian patch to use a default bitmap
1523 directory when none is given but monoMode is selected or forced, is
1524 moved to a more sensible place, so that it does not disturb matters when
1525 compiled without LIBXPM (when we do have built-in bitmaps).
1526
1527 2011-04-15 15:47:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1528 Remove outline-pieces option from board-options dialog
1529
1530 This option does not exist in XBoard (yet).
1531
1532 2011-04-15 15:41:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1533 Fix running of clock during hash allocation engine
1534
1535 In TwoMachinesEvent we now wait for the second engine to acknowledge the
1536 'ping' after 'new', to make sure it is done allocating hash in reaction
1537 to the preceding 'memory' command, before the clock for the game is
1538 started.
1539
1540 2011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1541 Describe move type-in in texi file
1542
1543
1544 2011-04-14 20:34:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1545 Describe Copy Game List menu item in texi file
1546
1547
1548 2011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1549 Describe -sweepPromotions in texi file
1550
1551 The new method for selection promotion piece, and the -sweepPromotions
1552 option are described in the texi file.
1553
1554 2011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1555 Describe -pieceMenu option in texi file
1556
1557 The sweep method for selecting a piece in Edit-Position mode is
1558 explained, as well as the -pieceMenu option.
1559
1560 2011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1561 Update texi file
1562
1563 Descriptions of the new XBoard menu dialogs are included in the docs.
1564
1565 2011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1566 Reorganize texi description
1567
1568
1569 2011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1570 Fix sweep-promotions patch
1571
1572 Setting of the from square was moved to before OKtoStartUserMove in the
1573 LeftClick handler, to make sure we could test the promotion possiblity
1574 when OnlyMove() would have altered (x,y) to be no longer the from
1575 square. But this setting of fromX, fromY hung on also if the move was
1576 not OK, so you could effectively select opponent pieces and empty
1577 squares. The from-square is now set back to undefined when it is not OK
1578 to move the piece you clicked.
1579
1580 2011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1581 Alter treatment of moves with empty squares
1582
1583 In Edit Position mode one can move empty squares, and use them to
1584 'capture' pieces as a means to clear their square. But this often leads
1585 to unintended disappearence of pieces one wants to grab for dragging, if
1586 a previous click had inadvertantly left an empty square selected: the
1587 click on the piece is then seen as the to-click of a click-click move.
1588   This patch treats to-clicks of moves with an empty-square differently
1589 from other to-clicks: Rather than performing the move (in this case
1590 clearing of the to-square) on the down-click, it defers that to the
1591 up-click, and only does it if that up-click is in the same square. This
1592 allows the user to grab the piece on the down-click, and drag it to
1593 another square, if that is what he wanted to do, without being disturbed
1594 by sudden implosion of the piece he tried to grab.
1595   If the to-square is in the holdings, grabbing the piece is the only
1596 action, as moves of empty squares into the holdings are forbidden anyway.
1597
1598 2011-04-13 13:14:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1599 Block selection of a directory when file is needed
1600
1601 When we are not browsing merely to obtain a name to put in a text edit,
1602 but really must return an open file pointer, selection of a directory
1603 (ending in '/') can no longer be OK'ed in the file browser. (XBoard
1604 tends to segfault when offered garbage for game or position file...)
1605
1606 2011-04-13 12:23:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1607 Let double-click select file in file browser
1608
1609 A second click on the already selected entry now has the same effect as
1610 pressing the OK button.
1611
1612 2011-04-12 17:06:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1613 Couple mouse wheel to v-scrolls in file browser
1614
1615 A newly added mouse-wheel event handler was made to call the v-scroll
1616 callback routines with parameters to step one entry. The button-press
1617 handler for the lists themselves was also made to intercept the wheel
1618 events (buttons 4 and 5), to prevent they would select an entry, and
1619 make them scroll in stead as well.
1620
1621 2011-04-13 11:41:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1622 Fix crash copying game list when there is none
1623
1624
1625 2011-04-13 11:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1626 Fix changing of float setting by generic popup
1627
1628 Changing a float setting (so far the only one is in the Load Options
1629 dalog) did not always work, because the old value was clipped to (int),
1630 so that changing it back to an integer value might erroneously conclude
1631 there was no change.
1632
1633 2011-04-13 16:15:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1634 Fix crash on closing dialogs in wrong order
1635
1636 When a menu dialog was closed when it still had an open file-browse
1637 daughter, which could be done through the system menu X on the title
1638 bar, later closing of the file browser caused a crash. This is solved by
1639 keeping track of the fact that there is such a daughter through a global
1640 flag, and ignoring the pop-down command if there is one.
1641
1642 2011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1643 Fix startup focus of board window
1644
1645 When there were open auxiliary windows, these would have focus on
1646 starting up XBoard. The XtSetKeyboardFocus call added in XBoard main()
1647 was ineffective in curing that. It has now been replaced by a call to
1648 XSetInputFocus, which does do the job. By giving input focus to the form
1649 widget, rather than the board widget, XBoard will be immediately
1650 sensitive to all key bindings.
1651
1652 2011-04-13 15:48:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1653 Fix game-list highight error when filtered (WB)
1654
1655 When the gamelist was filtered, the game that was highlingted was the
1656 n-th game in the list rather than the n-th game in the file, when the
1657 latter was loaded (and n did not exceed the number of filtered games).
1658 This is fixed now by searching for the line in the listbox that starts
1659 with the game number n, rather than taking the n-th line.
1660
1661 2011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1662 Refactor move type-in code
1663
1664 Common code between XBoard and WinBoard was moved to the back-end
1665 creating TypeInEvent() and TypeInDoneEvent() routines.
1666
1667 2011-04-12 10:13:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1668 Fix saving of XBoard fonts with spaces in name
1669
1670 SaveFontArg now prints quotes around the saved font string, so that the
1671 general option-argument parser doesnot stop at the first space it sees.
1672
1673 2011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1674 Implement move type-in for XBoard
1675
1676 By adding an event handler to the main window for key presses, users can
1677 now type moves when the board has focus, like in WinBoard. The typed
1678 character appears as first character in the type-in box that willpop up.
1679 Enter and Escape close the box; finishing the typing of the move enters
1680 it. Like in WinBoard it is also possible to type a move number (to go
1681 there) or (in Edit Position mode) a FEN.
1682
1683 2011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>:
1684 new developer release
1685
1686 tried to keep the v4.5.x branch developed already separated in the NEWS file, as well as DIFFSTAT and SHORTLOG.
1687 The Changelog is just the one from master.
1688
1689 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
1690 updated Changelog, NEWS, etc.
1691
1692 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1693 Fix use of game/position file in first match game
1694
1695 When a match was started from the menu, it was not paying attention to
1696 game and position files. (Later games were.) The code that handled this
1697 in the initialization when a match is started through the command line
1698 was made into a routine MatchEvent, which can be called from the menu
1699 proc too.
1700
1701 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1702 Fix crash on opening ICS Text Menu
1703
1704 The patch for the color defaults had broken the ICS Text Menu.
1705
1706 2011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1707 Implement Copy Game List menu item for XBoard
1708
1709 Some WinBoard code was cloned for this.
1710
1711 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1712 Third method of sweep selection
1713
1714 This method sweeps through the possible promotion choices for the piece
1715 that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
1716 draggin such a Pawn forwards, it immediately shows it as the piece you
1717 are going to promote to.
1718
1719 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1720 Alternative sweep promotions
1721
1722 The sweep takes place on the from-square here.
1723
1724 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1725 Make sweep-select promotions work in WinBoard
1726
1727 The mouse-move handler had to be connected to the PromoScroll back-end
1728 routine.
1729
1730 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1731 Fix path browsing in WinBoard
1732
1733 The routine BrowseForFolder was still declared as static in woptions.c,
1734 while it was used from wsettings.c.
1735
1736 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1737 Fixes to sweep selection
1738
1739
1740 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1741 Implement sweep selection of promotion piece
1742
1743 When the option -sweepPromotions is true, a click-click promotion move
1744 will first display the default choice (usually Queen) on the promotion
1745 square. While you have the mouse button still down, you can change the
1746 piece by moving the mouse vertically.
1747
1748 2011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1749 Implement sweep selection as alternative for the piece menu
1750
1751 When the option -pieceMenu is off, the piece menu will no longer appear
1752 on right-clicks in Edit Position mode. In stead a Pawn of the chosen
1753 color will appear immediately in the clicked square, and vertical
1754 movement of the mouse with the right button down will cycle through
1755 all other pieces defined in the pieceToCharTable of the current variant.
1756   Setting the side to move is acheived by clicking the correspondig
1757 clock. Clear board can be effected by clicking the clock of the side
1758 that already has the move.
1759
1760 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1761 Remember Tags and Comment dialog coordinates
1762
1763 The save-settings code now uses the shell and shellUp arrays from the
1764 GenericPopUp to read out the window coordinates for Tags and Comment
1765 window. Pointers used by GenericPopUp are set topoint to the
1766 corresponding WindowPlacement structs.
1767
1768 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1769 Redo Tags dialog
1770
1771 The generic popup is used for generating the Tags / EditTags popups.
1772 The tags popup use a 'label' field to display the cmail message
1773
1774 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1775 Implement Edit-Comment window through generic popup
1776
1777 The Edit Comment and Comment popups are combined into one, that can
1778 always be edited (similar to WinBoard). It uses shell number 1.
1779 (Number 0 is for all transient dialogs.) A save-changes button is added.
1780 The positioning is not implemented yet.
1781
1782 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1783 Refinements to generic popup and color picker
1784
1785 *) The text part of a checkbox can now be clicked to toggle the option.
1786 *) Typing <Enter> in single-line text edits is ignored
1787 *) Using a spin button now sets focus to the affected text edit, with
1788 the insert position at the end.
1789 *) Using the sample field or an RGB button sets focus to the
1790 corresponding text edit, with the insert position at the end.
1791 *) The adjust buttons now work in reverse, with a D button for "darker".
1792 *) Editing a color field causes the sample field to update to the new
1793 color when you type <Enter>.
1794 *) The color pickers now define a default color, which can be instated
1795 by clicking on the sample field.
1796 *) Fix some 64-bit pointer warnings
1797
1798 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1799 Let file browser filter on extension
1800
1801 A new text field is added in the file-browse dialog, to hold (space-
1802 separated) extensions, on which the filenames are then filtered. This
1803 field is initialized by the caller, depending on what we need the file
1804 for, but can be changed by the user. (Directories are always displayed!)
1805   Changes in the extension field  become effective after typing a return
1806 in it. Escape typed in the extension field gives focus to the filename
1807 field, and restores the contents. Escape in the filename field cancels
1808 the dialog, return ther OKs it. The extension filter of the browser is
1809 initialized to the extension (if any) of the file currently in the text
1810 edit you are browsing for.
1811   When re-opening the file browser from the XBoard File menu, and there
1812 is no suggested filename, it will now start with the last succesfully
1813 opened name as suggestion. Calling the browser with a NULL argument
1814 for the suggested filename requests that (unlike calling with an empty
1815 string, which will start it in the current directory). To make this
1816 work smoothly, the filebrowser saves the last used name on entry, so it
1817 can be restored on cancel, so that a cancelled browse session really
1818 erases all memory of it.
1819
1820 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1821 Fix animation masks on changing piece pixmaps
1822
1823 The animation masks were not remade when new pieces were loaded
1824 interactively through the board-options dialog.
1825
1826 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1827 Fix linegap option in board dialog
1828
1829 The lineGC was not recalculated, so the grid lines stayed the same
1830 thickness. In addition, setting the line-gap override to -1 now
1831 retrieves the original line gap that belongs to the current board size.
1832
1833 2011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1834 Make a kind of ICS text menu in XBoard as a dialog
1835
1836 The dialog with buttons can be opened from the View menu. It is
1837 configured by the option -icsMenu; a default setting for this is
1838 included in the master settings file.
1839   The commands specified by the -icsMenu can now contain $name and $input
1840 keywords, which will be replaced by the current primary selection, or
1841 text the user types, respectively. Commands that contain $name will not
1842 be sent when the current selection is empty. Commands that do not
1843 contain $input will be sent to the ICS immediately; otherwise they will
1844 be placed in the ICS Input Box, with the cursor at the point of the
1845 $input, and input focus given to the Input Box, so the user can start
1846 typing. When a command is prefixed by "$add " it will be appended to the
1847 existing ICS Input Box contents, rather than replace it.
1848   The items now have to be separated by ";\n", and button text from
1849 command by ';' (with optional linefeed). This allows configuring of
1850 multi-line commands, as a single linefeed no longer has special
1851 sigificance.
1852
1853 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1854 Redo ICS input box with generic popup
1855
1856 This box is just a single text edit, but the complexity is in the added
1857 callbacks. These callbacks remain in xboard.c, and were altered to
1858 access the edit through the option.handle field.
1859
1860 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1861 Activate -path and -file options
1862
1863 In XBoard the generic popup was prepared for this. In WinBoard, for
1864 -path options the BrowseFolder routine is used, and had to be made
1865 global (prototype in winboard.h).
1866
1867 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1868 Let generic popup generate Engine Settings dialog
1869
1870
1871 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1872 Merge SettingsPopUp into GenericPopUp
1873
1874 Based on currentCps the values read from the dialog are sent to the
1875 engine, or stored into the option.target in the callback, and fetched
1876 from the option.target in the PopUp. The currentCps is cleared in the
1877 generic popdown of a transient dialog.
1878
1879 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1880 Make generic dialog popup reentrant
1881
1882 To allow persistent dialogs to be implemented through the generic popup,
1883 it must be possible to have several dialogs open at the same time, and
1884 thus make sure the popdowns under the cacel or close-window button know
1885 which one to pop down. To this end an array shells[] is created that
1886 takes over the function of settingsShell, and GenericPopUp gets an extra
1887 parameter telling it which element to use for storing the dialog shell.
1888 This number is then also passed to the callbacks that trigger popdown.
1889 This was a bit nasty for the CatchDeleteWindow stuff, which passes user
1890 data to the callback as text strings.
1891 Keep a separate up/down indicator, so that shell widgets can be kept
1892 for persistent dialogs. Also keep a currentOption per dialog type.
1893   The coordinates and size of the window is read out and stored in a
1894 WindowPlacement structure, (if one is specified for that dialog), when
1895 the dialog is popped down. When initialized the structure is also used
1896 to set the window parameters when the dialog is created. (The idea being
1897 that the structure was saved in the settings file.)
1898   The routine MarkMenu checkmarks a given menu item, and logs it for the
1899 given dialog type, so that a later popdown automatically unchecks is.
1900
1901 2011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1902 Implement Machine Match menu item and options dialog
1903
1904 An item to start a match from the menu is added, similar to what
1905 WinBoard has. (The code is duplicated, so I guess it should be moved to
1906 the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in
1907 the Options menu was added with the aid of the generic popup, and allows
1908 the user to set the load Game / Position File and Index.
1909
1910 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1911 Create General-Options dialog
1912
1913 The generic popup is used to implement a General-Options dialog, which
1914 contains all Boolaen options that used to be set directly from the main
1915 Options menu, plus a spin option for the flash count and flash rate.
1916 The corresponing options are removed from the main Options menu, but the
1917 whole thing is made conditional on a compiler switch OPTIONSDIALOG.
1918 The dialog needs an OK callback for sending an altered ponder-state to
1919 the engine. (Why isn't this option disabled in -ncp mode, btw?)
1920 A spin control is added to adjust -animateSpeed between 5 and 100.
1921 Add dropMenu and showTargetSquares item as well.
1922
1923 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1924 Redo new-variant dialog with generic popup
1925
1926 Some special code was added in GenericPopUp() to force buttons of the
1927 type needed in the New Variant dialog (wide, colored, greyed-out on
1928 variant type). The dialog was implemented with these, and callbacks for
1929 the buttons directly exit the dialog, without the need for OK. New spin
1930 controls are added to the dialog for adjusting the board format.
1931
1932 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1933 Redo common-engine dialog with generic popup
1934
1935 The ponder option was removed, as it is already in the main Options
1936 menu, and would require nastiness in the OK callback. Added book options
1937 in common-engine dialog.
1938
1939 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1940 Redo adjudications dialog through generic popup
1941
1942 We dropped the periodic-updates option, as it is already in the main
1943 Option menu.
1944
1945 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1946 Make sounds dialog for XBoard
1947
1948 This uses the combo boxes. A 'play' button isimplemented for a test
1949 sound. A sound directory is introduced, and can be set through the
1950 dialog. A default setting for -soundDirectory is added to xboard.conf.
1951
1952 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1953 Add ICS options dialog
1954
1955
1956 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1957 Add board dialog XBoard
1958
1959 The GenericPopUp() is used to implement a dialog for board options. The
1960 board dialog needs to trigger redraw and redefinition of the
1961 colors, through an OK callback. Color-pickers are used for the 6 basic
1962 color settings.
1963   To allow changing board settings during the session (i.e. from a menu
1964 dialog), the routines to allocate resources have to free the resources
1965 for the previous settings first. This patch take care of XtCreateGCs(),
1966 preventing re-creation of resources that are unchangeable (such as the
1967 grid color), and calling XtReleastGC() on GCs that can be changed.
1968 To prevent resource leaks the old pixmaps are deleted before making new
1969 ones on second or later calls of CreateXPMPieces().
1970
1971 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1972 Add browse button to generic popup
1973
1974 Options of type FileName and PathName cause a browse button to be added
1975 behind the text field. The SpinCallback is used to handle the
1976 button presses, and invokes the file browser dialog to obtain a
1977 filename, which is then copied to the text field.
1978
1979 2011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1980 Make generic XBoard popup, and implement 2 dialogs
1981
1982 The Engine-Settings dialog of XBoard was cloned to work on predefined
1983 lists of (XBoard) options, rather than engine options. An extra field
1984 was added to the Option struct, to hold a pointer to the XBoard variable
1985 that should hold the option setting, so on OK'ing the dialog the altered
1986 values can be copied there. Not usable for options which should trigger
1987 an action (like redraw, or sending something to the engine).
1988 A Load Game, Save Game and ICS Options dialog were then defined by
1989 tables fed to GenericPopUp(). Options set from these dialogs were removed
1990 from the main Option menu, which removes a lot of code from xboard.c
1991 (for checkmarking, disabling the menu items).
1992   A button defined in the GenericPopUp can attain the color indicated
1993 by a previous text field, and add a callback to change the color in a
1994 spin-like manner (but using R G B W in stead of + - butons).
1995 The EndMark option can specify a callback, to be used on OK.
1996 A non-zero max field in the Option descriptor will be used to set the
1997 width of ComboBox, TextBox and Button optons.
1998 The elements are chained such that extra space goes fully into the input
1999 fields. A label type is added for clarifying texts that would not fit in
2000 the option names. A break-type (pseudo-)option is added. Make OK and
2001 cancel button suppressable in generic popup (by 2 bit of the option.min
2002 field).
2003
2004 2011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2005 Add file-browser option to just return name
2006
2007 By passing mode "f" the file browser dialog will not open the selected
2008 file at all, so it can be used to retreive the name for the benefit of a
2009 file-browser button to a -file option. A mode "p" will limit the
2010 selection to directories only, to browse for a path.
2011
2012 2011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2013 Put insertion point at end of text on SetFocus
2014
2015
2016 2011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>:
2017 fixed 64 bit warnings by casting integers to intptr_t before casting to int
2018
2019
2020 2011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>:
2021 removed check and #includes for malloc.h, since it's not needed
2022
2023 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
2024
2025 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
2026 check if malloc.h is present before including it
2027
2028 OS X 10.6 doesn't have malloc.h, so it complained.
2029
2030 2011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>:
2031 Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file
2032
2033 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
2034
2035 2011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2036 Fix display of promotion piece in ICS superchess
2037
2038 In Great Shatranj and Superchess promoted Pawns were displayed as shadow
2039 piece because these variants had holdings, while captured pieces should
2040 go back into the holdings unchanged, rather than reverted to Pawns.
2041
2042 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2043 Fix o-o castling in new parser
2044
2045 The non-compliant notation of castling with lower-case 'o' should be
2046 preferred over the non-compliant interpretation of moving a Pawn along
2047 the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for
2048 castling! So an exception is now made for the o-file in the 'fxg'
2049 case.
2050
2051 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2052 Implement yynewstr entry point in new parser
2053
2054 This entry point, used for parsing an ICS move list, was forgotten, and
2055 was still an empty routine. This made XBoard crash when observing an ICS
2056 game.
2057
2058 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
2059 fixed wrong default for polyglotDir mentioned in docs.
2060
2061 Thanks to Hans Aberg for reporting it.
2062
2063 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
2064 Fix "make install" on Os X10.6.6 (removed a "/")
2065
2066 seems like an extra "/" made "make install" unhappy
2067
2068 2011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>:
2069 removed parser.l from build process, also removed flex dependency from configure
2070
2071
2072 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2073 New parser, written in C
2074
2075 A new parser was written to replace the flex-generated one. Immediate
2076 improvements are that it understand double-digit rank numbers, and Shogi
2077 coordinates. No changes were made in the Makefile yet to reflect the
2078 new, flexless building procedure.
2079
2080 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2081 Fix bugs in FRC castling rights
2082
2083 When parsing a castling move in FRC when no rights existed, the parser
2084 returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of
2085 the absence of rights was not adapted to the new encoding NoRights in
2086 stead of -1.
2087
2088 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2089 Fix parsing bug of FRC castling
2090
2091 The code that was supposed to intercept castling when no rights existed
2092 in FRC was not adapted to the new encoding for this by NoRights, rather
2093 than -1, and furthermore returned 0 (= EndOfFile) rather than
2094 ImpossibleMove. Not sure if the former would manifest itself in any
2095 way, but the latter seems bad.
2096
2097 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2098 Fix two bugs in reading position diagram
2099
2100 When reading a game without FEN tag, a position diagram is used to set
2101 the initial position. This calls CharToPiece() with a '.' as argument,
2102 because that is the position-diagram way to indicate empty squares.
2103 altered CharToPiece() over time this would be recognized as the first
2104 undefined piece or, more recently, the first piece without nickName,
2105 which is a white Pawn. Now it returns EmptySquare again in that case.
2106 A second problem was that for position diagrams in braces the brace was
2107 not in the list of ignored characters, and would cause the reading to
2108 get out of phase, so that the side to move was not recognized.
2109
2110 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2111 Fix flipBlack option XBoard with board texture
2112
2113 In XBoard -flipBlack is implemented by swapping white and black pieces,
2114 because the Shogi bitmaps from XShogi are made that way. But the mask
2115 used to cut out the whole in the board texture to fit the piece was not
2116 swapped, both when drawing static pieces, as well as during animation.
2117
2118 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2119 Improve repairing damage of arrow highlight XBoard
2120
2121 With line gap the highlight arrow necessitated redrawing of the entire
2122 board, to repair damage on the grid. This interfered with flashing of
2123 pieces, which was only done on selective redraws. In stead of forcing a
2124 total repaint we now just redraw the grid lines.
2125
2126 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2127 Fix unintended translation in debug file
2128
2129 The words "first" and "second" (cps->which) were sometimes used in
2130 context that should definitely not be translated. (e.g. the indicator
2131 for which engine printed/got the line in the debug file.) So translation
2132 is now deferred to all uses in popups.
2133
2134 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2135 Fix nps bug
2136
2137 The nps settingwas tested for being > 0 in stead of >=0, so that the
2138 case of CPU time was not properly handled.
2139
2140 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
2141 Added missing fclose()
2142
2143 (tiny change)
2144 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
2145
2146 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
2147 release of version 4.5.1
2148
2149 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
2150 updated Changelog, NEWS, etc.
2151
2152 2011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2153 Fix two typos in option names in texi file
2154
2155 Polyglot was capitalyzed
2156
2157 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2158 Fix some resource leaks
2159
2160 Some files were opened not closed in XBoard, when loading XIM images
2161 (which I doubt anyone ever does) but also when copying the clipboard
2162 (which has the potential of being done very often). There was also some
2163 code that would not work if conditional code which is permanently
2164 disabled would be enabled.
2165
2166 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
2167 new developer release
2168
2169 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
2170 updated Changelog, NEWS, etc.
2171
2172 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2173 Fix MSVC snprintf problem
2174
2175 In MSVC snprintf has to be redefined as _snprintf, and this happens
2176 conditionally in config.c. But the latter was not #included in help.c.
2177
2178 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
2179 updated configure.ac to check for Xaw header files
2180
2181 check for Xaw header files when --without-Xaw3d was given. Before the test was
2182 only done when Xaw3d was specified, but could not be found.
2183
2184 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
2185
2186 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2187 Fix ICS channel 0
2188
2189 Channel 0 messages were not displayed in the console, because the test
2190 for channel number considered every non-numeric or non-existent handle
2191 in a chatbox to be zero. So the messages were diverted to a non-exsting
2192 chatbox. Now it test first for the handle to start with a digit.
2193
2194 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2195 Make language choice from menu persistent
2196
2197 Set appData.language to the chosen language file, or empty if English is
2198 chosen, so that the choice is saved with the settings. Increase the
2199 number of possible language choices from 5 to 20. (After all, we already
2200 have 7 now!)
2201
2202 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2203 Fix showing of user move after adjudication
2204
2205 The correction of the fishy patch (removing ShowMove() from Adjudicate())
2206 had broken the adjudication of user moves (that actually did work before
2207 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
2208 the correct values for the move to be shown). An entered move that led
2209 to adjudication (like a checkmate) now was not displayed at all. Adding
2210 an extra ShowMove() after (successful) return of Adudicate() solves it.
2211
2212 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2213 Fix Xiangqi King facing
2214
2215 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
2216 was cleared after the King-facing test, rather than before it.
2217
2218 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2219 Fix variant janus size prefix
2220
2221 The default board size of Janus Chess was not consistently taken to be
2222 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
2223
2224 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2225 Fix Alfil bug
2226
2227 The test for Alfil (suppressing single steps on the Elephant) contained
2228 a wrong logical operator, so that it could never be active. It also
2229 failed to include Xiangqi as variant with traditional Alfil. This led to
2230 one-step moves of the Elephant in these variants, and false check or
2231 unreliable mate detections.
2232
2233 Fix move of Xiangqi Elephant
2234
2235 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
2236 fixed configure script to correctly detect Xaw3d library
2237
2238
2239 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2240 Fix unmarked translation
2241
2242 The file-browser wndowtitle in WB was not marked for translation.
2243
2244 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2245 Put warning in HTML help
2246
2247 A warning is added that the help file is not yet updated for the new
2248 menu organzation.
2249
2250 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2251 Fix 64-bit Windows compilability
2252
2253 The API interface for Set/GetWindowLong has been changed for 64-bit
2254 Windows, both in the name of the call as in the arguments.
2255
2256 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2257 Fix MSVC compilability
2258
2259 Both the makefile and the project file had to be adapted for the new
2260 source file history.c, and the new location of parser.c.
2261
2262 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
2263 added missing #includes and missing prototypes to filebrowser
2264
2265 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
2266
2267 Also cleaned up missing prototypes and some casts.
2268
2269 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
2270 added missing header file for sprintf
2271
2272
2273 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
2274 added history.c to the tar-ball. Needed for Winboard
2275
2276
2277 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2278 Fix deselection of greyed-out variant button (WB)
2279
2280 In Windows a disabled radiobutton refuses to deselect when you select
2281 another (enabled) button from the group. There are then 2 buttons
2282 checked, and the code to readout the buttons took the first one. Now it
2283 is changed to take the first enabled one.
2284
2285 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
2286 Revert "Implement -reset option feature in WinBoard"
2287
2288 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
2289
2290 picked the wrong commit from HGM's git tree.
2291
2292 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
2293 add DIFFSTAT and SHORTLOG to tar-ball
2294
2295 was only in the v4.4.x branch and not in master
2296
2297 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
2298 release of version 4.5.0
2299
2300 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
2301 changed size of borders around squares from 0 to 1 as a default
2302
2303 this way highlights show up again.
2304
2305 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2306 Implement -reset option feature in WinBoard
2307
2308 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
2309 updated Changelog, NEWS, etc.
2310
2311 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
2312 updated parser.c form parser.l
2313
2314 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2315 Clean up fishy patch
2316
2317 None of the ShowMove() calls in Adjudicate() was working, because when
2318 this code was taken out of HandleMachineMove() it was taken outside the
2319 scope of the local fromX, fromY etc. there, so that it started using the
2320 global variables from the mouse driver. As these usually contain -1,
2321 this suppressed move animation and highlighting. All these calls have
2322 now been removed, and ShowMove() is called after a positive return (from
2323 HandleMachineMove(), so within the correct scope).
2324 This improves the previous fix, which led to some flicker, because the
2325 erroneous ShowMove() calls did draw the new board (instantly), wich in
2326 the fishy patch was then immediately overwritten by the old position, to
2327 start animation. This drawing of the old position is now no longer
2328 needed either.
2329
2330 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2331 Update RTF file
2332
2333 The RTF file is adapted to the new menu organization.
2334
2335 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2336 Update texi file
2337
2338 The highlight-with-arrow and one-click-move menu items are described.
2339 The highlightMoveWithArrow and variations option are described.
2340 Load Next /Previous Position descriptions are moved to File menu.
2341 The description for entering variations is updated (using Shift key).
2342 The remark that editing holdings is impossible is removed.
2343 Spartan Chess is added to the list of supported variants.
2344
2345 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
2346 Updated copyright notice to 2011
2347
2348
2349 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2350 Greyout unavailable variants in New Variant dialog
2351
2352 The WB radio-button code is refactored to be driven from a list (which
2353 must be kept in phase with the variant definitions in common.h!). It now
2354 also checks if the first engine supports the variant, and greys out the
2355 item if it isn't. XB now also makes this check. Slight re-ordering of
2356 10x8 variants there, to have the more common on top.
2357 If no radio button is selected, keep old variant even on OK.
2358
2359 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2360 Move clock-click code to back-end
2361
2362 Some duplicated (or should-be-duplicated) code for handling clicks on
2363 the clocks from the XBoard and WinBoard front-ends was merged and
2364 relocated to the back-end, so it can be shared. Noticeable was that
2365 XBoard allowed turn change in ICS examine mode by clock clicking,
2366 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
2367
2368 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2369 Fix legality testing of drop moves
2370
2371 Drops of noexistent pieces (i.e. with a piece indicator letter that is
2372 not corresponding to any defined piece) are now parsed as
2373 ImpossibleMove, rather than IllegalMove, so they are also rejected with
2374 legality testing off.
2375
2376 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2377 Fix WB Sound Options greyout and remove some grossness
2378
2379 The sound and ICS Options menu items in WB were accessed 'by position',
2380 with fixed defined positions (always messing up any reorganization of
2381 the menus when you forgot to redefine the position constants in
2382 winboard.h). And not only that, but for completely mysterious reasons,
2383 the greying of the sound item greyed out the game-list options (above
2384 it) in stead when it was defined as 9, and the ICS options (below it)
2385 when it was 10 !!!. Now they are addressed 'by command' (and the
2386 position definitions are removed), which fixes things.
2387
2388 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2389 Re-instate load next/prev position menu items
2390
2391 As positions do not use something similar to the game list, these are
2392 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
2393 so I settled for Shift+PgUp/Dn.
2394
2395 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2396 Remove superfluous copying of machine move
2397
2398 There was explicit code in HandleMachineMove() and FinishMove() to put
2399 the move in the moveList, while MakeMove() already does this later in a
2400 more reliable way by calling CoordsToComputerAlgebraic(). This
2401 superfluous code is removed now.
2402
2403 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2404 Fix spurious mate test in Edit Game mode
2405
2406 When entering a game, it was terminated by the mate test even when
2407 legality checking was switched off (so that mates might not be reliably
2408 recognized). The mate test is now made dependent on legality testing.
2409
2410 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2411 Fix type-in of drop moves
2412
2413 Drop moves entered through the move type-in already come in the (piece,
2414 DROP_RANK, x, y) format, rather than having a holdings from square. This
2415 caused UserMoveEvent to consider them illegal when testing if the
2416 piecewas of the side to move, and when this was fixed, to recognize
2417 Knight drops as coming from between board and holdings (and thus
2418 illegal).
2419
2420 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2421 Fix move type-in truncating game
2422
2423 Starting a new variation by keeping Shift pressed did not work when
2424 OK'ing the move type-in, because there was some code ther that truncated
2425 the game. While this could be safely left to UserMoveEvent, which it
2426 calls, as the situation is not different from entering moves through the
2427 mouse.
2428
2429 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2430 Fix legality testing for promotions
2431
2432 Turns out WB has never tested for the legality of the chosen promotion
2433 piece, and would allow promotion to King innorml chess even with
2434 legality testing on (when entered through the keyboard)! Now strict
2435 testing is done, outlawing Pawns and Kings (or Unicorns in
2436 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
2437 spartan a black King if you do not have two yet.(And promotion
2438 toLnce,representing Hoplite Pawn,is forbidden there.)
2439
2440 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2441 Reset 50-move counter on all pawn-like Lance moves
2442
2443 Now the Lance represents a Pawn-like piece not only in variant fairy,
2444 but anywhere outside Shogi / Superchess, its moves should also reset the
2445 50-move counter in those cases. Especially important for Spartan Chess,
2446 where the Lance actually participates.
2447
2448 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2449 Fix logo repainting
2450
2451 The logos were not repainted when the main window was moved out of the
2452 display area, and then back into view. The reason for this is
2453 unknown, as the PaintProc calls HDCDrawPosition, which was calling
2454 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
2455 sometimes half drawn!) despite the fact that the rest of the board was.
2456 The drawing of logos now has been decoupled from drawing the board,
2457 and has been moved to a separate routine DisplayLogos() (in analogy to
2458 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
2459 not change when the board does. So apart from in PaintProc, it has only
2460 to be called when the mode changes (ModeHighlight()) or on swap clocks.
2461 This seems to fix the problem.
2462
2463 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2464 Fix time in PGN info
2465
2466 Saving of the thinking time in the PGN was broken by the patch that
2467 removed the race condition in the clock switching, because that moved
2468 the incrementing of forwardMostMove to behind the code that used fmm to
2469 index pvInfoList. As a result the time was stored in the slot for the
2470 opponent's previous move. The value is corrected now.
2471
2472 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2473 Fishy fix
2474
2475 The move that delivers checkmate in two-machines mode is not animated
2476 when adjudication is on. There then also is no highlighting of this move
2477 Redrawing the board and calling ShowMove fixes it. Which is rather
2478 strange, because ShowMove was already called in Adjudicate (when it
2479 adjudicates), before GameEnds. For reasons that are not understood this
2480 call to ShowMove() (which calls AnimateMove()) is not effective.
2481
2482 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2483 Reset machine colors after match
2484
2485 The colors each engine playse are set to the originals after the last
2486 match game, so that a new match or two-machines game will not have
2487 swapped colors.
2488
2489 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2490 Reset win/loss counters before match
2491
2492 The win/loss counters were not reset, because the code counted on them
2493 being initialized to zero. But with matches startable from the menu,
2494 this is no longer true after the first match.
2495
2496 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2497 Show move that causes false illegal-move claim
2498
2499 Without claim testing XBoard takes back moves that an engine objects to.
2500 But when the engine is forfeited for a false claim, the move should of
2501 course stay. So the claim test is moved to before the take-back.
2502
2503 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2504 Fix Spartan promotion to King
2505
2506 Promotions toKing were refused when in check, because XBoard thought
2507 they would not resolve the check. Now the promotion is actually
2508 performed before doing the check test.
2509
2510 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2511 Fix WB font-based piece rendering on variant switch
2512
2513 The piece bitmaps were only created from the font characters when the
2514 number of ranks or files changed, because it was done in
2515 InitDrawingSizes(). This caused missing pieces when changing to a
2516 variant on the same board that used other pieces. Now InitDrawingSizes()
2517 is called for any variant switch.
2518
2519 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2520 Fix right-alignment pproblem in WB ICS window
2521
2522 Use of Ctrl-R to summon the context menu still trickled through to the
2523 default text-edit window routine, and caused right-alignment. This was
2524 because the text-edit reacts on keyDown rather than the character event.
2525 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
2526
2527 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2528 Fix chat window title
2529
2530 The title was using the engine name, rather than the ICS handle, which
2531 did not work outside zippy mode. Now it only uses the engine name when
2532 no ICS handle is known. The titleis now also subjected to translation.
2533
2534 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2535 Fix spurious reading of old game title by JAWS
2536
2537 Because focus was switched to the board window before loading the
2538 selected game from the game list, the titlebar still contained the
2539 name of the previously loaded game, which would spontaneously be read by
2540 JAWS. Now the focus switch is done after loading the new game (which
2541 updates the window title.)
2542
2543 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2544 Add variant Spartan Chess
2545
2546 In the WB menu it takes the place of the defunct Twilight Chess item.
2547 The setup routine needed patching for setting up Lances in stead of
2548 Pawns for black, the check test had to be adapted to handle duple check,
2549 Alfil and Dragon moves were fine tuned in this variant to make the exact
2550 moves, and the promotion popup was adapted to show King and interpret
2551 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
2552 moves as Modern Elephant except in Shatranj and Courier.
2553
2554 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2555 Fix mate test
2556
2557 Due to a bug in logical operators drops were tried for mate evasions
2558 even in non-drop games, which broke it in Superchess and Great Shatranj,
2559 and wasted CPU time in other variants.
2560
2561 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2562 Fix promotion suffixon disambiguated piece moves
2563
2564 The promotion suffixon piecemoves that needed disambiguation was not
2565 passedon to the back-end in most variants. Now it is passed on in any
2566 variant.
2567
2568 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2569 Fix promotion of Pawn-like Lance
2570
2571 In variants where the Lance is used to represent an unorthodox Pawn, it
2572 must promote when it reaches last rank. With legality testing on,
2573 however, the promoChar was ignored in ApplyMove in this case. The
2574 promotion suffix also was not appended in SAN moves.
2575
2576 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2577 Fix WB promotion popup
2578
2579 The promotion popup did not work properly in variants where black did
2580 not use the pieces that white wanted to promote to. Now the character
2581 for the selected piece is taken from the piece encodings of the side to
2582 move. In addition, selection of undefined pieces is ignored.
2583
2584 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2585 Fix bug in parsing variations
2586
2587 The moves parsed from a variation were stored in the moveList without
2588 appended linefeed. This caused errors if the variation extended to
2589 beyond the end of the main line,into a hitherto unused part of the move
2590 list, as the linefeed was then not there from the overwritten move. As a
2591 result moves sent to the engine were concatenated, triggering
2592 illegal-move messages and bringing the engine out of phase.
2593
2594 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2595 Define Ctrl-R as right-click in WB Comment dialog
2596
2597 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
2598 equated to a right click at the position of the caret or selection.
2599
2600 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2601 Allow starting a variation from keyboard entry in WB-JAWS
2602
2603 The status of the shift key is remembered when space is pressed to
2604 select a board square.
2605
2606 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2607 Disable some accelerators in JAWS version
2608
2609 Single-key accelerators that could result in irreversible data loss are
2610 undesirable, because the risk of accidentally pushing them is too large.
2611 So the non-Alt duplicates of next/previous game/position are disabled,
2612 as are Home and End for Revert and Truncate Game. JAWS users will have
2613 to rely on the menus for those functions.
2614
2615 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2616 Group engine-output memos with engine names
2617
2618 The engine names are now defined just before the text edits, so that
2619 JAWS 11 will read the engine name when the memo for the output of that
2620 engine is selected. (JAWS 10 will still read the NPS, as it reads in
2621 geometrical order.)
2622
2623 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2624 Put nr CPU earlier in tab cycle of WB Common Engine dialog
2625
2626 By defining the max CPU control after hash size, the tabbing steps
2627 through the controls in geometrical (and logical) order, rather than
2628 having the max CPU in between the book controls.
2629
2630 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2631 Update WB language template file
2632
2633
2634 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2635 Subject JAWS menu and spoken strings to translation
2636
2637
2638 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2639 Let JAWS SayString buffer full sentence
2640
2641 The meaning of the flag parameter of SayString was changed to indicate
2642 buffering of flushing. On flushing a message of a single space is used
2643 as a kludge to indicate interruptability. Calls to force flushing where
2644 added everywhere.
2645
2646 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2647 Adapt JAWS menu to new menu organization
2648
2649 The menus did not correspondto the texts after translation of the main
2650 menu bar.
2651
2652 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2653 Translate menus after creation of JAWS menu
2654
2655
2656 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2657 Fix ICS context menu for JAWS
2658
2659 The Ctrl+R key did select text at the mouse pointer in stead of at the
2660 curser, now that up and down-click were combined.
2661
2662 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2663 Reorganize order of WB New Variant dialog controls
2664
2665 The definitions are re-ordered so that at least JAWS 11 will speak the
2666 board-size elements properly.
2667
2668 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2669 Fix order of elements in WB time-control dialog
2670
2671 Someleading texts were defined after the text edit they referred to,so
2672 that JAWS 11 associated them to the wrong one. A tab stop was added to
2673 the time-odds label, to make JAWS speak it.
2674
2675 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2676 Change tabbing order in WB sounds dialog
2677
2678 The 'Play' button now gets focus immediately after the controls for
2679 selecting the sound, rather than at the end of the dialog (after OK).
2680
2681 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2682 Remove tab stops on first radio button of WB dialogs
2683
2684 The New Variant and Board dialogs had a tab stop on the first radio
2685 button,so that tabbing toit would automatically select variant
2686 normal or size tiny. Now it tabs straight to the current size, without
2687 changing anything. (Important for JAWS users.)
2688
2689 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2690 Put OK/Cancel last in tab cycle of some WB dialogs
2691
2692
2693 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2694 Fix duplicate menu character for Edit Comment
2695
2696 Edit Comment did have the same shortcut character as Copy Game. Changed
2697 to m now.
2698
2699 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
2700 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
2701
2702
2703 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
2704 new developer release
2705
2706
2707 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2708 Subject WB context menus to translation
2709
2710 The innerloopof the menu translation has been made into a separate
2711 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
2712 better preserve menu breaks. Menu #10 is used for context menus (from
2713 the routine that pops them up), and for this number the orignal texts
2714 are not saved in menuText. (This is not needed, because the menu is
2715 created everytime anew from the resource data.)
2716
2717 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2718 Update translation template
2719
2720 Add the new menu items; add some notes.
2721
2722 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2723 Resize buttons in WB engine-settings dialog
2724
2725 The OK and cancel buttons were to narrow for most translations, and were
2726 a non-standard order as well.
2727
2728 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2729 Add one-click move control to WB general-options dialog
2730
2731 This is a duplicate of the one in the ICS options dialog, but the latter
2732 is inaccessible in non-ICS modes, and one-click move is now
2733 alsoavailable in engine mode.
2734
2735 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2736 Create space in dialogs for translation
2737
2738 The translated texts often did not fit, because controls were defined
2739 needlessly small (when there was empty space between them). In these
2740 cases they have been enlarged to consume all available space. Some
2741 dialogs are made wider.
2742
2743 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2744 Add handle for translator acknowledgement
2745
2746 An empty string is printed in the about box, which can be 'translated'
2747 to a message acknowledging the translator.
2748
2749 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2750 Use default logo for user
2751
2752 When no logo with the name of the current user is found, use dummy.bmp.
2753
2754 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
2755 added rlwrap tip to FAQ
2756
2757
2758 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
2759 replace hard coded paths with path from configure script
2760
2761 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
2762
2763 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
2764 fixed a typo in the configure script output
2765
2766
2767 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
2768 added a desktop file
2769
2770 taken from the openSUSE project
2771
2772 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2773 Fix Edit Game/Position checkmarking in WinBoard
2774
2775 Because the entries in Edit and Mode menu were pure duplicats, the
2776 entries in the wrong menu (Edit) were checkmarked while active. By
2777 defining different IDs for those in the Edit menu, those in the Mode
2778 menu are checkmarked again.
2779
2780 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2781 Add XBoard menu items for arrow highlight and one-click move
2782
2783 These items are put in the options menu; the 'Old Save Style' item is
2784 removed.
2785
2786 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2787 Provide menus for editing WinBoard engine and server lists
2788
2789 The Edit Tags dialog in the WB front-end is adapted to act as a general
2790 edit for string variables, by giving it an extra parameter to indicate
2791 where to store the edited result. Menu items are added to invoke this
2792 dialog for editing the /first, /secondChessProgramNames and /icsNames
2793 options. This solves the problem that people would have to edit an ini
2794 file that they can no longer locate (because the %APPDATA% folder has
2795 different names and locations in the various Windows versions, and is
2796 often a hidden folder on top of that).
2797 There is a slight memory leak here, as the memory for the previous
2798 value of the altered string option is not freed.
2799
2800 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2801 Configure arrow highlighting as default in XBoard
2802
2803 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
2804 lineGap of 0 to make that efficient (and the wood theme even nicer).
2805
2806 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2807 Port highlighting with arrow to XBoard
2808
2809 Unfortuntely this duplicates a fair amount of code in the front end.
2810 Removing the arrow is done by a total repaint if there is a non-zero
2811 lineGap, because the clever algorithm for selective redrawing (based
2812 on damage) that XBoard uses does not repair damage to the grid lines.
2813 For lineGap=0, however, (for which the arrow is mainly intended) the
2814 damage mechanism is used, and the damaged squares are determined by
2815 tracing out the arrow in 64 steps, and marking all squares in the
2816 neighborhood as damaged.
2817
2818 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2819 Strip CR from xboard.c
2820
2821
2822 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2823 Let user decide if he wants highlights in blindfold mode
2824
2825 Remove the automaticsuppression ofhighlighting.
2826
2827 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2828 Fix fag-fell marker with logos on
2829
2830 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
2831 two-machines mode was printed twice when the clock was split over two
2832 lines (as with logos on).
2833
2834 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2835 Also exempt variant seirawan from eval-scale doubling
2836
2837 It is not really a drop game, so a scale from -7 to 7 in the eval graph
2838 is good enough (like variants great and super).
2839
2840 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2841 Configure EGTB cache size in adapterCommand
2842
2843 The hash size, nr of CPUs and EGTB path are transferred through the WB
2844 protocol interface commands memory, cores and egtpath. But there is no
2845 WB command for detailing the EGTB cache size. So the value of the
2846 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
2847 through its startup command to make it known to UCI engines.
2848
2849 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2850 Move Hint and Book items to Engine menu in XBoard
2851
2852
2853 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2854 Correct the key bindings fo view menu in texi file
2855
2856 The mentioned bindings for Game List and Eval Graph were wrong.
2857
2858 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2859 Fix sub-variation display with negative score
2860
2861 The test if the displayed score was the pvInfo score failed for negative
2862 scores, because floats are truncated towards zero. So the previous fix
2863 of spurious score/depth info was not working when the score was
2864 negative.
2865
2866 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2867 Peel PV out of comment
2868
2869 Arena stores engine PVs not in variation format, but within both braces
2870 and parentheses, before the score/depth info. This caused XBoard to
2871 overlook the score/depth info, (frustrating, e.g., the eval graph),
2872 while the PV would not be accessible for walking it as a variation.
2873 The routine that extracts the score/depth from a comment now has
2874 been made more clever, to recognize a leadin PV in the comment, and then
2875 place it in front of the comment as variation (by moving the opening
2876 brace to behind it). For some reason it does not work if the PV and
2877 score/depth were separated by a newline, but this happens quite rarely.
2878
2879 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2880 Allow line-straddling result comments
2881
2882 Some GUIs (in particular Arena) do not have the decency to keep the
2883 result comment on a single line. In this case the parser rules would not
2884 recognize it, and treat it as a normal comment, plus an undetailed PGN
2885 result. The rules are now fixed to allow linefeeds in the comment, and
2886 between comment and PGN result. To correctly process the comment further
2887 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
2888 back-end routines that do use the result comment.
2889
2890 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2891 Write key bindings in XBoard menus
2892
2893 Unfortunately tabs are not understood in menu texts, so fine-tuning
2894 through spaces is necessary to get some sort of ragged alignment.
2895
2896 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2897 Configure XBoard to use wood board texture by default
2898
2899 The texture pixmaps are sought in /usr/share/games/xboard, with names
2900 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
2901 to put them there. XBoard is resitent to non-existence of the files,
2902 btw. It simply ignores the arguments in that case.
2903
2904 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2905 Configure -inc as volatile option in XBoard
2906
2907 XBoard users are not used to options being persistent, and thus have
2908 many scripts assuming the timeIncrement is -1 when they don't specify it
2909 on the command line, and want to specify -mps. But a persistent -inc of
2910 0 fom a preious session would then force their -mps to zero, causing
2911 big-time confusion.
2912
2913 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2914 Make WinBoard clocks translation-proof
2915
2916 With logos on, the splitting of the clock over two lines assumed the
2917 lengths of the words "white" and "black" would always be 5. Used strlen.
2918
2919 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2920 Improve drawing of highlight arrow
2921
2922 A diagonal arrow sometimes had a notch in the shaft because of
2923 independent rounding of the starting and ending point coordinates.
2924 Furthermore the width of the shaft was unnecessary variable(as a
2925 function of direction) because half the width was rounded and then used
2926 twice. Now rounding of end-points is always done towards a fixed grid
2927 of square centers, which keeps diagonals purely diagonal, and one side
2928 of the shaft is drawn relative to the other side, after the
2929 position of the latter has been rounded, so any rounding error affects
2930 the shaft width only once.
2931
2932 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2933 Alter descriptionof Analyze File menu item
2934
2935 This menu item has been given a new function, so a new description was
2936 needed.
2937
2938 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2939 Add description of Game List Options in texi file
2940
2941
2942 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2943 Update texi file for new menu organization
2944
2945 The descriptions are shuffled around and organized into sections
2946 corresponding to the new main menus. Where necessary the name of the
2947 items was changed to their new names. The items removed from the File
2948 menu (the next/previous/same stuff) are nowmoved to the section "other
2949 shortcut keys", as the key bindings for some of them are still active.
2950
2951 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2952 Update info on key bindings in texi file
2953
2954 The texi file was still listing the old XBoard key bindings. Where
2955 necessary this is now changed to the new (WinBoard) bindings, and all
2956 the new bindings were added.
2957
2958 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2959 Add XBoard key bindings for Revert and Truncate
2960
2961 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
2962
2963 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2964 Divorce the Edit and Show Tags/Comment menu items
2965
2966 In WinBoard the items in the Edit and View menu for Tags and Comment now
2967 have different IDs, so they can be independently controlled. Only the
2968 items in the View menu are check-marked. The items still do the same.
2969
2970 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2971 Alter WinBoard menu text
2972
2973 The texts are slightly adapted, mostly by choosing more convenient
2974 tabbing characters for the new menu organization. The translation
2975 template is updated accordingly.
2976
2977 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2978 Let move-history window scroll to bottom after adding move
2979
2980 By activating the scrollbar of the viewport through XtCallActionProc
2981 the move-history window is scrolled to the bottom.
2982
2983 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2984 Fix Shogi promotion popup
2985
2986 The texts were adapted to shogi by printing new text items over the
2987 Queen and Knight buttons, but these did not alwys cover it. Now the text
2988 on the buttons is changed as it should be. Also the window title is
2989 adapted.
2990
2991 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2992 Apply gettext macros to menu texts
2993
2994 Now texts and references are separated, the texts in the tables can be
2995 decorated with the N_() macro, so that the _() macro no longer has to be
2996 applied when they are used. (This makes the texts appear in the .po
2997 files.)
2998
2999 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3000 Adapt some XBoard menu texts
3001
3002 The "Show" prefix is removed from the "View" menu items, as this seems
3003 implied. An ellipsis is added to the Engine #N Settings items, which
3004 could not be there before, because periods in a menu name would break
3005 any reference to it. For some other names the ellipsis was deleted.
3006 (These were not refered to, but who knows what we will do in the future.)
3007
3008 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3009 Separate menu text from menu name in XBoard
3010
3011 The text string in the menu-definition tables was used both for the menu
3012 text, as well as for referencing the items from the code (for enabing or
3013 checkmarking). Now these can be defined separately, so that altering the
3014 menu texts is possible without breaing any references to the item.
3015 (Moving them to another menu would still break XBoard, though!)
3016 Currently the texts and names are still the same.
3017
3018 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3019 Bugfix XBoard menu translation
3020
3021 The gettext macro N_() was applied to the menu definition tables, but
3022 this would break any translation, as these items are both used as menu
3023 texts as well as reference for enabling and checkmarking. The routines
3024 that create the menus already apply _() dynamically to these items when
3025 they are used as menu texts.
3026
3027 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3028 Restrict drops in variant seirawan to back rank
3029
3030 Drops aren't really llowed at all in Seirawan Ches, but there exists an
3031 engine that supports a variant where drops on the back-rank are allowed.
3032
3033 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3034 Let Analyze File annotate the loaded game
3035
3036 By not suppressing the auto-play loop in AnalyzeFle mode, we step
3037 through the game while the engine is analyzing, and store the PV info
3038 that the engine produces, as well as the full PV (as variation comment)
3039 with each move.
3040
3041 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3042 Revive Analyze File menu item in WB
3043
3044 We will keep this menu after all, becase it can be given a new meaning.
3045
3046 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3047 Fix spurious scores in comments
3048
3049 The comment popup is also used to display engine PV info, but when the
3050 contents of the window is written back when we select a variation,
3051 it was treated as a real comment. This is fixed now by checing in
3052 ReplaceComment() if the comment starts with the PV info, and if so,
3053 ignore the latter. This solves the problem, but I guess the real bug is
3054 that selecting a variation tries to write the comment even if it did not
3055 change.
3056
3057 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3058 Display error for wrong use of Machine Match
3059
3060
3061 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3062 Reorganize XBoard menus
3063
3064
3065 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3066 Reorganize WinBoard menus
3067
3068 New main menus Edit, View and Engine are added; the step menu
3069 disappears. The menu items are redistributed over the new menus.
3070 Sometimes duplicates are created. No adaptation of short-cut characters
3071 as made yet (as this affects translation).
3072
3073 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
3074 removed trailing whitespaces from NEWS
3075
3076
3077 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
3078 merged readme_HGM.txt into the NEWS file
3079
3080 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.
3081
3082 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
3083 typo in date of developer release
3084
3085 but will leave the tagged version as it is, since it's still a unique version number
3086
3087 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
3088 new developer release
3089
3090
3091 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
3092 added latest version of parser.c
3093
3094
3095 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
3096 updated Changelog, etc for developer release
3097
3098
3099 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
3100 Revert "adding gnu-readline support"
3101
3102 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
3103
3104 Conflicts:
3105         backend.c
3106
3107 better to use the (relatively) new ICS input box then add readline support.
3108
3109 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
3110 Revert "bugfix: fixed readline support with icslogon option"
3111
3112 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
3113
3114 Conflicts:
3115         backend.c
3116
3117 better to use the (relatively) new ICS input box then add readline support.
3118
3119 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3120 Make Hoplite moves irreversible in Spartan Chess
3121
3122 Consider Lance moves in variant Fairy (where the Lance represents the
3123 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
3124
3125 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3126 Give Lance moves of Amazon in variant super
3127
3128 Now that Lance is no longer a wild-card piece the moves of Amazon must
3129 be programmed explicitly, to keep the possibbilty to play Superchess
3130 with legality testing on.
3131
3132 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3133 Change representation of Bede in variant fairy initial position
3134
3135 This used to be Lance, but the promoted Bishop (Dragon Horse)
3136 is more applicable. Especially now that Lance is supposed to move like a
3137 Berolina Pawn.
3138
3139 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3140 Make yyskipmoves also suppress examining of drop moves
3141
3142 Not sure if this does any good, but it seemed illogical that this would
3143 happen in all other moves, but not drops.
3144
3145 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3146 Define moves for Dragon Horse outside Shogi
3147
3148 Let it move like Bishop + Wazir + Dababba.
3149
3150 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3151 Fix safety crash when appending comments
3152
3153 The length limit imposed on safeStrCpy was one too short when copying
3154 an existing comment to the space allocated for the longer (concatenated)
3155 one. It allowed no space for the terminating '\0'.
3156
3157 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3158 Fix safeStrCpy
3159
3160 The test for when to terminate a non-fiting string was one off, and the
3161 debug message was written stdoutin stead of debugFP.
3162
3163 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3164 Fix default holdings size for variant seirawan
3165
3166 The holdings for 7 pieces werealways considered an overrule, so that the
3167 variant name was prefixed with "8x8+7_".
3168
3169 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3170 Fix home-dir crash
3171
3172 When confronted with a path name starting with ~ and not containing a /
3173 XBoard would segfault.
3174
3175 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3176 Fix one-click moving on up-click
3177
3178 (First) up-clicks were not always ignored: in Edit-Game mode with
3179 one-click moving enabled this could lead to a capture being made on
3180 the down-click, and the recapture on the correspoding up-click.
3181 This has now been corrected, and only the down-click of a first click
3182 can lead to selecting a piece or a one-click move.
3183
3184 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
3185 fixed buffer size for snprintf
3186
3187
3188 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3189 Accept Seirawan-style gating suffixes
3190
3191 The parser rules were extended to accept / as an equivalent of = in
3192 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
3193
3194 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3195 Use Falcon and Alfil as built-ins for Seirawan chess
3196
3197 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
3198 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
3199
3200 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3201 Implement entering gating moves with mouse
3202
3203 A move with a back-rank piece that starts when a piece in the holdings
3204 is selected will be interpreted as a gating move in variant seirawan.
3205 The front-end uses a 'gatingPiece' selected this way todisplay it on the
3206 from square during animate dragging.
3207
3208 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3209 Implement variant seirawan
3210
3211 Set upthe position, including Hawk and Elephant in holdings, in
3212 InitPostion(). Suppress putting captured pieces in holding. Let
3213 promoChar indicate gating in ApplyMove(). Remove gated pieces from
3214 the holdings there. Let GenLegal() generate RxK-type castlings to act as
3215 base for gating on Rook square. Gatings are tested for legality
3216 based on the holdings content and whether they occur on the back
3217 rank. Disambiguate() also tests this. Make sure the gated pieces are
3218 printed as move suffixes in CoordsToAlgebraic().
3219
3220 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3221 Add -variant seirawan to menu
3222
3223
3224 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3225 Fix acceptance of null-move with legality testing off
3226
3227 A second click on the same piece was interpreted as a to-square rather
3228 than deselection of the piece.
3229
3230 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3231 Fix one-click bug
3232
3233 Disambiguate was imagining captures, so an only capture by double
3234 clicking your own piece did not always work.
3235
3236 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3237 Fix mouse-driver buglet
3238
3239 The highlights were not cleared on moves that went vertically off board.
3240
3241 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3242 List some undocumented commands as compliant
3243
3244 The engine->GUI commands setboard and setup are now always printed in
3245 the debug file as well.
3246
3247 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3248 List Hint with compliant commands
3249
3250 This command was omitted, so that in some -engineDebugOutput modes it
3251 would not appear in the debug file.
3252
3253 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3254 Restrict use of escape expansion
3255
3256 Only expand escape sequences like \n and \t in telluser(error) comamnds
3257 that ask for it by preficing the messages by double backslash. Otherwise
3258 backward copatiblity is too severely broken for messages that display
3259 DOS-style filenames.
3260
3261 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3262 Make safeStrCpy safe
3263
3264 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
3265 always writing the character at the length limit of the destination.
3266 Now no memory is accessed that is is not needed to hold the copy.
3267
3268 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3269 Allow clicked name internal to the icsMenu command string
3270
3271 A command in the /icsMenu that was specified to contain the selected
3272 text or clicked word always appended this word at the end. Now the user
3273 can also configure it to appear in the middle, by putting a %s in the
3274 command string where he wants it to appear.
3275
3276 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3277 Let Engine #2 Settings start second engine
3278
3279 If the second engine is not yet running, it would be impossible to use
3280 the settings dialog for it, as the features have not been received and
3281 the dialog will be empty. So the user could not adjust the engine
3282 parameters before starting a match. Using this menu now automatically
3283 starts the engine, and delays the appearence of the popup untill the
3284 features are received, using a similar mechanism as in
3285 TwoMachinesEventIfReady().
3286
3287 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3288 Newly lexed parser.c
3289
3290
3291 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3292 Fix bug in parsing illegal Pawn captures
3293
3294 When a pawn move of type exf5 was illegal, the parser made an attempt to
3295 interpret it as e.p. capture of f5. This, however, messed up the move,
3296 so that it was now permanently mistaken for e5xf6. Even in cases with
3297 legality testing off, where you would want the original move to be
3298 accepted despite the fact that it was illegal.
3299
3300 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3301 Keep last PV while clearing engine-output display
3302
3303 When ponder is on, the display is cleared immediately when the last line
3304 of thinking output appears by the appearing ponder output. So you would
3305 never get the chance to see it. This line is now re-written after
3306 clearing, so it appears at the bottom of the output for the next search.
3307
3308 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3309 Give Lance moves of Berolina Pawn
3310
3311 In stead of using it as a wildcard piece, the Lance gets the moves of
3312 the Berolina Pawn (straight capture, diagonal move). The initial double
3313 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
3314 Chess.)
3315
3316 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3317 Use SAN even on illegal moves
3318
3319 If there is only one piece of type T, moves like Ta1 or Txa1 are never
3320 ambiguous, so adding the from square is just cumbersome.
3321
3322 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3323 Use normal SAN for wildcard pieces
3324
3325 SAN often can also be used with pieces we don't know the moves of, e.g.
3326 if there is only one of that type. We just always get rank or file
3327 disambiguators if there are more (even when they might be unnecessary).
3328
3329 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3330 Fix some warnings
3331
3332 Unused variables were removed from parser.l
3333
3334 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3335 Allow arbitrary nesting of sub-variations in PGN input
3336
3337 The parsing of subvariations is moved out of the state-machine parsing,
3338 to allow arbitrary nesting. In stead of the entire sub-variation being
3339 parsed by lex as Comment, it now returns Open and Close for the
3340 corresponding parentheses, which are then handled in a wrapper routine
3341 for yylex(): Myylex(). Problem was that yy_text is supposed to return
3342 the entire parsed text of the returned symbol, which thus has to be
3343 collected. To make this possible, yylex has to return everything that it
3344 parses, (even white space!), and a symbol "Nothing" was added to return
3345 in parsing rules that before just ate away irrelevant text without
3346 returning anything.
3347
3348 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3349 Implement setup (engine-GUI) command
3350
3351 This allows the frst engine (when legality testing is off) to overrule
3352 the default opening position, in reply to the variant command. Syntax is
3353 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
3354 where the FEN string is interpreted in the context of the given
3355 pieceToCharTable (which is optional, and only delimeted by parethesis if
3356 it is present).
3357 Sendng the position to the second engine is delayed until the first
3358 engine has responded to the ping after the new-game sequence, to make
3359 sure it gets the chance to alter the position before it is sent to the
3360 second engine. This feature is useful for playing variants that WinBoard
3361 does not even know the opening positon for, and can be used even if they
3362 are shuffle variants.
3363
3364 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3365 Restrict use of a2a3 kludge
3366
3367 The kudge to send "a2a3" in stead of "black" to get black to move is
3368 fatally flawed in varants that have no Pawn on a2. So in that case we
3369 revert to use of the deprecated "black" command.
3370
3371 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3372 Remember values set by -firstOptions, -secondOptions
3373
3374 When an engine announces its option features, and the option name
3375 matches that of a setting given in -first/secondOptions, the engine is
3376 sent hte specified value, but this value was not remembered as current
3377 value (but the latter  was left at the engine-announced default),
3378 leading to inconsistent behavior in the Engine #N Settings dialog.
3379
3380 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3381 Make test for valid promotion piece color-dependent
3382
3383 This is needed to make it work in variants where white and black have
3384 different armies; quite likely white will promote to pieces that do not
3385 exist in the black army, so we really have to make sure we test if the
3386 white (upper-case) piece exists in this case.
3387
3388 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3389 Remove validity test on promochar from parser
3390
3391 The backend routines Disambiguate() and LegalityTest() will catch
3392 invalid promotions, so no need to do it here.
3393
3394 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3395 Add the actual size-33 Shogi bitmaps
3396
3397 These were forgotten in the original commit that fixed the .rc file.
3398
3399 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3400 Delete some stale promotion code
3401
3402 The correction of the promotion piece to Ferz in Shatran-like variants
3403 in ApplyMove() was no longer needed, as the new promotion code already
3404 does this in the move parser.
3405
3406 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3407 Augment moves of some fairy pieces
3408
3409 To get better disambiguation in variants that have to be played with
3410 legality testing off, the Elephant is given also one-step moves (making
3411 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
3412 King (Crowned Rook), which had no moves defined for it outside Shogi at
3413 all, has been given Rook moves plus an orthogonal 2-jump, so that it
3414 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
3415 currently aways force long algebraic notation...)
3416
3417 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3418 Bugfix safeStrCpy patch, WinBoard
3419
3420 The use of sizeof on pointers was detected through the same method as
3421 the previous patches, this time while compiling WinBoard. A typo in
3422 jaws.c was fixed as well.
3423
3424 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3425 Bugfix for safeStrCpy patch for XBoard
3426
3427 By a trick (temporarily redefining safeStrCpy in common.h as
3428 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
3429 could be generated for every occurrence where the size argument was equal
3430 to 4, i.e. where the 1st argument was likely a pointer rather than an
3431 array. These cases are now fixed. The file xoptions.c, which is the
3432 only ne that does not #include common.h had to be fixed by making
3433 the #define in the file itself.
3434
3435 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3436 Fix spurious promotions with legality testing off
3437
3438 The recent promotion patch had broken playing without legality testing
3439 completely: without legality testing one always gets the piece that was
3440 asked for, but a NULLCHAR should not be taken as a request for a piece!
3441 But it was, and this resulted in any moved piece turning into a white
3442 Pawn! For true promotions the piece was always black, which was also not
3443 very useful.
3444
3445 Also revert to the use of '+' as internal Shogi promoChar, because
3446 pre-processing turns out not to be possible when reading a game file.
3447 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
3448 can no longer be recognized as checkmate symbol.
3449
3450 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3451 Make deferral default in Shogi promotions
3452
3453 Because '+' is intercepted by the parser as check indicator, Shogi moves
3454 are pre-processed to change a trailing '+' into an internally used
3455 alternative '^'. The testing if a promotion character is OK is now done
3456 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
3457 the character does not correspond to any piece, and IllegalMove when in
3458 Shogi anything other than '^' or '=' is used. (Except for the ICS
3459 notations.) On output, in CoordsToComputerAlgebraic() and
3460 CoordsToAlgebraic(), the '^' is translated back to '+'.
3461
3462 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3463 Animate piece explosions in drag-drop moves and in XB
3464
3465 This required some code restructuring: the decision if an explosion is
3466 needed is now taken in a new routine Explode() in the backend. This then
3467 calls the front-end driver, and it returns the info if there was an
3468 explosion or not, so the caller (AnimateMove() or the mouse driver) can
3469 take action to repair the damage to the board caused by the blast wave.
3470 A front-end driver for XBoard is provided as well, so that both
3471 click-click (and replay, which is the same) and drag-drop atomic
3472 captures are animated in XB as well as WB.
3473 Explosions on rejected moves are suppressed.
3474
3475 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3476 Suppress promotion popup if piece will explode
3477
3478 In atomic, a Pawn capture to last rank is not really a promotion.
3479 Fix choice to Queen.
3480
3481 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Make Knight hop first straight, then diagonal
3483
3484 It used to be the other way around, which looked pretty illogical in
3485 Xiangqi: to see Horses, which are blockable pieces there, move over an
3486 occupied square.
3487
3488 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3489 Let -oneClickMove also work in EditGame mode
3490
3491 There is really no reason why people that lke one-clcik moves enough to
3492 switch them on would not want to use them too when editing a game.
3493 This solves a nast inconsistency, as before it used to work in -ncp mode
3494 on the _first_ move, as the mode is then BeginningOfGame, and not yet
3495 EditGame, and we do want it to work for BeginningOfGame, as this is
3496 also the game mode when you start playing as white.
3497
3498 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3499 Make -flipBlack and -allWhite option volatile
3500
3501 As these options are very Shogi specific, and the variant is volatile,
3502 it seems logical to make them also volatile. Not completely sure about
3503 -allWhite, though. It cold be useful if you want, for example, to play
3504 wth dark-brown pieces for black, as any color but black looks much
3505 better with outline pieces than with solid pieces.
3506
3507 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3508 Provide some sample board-texture pixmaps
3509
3510 Wood and marble themes are provided as textures for light and dark
3511 squares, plus two complete Xiangqi boards (wood and evenly colored).
3512 These should probably not goint the distro tar ball.
3513
3514 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3515 The -overrideLineGap option is made to work in XBoard
3516
3517 Although XBoard already allowed this in the -boardSize specification,
3518 it is still seful to globally disable grid lines, e.g. for an
3519 oriental Xiangqi board. And it converges XB and WB.
3520
3521 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3522 Implement board textures in XBoard
3523
3524 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
3525 XBoard too, for loading a pixmap that will be used to cut out the dark
3526 and light square backgrounds. The cutting algorithm is such that the
3527 pixmap image is completely restored if the size was that of the total
3528 board (e.g. a drawing of a Xiangqi board).
3529
3530 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3531 Complete WB (western) bitmaps for Shogi at size 33
3532
3533 The Lance was not replacing Queen in some sizes where the bitmaps were
3534 already available, and new bitmaps for the promotion Golds were added.
3535
3536 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3537 Make starting new variation dependent on shift key
3538
3539 The shift key is read during mouse events, and posted in a global
3540 variable, which can then be used by the back-end. The decision to start
3541 a new variation (pushing the game tail rather than clipping it off) when
3542 entring a move in Edit Game or Analyze mode is made dependent on this.
3543 The move-typein also records the shift-key state.
3544
3545 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3546 Fix merging bug
3547
3548 A %g format was used to print an int in sending the level command,
3549 because decimal points were dropped when merging patches. Also an unused
3550 variable was removed to suppress a warning.
3551
3552 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3553 Add set of shogi pixmaps for XBoard
3554
3555 The -size 64 pieces from gShogi (and originally XShogi) are made
3556 suitable for loading by XBoard, through redefining the transparent
3557 background color as either light or dark square color. These bitmaps are
3558 not included in the XBoard build, and perhaps should not even be
3559 included in the source distribution, but made available in a separate
3560 distribution?
3561
3562 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3563 Implement -flipBlack in XBoard
3564
3565 When -flipBlack is true, the white and back piece pixmaps are swapped in
3566 flipView. The idea is that the black pieces are upside-down versions of
3567 the white (Shogi) pieces, so that swapping white and black in effect
3568 turns all pieces upside down, which is what should happen in flipView.
3569
3570 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3571 Disable some very verbose debug printing
3572
3573 The internationalization seems debugged enough to do without them.
3574
3575 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3576 Add option -variations to control variation-tree walking
3577
3578 Just so that users can switch it off if the find it annoying.
3579
3580 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3581 Allow full promotion suffixes on SAN piece moves
3582
3583 This facilitates the parsing of (non-standard) Shogi moves in ICS
3584 protocol. It can also be useful for Seirawan Chess, where a future
3585 implementation of it can use promotion suffixes to indicate gating.
3586
3587 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3588 Allow lower-case piece indicator in drop-move notation
3589
3590 As it seems that XBoard also sends such moves in zippy play, it seems
3591 more fair to recognize them from the engine as well.
3592
3593 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3594 Fix bug in ICS variant switch for Shogi
3595
3596 Because a test for 8x8 variants was done by <= VariantShogi,
3597 rather than <, spurious move-list fetching occurred in Shogi.
3598
3599 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3600 Fix WinBoard Lance bug
3601
3602 The choice between Lance and Queen was made on appData.variant, in stead
3603 of gameInfo.variant. Because of this it was not always up-to-date in ICS
3604 games.
3605
3606 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3607 Adapt WinBoard to Shogi implementation on Variant ICS
3608
3609 The Variant ICS does not use the '+P' notation for promoted pieces,
3610 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
3611 and uses 'H' and 'D' for +B  and +R. The Shogi promotion code in
3612 LegalityTest() and Disambiguate(), which are used in move Parsing, are
3613 adapted to handle this. Deferred promotions sent to the ICS now use an
3614 == suffix.
3615
3616 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3617 Inherit promoted-info that ICS does not give from previous board
3618
3619 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
3620 primordial or a promoted pawn (or a promoted other piece). We now derive
3621 this info from the previous board. The option -disguisePromotedPieces
3622 controls this feature.
3623
3624 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3625 Limit multi-session clock handling to non-ICS games
3626
3627 In ICS games a time forfeit crashed XBoard, apparently because the
3628 fullTimeControl string is not properly set when we try to use it to see
3629 if a sudden-death session is indeed the last session.
3630
3631 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3632 Change evalgraph scale in drop games
3633
3634 Score swings tend to be much larger in Crazyhouse and Shogi, so the
3635 vertical rangee in those games is doubled to (-14, 14).
3636
3637 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
3638 bugfix: fixed readline support with icslogon option
3639
3640 The icslogon option sends the login and password, so we don't need to handle
3641 special cases for the readline buffer.
3642
3643 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
3644 fixed some typos that were introduced during the sprintf->snprintf changes
3645
3646
3647 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3648 Fix uninitialized variable in book code
3649
3650 The variable ' power' was used uninitialized in case -bookVariation was
3651 set to 0, which can be an error even if it was only multiplied by zero.
3652
3653 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3654 Fix menu translation bug
3655
3656 The menuText array was declared too small, so that the last entry of the
3657 File menu got out of bounds and was overwritten by the first of the Mode
3658 menu.
3659
3660 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3661 Allow -timeIncrement to be a float
3662
3663 The increment can now be fractional seconds. The printing in
3664 ParseTimeControl() and SendTimeControl() is done with %g format, so that
3665 for integer increment there is backward compatibility with the old level
3666 command.
3667
3668 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
3669 adding gnu-readline support
3670
3671 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.
3672
3673 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
3674 added warning if icsLogon file couldn't be opened
3675
3676
3677 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
3678 security fix: replaced some strcat with strncat
3679
3680 there is still more to do
3681
3682 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
3683 add option for silent builds
3684
3685 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
3686 It should still work for older automake versions too
3687
3688 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
3689 bugfix: missing array index
3690
3691
3692 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
3693 added new case for (Chessmove) 0 in common.h
3694
3695 this cleans up a few more -Wall messages
3696
3697 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
3698 cleaned up -Wall warnings (apart from settings some parentheses)
3699
3700 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
3701
3702 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
3703 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
3704
3705
3706 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
3707 security fix: replaced sprintf with snprintf
3708
3709 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.
3710
3711 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
3712 security fix: replaced strcpy with safeStrCpy from backend.c
3713
3714 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
3715
3716 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3717 Enhance multi-session TC clock handling
3718
3719 Some new TC types are introduced: Bronstein and free sessions. The
3720 former is implemented by letting an exclamation point '!' in front of an
3721 increment (in the -tc string) indicate that the increment is limited to
3722 the time actually used on the previous move. The latter is an interval
3723 of given duraton in which you can do any number of moves (even zero),
3724 before the next session starts. This is needed for implementing Shogi
3725 byoyomi-type TC, as a first session, followed by a session of fixed-time
3726 per move. The latter can now be specified with the -tc argument as a
3727 degenerate case of Bronstein, where the time on the clock is <= the
3728 increment (so that it is never possible to think longer than the
3729 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
3730 300:10+!10.
3731
3732 The sessions are now separated by ':' in stead of '+', and all times in
3733 the TC string are converted to seconds first (in ParseTimeControl), so
3734 the fullTCstring can now be directly used in a PGN tag.
3735
3736 Note that this patch only addresses clock handling; the engine will not
3737 be informed yet if the TC type or parameters change at the start of new
3738 session!
3739
3740 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3741 Remove promotion-piece encoding from ChessMove type
3742
3743 The shizophrenic way to indcate promotion pieces in the XBoard code
3744 (sometimes using a promoChar, at other times relying on moveType) was
3745 cured by combining all promotion move types (such as WhitePromotionRook)
3746 into a single one (WhitePromotion), and relying on promoChar to specify
3747 the piece. This solves the problem of promoting to new piece types in
3748 variants, which formerly also required addition of new move types.
3749
3750 In Shogi the '+' character is now consistently used to indicate
3751 promotions (and recognized in ApplyMove), rather than 'q' or
3752 PieeToChar(BlackQueen), as the latter did not work in minivariants where
3753 the Queen (representng the Lance) did not partcipate.
3754
3755 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3756 Pass promoChar to SendMoveToICS
3757
3758 SendMoveToICS was the only place where the promotion piece was derived
3759 from moveType, rather than an explicity passed promoChar.
3760
3761 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3762 Suppress spurious use of SAN castling in mini variants
3763
3764 King moves from a central file to the king-side-castled position (1
3765 square away from the right corner) were intercepted and printed as O-O
3766 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
3767 normal King move Kc1-d1 as well. The castling notation is now reserved
3768 for King moves larger than one step.
3769
3770 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3771 Make Shogi promotion zone board-size dependent
3772
3773 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
3774 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
3775 Shogi (6x6), which are indeed what these variants need.
3776
3777 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3778 Make board-size overrule options volatile
3779
3780 The options -boardWidth, -boardHeight and -holdingSize were legacies
3781 from the day choosing a variant would not automatically set a board
3782 size. As a result they are seldomly used anymore. The first real
3783 application is mini-Shogi (on 5x5 board), and it turned out very
3784 annoying if the 5x5 settings persisted to the next session, where you
3785 almost certainly want to play another variant.
3786
3787 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3788 Strip DOS line endings from parser.l
3789
3790
3791 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3792 Extend mate test to drop games
3793
3794 MateTest() in case of no legal moves now also looks if there are legal
3795 drops that can resolve the check. This provides reliable mate testing in
3796 Crazyhouse and Shogi, so these are now made subject to adjudications too.
3797
3798 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3799 Extend legality testing to drop moves
3800
3801 LegalityTest() can nowbe called with (internal-format) drop moves, and
3802 delegates their testing to a new routine LegalDrop(). This routine
3803 performs the 'no-pawn-on-back-rank' test that used to be in
3804 UserMoveTest (which now calls LegalityTest also for drop moves).
3805 The more complex Shogi case is also handled (except for Pawn mate
3806 drops) in LegalDrop().
3807
3808 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3809 Revert splitting of UserMoveEvent
3810
3811 This splitting into UserMoveTest and FinishMove was no longer needed,
3812 now that the new mouse driver no longer calls UserMoveTest to figure out
3813 if a move is a promotion, and XBoard and WinBoard are unified in this
3814 respect. It was counter-productive, because UserMoveTest was not able to
3815 change the fromX, fromY (call-by-value) parameters for passing them to
3816 FinishMove, so it had to defer the conversion of drop moves to internal
3817 format to the latter, while it did not belong there. (Because
3818 DropMenuEvent already delivers the moves in internal format.) This
3819 whole kludgy construction was therefore abandoned, by going back
3820 to the original 4.2.7 calling scheme, where UserMoveEvent completely
3821 pre-processes the move, and when it is valid, calls FinishMove directly.
3822
3823 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3824 Fix silent bug in drop moves
3825
3826 In ApplyMove() the piece on the from square was accessed and used before
3827 we tested for drop moves. As drop moves have off-board from-squares this
3828 led to out-of-bound array access, which apparently was usually harmless.
3829
3830 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3831 Allow parsing of upper-case machine moves
3832
3833 Dubious patch, as it caters to non-compliancy. Some variant engines are
3834 very non-compliant, though.
3835
3836 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3837 Prevent transmission of spurious promo char to other engine
3838
3839 The parser now strps off spurious promotion characters.
3840 New move types "White/BlackNonPromotion" had to be introduced for this,
3841 to indicate NormalMoves that could have been a promotion, to make sure
3842 the '=' suffix of Shogi deferred promotions survives.
3843
3844 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
3845 fixed internationalization for winboard
3846
3847 in the original commit some files were forgotten. This should fix it.
3848
3849 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3850 Fix JAWS bug saying side to move in ICS play
3851
3852 This was done the wrong way around.
3853
3854 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3855 Make WB run-time language switch possible from menu
3856
3857 This is a rather involved patch that might not be worth it. It is
3858 difficult, because translation of things that live forever is not easy
3859 to invert (menus, the auxiliary windows). We hae to remember all
3860 original, English texts there to be able to put them back,or
3861 re-translate. Still does not fully work, although the menus and
3862 temporary dialogs now are all OK.
3863
3864 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3865 Update WB translation template
3866
3867 The language.txt file now also contains all translatable strings from
3868 the C source files, rather than jsut the resource.
3869
3870 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3871 Update docs
3872
3873 Add descriptions for machine-match menu support and enhanced book
3874 control, nick-name options and language.
3875
3876 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3877 Add some forgotten translation hooks
3878
3879 The general-options, file-browse dialogs and the about box did not call
3880 Translate() yet. Also translate contents of combo boxes. Some small bug
3881 fixes.
3882
3883 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3884 Do not translate game-end messages in PGN
3885
3886 The messages themselves are not subjected to _(), but in stead their
3887 displaying in DisplayMove is subjected to T_().
3888
3889 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3890 Internationalization for WinBoard
3891
3892 A function Translate() was added, which uses a list of item dialogs,
3893 reads their value, and replaces it by a translation (if available). It
3894 also reads the window title and sets a translation. Calls to this
3895 routine are added in the initialization code of every dialog callback.
3896 In addition all translatable strings in the WnBoard front end are marked
3897 by the gettext macro _(). Because WB is not gettexted yet, a hard
3898 re-definition of this macro is added in each file using it, to the
3899 string-translation routine T_() supplied in winboard.c.
3900 Code to read the translation file, and translate the menu texts is added
3901 in winboard.c. In backend.c the meaning of the gettet macros is
3902 redefined for the WIN32 case.
3903
3904 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3905 Make the ID of all WB dialog items unique
3906
3907 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
3908 replace tet at run-time for translation purposes, they need to be
3909 addressed individually. So they were given new IDs, with symbols defined
3910 for those.
3911
3912 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3913 Mark XBoard result messages for internationalization
3914
3915 The GNU gettext macro _() is used with the game-end messages. This might
3916 be controversial, as they will appear in the PGN as well. But only as a
3917 comment. We can always decide not to supply a translation.
3918
3919 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3920 Do not exit after match when match started from menu
3921
3922 The codelooks weird, but matchMode == 2 in this case. We then use
3923 DisplayNote() to report the match result.
3924
3925 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3926 Trivial-draws recognition improved in Xiangqi
3927
3928 Now based on a routine "SufficientDefence". If both have it, it is draw.
3929
3930 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3931 Update .dev files
3932
3933 The relocation of parser.c and the addition of history.c was not yet
3934 incorporated in the devcpp proect files.
3935
3936 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3937 Fix some MSVC compile errors
3938
3939 Some statements has moved up stream of declaratons, which is an error
3940 that gcc is forgiving about, but where MSVC is strict.
3941
3942 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3943 Improved patch for expansion of WB settings-file name
3944
3945 The expansion of environment variables now allows multiple environment
3946 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
3947 and %APPDATA%\winboard.ini.
3948
3949 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3950 Add -colorNickNames option
3951
3952 This option allows non-standard designation of side to move in FENs.
3953 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
3954 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
3955 Can also be used for FENs in a local language. A match of theinput
3956 character with the nick name translates it to the standard; this means
3957 the standard will continue to be recognized, unless it was defined as a
3958 nick name.
3959
3960 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3961 Tricked by the grossnes
3962
3963 Some WB menu items were referenced by a hard number. As items had been
3964 added over the years, the wrong menu items were grayed. In particular
3965 the Options -> Adjudication menu was grayed out, in -ncp mode, where
3966 this was intended for the Sounds dialog. This accidentally proved
3967 useful, until we started to apply adjudictions also to the Human moves.
3968 Then it was suddenly undesirable, and a small mystery why it happened at
3969 all, when I tried to change it. The numbers are now corrected to the new
3970 locatons of the items in the menus.
3971
3972 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3973 Allow match to be started from WB menu
3974
3975 A menu item Machine Match was added in the Mode menu to switch to
3976 matchMode. A persistent option /defaultMatchGames determines the number
3977 of games. A control was added to the Options -> Common Engine dialog to
3978 set this option.
3979
3980 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3981 Add some book-control options
3982
3983 Options /bookDepth and /bookVariation have been added to control the use
3984 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
3985 contains fields to set them.
3986
3987 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
3988 new developer release
3989
3990
3991 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3992 Repair exit-popup deadlock patch
3993
3994 Relocating the exit popup call had made it lose access to the message it
3995 should print, because it was declared only in an inner code block, by
3996 the same name: buf[]. Deleting the inner declaration fixes it.
3997
3998 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3999 Fix erors when compiling with --disable-zippy
4000
4001 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
4002 fields.
4003
4004 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4005 Fix zippy handling of draw offers from ICS
4006
4007 The patch by DM to fix the problem introduced by the coloration of
4008 zippy-matched commands (namely that the coloration code beat the zippy
4009 draw recognition to it, and ate the draw offer away) was only targeting
4010 ICC. The new fix should work on any ICS (by using the same pattern in
4011 zippy as in the colorization code).
4012
4013 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4014 Fix regression in colorization of zippy-matched commands
4015
4016 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
4017 that in XBoard no coloration would take place of ICS commands that were
4018 matched by zippy. (It was using &i as input pointer, rather than &backup.
4019 The XBoard-specific code now has been deleted completely, to remove a
4020 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
4021 now use the XBoard method, to only match zippy commands when logged in.
4022
4023 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4024 Suggest default file name in browser dialog
4025
4026 The argument 'def' to FileNamePopUp() was not passed through to the new
4027 file-browser routine, which got NULL in stead, and thus started with an
4028 empty input field.
4029
4030 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4031 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
4032
4033 Because the %s expansion of WB options in the /fcp and /scp lines only
4034 works for options that contain 'first' or 'second', and /fUCI thus did
4035 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
4036 install UCI engines. (The latter option should be deprecated really;
4037 the UCI-ness of the engines is a volatile option, so it makes no sense
4038 to supply a way to set them both to false or true. One only needs to be
4039 able to set it to the non-default state.)
4040
4041 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4042 Add string option /pieceNickNames
4043
4044 This (volatile) option allows definition of alternate letters for the
4045 pieces, which will be recognized next to the standard symbols as given
4046 in the /pieceToCharTable on input. (Output always uses the standard.)
4047 This can be useful for reading PGN from another language, or
4048 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
4049   The format of the argument is the same as for /pieceToCharTable.
4050 Because the nickNames are consulted before the standard table, it is
4051 possible to redefine a standard name as a nick for another piece.
4052
4053 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4054 Fix deadlock in match-result display
4055
4056 At the end of a match, GameEnds() was recursively calling itself,
4057 through DisplayFatalError() and ExitEvent(), and the latter was then
4058 delaying until the calling GameEnds() terminated. (Which it would of
4059 course never do before ExitEvent returned; fortunately there was a tim
4060 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
4061  Now the calling of DisplayFatalError() (to show the result popup) is
4062 delayed until after GameEnds completes (and resets the anti-recursion
4063 flag 'endingGame'), so that it is simply executed a second time, unaware
4064 of the earlier call. But this second time it does not do anything,
4065 because the gameMode ws set to EndOfGame the first time, and the writing
4066 of the PGN is blocked by the checksum being still the same.
4067
4068 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4069 Fix WinBoard game-list title
4070
4071 Number of displayed games and WDL stats were always appended to the
4072 existing title, leading to an ever-growing title in the game-list
4073 window. Now the old actual title is ignored, and the starts is appended
4074 to the original title "Game List". (In the future we could use the
4075 filename here?)
4076
4077 In addition, the title was not updated when re-opening the game-list
4078 window, while the stats could change if filtering was active when the
4079 window was closed. (In that case the filter is cleared on re-opening, so
4080 the number of displayed games changes.) Now a title-update (after
4081 recalculating the stats) is done every time the game-list window is
4082 opened.
4083
4084 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4085 Refactoring of material-draws adjudication code
4086
4087 Insufficient mating material is now determined per side individually, by
4088 testing for MatingPotential of each side. If both lack mating potential
4089 the game is adjudicated as draw (if the -materialDraws option is set).
4090
4091 This way MatingPotential() can later also be used to correct losses by
4092 forfeit to draws (which currently is only done when the opponent has a
4093 bare King).
4094
4095 The accuracy of this type of adjudication in Xiangqi has been highly
4096 improved.
4097
4098 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4099 Fix bug in sending cores command to engine
4100
4101 The cores command was alwas sent to the engine(s) when the user changed
4102 it through the menu, even when the engine had sent feature smp=0 (which
4103 is default anyway). NewSettingEvent() was patched to send the new
4104 setting conditionally, based on the engine properties as recorded in
4105 ChessProgramStates first, second; In this particular case it now
4106 consults cps->maxCores. (Note the code for testing the second engine
4107 contains some dirty pointer arithmetic.)
4108
4109 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4110 Fix oneClickMove bug
4111
4112 When checking for unique captures, no attention was payed to the option
4113 setting, so the capture was also made when the option was off.
4114
4115 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4116 Remove duplicate testing for cores feature
4117
4118 The testing for this BooleanFeature occurred twice.
4119
4120 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4121 Remove misspelled prototype
4122
4123 NewSettingEvent occurred, next to the correct one, in misspelled form.
4124
4125 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4126 Fix parsing of SAN shogi promotions
4127
4128 A missing promotion character defaults to promotion in the move type,
4129 but the promotion character was not set when this happened in variant
4130 shogi. And it is especially important there, as the promotion character
4131 '+' will always be missing, as the parser will take it to be a 'check'
4132 symbol, and strip it from the move.
4133
4134 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4135 Fix variant switch on PGN loading
4136
4137 When the PGN specified an essentially different variant, the
4138 piece bitmaps were not properly adapted, because the switch was done by
4139 calling InitPosition(), rather than Reset(). (The latter would destroy
4140 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
4141 (which is normally done from Reset()).
4142
4143 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4144 Adjudicate Xiangqi material draws with Advisor-less Cannons
4145
4146 Used the Queen counter for counting Cannons. Note that material draws
4147 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
4148
4149 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4150 Remove font settings from master settings file
4151
4152 xboard.conf should not contain general font settings (not specific to
4153 one board size) with specified point size. In fact it should not even
4154 specify sizable fonts, as the new system would make specification of a
4155 general font overrule the size-specific settings in the .xboardrc file,
4156 so the persistence of fonts would be completely broken.
4157
4158 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4159 Cut board squares out of texture bitmap more cleverly
4160
4161 When the bitmap is larger than the entire board, the squares are now cut
4162 out of the center of the virtual squares from subdividing the bitmap, so
4163 that they stay centered on the grid of a Xiangqi board bitmap. If the
4164 board size exceeds that of the bitmap, the old algorithm is still used,
4165 as the centering would make the edge squares exceed the bitmap, and
4166 cause a black rim around the board.
4167
4168 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4169 Allow -flipBlack to work with font-based piece rendering
4170
4171 In addition the font-based pieces will also be flipped vertically in
4172 flipView for variant shogi when -flipBlack is off.
4173
4174 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4175 Allow font-based piece rendering in board sizes below petite
4176
4177 At least for variants that use unorthodox pieces, so that switching back
4178 to using bitmaps is not really an option anyway.
4179
4180 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4181 Ignore checks in 50-move count for Xiangqi
4182
4183 Both checks and evasions are discounted; this is only done after the
4184 naive counting exceeds the maximum, so during most of the game it causes
4185 no CPU load.
4186
4187 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
4188 removed some garbage from configure.ac that got added a while ago
4189
4190
4191 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
4192 Remove unnecessary double equals from configure.ac.
4193
4194
4195 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4196 Fix e.p. bug in xiangqi with -serverMoves option
4197
4198 Sideway Pawn moves were written as e.p. captures in the file with moves,
4199 which led to disappearence of pieces in the viewer.
4200
4201 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4202 Repair score printing with -serverMoves option
4203
4204 A previous patch had moved MakeMove to before the update of pvInfoList,
4205 so that the score/depth info would not appear in the file with moves.
4206
4207 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4208 Repair animate dragging
4209
4210 The previous patch had left a stray semicolon in the mouse handler.
4211
4212 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4213 Fix game end during dragging
4214
4215 The stale-first-click fix interfered with proper handling of a piece
4216 being dragged when a game suddenly ended (because of opponent resign,
4217 or caling the flag), because up-clicks when the from-square was reset
4218 were completely ignored. Now such an 'unmatched' upclick calls
4219 DragPieceEnd() and redraws the board.
4220
4221 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4222 Pop down old tags on loadng new game in WinBoard
4223
4224 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
4225 (unlike XBoard), so that the tags from the previous game were left on
4226 display when -autoDisplayTags was off.
4227
4228 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4229 Reverse mousewheel action
4230
4231 Apparently WinBoard was stepping in the opposite direction through the
4232 game in reaction to the mousewheel as every other GUI in existence.
4233
4234 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4235 Fix bug in sending "usermove" when forcing book moves
4236
4237 The keyword "usermove" was copied to the buffer, but not sent before it
4238 was overwritten by the actual book move.
4239
4240 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4241 Fix engine stall on perpetual-check evasion
4242
4243 The adjudication code had already put the engine in force mode after
4244 postponing the actual adjudication to the next move. Now first determine
4245 if we want to adjudicate now, and with which result, before stopping the
4246 engine and ending the game.
4247
4248 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4249 Let move parser return ImpossibleMove for off-board moves
4250
4251 It used to return 0, which interfered with buiding a game list. This
4252 broke reading of multi-game PGN files containing games in a variant with
4253 a board size larger than that of the currenty active variant.
4254
4255 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4256 Alter XBoard key bindings to mimic WinBoard
4257
4258 A lot of new bindings were added, and four menuProcs had to be registered
4259 to be able to add bindings to them. The use of the control key as
4260 temporary take-back for the last move conflicted with the use of Ctrl
4261 keystrokes, and this function was migrated to '.'. The iconify function
4262 had no shortcut in WinBoard, but to get rid of letter bindings it was
4263 migrated to '-'.
4264
4265 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4266 Update README file
4267
4268
4269 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4270 Fix typos in html help file
4271
4272
4273 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4274 Fix JAWS piece drop cursor, and streamline some sentences
4275
4276 The cursor square was reset to a1 after every use of the piece menu,
4277 which was very inconvenient. Some of the spoken sentences have been
4278 improved; the square is read before the piece now, when using the arrow
4279 keys on the board.
4280
4281 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4282 Allow escape sequences in telluser(error) messages
4283
4284 The routine EscapeExpand was moved to backend.c, and applied to the
4285 message received from the engine.
4286
4287 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4288 Allow lower-case promochar in moves of type h8=Q
4289
4290 Updated the parser rules. Other move formats already allowed this.
4291
4292 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4293 Fix Alt+M JAWS command in Two-Machines mode
4294
4295 The command refused to read the ast move because it contained thinking
4296 output of the other engine. Let it pay attention to evenIfDuplicate.
4297
4298 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4299 Fix rep-draw recognition
4300
4301 The refactoring had broken the rep-draw recognition, by adding and extra
4302 condition in