1 ChangeLog for XBoard/WinBoard
2 -----------------------------
4 (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
7 2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
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
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
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.
22 2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
25 In some places rand() was called explicitly, rather than through the
26 (configured) place-holder random().
28 2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
29 Translate search texts
32 2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
33 Add -useBoardTexture and -usePieceFont options
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.
42 2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
43 Fix crash on start without settings file
45 A primordial -1 in currCurrent caused a crash when WinBoard was started
46 without ini filein game-viewer mode.
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
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.
56 2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
57 Allow substitution of engines during tournament
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.
65 2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
66 Fix up/down arrows in game list
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
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.
79 2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
80 Allow deletion of last book move
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
90 2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
93 Line numbers > 1, which are common, can exit already during move parsing,
94 to save lots of matching on resultsand castlings.
96 2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
97 Fix missing files in file browser
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.
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
107 2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
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
114 An empty list is now replaced by a list containig a simple message.
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
120 2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
121 Debug position selection
124 2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
125 Print progress during load / selection of game
127 The title bar of themain window is used to display a running count
128 of the number of games loaded / searched.
130 2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
131 Parse PGN tags without allocating memory
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.
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
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.
152 2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
153 Allow entry of variations in PlayFromGameFile mode
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
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
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.
175 2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
176 Popdown Comment window on new game
178 What is in this window cannot possibly remain valid, and can even be harmful.
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
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.
204 2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
205 Give WinBoard Game List its own font
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.
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.
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.
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)
226 This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
228 2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
229 Suppress some XBoard warnings
232 2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
233 fixed segfault in xengineoutput
236 2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
237 Disable -showTargetSquares in ICS mode
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.)
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
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.
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
254 The labels for +/-1 and +/-3 are now also written, provided there is
257 2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
258 Improve Eval Graph with -evalZoom and -evalThreshold
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.
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
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).
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
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
282 2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
283 Add -scoreWhite option
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.
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
293 2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
294 Display score/depth in Eval Graph title
296 No longer print it in the comment window.
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
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
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.
319 2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
320 Improve -showTargetSquares on click-click moves
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.
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
329 The @ sign prevents amiguity with other notations anyway.
331 2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
332 Fix parser.c line endings
335 2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
336 Fix writing searchTime in tourneyFile
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.
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)
346 This fixes a bug in the new time-control dialog.
348 2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
349 Fix coords display on large boards
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.
354 2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
355 Fix crash on making too-long FEN
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...)
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
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.
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
375 2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
376 Reorder controls in Engine Setings dialog WB
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.
382 2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
383 Add tab stops in WB generic popup
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.
392 2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
393 Implement Grand Chess
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.
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
406 In stead of ImpossibleMove promotionto Pawn now merely is an
407 IllegalMove, so it can be played with legality testing off.
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
413 2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
414 Allow double-digit rank numbers
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
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
429 2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
430 Fix texi file, and update it further
433 2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
437 2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
441 2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
442 Restore echo after ^C in ICS password
445 2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
449 2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
450 Increase efficiency of SAN generation / disambiguation
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
472 2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
473 Fix compile errors WinBoard
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.
478 2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
479 Add -fSAN / -sSAN options
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.
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
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
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.
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
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.
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
514 The telluser and tellusererror commands now can be assigned a sound.
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
519 Now that we have a WinBoard-style Move History window, this option is
520 no longer a no-op in XBoard.
522 2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
523 new developer release
525 2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
526 updated Changelog, NEWS, etc.
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
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.
536 2011-06-18 10:26:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
537 Make WB generic popup translatable
539 When used for internal settings (as in the Load Engine and Tournament
540 Options dialogs), the option names are now subectto translation.
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
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.
548 2011-06-17 21:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
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.
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
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
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
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.
579 2011-06-14 18:17:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
580 Fix default of -remoteUser
582 This has to be an empty string, rather than NULL, to prevent XBoard from
583 segfaulting when the -gateway option is used.
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 @
588 Windows XP and Vista shortcuts do not display command lines with @ in
589 them correctly, and these optionsprovide a work-around for that.
591 2011-06-14 12:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
592 Fix empty-string option values in XBoard
595 2011-06-14 12:40:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
596 Fix crash on switching sound in Vista
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.
601 2011-06-14 12:36:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
602 Update WB docs for tourney manager
605 2011-06-14 12:35:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
606 Add icon to WB for tournament files
609 2011-06-10 16:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
610 Redo Time Control dialog with generic popup
612 As poor-man's disabling of the unneeded input fields, we print the word
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
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
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.
626 2011-06-10 11:58:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
627 Fix type of shuffleOpenings
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.
633 2011-06-09 23:57:43 -0700 Tim Mann <tim@tim-mann.org>:
634 Internationalize the file browser.
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.
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.
648 2011-06-08 20:26:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
649 Fix crash at end of Swiss tourney
652 2011-06-08 17:33:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
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.
662 2011-06-08 18:02:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
663 Fix parameter handling in adapter command
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.
668 2011-06-08 17:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
669 Clear Engine-Output pane when initializing engine
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.
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
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...)
684 2011-06-08 17:38:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
685 Fix concurrency in Swiss tourneys
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. :-(
695 2011-06-08 17:27:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
696 Give error popup when pairing engine fails
698 An invalid pairing now produces an error popup to inform the user, so he
699 knows why the tourney stagnates.
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
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.
708 2011-06-08 17:11:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
709 Fix round-robin schedule
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.
715 2011-06-08 17:08:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
716 Fix interrupting tournament
718 Stopping a tourney by using the Machine Match menu item did not wor
721 2011-06-08 16:57:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
722 Improve quoting of engine name on install
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).
729 2011-06-08 16:49:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
730 Print sensible window title during tourneys
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).
735 2011-06-08 16:44:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
736 Let XBoard propose name of tourney file
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.
745 2011-06-08 16:30:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
746 Improve Tournament dialog layout WB
749 2011-06-08 17:05:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
750 Fix -matchGames option
752 The new MatchEvent code had broken the -mg option, and used always
753 -defaultMatchGames in stead.
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.
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,
762 - it.po was missing a \n at the end of one translation.
764 - ru.po had unescaped double-quote marks in one translation.
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.
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
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
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.
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 "".
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.
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.
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
801 2011-05-28 23:55:42 -0700 Arun Persaud <arun@nubati.net>:
802 translation: activated Ukrainian translation
805 2011-05-28 23:41:24 -0700 Arun Persaud <arun@nubati.net>:
806 translation: added new Ukrainian PO file from the TP
809 2011-05-28 21:07:08 -0700 Tim Mann <tim@tim-mann.org>:
810 Fix display of international characters outside the ASCII range.
812 1) Set Xaw resources required for internationalization --
813 *international and *fontSet.
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.
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.
829 2011-05-28 21:05:00 -0700 Tim Mann <tim@tim-mann.org>:
830 Move "hide thinking" option into alphabetical order.
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.
837 2011-05-23 19:05:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
838 Fix layout tournament Load Engine dialog WB
841 2011-05-23 19:03:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
845 2011-05-23 19:00:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
846 Add Swiss tourneys through pairing engine
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.
854 2011-05-23 17:37:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
855 Allow generic dialog to ignore OK
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
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
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.
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
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.
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
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.
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
892 The option -uxiAdapter can define a second adapterCommand, which will be
893 invoked on encountering the options -fUCCI, -sUCCI and -fUSI, sUCI.
895 2011-05-14 10:05:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
896 Obey san feature when sending book moves
898 Book moves were always sent in long algebraic, even when the engine had
899 said it wanted to receive SAN.
901 2011-05-14 10:03:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
902 Fix initialization of engine state
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
908 2011-05-11 23:06:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
909 Take account of holdings in book key
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).
918 2011-05-11 22:48:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
919 Alow promotions and drops in book-editing
922 2011-05-11 20:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
923 Include learn info in book edit
926 2011-05-09 21:55:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
927 Adapt default directory of lng2po
929 The path is prefixed with "../" to make it runable from the po directory.
931 2011-05-09 21:20:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
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.
938 2011-05-09 20:11:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
939 Implement Edit Book in XBoard
942 2011-05-09 09:52:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
943 Improve WB Load Engine dialog texts
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
950 2011-05-09 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
951 Add -userFileDirectory option
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.
958 2011-05-09 09:10:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
959 Add option -absoluteAnalysisScores
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.
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
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.
975 2011-05-08 17:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
976 Let ParsePV always generate SAN move
979 2011-05-08 13:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
980 Fix vscrolling in XBoard Engine-Output window
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.
986 2011-05-08 13:22:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
987 Fix button sizing in generic popup
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
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.)
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
1001 2011-05-07 23:27:50 -0700 Arun Persaud <arun@nubati.net>:
1002 updated xboard.pot with released version
1005 2011-05-07 22:56:53 -0700 Arun Persaud <arun@nubati.net>:
1006 new developer release
1009 2011-05-07 22:54:29 -0700 Arun Persaud <arun@nubati.net>:
1010 updated ChangeLog, NEWS, etc.
1013 2011-05-07 23:07:46 -0700 Arun Persaud <arun@nubati.net>:
1014 deactivated new languages for the moment...
1016 po files need some cleanup, probably better to wait until the translation-project looked at them
1018 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
1019 added translations generated via lng2po from all winboard languages
1021 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
1022 lng2po.sh: added command line options, GPL header
1024 also use a temporary file generated with mktemp instead of a hard coded one
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)
1029 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1030 Import WinBoard language files into git
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
1035 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1036 Make book-edit function WB
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.
1042 2011-05-07 16:21:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1043 Fix resetting engine options
1045 Not all options were reset, and -needsNonCompliantFEN was 'reset'
1046 to a completely wrong value, so that bad FENs would be sent.
1048 2011-05-06 18:51:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1049 Add -first/secondPgnName option
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.
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
1059 2011-05-06 18:25:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1060 Save time-control settings in tourney file
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.
1067 2011-05-06 20:40:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1068 Put saveGameFile in tournament dialog
1071 2011-05-06 19:17:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1072 Plug memory leak, filenames relative to installDir
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
1089 2011-05-06 22:02:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1090 Add WB new popup prototypes
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)
1097 2011-05-06 18:56:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1098 Fix range of tourneyType spin WB
1101 2011-05-06 18:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1102 Fix exit popup in tourney mode
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.
1108 2011-05-06 18:11:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1109 Fix stopping of match in tourney mode
1112 2011-05-06 18:59:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1113 Add default extension in file browser
1116 2011-05-06 22:37:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1117 Improve sizing of comment and tags dialogs
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.
1126 2011-05-06 21:00:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1127 Fix generic combobox bug
1129 The patch placing gettext markers was done wrong, setting the
1130 translated menu text outside the loop, so all entries became the same.
1132 2011-05-07 14:23:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1133 Fix PV walking in analysis mode
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).
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
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
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
1158 2011-05-04 14:53:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1159 Implement Tournament Options dialog WinBoard
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.
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
1170 2011-05-03 00:17:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1171 Fix error message on engine load
1174 2011-05-04 15:09:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1175 Implement Load Engine dialog in WinBoard
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.
1184 2011-05-04 13:43:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1185 Load new logo on engine change WinBoard
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.
1192 2011-05-04 13:36:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1193 Allow switching off match mode through menu
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).
1201 2011-05-03 00:14:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1202 Calculate and display tourney result
1205 2011-05-04 18:42:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1206 Implement Tournament Manager
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.
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
1232 2011-04-24 18:02:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1233 Fix crash on empty Engine Settings dialog
1235 The generic popup was not foolproof against this.
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
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.
1246 2011-04-21 22:37:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1247 Add callback possibility to combobox selection
1250 2011-04-24 17:15:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1251 Lock game an position file during writing
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.
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
1261 2011-04-29 16:58:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1262 Fix Engine Settings buttons in WinBoard
1264 This was broken by a leftover statement from debugging the -file/-path
1267 2011-05-02 13:38:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1268 Implement flock in WinBoard
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.
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
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
1282 2011-05-02 15:00:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1283 Fix zippy bughouse partner bug
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.
1291 2011-05-04 10:59:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1292 Silence more rpm warnings
1295 2011-05-01 20:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1296 Fix warnings XBoard file browser
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
1306 2011-05-04 10:56:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1307 Fix some warnings and header-file improvement
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.
1315 2011-05-04 10:50:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1316 Create conversion tools for language files
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
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 /
1333 2011-04-27 22:04:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1334 Put gettext markers in generic dialog creator
1336 This is done by adding extra XtNstring argumentsto the widget gcreaton,
1337 so the displayed name can be different fromthe widget name.
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.
1343 2011-04-24 11:18:28 -0700 Arun Persaud <arun@nubati.net>:
1344 updated German translation
1347 2011-04-24 11:17:43 -0700 Arun Persaud <arun@nubati.net>:
1348 replaced hardcoded email address with generic PACKAGE_BUGREPORT
1351 2011-04-23 10:51:57 -0700 Arun Persaud <arun@nubati.net>:
1352 updated po-files; updated german translation
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
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_()
1362 they need to be marked again with _() when they are used to get the translated string
1364 2011-04-22 21:39:22 -0700 Arun Persaud <arun@nubati.net>:
1365 updated translation files
1368 2011-04-22 21:37:22 -0700 Arun Persaud <arun@nubati.net>:
1369 added/fixed i18n support via gettext to xboard
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.
1374 2011-04-20 10:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1375 Make engine startup error non-fatal
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
1381 2011-04-20 14:35:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1382 Make engine loadable during session
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.
1396 2011-04-18 15:56:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1397 Generalize WaitForSecond to WaitForEngine
1400 2011-04-18 15:46:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1401 Add UnloadEngine routine
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
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.
1413 2011-04-18 13:21:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1414 Bring structure in appData engine options
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
1422 2011-04-19 15:15:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1423 Fix gettext macros in option dialogs
1425 The strings in the tables were using _() in stead of N_().
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
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
1434 2011-04-19 15:07:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1437 Some pixmaps forptomoted pieces had wrong background color, others had a
1438 wrong name (so the one with the correct name was missing).
1440 2011-04-17 19:12:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1441 Change texture-install directory to pixmaps/textures
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
1447 The sounds directory is set to .../xboard/sounds, and only ten
1448 sounds are kept (all non-spoken).
1450 2011-04-17 17:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1451 Remove some bitmaps from install
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.
1458 2011-04-17 16:34:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1459 Configure some default sounds
1461 The move sound is set to Wood Thunk; the sounds for tell and challenge
1462 events to Phone and Gong, respectively.
1464 2011-04-17 16:17:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1465 Change default sounds in Xboard menu
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.
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
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).
1479 2011-04-16 10:36:31 -0700 Arun Persaud <apersaud@lbl.gov>:
1480 configure: enable silent rules by default
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/
1487 2011-04-16 10:25:33 -0700 Arun Persaud <apersaud@lbl.gov>:
1488 configure: added install of sounds in .../games/xboard/sounds/default
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
1494 pixmaps will now be installed under .../games/xboard/pixmaps/default/
1496 2011-04-16 13:40:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1497 Fix gamelist highlight
1499 Reopening the gamelist should highlight the current game.
1501 2011-04-16 10:25:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1502 Fix size limit on 'save as diagram'
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.
1508 2011-04-15 22:04:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1509 Fix chaining of bottom-row dialog buttons
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.
1518 2011-04-15 19:18:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1519 Fix switching between pixmap and bitmap pieces
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).
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
1530 This option does not exist in XBoard (yet).
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
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
1540 2011-04-14 21:42:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1541 Describe move type-in in texi file
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
1548 2011-04-14 20:30:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1549 Describe -sweepPromotions in texi file
1551 The new method for selection promotion piece, and the -sweepPromotions
1552 option are described in the texi file.
1554 2011-04-14 20:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1555 Describe -pieceMenu option in texi file
1557 The sweep method for selecting a piece in Edit-Position mode is
1558 explained, as well as the -pieceMenu option.
1560 2011-04-14 15:59:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1563 Descriptions of the new XBoard menu dialogs are included in the docs.
1565 2011-04-14 21:06:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1566 Reorganize texi description
1569 2011-04-14 12:31:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1570 Fix sweep-promotions patch
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.
1580 2011-04-14 11:56:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1581 Alter treatment of moves with empty squares
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.
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
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...)
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
1609 A second click on the already selected entry now has the same effect as
1610 pressing the OK button.
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
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.
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
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
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.
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
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.
1642 2011-04-13 16:33:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1643 Fix startup focus of board window
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.
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)
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.
1661 2011-04-12 19:20:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1662 Refactor move type-in code
1664 Common code between XBoard and WinBoard was moved to the back-end
1665 creating TypeInEvent() and TypeInDoneEvent() routines.
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
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.
1673 2011-04-11 20:48:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1674 Implement move type-in for XBoard
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.
1683 2011-04-11 20:59:44 -0700 Arun Persaud <apersaud@lbl.gov>:
1684 new developer release
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.
1689 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
1690 updated Changelog, NEWS, etc.
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
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
1701 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1702 Fix crash on opening ICS Text Menu
1704 The patch for the color defaults had broken the ICS Text Menu.
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
1709 Some WinBoard code was cloned for this.
1711 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1712 Third method of sweep selection
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.
1719 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1720 Alternative sweep promotions
1722 The sweep takes place on the from-square here.
1724 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1725 Make sweep-select promotions work in WinBoard
1727 The mouse-move handler had to be connected to the PromoScroll back-end
1730 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1731 Fix path browsing in WinBoard
1733 The routine BrowseForFolder was still declared as static in woptions.c,
1734 while it was used from wsettings.c.
1736 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1737 Fixes to sweep selection
1740 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1741 Implement sweep selection of promotion piece
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.
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
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.
1760 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1761 Remember Tags and Comment dialog coordinates
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.
1768 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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
1774 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1775 Implement Edit-Comment window through generic popup
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.
1782 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1783 Refinements to generic popup and color picker
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
1798 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1799 Let file browser filter on extension
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.
1820 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1821 Fix animation masks on changing piece pixmaps
1823 The animation masks were not remade when new pieces were loaded
1824 interactively through the board-options dialog.
1826 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1827 Fix linegap option in board dialog
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.
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
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
1853 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1854 Redo ICS input box with generic popup
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.
1860 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1861 Activate -path and -file options
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).
1867 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1868 Let generic popup generate Engine Settings dialog
1871 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1872 Merge SettingsPopUp into GenericPopUp
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.
1879 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1880 Make generic dialog popup reentrant
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.
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
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.
1910 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1911 Create General-Options dialog
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.
1923 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1924 Redo new-variant dialog with generic popup
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.
1932 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1933 Redo common-engine dialog with generic popup
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.
1939 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1940 Redo adjudications dialog through generic popup
1942 We dropped the periodic-updates option, as it is already in the main
1945 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1946 Make sounds dialog for XBoard
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.
1952 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1953 Add ICS options dialog
1956 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1957 Add board dialog XBoard
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
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().
1971 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1972 Add browse button to generic popup
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.
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
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
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
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.
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
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
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
2023 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
2025 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
2026 check if malloc.h is present before including it
2028 OS X 10.6 doesn't have malloc.h, so it complained.
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
2033 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
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
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.
2042 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2043 Fix o-o castling in new parser
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'
2051 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2052 Implement yynewstr entry point in new parser
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
2058 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
2059 fixed wrong default for polyglotDir mentioned in docs.
2061 Thanks to Hans Aberg for reporting it.
2063 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
2064 Fix "make install" on Os X10.6.6 (removed a "/")
2066 seems like an extra "/" made "make install" unhappy
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
2072 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2073 New parser, written in C
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.
2080 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2081 Fix bugs in FRC castling rights
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
2088 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2089 Fix parsing bug of FRC castling
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.
2097 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2098 Fix two bugs in reading position diagram
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.
2110 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2111 Fix flipBlack option XBoard with board texture
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.
2118 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2119 Improve repairing damage of arrow highlight XBoard
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.
2126 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2127 Fix unintended translation in debug file
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.
2134 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2137 The nps settingwas tested for being > 0 in stead of >=0, so that the
2138 case of CPU time was not properly handled.
2140 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
2141 Added missing fclose()
2144 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
2146 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
2147 release of version 4.5.1
2149 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
2150 updated Changelog, NEWS, etc.
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
2155 Polyglot was capitalyzed
2157 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2158 Fix some resource leaks
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.
2166 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
2167 new developer release
2169 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
2170 updated Changelog, NEWS, etc.
2172 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2173 Fix MSVC snprintf problem
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.
2178 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
2179 updated configure.ac to check for Xaw header files
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.
2184 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
2186 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
2194 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2195 Make language choice from menu persistent
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
2202 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2203 Fix showing of user move after adjudication
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.
2212 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2213 Fix Xiangqi King facing
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.
2218 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2219 Fix variant janus size prefix
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.
2224 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
2233 Fix move of Xiangqi Elephant
2235 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
2236 fixed configure script to correctly detect Xaw3d library
2239 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2240 Fix unmarked translation
2242 The file-browser wndowtitle in WB was not marked for translation.
2244 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2245 Put warning in HTML help
2247 A warning is added that the help file is not yet updated for the new
2250 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2251 Fix 64-bit Windows compilability
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.
2256 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2257 Fix MSVC compilability
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.
2262 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
2263 added missing #includes and missing prototypes to filebrowser
2265 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
2267 Also cleaned up missing prototypes and some casts.
2269 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
2270 added missing header file for sprintf
2273 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
2274 added history.c to the tar-ball. Needed for Winboard
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)
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.
2285 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
2286 Revert "Implement -reset option feature in WinBoard"
2288 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
2290 picked the wrong commit from HGM's git tree.
2292 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
2293 add DIFFSTAT and SHORTLOG to tar-ball
2295 was only in the v4.4.x branch and not in master
2297 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
2298 release of version 4.5.0
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
2303 this way highlights show up again.
2305 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2306 Implement -reset option feature in WinBoard
2308 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
2309 updated Changelog, NEWS, etc.
2311 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
2312 updated parser.c form parser.l
2314 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2315 Clean up fishy patch
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
2330 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2333 The RTF file is adapted to the new menu organization.
2335 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
2345 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
2346 Updated copyright notice to 2011
2349 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2350 Greyout unavailable variants in New Variant dialog
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.
2359 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2360 Move clock-click code to back-end
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.
2368 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2369 Fix legality testing of drop moves
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.
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
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.
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
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.
2395 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2396 Remove superfluous copying of machine move
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.
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
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.
2410 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2411 Fix type-in of drop moves
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
2420 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2421 Fix move type-in truncating game
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
2429 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2430 Fix legality testing for promotions
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.)
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
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.
2448 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
2463 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2464 Fix time in PGN info
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.
2472 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
2482 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2483 Reset machine colors after match
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
2489 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2490 Reset win/loss counters before match
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.
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
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.
2503 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2504 Fix Spartan promotion to King
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.
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
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.
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
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.
2527 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2528 Fix chat window title
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.
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
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.)
2543 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2544 Add variant Spartan Chess
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.
2554 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
2561 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2562 Fix promotion suffixon disambiguated piece moves
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
2568 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2569 Fix promotion of Pawn-like Lance
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.
2576 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2577 Fix WB promotion popup
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.
2584 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2585 Fix bug in parsing variations
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.
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
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.
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
2603 The status of the shift key is remembered when space is pressed to
2604 select a board square.
2606 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2607 Disable some accelerators in JAWS version
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.
2615 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2616 Group engine-output memos with engine names
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
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
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.
2630 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2631 Update WB language template file
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
2638 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2639 Let JAWS SayString buffer full sentence
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
2646 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2647 Adapt JAWS menu to new menu organization
2649 The menus did not correspondto the texts after translation of the main
2652 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2653 Translate menus after creation of JAWS menu
2656 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2657 Fix ICS context menu for JAWS
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.
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
2665 The definitions are re-ordered so that at least JAWS 11 will speak the
2666 board-size elements properly.
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
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.
2675 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2676 Change tabbing order in WB sounds dialog
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).
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
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.)
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
2693 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2694 Fix duplicate menu character for Edit Comment
2696 Edit Comment did have the same shortcut character as Copy Game. Changed
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
2703 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
2704 new developer release
2707 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2708 Subject WB context menus to translation
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.)
2717 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2718 Update translation template
2720 Add the new menu items; add some notes.
2722 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2723 Resize buttons in WB engine-settings dialog
2725 The OK and cancel buttons were to narrow for most translations, and were
2726 a non-standard order as well.
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
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.
2735 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2736 Create space in dialogs for translation
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.
2743 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2744 Add handle for translator acknowledgement
2746 An empty string is printed in the about box, which can be 'translated'
2747 to a message acknowledging the translator.
2749 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2750 Use default logo for user
2752 When no logo with the name of the current user is found, use dummy.bmp.
2754 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
2755 added rlwrap tip to FAQ
2758 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
2759 replace hard coded paths with path from configure script
2761 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
2763 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
2764 fixed a typo in the configure script output
2767 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
2768 added a desktop file
2770 taken from the openSUSE project
2772 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2773 Fix Edit Game/Position checkmarking in WinBoard
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.
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
2783 These items are put in the options menu; the 'Old Save Style' item is
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
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.
2800 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2801 Configure arrow highlighting as default in XBoard
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).
2806 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2807 Port highlighting with arrow to XBoard
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.
2818 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2819 Strip CR from xboard.c
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
2825 Remove the automaticsuppression ofhighlighting.
2827 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2828 Fix fag-fell marker with logos on
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).
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
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).
2840 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2841 Configure EGTB cache size in adapterCommand
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.
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
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
2856 The mentioned bindings for Game List and Eval Graph were wrong.
2858 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2859 Fix sub-variation display with negative score
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
2866 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2867 Peel PV out of comment
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.
2879 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2880 Allow line-straddling result comments
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.
2890 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2891 Write key bindings in XBoard menus
2893 Unfortunately tabs are not understood in menu texts, so fine-tuning
2894 through spaces is necessary to get some sort of ragged alignment.
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
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.
2904 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2905 Configure -inc as volatile option in XBoard
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
2913 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2914 Make WinBoard clocks translation-proof
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.
2919 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2920 Improve drawing of highlight arrow
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.
2932 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2933 Alter descriptionof Analyze File menu item
2935 This menu item has been given a new function, so a new description was
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
2942 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2943 Update texi file for new menu organization
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.
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
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.
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
2961 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
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
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.
2970 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2971 Alter WinBoard menu text
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.
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
2980 By activating the scrollbar of the viewport through XtCallActionProc
2981 the move-history window is scrolled to the bottom.
2983 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2984 Fix Shogi promotion popup
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
2991 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2992 Apply gettext macros to menu texts
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
2999 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3000 Adapt some XBoard menu texts
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.)
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
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.
3018 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3019 Bugfix XBoard menu translation
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.
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
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.
3033 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3034 Let Analyze File annotate the loaded game
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)
3041 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3042 Revive Analyze File menu item in WB
3044 We will keep this menu after all, becase it can be given a new meaning.
3046 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3047 Fix spurious scores in comments
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
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
3061 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3062 Reorganize XBoard menus
3065 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3066 Reorganize WinBoard menus
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).
3073 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
3074 removed trailing whitespaces from NEWS
3077 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
3078 merged readme_HGM.txt into the NEWS file
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.
3082 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
3083 typo in date of developer release
3085 but will leave the tagged version as it is, since it's still a unique version number
3087 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
3088 new developer release
3091 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
3092 added latest version of parser.c
3095 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
3096 updated Changelog, etc for developer release
3099 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
3100 Revert "adding gnu-readline support"
3102 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
3107 better to use the (relatively) new ICS input box then add readline support.
3109 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
3110 Revert "bugfix: fixed readline support with icslogon option"
3112 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
3117 better to use the (relatively) new ICS input box then add readline support.
3119 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3120 Make Hoplite moves irreversible in Spartan Chess
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.
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
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.
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
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
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
3142 Not sure if this does any good, but it seemed illogical that this would
3143 happen in all other moves, but not drops.
3145 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3146 Define moves for Dragon Horse outside Shogi
3148 Let it move like Bishop + Wazir + Dababba.
3150 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3151 Fix safety crash when appending comments
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'.
3157 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
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.
3163 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3164 Fix default holdings size for variant seirawan
3166 The holdings for 7 pieces werealways considered an overrule, so that the
3167 variant name was prefixed with "8x8+7_".
3169 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3172 When confronted with a path name starting with ~ and not containing a /
3173 XBoard would segfault.
3175 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3176 Fix one-click moving on up-click
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.
3184 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
3185 fixed buffer size for snprintf
3188 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3189 Accept Seirawan-style gating suffixes
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).
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
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.
3200 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3201 Implement entering gating moves with mouse
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.
3208 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3209 Implement variant seirawan
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().
3220 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3221 Add -variant seirawan to menu
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
3227 A second click on the same piece was interpreted as a to-square rather
3228 than deselection of the piece.
3230 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3233 Disambiguate was imagining captures, so an only capture by double
3234 clicking your own piece did not always work.
3236 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3237 Fix mouse-driver buglet
3239 The highlights were not cleared on moves that went vertically off board.
3241 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3242 List some undocumented commands as compliant
3244 The engine->GUI commands setboard and setup are now always printed in
3245 the debug file as well.
3247 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3248 List Hint with compliant commands
3250 This command was omitted, so that in some -engineDebugOutput modes it
3251 would not appear in the debug file.
3253 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3254 Restrict use of escape expansion
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.
3261 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3262 Make safeStrCpy safe
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.
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
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.
3276 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3277 Let Engine #2 Settings start second engine
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().
3287 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3288 Newly lexed parser.c
3291 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3292 Fix bug in parsing illegal Pawn captures
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.
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
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.
3308 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3309 Give Lance moves of Berolina Pawn
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
3316 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3317 Use SAN even on illegal moves
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.
3322 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3323 Use normal SAN for wildcard pieces
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).
3329 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3332 Unused variables were removed from parser.l
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
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
3348 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3349 Implement setup (engine-GUI) command
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
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.
3364 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3365 Restrict use of a2a3 kludge
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.
3371 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3372 Remember values set by -firstOptions, -secondOptions
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.
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
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.
3388 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3389 Remove validity test on promochar from parser
3391 The backend routines Disambiguate() and LegalityTest() will catch
3392 invalid promotions, so no need to do it here.
3394 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3395 Add the actual size-33 Shogi bitmaps
3397 These were forgotten in the original commit that fixed the .rc file.
3399 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3400 Delete some stale promotion code
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.
3406 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3407 Augment moves of some fairy pieces
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...)
3417 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3418 Bugfix safeStrCpy patch, WinBoard
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.
3424 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3425 Bugfix for safeStrCpy patch for XBoard
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.
3435 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3436 Fix spurious promotions with legality testing off
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
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.
3450 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3451 Make deferral default in Shogi promotions
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 '+'.
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
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.
3475 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3476 Suppress promotion popup if piece will explode
3478 In atomic, a Pawn capture to last rank is not really a promotion.
3479 Fix choice to Queen.
3481 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Make Knight hop first straight, then diagonal
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
3488 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3489 Let -oneClickMove also work in EditGame mode
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.
3498 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3499 Make -flipBlack and -allWhite option volatile
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.
3507 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3508 Provide some sample board-texture pixmaps
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.
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
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.
3521 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3522 Implement board textures in XBoard
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).
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
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.
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
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.
3545 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
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.
3552 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3553 Add set of shogi pixmaps for XBoard
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
3562 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3563 Implement -flipBlack in XBoard
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.
3570 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3571 Disable some very verbose debug printing
3573 The internationalization seems debugged enough to do without them.
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
3578 Just so that users can switch it off if the find it annoying.
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
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.
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
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.
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
3596 Because a test for 8x8 variants was done by <= VariantShogi,
3597 rather than <, spurious move-list fetching occurred in Shogi.
3599 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3600 Fix WinBoard Lance bug
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
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
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
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
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.
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
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.
3631 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3632 Change evalgraph scale in drop games
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).
3637 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
3638 bugfix: fixed readline support with icslogon option
3640 The icslogon option sends the login and password, so we don't need to handle
3641 special cases for the readline buffer.
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
3647 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3648 Fix uninitialized variable in book code
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.
3653 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3654 Fix menu translation bug
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
3660 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3661 Allow -timeIncrement to be a float
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
3668 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
3669 adding gnu-readline support
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.
3673 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
3674 added warning if icsLogon file couldn't be opened
3677 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
3678 security fix: replaced some strcat with strncat
3680 there is still more to do
3682 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
3683 add option for silent builds
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
3688 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
3689 bugfix: missing array index
3692 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
3693 added new case for (Chessmove) 0 in common.h
3695 this cleans up a few more -Wall messages
3697 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
3698 cleaned up -Wall warnings (apart from settings some parentheses)
3700 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
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.
3706 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
3707 security fix: replaced sprintf with snprintf
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.
3711 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
3712 security fix: replaced strcpy with safeStrCpy from backend.c
3714 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
3716 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3717 Enhance multi-session TC clock handling
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
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.
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
3740 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3741 Remove promotion-piece encoding from ChessMove type
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.
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.
3755 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3756 Pass promoChar to SendMoveToICS
3758 SendMoveToICS was the only place where the promotion piece was derived
3759 from moveType, rather than an explicity passed promoChar.
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
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.
3770 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3771 Make Shogi promotion zone board-size dependent
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.
3777 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3778 Make board-size overrule options volatile
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.
3787 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3788 Strip DOS line endings from parser.l
3791 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3792 Extend mate test to drop games
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.
3798 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3799 Extend legality testing to drop moves
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().
3808 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3809 Revert splitting of UserMoveEvent
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.
3823 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3824 Fix silent bug in drop moves
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.
3830 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3831 Allow parsing of upper-case machine moves
3833 Dubious patch, as it caters to non-compliancy. Some variant engines are
3834 very non-compliant, though.
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
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.
3844 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
3845 fixed internationalization for winboard
3847 in the original commit some files were forgotten. This should fix it.
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
3852 This was done the wrong way around.
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
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.
3864 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3865 Update WB translation template
3867 The language.txt file now also contains all translatable strings from
3868 the C source files, rather than jsut the resource.
3870 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3873 Add descriptions for machine-match menu support and enhanced book
3874 control, nick-name options and language.
3876 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3877 Add some forgotten translation hooks
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
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
3886 The messages themselves are not subjected to _(), but in stead their
3887 displaying in DisplayMove is subjected to T_().
3889 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3890 Internationalization for WinBoard
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.
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
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
3912 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3913 Mark XBoard result messages for internationalization
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.
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
3922 The codelooks weird, but matchMode == 2 in this case. We then use
3923 DisplayNote() to report the match result.
3925 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3926 Trivial-draws recognition improved in Xiangqi
3928 Now based on a routine "SufficientDefence". If both have it, it is draw.
3930 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3933 The relocation of parser.c and the addition of history.c was not yet
3934 incorporated in the devcpp proect files.
3936 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3937 Fix some MSVC compile errors
3939 Some statements has moved up stream of declaratons, which is an error
3940 that gcc is forgiving about, but where MSVC is strict.
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
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.
3949 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3950 Add -colorNickNames option
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
3960 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3961 Tricked by the grossnes
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.
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
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
3980 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3981 Add some book-control options
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.
3987 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
3988 new developer release
3991 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3992 Repair exit-popup deadlock patch
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.
3998 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3999 Fix erors when compiling with --disable-zippy
4001 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
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
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).
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
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.
4023 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4024 Suggest default file name in browser dialog
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
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
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.)
4041 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4042 Add string option /pieceNickNames
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.
4053 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4054 Fix deadlock in match-result display
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.
4068 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4069 Fix WinBoard game-list title
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
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
4084 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4085 Refactoring of material-draws adjudication code
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).
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
4095 The accuracy of this type of adjudication in Xiangqi has been highly
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
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.)
4109 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4110 Fix oneClickMove bug
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.
4115 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4116 Remove duplicate testing for cores feature
4118 The testing for this BooleanFeature occurred twice.
4120 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4121 Remove misspelled prototype
4123 NewSettingEvent occurred, next to the correct one, in misspelled form.
4125 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4126 Fix parsing of SAN shogi promotions
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.
4134 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4135 Fix variant switch on PGN loading
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()).
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
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.
4149 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4150 Remove font settings from master settings file
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.
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
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.
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
4171 In addition the font-based pieces will also be flipped vertically in
4172 flipView for variant shogi when -flipBlack is off.
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
4177 At least for variants that use unorthodox pieces, so that switching back
4178 to using bitmaps is not really an option anyway.
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
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
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
4191 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
4192 Remove unnecessary double equals from configure.ac.
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
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.
4201 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4202 Repair score printing with -serverMoves option
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.
4207 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4208 Repair animate dragging
4210 The previous patch had left a stray semicolon in the mouse handler.
4212 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4213 Fix game end during dragging
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.
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
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.
4228 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4229 Reverse mousewheel action
4231 Apparently WinBoard was stepping in the opposite direction through the
4232 game in reaction to the mousewheel as every other GUI in existence.
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
4237 The keyword "usermove" was copied to the buffer, but not sent before it
4238 was overwritten by the actual book move.
4240 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4241 Fix engine stall on perpetual-check evasion
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.
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
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.
4255 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4256 Alter XBoard key bindings to mimic WinBoard
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
4265 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4269 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4270 Fix typos in html help file
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
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
4281 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4282 Allow escape sequences in telluser(error) messages
4284 The routine EscapeExpand was moved to backend.c, and applied to the
4285 message received from the engine.
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
4290 Updated the parser rules. Other move formats already allowed this.
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
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.
4298 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
4299 Fix rep-draw recognition
4301 The refactoring had broken the rep-draw recognition, by adding and extra