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.. )
6 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7 Fix use of game/position file in first match game
9 When a match was started from the menu, it was not paying attention to
10 game and position files. (Later games were.) The code that handled this
11 in the initialization when a match is started through the command line
12 was made into a routine MatchEvent, which can be called from the menu
15 2011-04-09 20:55:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
16 Fix crash on opening ICS Text Menu
18 The patch for the color defaults had broken the ICS Text Menu.
20 2011-04-09 19:22:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
21 Implement Copy Game List menu item for XBoard
23 Some WinBoard code was cloned for this.
25 2011-04-09 11:42:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
26 Third method of sweep selection
28 This method sweeps through the possible promotion choices for the piece
29 that is being dragged, as long as you drag a 7th-rank Pawn backwards. On
30 draggin such a Pawn forwards, it immediately shows it as the piece you
31 are going to promote to.
33 2011-04-08 23:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
34 Alternative sweep promotions
36 The sweep takes place on the from-square here.
38 2011-04-07 23:21:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
39 Make sweep-select promotions work in WinBoard
41 The mouse-move handler had to be connected to the PromoScroll back-end
44 2011-04-07 23:19:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
45 Fix path browsing in WinBoard
47 The routine BrowseForFolder was still declared as static in woptions.c,
48 while it was used from wsettings.c.
50 2011-04-07 11:14:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
51 Fixes to sweep selection
54 2011-04-06 23:47:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
55 Implement sweep selection of promotion piece
57 When the option -sweepPromotions is true, a click-click promotion move
58 will first display the default choice (usually Queen) on the promotion
59 square. While you have the mouse button still down, you can change the
60 piece by moving the mouse vertically.
62 2011-04-06 21:20:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
63 Implement sweep selection as alternative for the piece menu
65 When the option -pieceMenu is off, the piece menu will no longer appear
66 on right-clicks in Edit Position mode. In stead a Pawn of the chosen
67 color will appear immediately in the clicked square, and vertical
68 movement of the mouse with the right button down will cycle through
69 all other pieces defined in the pieceToCharTable of the current variant.
70 Setting the side to move is acheived by clicking the correspondig
71 clock. Clear board can be effected by clicking the clock of the side
72 that already has the move.
74 2011-03-30 18:17:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
75 Remember Tags and Comment dialog coordinates
77 The save-settings code now uses the shell and shellUp arrays from the
78 GenericPopUp to read out the window coordinates for Tags and Comment
79 window. Pointers used by GenericPopUp are set topoint to the
80 corresponding WindowPlacement structs.
82 2011-03-10 19:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
85 The generic popup is used for generating the Tags / EditTags popups.
86 The tags popup use a 'label' field to display the cmail message
88 2011-04-01 13:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
89 Implement Edit-Comment window through generic popup
91 The Edit Comment and Comment popups are combined into one, that can
92 always be edited (similar to WinBoard). It uses shell number 1.
93 (Number 0 is for all transient dialogs.) A save-changes button is added.
94 The positioning is not implemented yet.
96 2011-04-06 10:56:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
97 Refinements to generic popup and color picker
99 *) The text part of a checkbox can now be clicked to toggle the option.
100 *) Typing <Enter> in single-line text edits is ignored
101 *) Using a spin button now sets focus to the affected text edit, with
102 the insert position at the end.
103 *) Using the sample field or an RGB button sets focus to the
104 corresponding text edit, with the insert position at the end.
105 *) The adjust buttons now work in reverse, with a D button for "darker".
106 *) Editing a color field causes the sample field to update to the new
107 color when you type <Enter>.
108 *) The color pickers now define a default color, which can be instated
109 by clicking on the sample field.
110 *) Fix some 64-bit pointer warnings
112 2011-04-05 17:05:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
113 Let file browser filter on extension
115 A new text field is added in the file-browse dialog, to hold (space-
116 separated) extensions, on which the filenames are then filtered. This
117 field is initialized by the caller, depending on what we need the file
118 for, but can be changed by the user. (Directories are always displayed!)
119 Changes in the extension field become effective after typing a return
120 in it. Escape typed in the extension field gives focus to the filename
121 field, and restores the contents. Escape in the filename field cancels
122 the dialog, return ther OKs it. The extension filter of the browser is
123 initialized to the extension (if any) of the file currently in the text
124 edit you are browsing for.
125 When re-opening the file browser from the XBoard File menu, and there
126 is no suggested filename, it will now start with the last succesfully
127 opened name as suggestion. Calling the browser with a NULL argument
128 for the suggested filename requests that (unlike calling with an empty
129 string, which will start it in the current directory). To make this
130 work smoothly, the filebrowser saves the last used name on entry, so it
131 can be restored on cancel, so that a cancelled browse session really
132 erases all memory of it.
134 2011-04-04 19:26:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
135 Fix animation masks on changing piece pixmaps
137 The animation masks were not remade when new pieces were loaded
138 interactively through the board-options dialog.
140 2011-04-04 19:09:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
141 Fix linegap option in board dialog
143 The lineGC was not recalculated, so the grid lines stayed the same
144 thickness. In addition, setting the line-gap override to -1 now
145 retrieves the original line gap that belongs to the current board size.
147 2011-03-05 23:27:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
148 Make a kind of ICS text menu in XBoard as a dialog
150 The dialog with buttons can be opened from the View menu. It is
151 configured by the option -icsMenu; a default setting for this is
152 included in the master settings file.
153 The commands specified by the -icsMenu can now contain $name and $input
154 keywords, which will be replaced by the current primary selection, or
155 text the user types, respectively. Commands that contain $name will not
156 be sent when the current selection is empty. Commands that do not
157 contain $input will be sent to the ICS immediately; otherwise they will
158 be placed in the ICS Input Box, with the cursor at the point of the
159 $input, and input focus given to the Input Box, so the user can start
160 typing. When a command is prefixed by "$add " it will be appended to the
161 existing ICS Input Box contents, rather than replace it.
162 The items now have to be separated by ";\n", and button text from
163 command by ';' (with optional linefeed). This allows configuring of
164 multi-line commands, as a single linefeed no longer has special
167 2011-03-31 13:36:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
168 Redo ICS input box with generic popup
170 This box is just a single text edit, but the complexity is in the added
171 callbacks. These callbacks remain in xboard.c, and were altered to
172 access the edit through the option.handle field.
174 2011-04-03 12:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
175 Activate -path and -file options
177 In XBoard the generic popup was prepared for this. In WinBoard, for
178 -path options the BrowseFolder routine is used, and had to be made
179 global (prototype in winboard.h).
181 2011-04-02 18:40:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
182 Let generic popup generate Engine Settings dialog
185 2011-04-02 18:36:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
186 Merge SettingsPopUp into GenericPopUp
188 Based on currentCps the values read from the dialog are sent to the
189 engine, or stored into the option.target in the callback, and fetched
190 from the option.target in the PopUp. The currentCps is cleared in the
191 generic popdown of a transient dialog.
193 2011-03-06 10:11:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
194 Make generic dialog popup reentrant
196 To allow persistent dialogs to be implemented through the generic popup,
197 it must be possible to have several dialogs open at the same time, and
198 thus make sure the popdowns under the cacel or close-window button know
199 which one to pop down. To this end an array shells[] is created that
200 takes over the function of settingsShell, and GenericPopUp gets an extra
201 parameter telling it which element to use for storing the dialog shell.
202 This number is then also passed to the callbacks that trigger popdown.
203 This was a bit nasty for the CatchDeleteWindow stuff, which passes user
204 data to the callback as text strings.
205 Keep a separate up/down indicator, so that shell widgets can be kept
206 for persistent dialogs. Also keep a currentOption per dialog type.
207 The coordinates and size of the window is read out and stored in a
208 WindowPlacement structure, (if one is specified for that dialog), when
209 the dialog is popped down. When initialized the structure is also used
210 to set the window parameters when the dialog is created. (The idea being
211 that the structure was saved in the settings file.)
212 The routine MarkMenu checkmarks a given menu item, and logs it for the
213 given dialog type, so that a later popdown automatically unchecks is.
215 2011-02-25 12:14:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
216 Implement Machine Match menu item and options dialog
218 An item to start a match from the menu is added, similar to what
219 WinBoard has. (The code is duplicated, so I guess it should be moved to
220 the back-end now, as MachineMatchEvent(), but it was tiny.) A dialog in
221 the Options menu was added with the aid of the generic popup, and allows
222 the user to set the load Game / Position File and Index.
224 2011-04-01 14:54:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
225 Create General-Options dialog
227 The generic popup is used to implement a General-Options dialog, which
228 contains all Boolaen options that used to be set directly from the main
229 Options menu, plus a spin option for the flash count and flash rate.
230 The corresponing options are removed from the main Options menu, but the
231 whole thing is made conditional on a compiler switch OPTIONSDIALOG.
232 The dialog needs an OK callback for sending an altered ponder-state to
233 the engine. (Why isn't this option disabled in -ncp mode, btw?)
234 A spin control is added to adjust -animateSpeed between 5 and 100.
235 Add dropMenu and showTargetSquares item as well.
237 2011-04-01 18:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
238 Redo new-variant dialog with generic popup
240 Some special code was added in GenericPopUp() to force buttons of the
241 type needed in the New Variant dialog (wide, colored, greyed-out on
242 variant type). The dialog was implemented with these, and callbacks for
243 the buttons directly exit the dialog, without the need for OK. New spin
244 controls are added to the dialog for adjusting the board format.
246 2011-04-01 14:48:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
247 Redo common-engine dialog with generic popup
249 The ponder option was removed, as it is already in the main Options
250 menu, and would require nastiness in the OK callback. Added book options
251 in common-engine dialog.
253 2011-02-24 13:32:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
254 Redo adjudications dialog through generic popup
256 We dropped the periodic-updates option, as it is already in the main
259 2011-04-01 21:56:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
260 Make sounds dialog for XBoard
262 This uses the combo boxes. A 'play' button isimplemented for a test
263 sound. A sound directory is introduced, and can be set through the
264 dialog. A default setting for -soundDirectory is added to xboard.conf.
266 2011-04-01 23:11:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
267 Add ICS options dialog
270 2011-04-01 21:52:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
271 Add board dialog XBoard
273 The GenericPopUp() is used to implement a dialog for board options. The
274 board dialog needs to trigger redraw and redefinition of the
275 colors, through an OK callback. Color-pickers are used for the 6 basic
277 To allow changing board settings during the session (i.e. from a menu
278 dialog), the routines to allocate resources have to free the resources
279 for the previous settings first. This patch take care of XtCreateGCs(),
280 preventing re-creation of resources that are unchangeable (such as the
281 grid color), and calling XtReleastGC() on GCs that can be changed.
282 To prevent resource leaks the old pixmaps are deleted before making new
283 ones on second or later calls of CreateXPMPieces().
285 2011-04-03 11:39:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
286 Add browse button to generic popup
288 Options of type FileName and PathName cause a browse button to be added
289 behind the text field. The SpinCallback is used to handle the
290 button presses, and invokes the file browser dialog to obtain a
291 filename, which is then copied to the text field.
293 2011-04-01 21:49:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
294 Make generic XBoard popup, and implement 2 dialogs
296 The Engine-Settings dialog of XBoard was cloned to work on predefined
297 lists of (XBoard) options, rather than engine options. An extra field
298 was added to the Option struct, to hold a pointer to the XBoard variable
299 that should hold the option setting, so on OK'ing the dialog the altered
300 values can be copied there. Not usable for options which should trigger
301 an action (like redraw, or sending something to the engine).
302 A Load Game, Save Game and ICS Options dialog were then defined by
303 tables fed to GenericPopUp(). Options set from these dialogs were removed
304 from the main Option menu, which removes a lot of code from xboard.c
305 (for checkmarking, disabling the menu items).
306 A button defined in the GenericPopUp can attain the color indicated
307 by a previous text field, and add a callback to change the color in a
308 spin-like manner (but using R G B W in stead of + - butons).
309 The EndMark option can specify a callback, to be used on OK.
310 A non-zero max field in the Option descriptor will be used to set the
311 width of ComboBox, TextBox and Button optons.
312 The elements are chained such that extra space goes fully into the input
313 fields. A label type is added for clarifying texts that would not fit in
314 the option names. A break-type (pseudo-)option is added. Make OK and
315 cancel button suppressable in generic popup (by 2 bit of the option.min
318 2011-04-03 11:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
319 Add file-browser option to just return name
321 By passing mode "f" the file browser dialog will not open the selected
322 file at all, so it can be used to retreive the name for the benefit of a
323 file-browser button to a -file option. A mode "p" will limit the
324 selection to directories only, to browse for a path.
326 2011-04-03 13:15:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
327 Put insertion point at end of text on SetFocus
330 2011-04-05 23:47:34 -0700 Arun Persaud <apersaud@lbl.gov>:
331 fixed 64 bit warnings by casting integers to intptr_t before casting to int
334 2011-04-05 23:24:24 -0700 Arun Persaud <apersaud@lbl.gov>:
335 removed check and #includes for malloc.h, since it's not needed
337 hopefully this doesn't break things on non-linux systems. OS X seems to be ok, not sure about others ;)
339 2011-04-03 20:23:49 -0700 Arun Persaud <apersaud@lbl.gov>:
340 check if malloc.h is present before including it
342 OS X 10.6 doesn't have malloc.h, so it complained.
344 2011-04-03 20:01:36 -0700 Arun Persaud <apersaud@lbl.gov>:
345 Fix bug introduced in commit 89b4744: removed a "/" and forgot to add it in the config file
347 removed a "/" to make OS X happy, but forgot to add the "/" again in the xboard.conf.in file
349 2011-03-12 14:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
350 Fix display of promotion piece in ICS superchess
352 In Great Shatranj and Superchess promoted Pawns were displayed as shadow
353 piece because these variants had holdings, while captured pieces should
354 go back into the holdings unchanged, rather than reverted to Pawns.
356 2011-03-13 14:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
357 Fix o-o castling in new parser
359 The non-compliant notation of castling with lower-case 'o' should be
360 preferred over the non-compliant interpretation of moving a Pawn along
361 the o-file. Not doing so breaks ICS play, as ICS use o-o and o-o-o for
362 castling! So an exception is now made for the o-file in the 'fxg'
365 2011-03-10 19:27:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
366 Implement yynewstr entry point in new parser
368 This entry point, used for parsing an ICS move list, was forgotten, and
369 was still an empty routine. This made XBoard crash when observing an ICS
372 2011-03-07 23:11:00 -0800 Arun Persaud <apersaud@lbl.gov>:
373 fixed wrong default for polyglotDir mentioned in docs.
375 Thanks to Hans Aberg for reporting it.
377 2011-03-05 12:39:01 -0800 Arun Persaud <apersaud@lbl.gov>:
378 Fix "make install" on Os X10.6.6 (removed a "/")
380 seems like an extra "/" made "make install" unhappy
382 2011-03-03 21:19:05 -0800 Arun Persaud <apersaud@lbl.gov>:
383 removed parser.l from build process, also removed flex dependency from configure
386 2011-03-02 22:14:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
387 New parser, written in C
389 A new parser was written to replace the flex-generated one. Immediate
390 improvements are that it understand double-digit rank numbers, and Shogi
391 coordinates. No changes were made in the Makefile yet to reflect the
392 new, flexless building procedure.
394 2011-03-02 22:23:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
395 Fix bugs in FRC castling rights
397 When parsing a castling move in FRC when no rights existed, the parser
398 returned 0 (= EndOfFile) rather than ImpossibleMove. The recognition of
399 the absence of rights was not adapted to the new encoding NoRights in
402 2011-03-01 23:42:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
403 Fix parsing bug of FRC castling
405 The code that was supposed to intercept castling when no rights existed
406 in FRC was not adapted to the new encoding for this by NoRights, rather
407 than -1, and furthermore returned 0 (= EndOfFile) rather than
408 ImpossibleMove. Not sure if the former would manifest itself in any
409 way, but the latter seems bad.
411 2011-03-01 23:32:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
412 Fix two bugs in reading position diagram
414 When reading a game without FEN tag, a position diagram is used to set
415 the initial position. This calls CharToPiece() with a '.' as argument,
416 because that is the position-diagram way to indicate empty squares.
417 altered CharToPiece() over time this would be recognized as the first
418 undefined piece or, more recently, the first piece without nickName,
419 which is a white Pawn. Now it returns EmptySquare again in that case.
420 A second problem was that for position diagrams in braces the brace was
421 not in the list of ignored characters, and would cause the reading to
422 get out of phase, so that the side to move was not recognized.
424 2011-02-26 21:12:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
425 Fix flipBlack option XBoard with board texture
427 In XBoard -flipBlack is implemented by swapping white and black pieces,
428 because the Shogi bitmaps from XShogi are made that way. But the mask
429 used to cut out the whole in the board texture to fit the piece was not
430 swapped, both when drawing static pieces, as well as during animation.
432 2011-02-25 14:38:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
433 Improve repairing damage of arrow highlight XBoard
435 With line gap the highlight arrow necessitated redrawing of the entire
436 board, to repair damage on the grid. This interfered with flashing of
437 pieces, which was only done on selective redraws. In stead of forcing a
438 total repaint we now just redraw the grid lines.
440 2011-02-23 16:41:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
441 Fix unintended translation in debug file
443 The words "first" and "second" (cps->which) were sometimes used in
444 context that should definitely not be translated. (e.g. the indicator
445 for which engine printed/got the line in the debug file.) So translation
446 is now deferred to all uses in popups.
448 2011-02-23 16:29:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
451 The nps settingwas tested for being > 0 in stead of >=0, so that the
452 case of CPU time was not properly handled.
454 2011-02-24 19:06:27 +0100 Kamil Blank <caceel@gmail.com>:
455 Added missing fclose()
458 Signed-off-by: Arun Persaud <apersaud@lbl.gov>
460 2011-02-20 16:12:19 -0800 Arun Persaud <apersaud@lbl.gov>:
461 release of version 4.5.1
463 2011-02-20 16:10:16 -0800 Arun Persaud <apersaud@lbl.gov>:
464 updated Changelog, NEWS, etc.
466 2011-02-20 20:36:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
467 Fix two typos in option names in texi file
469 Polyglot was capitalyzed
471 2011-02-20 00:03:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
472 Fix some resource leaks
474 Some files were opened not closed in XBoard, when loading XIM images
475 (which I doubt anyone ever does) but also when copying the clipboard
476 (which has the potential of being done very often). There was also some
477 code that would not work if conditional code which is permanently
478 disabled would be enabled.
480 2011-02-17 20:17:04 -0800 Arun Persaud <apersaud@lbl.gov>:
481 new developer release
483 2011-02-17 20:14:38 -0800 Arun Persaud <apersaud@lbl.gov>:
484 updated Changelog, NEWS, etc.
486 2011-02-17 15:40:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
487 Fix MSVC snprintf problem
489 In MSVC snprintf has to be redefined as _snprintf, and this happens
490 conditionally in config.c. But the latter was not #included in help.c.
492 2011-02-16 19:41:27 -0800 Arun Persaud <apersaud@lbl.gov>:
493 updated configure.ac to check for Xaw header files
495 check for Xaw header files when --without-Xaw3d was given. Before the test was
496 only done when Xaw3d was specified, but could not be found.
498 If Xaw3d or Xaw can't be found, print a hopefully useful error message and exit the configure script.
500 2011-02-16 12:03:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
503 Channel 0 messages were not displayed in the console, because the test
504 for channel number considered every non-numeric or non-existent handle
505 in a chatbox to be zero. So the messages were diverted to a non-exsting
506 chatbox. Now it test first for the handle to start with a digit.
508 2011-02-15 19:13:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
509 Make language choice from menu persistent
511 Set appData.language to the chosen language file, or empty if English is
512 chosen, so that the choice is saved with the settings. Increase the
513 number of possible language choices from 5 to 20. (After all, we already
516 2011-02-14 11:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
517 Fix showing of user move after adjudication
519 The correction of the fishy patch (removing ShowMove() from Adjudicate())
520 had broken the adjudication of user moves (that actually did work before
521 the fishy patch, because there the gobal fromX/Y and toX/Y do contain
522 the correct values for the move to be shown). An entered move that led
523 to adjudication (like a checkmate) now was not displayed at all. Adding
524 an extra ShowMove() after (successful) return of Adudicate() solves it.
526 2011-02-13 23:49:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
527 Fix Xiangqi King facing
529 The Spartan patch had broken the CheckTest for Xiangqi, because cl.check
530 was cleared after the King-facing test, rather than before it.
532 2011-02-13 22:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
533 Fix variant janus size prefix
535 The default board size of Janus Chess was not consistently taken to be
536 10x8, which resulted the name to be sent as 10x8+0_janus to the engine.
538 2011-02-13 12:18:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
541 The test for Alfil (suppressing single steps on the Elephant) contained
542 a wrong logical operator, so that it could never be active. It also
543 failed to include Xiangqi as variant with traditional Alfil. This led to
544 one-step moves of the Elephant in these variants, and false check or
545 unreliable mate detections.
547 Fix move of Xiangqi Elephant
549 2011-02-09 23:19:09 -0800 Arun Persaud <apersaud@lbl.gov>:
550 fixed configure script to correctly detect Xaw3d library
553 2011-02-06 22:07:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
554 Fix unmarked translation
556 The file-browser wndowtitle in WB was not marked for translation.
558 2011-02-04 10:27:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
559 Put warning in HTML help
561 A warning is added that the help file is not yet updated for the new
564 2011-02-04 10:22:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
565 Fix 64-bit Windows compilability
567 The API interface for Set/GetWindowLong has been changed for 64-bit
568 Windows, both in the name of the call as in the arguments.
570 2011-02-04 10:21:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
571 Fix MSVC compilability
573 Both the makefile and the project file had to be adapted for the new
574 source file history.c, and the new location of parser.c.
576 2011-02-05 10:11:58 -0800 Arun Persaud <apersaud@lbl.gov>:
577 added missing #includes and missing prototypes to filebrowser
579 thanks to Max Funk for reporting. Now using HAVE_DIRENT_H.
581 Also cleaned up missing prototypes and some casts.
583 2011-02-05 09:21:48 -0800 Arun Persaud <apersaud@lbl.gov>:
584 added missing header file for sprintf
587 2011-02-03 08:50:50 -0800 Arun Persaud <apersaud@lbl.gov>:
588 added history.c to the tar-ball. Needed for Winboard
591 2011-01-31 23:03:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
592 Fix deselection of greyed-out variant button (WB)
594 In Windows a disabled radiobutton refuses to deselect when you select
595 another (enabled) button from the group. There are then 2 buttons
596 checked, and the code to readout the buttons took the first one. Now it
597 is changed to take the first enabled one.
599 2011-02-03 08:28:15 -0800 Arun Persaud <apersaud@lbl.gov>:
600 Revert "Implement -reset option feature in WinBoard"
602 This reverts commit efecf86cd9b54072c6a2f38d62f1d775e69c545b.
604 picked the wrong commit from HGM's git tree.
606 2011-02-01 22:01:12 -0800 Arun Persaud <apersaud@lbl.gov>:
607 add DIFFSTAT and SHORTLOG to tar-ball
609 was only in the v4.4.x branch and not in master
611 2011-01-30 09:52:15 -0800 Arun Persaud <arun@nubati.net>:
612 release of version 4.5.0
614 2011-02-01 07:41:04 -0800 Arun Persaud <apersaud@lbl.gov>:
615 changed size of borders around squares from 0 to 1 as a default
617 this way highlights show up again.
619 2011-01-29 20:11:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
620 Implement -reset option feature in WinBoard
622 2011-01-30 10:12:08 -0800 Arun Persaud <arun@nubati.net>:
623 updated Changelog, NEWS, etc.
625 2011-01-30 09:56:39 -0800 Arun Persaud <arun@nubati.net>:
626 updated parser.c form parser.l
628 2011-01-29 19:59:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
631 None of the ShowMove() calls in Adjudicate() was working, because when
632 this code was taken out of HandleMachineMove() it was taken outside the
633 scope of the local fromX, fromY etc. there, so that it started using the
634 global variables from the mouse driver. As these usually contain -1,
635 this suppressed move animation and highlighting. All these calls have
636 now been removed, and ShowMove() is called after a positive return (from
637 HandleMachineMove(), so within the correct scope).
638 This improves the previous fix, which led to some flicker, because the
639 erroneous ShowMove() calls did draw the new board (instantly), wich in
640 the fishy patch was then immediately overwritten by the old position, to
641 start animation. This drawing of the old position is now no longer
644 2011-01-29 13:36:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
647 The RTF file is adapted to the new menu organization.
649 2011-01-29 13:31:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
652 The highlight-with-arrow and one-click-move menu items are described.
653 The highlightMoveWithArrow and variations option are described.
654 Load Next /Previous Position descriptions are moved to File menu.
655 The description for entering variations is updated (using Shift key).
656 The remark that editing holdings is impossible is removed.
657 Spartan Chess is added to the list of supported variants.
659 2011-01-28 18:35:48 -0800 Arun Persaud <arun@nubati.net>:
660 Updated copyright notice to 2011
663 2011-01-24 15:01:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
664 Greyout unavailable variants in New Variant dialog
666 The WB radio-button code is refactored to be driven from a list (which
667 must be kept in phase with the variant definitions in common.h!). It now
668 also checks if the first engine supports the variant, and greys out the
669 item if it isn't. XB now also makes this check. Slight re-ordering of
670 10x8 variants there, to have the more common on top.
671 If no radio button is selected, keep old variant even on OK.
673 2011-01-19 11:10:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
674 Move clock-click code to back-end
676 Some duplicated (or should-be-duplicated) code for handling clicks on
677 the clocks from the XBoard and WinBoard front-ends was merged and
678 relocated to the back-end, so it can be shared. Noticeable was that
679 XBoard allowed turn change in ICS examine mode by clock clicking,
680 while WinBoard did not. WB, on the other hand, allowed clock adjustment.
682 2011-01-16 23:15:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
683 Fix legality testing of drop moves
685 Drops of noexistent pieces (i.e. with a piece indicator letter that is
686 not corresponding to any defined piece) are now parsed as
687 ImpossibleMove, rather than IllegalMove, so they are also rejected with
688 legality testing off.
690 2011-01-17 00:28:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
691 Fix WB Sound Options greyout and remove some grossness
693 The sound and ICS Options menu items in WB were accessed 'by position',
694 with fixed defined positions (always messing up any reorganization of
695 the menus when you forgot to redefine the position constants in
696 winboard.h). And not only that, but for completely mysterious reasons,
697 the greying of the sound item greyed out the game-list options (above
698 it) in stead when it was defined as 9, and the ICS options (below it)
699 when it was 10 !!!. Now they are addressed 'by command' (and the
700 position definitions are removed), which fixes things.
702 2011-01-25 21:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
703 Re-instate load next/prev position menu items
705 As positions do not use something similar to the game list, these are
706 still useful. For some reason I could not get Alt+Shift+PgUp/Dn to work,
707 so I settled for Shift+PgUp/Dn.
709 2011-01-16 21:56:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
710 Remove superfluous copying of machine move
712 There was explicit code in HandleMachineMove() and FinishMove() to put
713 the move in the moveList, while MakeMove() already does this later in a
714 more reliable way by calling CoordsToComputerAlgebraic(). This
715 superfluous code is removed now.
717 2011-01-16 21:44:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
718 Fix spurious mate test in Edit Game mode
720 When entering a game, it was terminated by the mate test even when
721 legality checking was switched off (so that mates might not be reliably
722 recognized). The mate test is now made dependent on legality testing.
724 2011-01-16 21:37:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
725 Fix type-in of drop moves
727 Drop moves entered through the move type-in already come in the (piece,
728 DROP_RANK, x, y) format, rather than having a holdings from square. This
729 caused UserMoveEvent to consider them illegal when testing if the
730 piecewas of the side to move, and when this was fixed, to recognize
731 Knight drops as coming from between board and holdings (and thus
734 2011-01-16 21:31:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
735 Fix move type-in truncating game
737 Starting a new variation by keeping Shift pressed did not work when
738 OK'ing the move type-in, because there was some code ther that truncated
739 the game. While this could be safely left to UserMoveEvent, which it
740 calls, as the situation is not different from entering moves through the
743 2011-01-11 16:12:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
744 Fix legality testing for promotions
746 Turns out WB has never tested for the legality of the chosen promotion
747 piece, and would allow promotion to King innorml chess even with
748 legality testing on (when entered through the keyboard)! Now strict
749 testing is done, outlawing Pawns and Kings (or Unicorns in
750 Knightmate). Only in suicide / giveaway Kings are stillallowed, and in
751 spartan a black King if you do not have two yet.(And promotion
752 toLnce,representing Hoplite Pawn,is forbidden there.)
754 2011-01-11 11:34:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
755 Reset 50-move counter on all pawn-like Lance moves
757 Now the Lance represents a Pawn-like piece not only in variant fairy,
758 but anywhere outside Shogi / Superchess, its moves should also reset the
759 50-move counter in those cases. Especially important for Spartan Chess,
760 where the Lance actually participates.
762 2011-01-11 11:18:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
765 The logos were not repainted when the main window was moved out of the
766 display area, and then back into view. The reason for this is
767 unknown, as the PaintProc calls HDCDrawPosition, which was calling
768 DrawLogoOnDC. But the logos were not drawn, (or on an expose event
769 sometimes half drawn!) despite the fact that the rest of the board was.
770 The drawing of logos now has been decoupled from drawing the board,
771 and has been moved to a separate routine DisplayLogos() (in analogy to
772 DisplayBothClocks()). This is cleaner anyway, as the logos usually do
773 not change when the board does. So apart from in PaintProc, it has only
774 to be called when the mode changes (ModeHighlight()) or on swap clocks.
775 This seems to fix the problem.
777 2011-01-10 20:36:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
780 Saving of the thinking time in the PGN was broken by the patch that
781 removed the race condition in the clock switching, because that moved
782 the incrementing of forwardMostMove to behind the code that used fmm to
783 index pvInfoList. As a result the time was stored in the slot for the
784 opponent's previous move. The value is corrected now.
786 2011-01-09 00:24:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
789 The move that delivers checkmate in two-machines mode is not animated
790 when adjudication is on. There then also is no highlighting of this move
791 Redrawing the board and calling ShowMove fixes it. Which is rather
792 strange, because ShowMove was already called in Adjudicate (when it
793 adjudicates), before GameEnds. For reasons that are not understood this
794 call to ShowMove() (which calls AnimateMove()) is not effective.
796 2011-01-09 00:21:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
797 Reset machine colors after match
799 The colors each engine playse are set to the originals after the last
800 match game, so that a new match or two-machines game will not have
803 2011-01-09 00:15:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
804 Reset win/loss counters before match
806 The win/loss counters were not reset, because the code counted on them
807 being initialized to zero. But with matches startable from the menu,
808 this is no longer true after the first match.
810 2011-01-09 00:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
811 Show move that causes false illegal-move claim
813 Without claim testing XBoard takes back moves that an engine objects to.
814 But when the engine is forfeited for a false claim, the move should of
815 course stay. So the claim test is moved to before the take-back.
817 2011-01-09 00:05:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
818 Fix Spartan promotion to King
820 Promotions toKing were refused when in check, because XBoard thought
821 they would not resolve the check. Now the promotion is actually
822 performed before doing the check test.
824 2011-01-05 17:31:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
825 Fix WB font-based piece rendering on variant switch
827 The piece bitmaps were only created from the font characters when the
828 number of ranks or files changed, because it was done in
829 InitDrawingSizes(). This caused missing pieces when changing to a
830 variant on the same board that used other pieces. Now InitDrawingSizes()
831 is called for any variant switch.
833 2011-01-05 17:25:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
834 Fix right-alignment pproblem in WB ICS window
836 Use of Ctrl-R to summon the context menu still trickled through to the
837 default text-edit window routine, and caused right-alignment. This was
838 because the text-edit reacts on keyDown rather than the character event.
839 KeyDown of R with Ctrl pressed is now also intercepted and ignored.
841 2011-01-03 13:04:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
842 Fix chat window title
844 The title was using the engine name, rather than the ICS handle, which
845 did not work outside zippy mode. Now it only uses the engine name when
846 no ICS handle is known. The titleis now also subjected to translation.
848 2011-01-03 12:50:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
849 Fix spurious reading of old game title by JAWS
851 Because focus was switched to the board window before loading the
852 selected game from the game list, the titlebar still contained the
853 name of the previously loaded game, which would spontaneously be read by
854 JAWS. Now the focus switch is done after loading the new game (which
855 updates the window title.)
857 2011-01-03 12:37:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
858 Add variant Spartan Chess
860 In the WB menu it takes the place of the defunct Twilight Chess item.
861 The setup routine needed patching for setting up Lances in stead of
862 Pawns for black, the check test had to be adapted to handle duple check,
863 Alfil and Dragon moves were fine tuned in this variant to make the exact
864 moves, and the promotion popup was adapted to show King and interpret
865 Rook and Bishop as Dragon and Alfil for black. The Alfil now always
866 moves as Modern Elephant except in Shatranj and Courier.
868 2011-01-03 12:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
871 Due to a bug in logical operators drops were tried for mate evasions
872 even in non-drop games, which broke it in Superchess and Great Shatranj,
873 and wasted CPU time in other variants.
875 2011-01-05 17:19:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
876 Fix promotion suffixon disambiguated piece moves
878 The promotion suffixon piecemoves that needed disambiguation was not
879 passedon to the back-end in most variants. Now it is passed on in any
882 2011-01-03 12:08:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
883 Fix promotion of Pawn-like Lance
885 In variants where the Lance is used to represent an unorthodox Pawn, it
886 must promote when it reaches last rank. With legality testing on,
887 however, the promoChar was ignored in ApplyMove in this case. The
888 promotion suffix also was not appended in SAN moves.
890 2011-01-03 11:57:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
891 Fix WB promotion popup
893 The promotion popup did not work properly in variants where black did
894 not use the pieces that white wanted to promote to. Now the character
895 for the selected piece is taken from the piece encodings of the side to
896 move. In addition, selection of undefined pieces is ignored.
898 2011-01-02 14:17:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
899 Fix bug in parsing variations
901 The moves parsed from a variation were stored in the moveList without
902 appended linefeed. This caused errors if the variation extended to
903 beyond the end of the main line,into a hitherto unused part of the move
904 list, as the linefeed was then not there from the overwritten move. As a
905 result moves sent to the engine were concatenated, triggering
906 illegal-move messages and bringing the engine out of phase.
908 2011-01-02 14:11:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
909 Define Ctrl-R as right-click in WB Comment dialog
911 To allow JAWS users to load a variation through the keyboard, Ctrl-R is
912 equated to a right click at the position of the caret or selection.
914 2011-01-02 14:10:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
915 Allow starting a variation from keyboard entry in WB-JAWS
917 The status of the shift key is remembered when space is pressed to
918 select a board square.
920 2011-01-02 14:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
921 Disable some accelerators in JAWS version
923 Single-key accelerators that could result in irreversible data loss are
924 undesirable, because the risk of accidentally pushing them is too large.
925 So the non-Alt duplicates of next/previous game/position are disabled,
926 as are Home and End for Revert and Truncate Game. JAWS users will have
927 to rely on the menus for those functions.
929 2011-01-02 13:59:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
930 Group engine-output memos with engine names
932 The engine names are now defined just before the text edits, so that
933 JAWS 11 will read the engine name when the memo for the output of that
934 engine is selected. (JAWS 10 will still read the NPS, as it reads in
937 2011-01-02 13:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
938 Put nr CPU earlier in tab cycle of WB Common Engine dialog
940 By defining the max CPU control after hash size, the tabbing steps
941 through the controls in geometrical (and logical) order, rather than
942 having the max CPU in between the book controls.
944 2010-12-29 23:47:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
945 Update WB language template file
948 2010-12-29 23:41:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
949 Subject JAWS menu and spoken strings to translation
952 2010-12-29 23:37:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
953 Let JAWS SayString buffer full sentence
955 The meaning of the flag parameter of SayString was changed to indicate
956 buffering of flushing. On flushing a message of a single space is used
957 as a kludge to indicate interruptability. Calls to force flushing where
960 2010-12-29 23:32:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
961 Adapt JAWS menu to new menu organization
963 The menus did not correspondto the texts after translation of the main
966 2010-12-29 23:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
967 Translate menus after creation of JAWS menu
970 2010-12-29 23:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
971 Fix ICS context menu for JAWS
973 The Ctrl+R key did select text at the mouse pointer in stead of at the
974 curser, now that up and down-click were combined.
976 2010-12-29 23:04:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
977 Reorganize order of WB New Variant dialog controls
979 The definitions are re-ordered so that at least JAWS 11 will speak the
980 board-size elements properly.
982 2010-12-29 22:57:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
983 Fix order of elements in WB time-control dialog
985 Someleading texts were defined after the text edit they referred to,so
986 that JAWS 11 associated them to the wrong one. A tab stop was added to
987 the time-odds label, to make JAWS speak it.
989 2010-12-29 22:51:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
990 Change tabbing order in WB sounds dialog
992 The 'Play' button now gets focus immediately after the controls for
993 selecting the sound, rather than at the end of the dialog (after OK).
995 2010-12-29 22:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
996 Remove tab stops on first radio button of WB dialogs
998 The New Variant and Board dialogs had a tab stop on the first radio
999 button,so that tabbing toit would automatically select variant
1000 normal or size tiny. Now it tabs straight to the current size, without
1001 changing anything. (Important for JAWS users.)
1003 2010-12-29 22:45:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1004 Put OK/Cancel last in tab cycle of some WB dialogs
1007 2010-12-29 22:29:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1008 Fix duplicate menu character for Edit Comment
1010 Edit Comment did have the same shortcut character as Copy Game. Changed
1013 2010-12-11 11:18:56 -0800 Arun Persaud <arun@nubati.net>:
1014 fixed automake process: xboard.conf couldn't be generated if $srcdir was not the current directory
1017 2010-12-11 09:50:48 -0800 Arun Persaud <arun@nubati.net>:
1018 new developer release
1021 2010-12-05 18:01:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1022 Subject WB context menus to translation
1024 The innerloopof the menu translation has been made into a separate
1025 routine. This now uses GetMenuItemInfo() in stead of ModifyMenu() to
1026 better preserve menu breaks. Menu #10 is used for context menus (from
1027 the routine that pops them up), and for this number the orignal texts
1028 are not saved in menuText. (This is not needed, because the menu is
1029 created everytime anew from the resource data.)
1031 2010-12-05 15:00:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1032 Update translation template
1034 Add the new menu items; add some notes.
1036 2010-12-05 14:04:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1037 Resize buttons in WB engine-settings dialog
1039 The OK and cancel buttons were to narrow for most translations, and were
1040 a non-standard order as well.
1042 2010-12-05 13:56:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1043 Add one-click move control to WB general-options dialog
1045 This is a duplicate of the one in the ICS options dialog, but the latter
1046 is inaccessible in non-ICS modes, and one-click move is now
1047 alsoavailable in engine mode.
1049 2010-12-05 13:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1050 Create space in dialogs for translation
1052 The translated texts often did not fit, because controls were defined
1053 needlessly small (when there was empty space between them). In these
1054 cases they have been enlarged to consume all available space. Some
1055 dialogs are made wider.
1057 2010-12-05 13:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1058 Add handle for translator acknowledgement
1060 An empty string is printed in the about box, which can be 'translated'
1061 to a message acknowledging the translator.
1063 2010-12-05 13:43:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1064 Use default logo for user
1066 When no logo with the name of the current user is found, use dummy.bmp.
1068 2010-12-05 15:46:34 -0800 Arun Persaud <arun@nubati.net>:
1069 added rlwrap tip to FAQ
1072 2010-12-03 23:24:06 -0800 Arun Persaud <arun@nubati.net>:
1073 replace hard coded paths with path from configure script
1075 use $datadir and subdirectories to store some data files. Also make files in xboard.conf use correct path.
1077 2010-12-03 23:02:09 -0800 Arun Persaud <arun@nubati.net>:
1078 fixed a typo in the configure script output
1081 2010-12-03 21:46:00 -0800 Arun Persaud <arun@nubati.net>:
1082 added a desktop file
1084 taken from the openSUSE project
1086 2010-12-03 22:44:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1087 Fix Edit Game/Position checkmarking in WinBoard
1089 Because the entries in Edit and Mode menu were pure duplicats, the
1090 entries in the wrong menu (Edit) were checkmarked while active. By
1091 defining different IDs for those in the Edit menu, those in the Mode
1092 menu are checkmarked again.
1094 2010-12-03 10:07:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1095 Add XBoard menu items for arrow highlight and one-click move
1097 These items are put in the options menu; the 'Old Save Style' item is
1100 2010-12-03 09:27:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1101 Provide menus for editing WinBoard engine and server lists
1103 The Edit Tags dialog in the WB front-end is adapted to act as a general
1104 edit for string variables, by giving it an extra parameter to indicate
1105 where to store the edited result. Menu items are added to invoke this
1106 dialog for editing the /first, /secondChessProgramNames and /icsNames
1107 options. This solves the problem that people would have to edit an ini
1108 file that they can no longer locate (because the %APPDATA% folder has
1109 different names and locations in the various Windows versions, and is
1110 often a hidden folder on top of that).
1111 There is a slight memory leak here, as the memory for the previous
1112 value of the altered string option is not freed.
1114 2010-12-02 16:18:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1115 Configure arrow highlighting as default in XBoard
1117 Set -highlightMoveWithArrow true in the xboard.conf file, and specify a
1118 lineGap of 0 to make that efficient (and the wood theme even nicer).
1120 2010-12-02 15:56:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1121 Port highlighting with arrow to XBoard
1123 Unfortuntely this duplicates a fair amount of code in the front end.
1124 Removing the arrow is done by a total repaint if there is a non-zero
1125 lineGap, because the clever algorithm for selective redrawing (based
1126 on damage) that XBoard uses does not repair damage to the grid lines.
1127 For lineGap=0, however, (for which the arrow is mainly intended) the
1128 damage mechanism is used, and the damaged squares are determined by
1129 tracing out the arrow in 64 steps, and marking all squares in the
1130 neighborhood as damaged.
1132 2010-12-02 15:55:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1133 Strip CR from xboard.c
1136 2010-12-02 14:21:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1137 Let user decide if he wants highlights in blindfold mode
1139 Remove the automaticsuppression ofhighlighting.
1141 2010-12-02 00:24:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1142 Fix fag-fell marker with logos on
1144 The flag-fell marker "(!)" that is displayed in the clock in WinBoard in
1145 two-machines mode was printed twice when the clock was split over two
1146 lines (as with logos on).
1148 2010-12-01 18:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1149 Also exempt variant seirawan from eval-scale doubling
1151 It is not really a drop game, so a scale from -7 to 7 in the eval graph
1152 is good enough (like variants great and super).
1154 2010-12-01 10:33:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1155 Configure EGTB cache size in adapterCommand
1157 The hash size, nr of CPUs and EGTB path are transferred through the WB
1158 protocol interface commands memory, cores and egtpath. But there is no
1159 WB command for detailing the EGTB cache size. So the value of the
1160 command-line option -defaultCacheSizeEGTB has to be sent to Polyglot
1161 through its startup command to make it known to UCI engines.
1163 2010-11-30 22:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1164 Move Hint and Book items to Engine menu in XBoard
1167 2010-11-30 22:17:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1168 Correct the key bindings fo view menu in texi file
1170 The mentioned bindings for Game List and Eval Graph were wrong.
1172 2010-11-30 21:25:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1173 Fix sub-variation display with negative score
1175 The test if the displayed score was the pvInfo score failed for negative
1176 scores, because floats are truncated towards zero. So the previous fix
1177 of spurious score/depth info was not working when the score was
1180 2010-11-30 18:27:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1181 Peel PV out of comment
1183 Arena stores engine PVs not in variation format, but within both braces
1184 and parentheses, before the score/depth info. This caused XBoard to
1185 overlook the score/depth info, (frustrating, e.g., the eval graph),
1186 while the PV would not be accessible for walking it as a variation.
1187 The routine that extracts the score/depth from a comment now has
1188 been made more clever, to recognize a leadin PV in the comment, and then
1189 place it in front of the comment as variation (by moving the opening
1190 brace to behind it). For some reason it does not work if the PV and
1191 score/depth were separated by a newline, but this happens quite rarely.
1193 2010-11-30 18:23:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1194 Allow line-straddling result comments
1196 Some GUIs (in particular Arena) do not have the decency to keep the
1197 result comment on a single line. In this case the parser rules would not
1198 recognize it, and treat it as a normal comment, plus an undetailed PGN
1199 result. The rules are now fixed to allow linefeeds in the comment, and
1200 between comment and PGN result. To correctly process the comment further
1201 (e.g. in game-list lines) the linefeeds are replaced by spaces in the
1202 back-end routines that do use the result comment.
1204 2010-11-30 12:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1205 Write key bindings in XBoard menus
1207 Unfortunately tabs are not understood in menu texts, so fine-tuning
1208 through spaces is necessary to get some sort of ragged alignment.
1210 2010-11-29 18:01:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1211 Configure XBoard to use wood board texture by default
1213 The texture pixmaps are sought in /usr/share/games/xboard, with names
1214 wood_l.pm and wood_d.xpm. I guess the " make install" should be adapted
1215 to put them there. XBoard is resitent to non-existence of the files,
1216 btw. It simply ignores the arguments in that case.
1218 2010-11-29 17:48:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1219 Configure -inc as volatile option in XBoard
1221 XBoard users are not used to options being persistent, and thus have
1222 many scripts assuming the timeIncrement is -1 when they don't specify it
1223 on the command line, and want to specify -mps. But a persistent -inc of
1224 0 fom a preious session would then force their -mps to zero, causing
1227 2010-11-29 17:36:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1228 Make WinBoard clocks translation-proof
1230 With logos on, the splitting of the clock over two lines assumed the
1231 lengths of the words "white" and "black" would always be 5. Used strlen.
1233 2010-11-29 14:57:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1234 Improve drawing of highlight arrow
1236 A diagonal arrow sometimes had a notch in the shaft because of
1237 independent rounding of the starting and ending point coordinates.
1238 Furthermore the width of the shaft was unnecessary variable(as a
1239 function of direction) because half the width was rounded and then used
1240 twice. Now rounding of end-points is always done towards a fixed grid
1241 of square centers, which keeps diagonals purely diagonal, and one side
1242 of the shaft is drawn relative to the other side, after the
1243 position of the latter has been rounded, so any rounding error affects
1244 the shaft width only once.
1246 2010-11-29 10:25:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1247 Alter descriptionof Analyze File menu item
1249 This menu item has been given a new function, so a new description was
1252 2010-11-29 10:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1253 Add description of Game List Options in texi file
1256 2010-11-29 09:58:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1257 Update texi file for new menu organization
1259 The descriptions are shuffled around and organized into sections
1260 corresponding to the new main menus. Where necessary the name of the
1261 items was changed to their new names. The items removed from the File
1262 menu (the next/previous/same stuff) are nowmoved to the section "other
1263 shortcut keys", as the key bindings for some of them are still active.
1265 2010-11-29 09:06:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1266 Update info on key bindings in texi file
1268 The texi file was still listing the old XBoard key bindings. Where
1269 necessary this is now changed to the new (WinBoard) bindings, and all
1270 the new bindings were added.
1272 2010-11-29 09:04:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1273 Add XBoard key bindings for Revert and Truncate
1275 Use Home key as accelerator for Revert, End for Truncate, as in WinBoard.
1277 2010-11-28 23:12:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1278 Divorce the Edit and Show Tags/Comment menu items
1280 In WinBoard the items in the Edit and View menu for Tags and Comment now
1281 have different IDs, so they can be independently controlled. Only the
1282 items in the View menu are check-marked. The items still do the same.
1284 2010-11-28 23:08:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1285 Alter WinBoard menu text
1287 The texts are slightly adapted, mostly by choosing more convenient
1288 tabbing characters for the new menu organization. The translation
1289 template is updated accordingly.
1291 2010-11-28 20:24:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1292 Let move-history window scroll to bottom after adding move
1294 By activating the scrollbar of the viewport through XtCallActionProc
1295 the move-history window is scrolled to the bottom.
1297 2010-11-27 14:38:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1298 Fix Shogi promotion popup
1300 The texts were adapted to shogi by printing new text items over the
1301 Queen and Knight buttons, but these did not alwys cover it. Now the text
1302 on the buttons is changed as it should be. Also the window title is
1305 2010-11-26 11:22:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1306 Apply gettext macros to menu texts
1308 Now texts and references are separated, the texts in the tables can be
1309 decorated with the N_() macro, so that the _() macro no longer has to be
1310 applied when they are used. (This makes the texts appear in the .po
1313 2010-11-26 11:12:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1314 Adapt some XBoard menu texts
1316 The "Show" prefix is removed from the "View" menu items, as this seems
1317 implied. An ellipsis is added to the Engine #N Settings items, which
1318 could not be there before, because periods in a menu name would break
1319 any reference to it. For some other names the ellipsis was deleted.
1320 (These were not refered to, but who knows what we will do in the future.)
1322 2010-11-26 11:03:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1323 Separate menu text from menu name in XBoard
1325 The text string in the menu-definition tables was used both for the menu
1326 text, as well as for referencing the items from the code (for enabing or
1327 checkmarking). Now these can be defined separately, so that altering the
1328 menu texts is possible without breaing any references to the item.
1329 (Moving them to another menu would still break XBoard, though!)
1330 Currently the texts and names are still the same.
1332 2010-11-26 10:48:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1333 Bugfix XBoard menu translation
1335 The gettext macro N_() was applied to the menu definition tables, but
1336 this would break any translation, as these items are both used as menu
1337 texts as well as reference for enabling and checkmarking. The routines
1338 that create the menus already apply _() dynamically to these items when
1339 they are used as menu texts.
1341 2010-11-26 10:10:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1342 Restrict drops in variant seirawan to back rank
1344 Drops aren't really llowed at all in Seirawan Ches, but there exists an
1345 engine that supports a variant where drops on the back-rank are allowed.
1347 2010-11-25 19:44:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1348 Let Analyze File annotate the loaded game
1350 By not suppressing the auto-play loop in AnalyzeFle mode, we step
1351 through the game while the engine is analyzing, and store the PV info
1352 that the engine produces, as well as the full PV (as variation comment)
1355 2010-11-25 19:41:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1356 Revive Analyze File menu item in WB
1358 We will keep this menu after all, becase it can be given a new meaning.
1360 2010-11-25 19:31:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1361 Fix spurious scores in comments
1363 The comment popup is also used to display engine PV info, but when the
1364 contents of the window is written back when we select a variation,
1365 it was treated as a real comment. This is fixed now by checing in
1366 ReplaceComment() if the comment starts with the PV info, and if so,
1367 ignore the latter. This solves the problem, but I guess the real bug is
1368 that selecting a variation tries to write the comment even if it did not
1371 2010-11-25 19:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1372 Display error for wrong use of Machine Match
1375 2010-11-24 13:30:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1376 Reorganize XBoard menus
1379 2010-11-24 11:02:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1380 Reorganize WinBoard menus
1382 New main menus Edit, View and Engine are added; the step menu
1383 disappears. The menu items are redistributed over the new menus.
1384 Sometimes duplicates are created. No adaptation of short-cut characters
1385 as made yet (as this affects translation).
1387 2010-11-20 20:20:27 -0800 Arun Persaud <arun@nubati.net>:
1388 removed trailing whitespaces from NEWS
1391 2010-11-20 20:19:30 -0800 Arun Persaud <arun@nubati.net>:
1392 merged readme_HGM.txt into the NEWS file
1394 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.
1396 2010-11-20 18:24:19 -0800 Arun Persaud <arun@nubati.net>:
1397 typo in date of developer release
1399 but will leave the tagged version as it is, since it's still a unique version number
1401 2010-11-20 18:11:01 -0800 Arun Persaud <arun@nubati.net>:
1402 new developer release
1405 2010-11-20 18:12:41 -0800 Arun Persaud <arun@nubati.net>:
1406 added latest version of parser.c
1409 2010-11-20 18:05:56 -0800 Arun Persaud <arun@nubati.net>:
1410 updated Changelog, etc for developer release
1413 2010-11-20 16:22:00 -0800 Arun Persaud <arun@nubati.net>:
1414 Revert "adding gnu-readline support"
1416 This reverts commit c95ef32a700132a134f335f857ca6f1b6f3c169f.
1421 better to use the (relatively) new ICS input box then add readline support.
1423 2010-11-20 16:19:32 -0800 Arun Persaud <arun@nubati.net>:
1424 Revert "bugfix: fixed readline support with icslogon option"
1426 This reverts commit b9cdd7422ad1037d7376bce4f8f2db2669396e83.
1431 better to use the (relatively) new ICS input box then add readline support.
1433 2010-11-19 23:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1434 Make Hoplite moves irreversible in Spartan Chess
1436 Consider Lance moves in variant Fairy (where the Lance represents the
1437 Spartan Hoplite Pawn) as Pawn moves, so they reset the 50-move counter.
1439 2010-11-19 21:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1440 Give Lance moves of Amazon in variant super
1442 Now that Lance is no longer a wild-card piece the moves of Amazon must
1443 be programmed explicitly, to keep the possibbilty to play Superchess
1444 with legality testing on.
1446 2010-11-19 18:32:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1447 Change representation of Bede in variant fairy initial position
1449 This used to be Lance, but the promoted Bishop (Dragon Horse)
1450 is more applicable. Especially now that Lance is supposed to move like a
1453 2010-11-19 18:28:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1454 Make yyskipmoves also suppress examining of drop moves
1456 Not sure if this does any good, but it seemed illogical that this would
1457 happen in all other moves, but not drops.
1459 2010-11-19 18:23:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1460 Define moves for Dragon Horse outside Shogi
1462 Let it move like Bishop + Wazir + Dababba.
1464 2010-11-17 13:40:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1465 Fix safety crash when appending comments
1467 The length limit imposed on safeStrCpy was one too short when copying
1468 an existing comment to the space allocated for the longer (concatenated)
1469 one. It allowed no space for the terminating '\0'.
1471 2010-11-17 13:38:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1474 The test for when to terminate a non-fiting string was one off, and the
1475 debug message was written stdoutin stead of debugFP.
1477 2010-11-16 12:40:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1478 Fix default holdings size for variant seirawan
1480 The holdings for 7 pieces werealways considered an overrule, so that the
1481 variant name was prefixed with "8x8+7_".
1483 2010-11-15 11:36:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1486 When confronted with a path name starting with ~ and not containing a /
1487 XBoard would segfault.
1489 2010-11-14 21:45:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1490 Fix one-click moving on up-click
1492 (First) up-clicks were not always ignored: in Edit-Game mode with
1493 one-click moving enabled this could lead to a capture being made on
1494 the down-click, and the recapture on the correspoding up-click.
1495 This has now been corrected, and only the down-click of a first click
1496 can lead to selecting a piece or a one-click move.
1498 2010-11-15 18:15:40 -0800 Arun Persaud <arun@nubati.net>:
1499 fixed buffer size for snprintf
1502 2010-11-13 23:04:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1503 Accept Seirawan-style gating suffixes
1505 The parser rules were extended to accept / as an equivalent of = in
1506 promotion-suffix notation (e.g. Nf3/H in stead of Nf3=H).
1508 2010-11-13 22:55:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1509 Use Falcon and Alfil as built-ins for Seirawan chess
1511 Where available (size 49 and 72) we use Falcon for Archbishop and Alfil
1512 for Chancelor, to better conform to the Seirawan names Hawk and Elephant.
1514 2010-11-13 20:02:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1515 Implement entering gating moves with mouse
1517 A move with a back-rank piece that starts when a piece in the holdings
1518 is selected will be interpreted as a gating move in variant seirawan.
1519 The front-end uses a 'gatingPiece' selected this way todisplay it on the
1520 from square during animate dragging.
1522 2010-11-13 18:56:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1523 Implement variant seirawan
1525 Set upthe position, including Hawk and Elephant in holdings, in
1526 InitPostion(). Suppress putting captured pieces in holding. Let
1527 promoChar indicate gating in ApplyMove(). Remove gated pieces from
1528 the holdings there. Let GenLegal() generate RxK-type castlings to act as
1529 base for gating on Rook square. Gatings are tested for legality
1530 based on the holdings content and whether they occur on the back
1531 rank. Disambiguate() also tests this. Make sure the gated pieces are
1532 printed as move suffixes in CoordsToAlgebraic().
1534 2010-11-13 18:42:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1535 Add -variant seirawan to menu
1538 2010-11-13 22:52:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1539 Fix acceptance of null-move with legality testing off
1541 A second click on the same piece was interpreted as a to-square rather
1542 than deselection of the piece.
1544 2010-11-13 22:49:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1547 Disambiguate was imagining captures, so an only capture by double
1548 clicking your own piece did not always work.
1550 2010-11-13 20:08:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1551 Fix mouse-driver buglet
1553 The highlights were not cleared on moves that went vertically off board.
1555 2010-11-12 17:17:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1556 List some undocumented commands as compliant
1558 The engine->GUI commands setboard and setup are now always printed in
1559 the debug file as well.
1561 2010-11-12 17:05:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1562 List Hint with compliant commands
1564 This command was omitted, so that in some -engineDebugOutput modes it
1565 would not appear in the debug file.
1567 2010-11-12 17:02:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1568 Restrict use of escape expansion
1570 Only expand escape sequences like \n and \t in telluser(error) comamnds
1571 that ask for it by preficing the messages by double backslash. Otherwise
1572 backward copatiblity is too severely broken for messages that display
1573 DOS-style filenames.
1575 2010-11-12 13:56:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1576 Make safeStrCpy safe
1578 SafeStrCpy was causing a lot of out-of-bound write accesses, as it was
1579 always writing the character at the length limit of the destination.
1580 Now no memory is accessed that is is not needed to hold the copy.
1582 2010-11-07 21:37:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1583 Allow clicked name internal to the icsMenu command string
1585 A command in the /icsMenu that was specified to contain the selected
1586 text or clicked word always appended this word at the end. Now the user
1587 can also configure it to appear in the middle, by putting a %s in the
1588 command string where he wants it to appear.
1590 2010-11-07 21:33:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1591 Let Engine #2 Settings start second engine
1593 If the second engine is not yet running, it would be impossible to use
1594 the settings dialog for it, as the features have not been received and
1595 the dialog will be empty. So the user could not adjust the engine
1596 parameters before starting a match. Using this menu now automatically
1597 starts the engine, and delays the appearence of the popup untill the
1598 features are received, using a similar mechanism as in
1599 TwoMachinesEventIfReady().
1601 2010-11-01 19:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1602 Newly lexed parser.c
1605 2010-11-06 19:55:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1606 Fix bug in parsing illegal Pawn captures
1608 When a pawn move of type exf5 was illegal, the parser made an attempt to
1609 interpret it as e.p. capture of f5. This, however, messed up the move,
1610 so that it was now permanently mistaken for e5xf6. Even in cases with
1611 legality testing off, where you would want the original move to be
1612 accepted despite the fact that it was illegal.
1614 2010-11-06 19:49:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1615 Keep last PV while clearing engine-output display
1617 When ponder is on, the display is cleared immediately when the last line
1618 of thinking output appears by the appearing ponder output. So you would
1619 never get the chance to see it. This line is now re-written after
1620 clearing, so it appears at the bottom of the output for the next search.
1622 2010-11-06 19:45:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1623 Give Lance moves of Berolina Pawn
1625 In stead of using it as a wildcard piece, the Lance gets the moves of
1626 the Berolina Pawn (straight capture, diagonal move). The initial double
1627 osh can be a ump, though. (So it is really a Hoplite Pawn from Spartan
1630 2010-11-06 19:42:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1631 Use SAN even on illegal moves
1633 If there is only one piece of type T, moves like Ta1 or Txa1 are never
1634 ambiguous, so adding the from square is just cumbersome.
1636 2010-11-06 19:34:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1637 Use normal SAN for wildcard pieces
1639 SAN often can also be used with pieces we don't know the moves of, e.g.
1640 if there is only one of that type. We just always get rank or file
1641 disambiguators if there are more (even when they might be unnecessary).
1643 2010-11-06 14:52:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1646 Unused variables were removed from parser.l
1648 2010-11-06 14:43:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1649 Allow arbitrary nesting of sub-variations in PGN input
1651 The parsing of subvariations is moved out of the state-machine parsing,
1652 to allow arbitrary nesting. In stead of the entire sub-variation being
1653 parsed by lex as Comment, it now returns Open and Close for the
1654 corresponding parentheses, which are then handled in a wrapper routine
1655 for yylex(): Myylex(). Problem was that yy_text is supposed to return
1656 the entire parsed text of the returned symbol, which thus has to be
1657 collected. To make this possible, yylex has to return everything that it
1658 parses, (even white space!), and a symbol "Nothing" was added to return
1659 in parsing rules that before just ate away irrelevant text without
1662 2010-11-06 21:48:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1663 Implement setup (engine-GUI) command
1665 This allows the frst engine (when legality testing is off) to overrule
1666 the default opening position, in reply to the variant command. Syntax is
1667 "setup (PIECE_TO_CHAR_TABLE) FEN_STRING"
1668 where the FEN string is interpreted in the context of the given
1669 pieceToCharTable (which is optional, and only delimeted by parethesis if
1671 Sendng the position to the second engine is delayed until the first
1672 engine has responded to the ping after the new-game sequence, to make
1673 sure it gets the chance to alter the position before it is sent to the
1674 second engine. This feature is useful for playing variants that WinBoard
1675 does not even know the opening positon for, and can be used even if they
1676 are shuffle variants.
1678 2010-11-06 14:19:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1679 Restrict use of a2a3 kludge
1681 The kudge to send "a2a3" in stead of "black" to get black to move is
1682 fatally flawed in varants that have no Pawn on a2. So in that case we
1683 revert to use of the deprecated "black" command.
1685 2010-11-02 13:06:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1686 Remember values set by -firstOptions, -secondOptions
1688 When an engine announces its option features, and the option name
1689 matches that of a setting given in -first/secondOptions, the engine is
1690 sent hte specified value, but this value was not remembered as current
1691 value (but the latter was left at the engine-announced default),
1692 leading to inconsistent behavior in the Engine #N Settings dialog.
1694 2010-11-01 19:26:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1695 Make test for valid promotion piece color-dependent
1697 This is needed to make it work in variants where white and black have
1698 different armies; quite likely white will promote to pieces that do not
1699 exist in the black army, so we really have to make sure we test if the
1700 white (upper-case) piece exists in this case.
1702 2010-11-01 19:23:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1703 Remove validity test on promochar from parser
1705 The backend routines Disambiguate() and LegalityTest() will catch
1706 invalid promotions, so no need to do it here.
1708 2010-10-31 23:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1709 Add the actual size-33 Shogi bitmaps
1711 These were forgotten in the original commit that fixed the .rc file.
1713 2010-10-31 13:20:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1714 Delete some stale promotion code
1716 The correction of the promotion piece to Ferz in Shatran-like variants
1717 in ApplyMove() was no longer needed, as the new promotion code already
1718 does this in the move parser.
1720 2010-10-31 13:08:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1721 Augment moves of some fairy pieces
1723 To get better disambiguation in variants that have to be played with
1724 legality testing off, the Elephant is given also one-step moves (making
1725 it a so-called Modern Elephant) in -variant fairy and great. The Dragon
1726 King (Crowned Rook), which had no moves defined for it outside Shogi at
1727 all, has been given Rook moves plus an orthogonal 2-jump, so that it
1728 can get SAN moves when used as Dababba or Short Rook. (Illegal moves
1729 currently aways force long algebraic notation...)
1731 2010-11-08 22:57:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1732 Bugfix safeStrCpy patch, WinBoard
1734 The use of sizeof on pointers was detected through the same method as
1735 the previous patches, this time while compiling WinBoard. A typo in
1736 jaws.c was fixed as well.
1738 2010-11-08 23:03:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1739 Bugfix for safeStrCpy patch for XBoard
1741 By a trick (temporarily redefining safeStrCpy in common.h as
1742 ((char*) (a=1/(4-3rdArgument))) ) a compile-time warning (division by 0)
1743 could be generated for every occurrence where the size argument was equal
1744 to 4, i.e. where the 1st argument was likely a pointer rather than an
1745 array. These cases are now fixed. The file xoptions.c, which is the
1746 only ne that does not #include common.h had to be fixed by making
1747 the #define in the file itself.
1749 2010-10-31 13:16:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1750 Fix spurious promotions with legality testing off
1752 The recent promotion patch had broken playing without legality testing
1753 completely: without legality testing one always gets the piece that was
1754 asked for, but a NULLCHAR should not be taken as a request for a piece!
1755 But it was, and this resulted in any moved piece turning into a white
1756 Pawn! For true promotions the piece was always black, which was also not
1759 Also revert to the use of '+' as internal Shogi promoChar, because
1760 pre-processing turns out not to be possible when reading a game file.
1761 In stead parse any trailing '+' on moves as promoChar. Downside: '++'
1762 can no longer be recognized as checkmate symbol.
1764 2010-10-29 22:54:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1765 Make deferral default in Shogi promotions
1767 Because '+' is intercepted by the parser as check indicator, Shogi moves
1768 are pre-processed to change a trailing '+' into an internally used
1769 alternative '^'. The testing if a promotion character is OK is now done
1770 in LegalityTest() and Disambiguate(), which return ImpossibleMove when
1771 the character does not correspond to any piece, and IllegalMove when in
1772 Shogi anything other than '^' or '=' is used. (Except for the ICS
1773 notations.) On output, in CoordsToComputerAlgebraic() and
1774 CoordsToAlgebraic(), the '^' is translated back to '+'.
1776 2010-10-28 17:51:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1777 Animate piece explosions in drag-drop moves and in XB
1779 This required some code restructuring: the decision if an explosion is
1780 needed is now taken in a new routine Explode() in the backend. This then
1781 calls the front-end driver, and it returns the info if there was an
1782 explosion or not, so the caller (AnimateMove() or the mouse driver) can
1783 take action to repair the damage to the board caused by the blast wave.
1784 A front-end driver for XBoard is provided as well, so that both
1785 click-click (and replay, which is the same) and drag-drop atomic
1786 captures are animated in XB as well as WB.
1787 Explosions on rejected moves are suppressed.
1789 2010-10-28 13:53:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1790 Suppress promotion popup if piece will explode
1792 In atomic, a Pawn capture to last rank is not really a promotion.
1793 Fix choice to Queen.
1795 2010-10-28 18:42:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1796 Make Knight hop first straight, then diagonal
1798 It used to be the other way around, which looked pretty illogical in
1799 Xiangqi: to see Horses, which are blockable pieces there, move over an
1802 2010-10-27 20:04:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1803 Let -oneClickMove also work in EditGame mode
1805 There is really no reason why people that lke one-clcik moves enough to
1806 switch them on would not want to use them too when editing a game.
1807 This solves a nast inconsistency, as before it used to work in -ncp mode
1808 on the _first_ move, as the mode is then BeginningOfGame, and not yet
1809 EditGame, and we do want it to work for BeginningOfGame, as this is
1810 also the game mode when you start playing as white.
1812 2010-10-27 19:40:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1813 Make -flipBlack and -allWhite option volatile
1815 As these options are very Shogi specific, and the variant is volatile,
1816 it seems logical to make them also volatile. Not completely sure about
1817 -allWhite, though. It cold be useful if you want, for example, to play
1818 wth dark-brown pieces for black, as any color but black looks much
1819 better with outline pieces than with solid pieces.
1821 2010-10-27 19:33:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1822 Provide some sample board-texture pixmaps
1824 Wood and marble themes are provided as textures for light and dark
1825 squares, plus two complete Xiangqi boards (wood and evenly colored).
1826 These should probably not goint the distro tar ball.
1828 2010-10-27 19:25:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1829 The -overrideLineGap option is made to work in XBoard
1831 Although XBoard already allowed this in the -boardSize specification,
1832 it is still seful to globally disable grid lines, e.g. for an
1833 oriental Xiangqi board. And it converges XB and WB.
1835 2010-10-27 19:18:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1836 Implement board textures in XBoard
1838 The -darkBackTextureFile and -liteBackTextureFile options now wrk in
1839 XBoard too, for loading a pixmap that will be used to cut out the dark
1840 and light square backgrounds. The cutting algorithm is such that the
1841 pixmap image is completely restored if the size was that of the total
1842 board (e.g. a drawing of a Xiangqi board).
1844 2010-10-27 12:11:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1845 Complete WB (western) bitmaps for Shogi at size 33
1847 The Lance was not replacing Queen in some sizes where the bitmaps were
1848 already available, and new bitmaps for the promotion Golds were added.
1850 2010-10-22 20:30:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1851 Make starting new variation dependent on shift key
1853 The shift key is read during mouse events, and posted in a global
1854 variable, which can then be used by the back-end. The decision to start
1855 a new variation (pushing the game tail rather than clipping it off) when
1856 entring a move in Edit Game or Analyze mode is made dependent on this.
1857 The move-typein also records the shift-key state.
1859 2010-10-22 20:25:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1862 A %g format was used to print an int in sending the level command,
1863 because decimal points were dropped when merging patches. Also an unused
1864 variable was removed to suppress a warning.
1866 2010-10-18 19:50:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1867 Add set of shogi pixmaps for XBoard
1869 The -size 64 pieces from gShogi (and originally XShogi) are made
1870 suitable for loading by XBoard, through redefining the transparent
1871 background color as either light or dark square color. These bitmaps are
1872 not included in the XBoard build, and perhaps should not even be
1873 included in the source distribution, but made available in a separate
1876 2010-10-18 19:46:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1877 Implement -flipBlack in XBoard
1879 When -flipBlack is true, the white and back piece pixmaps are swapped in
1880 flipView. The idea is that the black pieces are upside-down versions of
1881 the white (Shogi) pieces, so that swapping white and black in effect
1882 turns all pieces upside down, which is what should happen in flipView.
1884 2010-10-11 21:06:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1885 Disable some very verbose debug printing
1887 The internationalization seems debugged enough to do without them.
1889 2010-10-11 20:52:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1890 Add option -variations to control variation-tree walking
1892 Just so that users can switch it off if the find it annoying.
1894 2010-10-11 21:01:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1895 Allow full promotion suffixes on SAN piece moves
1897 This facilitates the parsing of (non-standard) Shogi moves in ICS
1898 protocol. It can also be useful for Seirawan Chess, where a future
1899 implementation of it can use promotion suffixes to indicate gating.
1901 2010-10-11 14:07:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1902 Allow lower-case piece indicator in drop-move notation
1904 As it seems that XBoard also sends such moves in zippy play, it seems
1905 more fair to recognize them from the engine as well.
1907 2010-10-10 21:26:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1908 Fix bug in ICS variant switch for Shogi
1910 Because a test for 8x8 variants was done by <= VariantShogi,
1911 rather than <, spurious move-list fetching occurred in Shogi.
1913 2010-10-10 21:23:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1914 Fix WinBoard Lance bug
1916 The choice between Lance and Queen was made on appData.variant, in stead
1917 of gameInfo.variant. Because of this it was not always up-to-date in ICS
1920 2010-10-10 21:15:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1921 Adapt WinBoard to Shogi implementation on Variant ICS
1923 The Variant ICS does not use the '+P' notation for promoted pieces,
1924 neither in the board, nor in SAN, but simply indicates any Gold by 'G',
1925 and uses 'H' and 'D' for +B and +R. The Shogi promotion code in
1926 LegalityTest() and Disambiguate(), which are used in move Parsing, are
1927 adapted to handle this. Deferred promotions sent to the ICS now use an
1930 2010-10-10 21:07:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1931 Inherit promoted-info that ICS does not give from previous board
1933 The ICS does not tell us in Crazyhouse (or Shogi) if a piece is
1934 primordial or a promoted pawn (or a promoted other piece). We now derive
1935 this info from the previous board. The option -disguisePromotedPieces
1936 controls this feature.
1938 2010-10-10 21:03:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1939 Limit multi-session clock handling to non-ICS games
1941 In ICS games a time forfeit crashed XBoard, apparently because the
1942 fullTimeControl string is not properly set when we try to use it to see
1943 if a sudden-death session is indeed the last session.
1945 2010-10-08 11:47:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1946 Change evalgraph scale in drop games
1948 Score swings tend to be much larger in Crazyhouse and Shogi, so the
1949 vertical rangee in those games is doubled to (-14, 14).
1951 2010-10-13 23:05:05 -0700 Arun Persaud <arun@nubati.net>:
1952 bugfix: fixed readline support with icslogon option
1954 The icslogon option sends the login and password, so we don't need to handle
1955 special cases for the readline buffer.
1957 2010-10-07 20:35:26 -0700 Arun Persaud <arun@nubati.net>:
1958 fixed some typos that were introduced during the sprintf->snprintf changes
1961 2010-10-07 11:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1962 Fix uninitialized variable in book code
1964 The variable ' power' was used uninitialized in case -bookVariation was
1965 set to 0, which can be an error even if it was only multiplied by zero.
1967 2010-10-06 14:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1968 Fix menu translation bug
1970 The menuText array was declared too small, so that the last entry of the
1971 File menu got out of bounds and was overwritten by the first of the Mode
1974 2010-10-05 21:14:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1975 Allow -timeIncrement to be a float
1977 The increment can now be fractional seconds. The printing in
1978 ParseTimeControl() and SendTimeControl() is done with %g format, so that
1979 for integer increment there is backward compatibility with the old level
1982 2010-03-30 20:24:49 -0700 Arun Persaud <arun@nubati.net>:
1983 adding gnu-readline support
1985 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.
1987 2010-09-24 21:17:50 -0700 Arun Persaud <arun@nubati.net>:
1988 added warning if icsLogon file couldn't be opened
1991 2010-09-24 21:10:28 -0700 Arun Persaud <arun@nubati.net>:
1992 security fix: replaced some strcat with strncat
1994 there is still more to do
1996 2010-09-19 20:55:01 -0700 Arun Persaud <arun@nubati.net>:
1997 add option for silent builds
1999 this can be enabled for automake versions >1.11 by calling ./configure --enable-silent-rules.
2000 It should still work for older automake versions too
2002 2010-09-19 13:16:40 -0700 Arun Persaud <arun@nubati.net>:
2003 bugfix: missing array index
2006 2010-09-19 12:19:44 -0700 Arun Persaud <arun@nubati.net>:
2007 added new case for (Chessmove) 0 in common.h
2009 this cleans up a few more -Wall messages
2011 2010-09-17 21:47:22 -0700 Arun Persaud <arun@nubati.net>:
2012 cleaned up -Wall warnings (apart from settings some parentheses)
2014 removed unsused variables, etc mostly everything from -Wall -Wno-parenthesis
2016 2010-09-17 20:36:54 -0700 Arun Persaud <arun@nubati.net>:
2017 sizedefaults has 9 members, the last line of the array (NULL) only set 7.
2020 2010-09-12 20:04:03 -0700 Arun Persaud <arun@nubati.net>:
2021 security fix: replaced sprintf with snprintf
2023 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.
2025 2010-09-10 23:36:23 -0700 Arun Persaud <arun@nubati.net>:
2026 security fix: replaced strcpy with safeStrCpy from backend.c
2028 see comment in backend.c on how to use safeStrCpy. This was already added by AS, but only used in 3 places.
2030 2010-10-04 11:50:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2031 Enhance multi-session TC clock handling
2033 Some new TC types are introduced: Bronstein and free sessions. The
2034 former is implemented by letting an exclamation point '!' in front of an
2035 increment (in the -tc string) indicate that the increment is limited to
2036 the time actually used on the previous move. The latter is an interval
2037 of given duraton in which you can do any number of moves (even zero),
2038 before the next session starts. This is needed for implementing Shogi
2039 byoyomi-type TC, as a first session, followed by a session of fixed-time
2040 per move. The latter can now be specified with the -tc argument as a
2041 degenerate case of Bronstein, where the time on the clock is <= the
2042 increment (so that it is never possible to think longer than the
2043 increment). A TC of 5 min + 10 sec byoyomi can then be indicated as
2046 The sessions are now separated by ':' in stead of '+', and all times in
2047 the TC string are converted to seconds first (in ParseTimeControl), so
2048 the fullTCstring can now be directly used in a PGN tag.
2050 Note that this patch only addresses clock handling; the engine will not
2051 be informed yet if the TC type or parameters change at the start of new
2054 2010-10-04 09:32:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2055 Remove promotion-piece encoding from ChessMove type
2057 The shizophrenic way to indcate promotion pieces in the XBoard code
2058 (sometimes using a promoChar, at other times relying on moveType) was
2059 cured by combining all promotion move types (such as WhitePromotionRook)
2060 into a single one (WhitePromotion), and relying on promoChar to specify
2061 the piece. This solves the problem of promoting to new piece types in
2062 variants, which formerly also required addition of new move types.
2064 In Shogi the '+' character is now consistently used to indicate
2065 promotions (and recognized in ApplyMove), rather than 'q' or
2066 PieeToChar(BlackQueen), as the latter did not work in minivariants where
2067 the Queen (representng the Lance) did not partcipate.
2069 2010-10-03 20:50:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2070 Pass promoChar to SendMoveToICS
2072 SendMoveToICS was the only place where the promotion piece was derived
2073 from moveType, rather than an explicity passed promoChar.
2075 2010-10-04 09:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2076 Suppress spurious use of SAN castling in mini variants
2078 King moves from a central file to the king-side-castled position (1
2079 square away from the right corner) were intercepted and printed as O-O
2080 in CoordsToAlgebraic. But on a 5x5 board (mini-Shogi!) this caught the
2081 normal King move Kc1-d1 as well. The castling notation is now reserved
2082 for King moves larger than one step.
2084 2010-10-04 08:21:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2085 Make Shogi promotion zone board-size dependent
2087 In stead of using a fixed size of 3 ranks, we use BOARD_HEIGHT/3, which
2088 would translate to 1 rank for mini-Shogi (5x5) and 2 ranks for Judgkin's
2089 Shogi (6x6), which are indeed what these variants need.
2091 2010-10-03 19:58:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2092 Make board-size overrule options volatile
2094 The options -boardWidth, -boardHeight and -holdingSize were legacies
2095 from the day choosing a variant would not automatically set a board
2096 size. As a result they are seldomly used anymore. The first real
2097 application is mini-Shogi (on 5x5 board), and it turned out very
2098 annoying if the 5x5 settings persisted to the next session, where you
2099 almost certainly want to play another variant.
2101 2010-10-04 09:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2102 Strip DOS line endings from parser.l
2105 2010-09-16 18:58:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2106 Extend mate test to drop games
2108 MateTest() in case of no legal moves now also looks if there are legal
2109 drops that can resolve the check. This provides reliable mate testing in
2110 Crazyhouse and Shogi, so these are now made subject to adjudications too.
2112 2010-09-16 18:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2113 Extend legality testing to drop moves
2115 LegalityTest() can nowbe called with (internal-format) drop moves, and
2116 delegates their testing to a new routine LegalDrop(). This routine
2117 performs the 'no-pawn-on-back-rank' test that used to be in
2118 UserMoveTest (which now calls LegalityTest also for drop moves).
2119 The more complex Shogi case is also handled (except for Pawn mate
2120 drops) in LegalDrop().
2122 2010-09-16 18:25:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2123 Revert splitting of UserMoveEvent
2125 This splitting into UserMoveTest and FinishMove was no longer needed,
2126 now that the new mouse driver no longer calls UserMoveTest to figure out
2127 if a move is a promotion, and XBoard and WinBoard are unified in this
2128 respect. It was counter-productive, because UserMoveTest was not able to
2129 change the fromX, fromY (call-by-value) parameters for passing them to
2130 FinishMove, so it had to defer the conversion of drop moves to internal
2131 format to the latter, while it did not belong there. (Because
2132 DropMenuEvent already delivers the moves in internal format.) This
2133 whole kludgy construction was therefore abandoned, by going back
2134 to the original 4.2.7 calling scheme, where UserMoveEvent completely
2135 pre-processes the move, and when it is valid, calls FinishMove directly.
2137 2010-09-16 18:02:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2138 Fix silent bug in drop moves
2140 In ApplyMove() the piece on the from square was accessed and used before
2141 we tested for drop moves. As drop moves have off-board from-squares this
2142 led to out-of-bound array access, which apparently was usually harmless.
2144 2010-09-16 17:43:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2145 Allow parsing of upper-case machine moves
2147 Dubious patch, as it caters to non-compliancy. Some variant engines are
2148 very non-compliant, though.
2150 2010-09-16 17:38:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2151 Prevent transmission of spurious promo char to other engine
2153 The parser now strps off spurious promotion characters.
2154 New move types "White/BlackNonPromotion" had to be introduced for this,
2155 to indicate NormalMoves that could have been a promotion, to make sure
2156 the '=' suffix of Shogi deferred promotions survives.
2158 2010-09-16 20:44:37 -0700 Arun Persaud <arun@nubati.net>:
2159 fixed internationalization for winboard
2161 in the original commit some files were forgotten. This should fix it.
2163 2010-08-29 21:07:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2164 Fix JAWS bug saying side to move in ICS play
2166 This was done the wrong way around.
2168 2010-08-27 14:08:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2169 Make WB run-time language switch possible from menu
2171 This is a rather involved patch that might not be worth it. It is
2172 difficult, because translation of things that live forever is not easy
2173 to invert (menus, the auxiliary windows). We hae to remember all
2174 original, English texts there to be able to put them back,or
2175 re-translate. Still does not fully work, although the menus and
2176 temporary dialogs now are all OK.
2178 2010-08-27 14:35:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2179 Update WB translation template
2181 The language.txt file now also contains all translatable strings from
2182 the C source files, rather than jsut the resource.
2184 2010-08-27 14:14:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2187 Add descriptions for machine-match menu support and enhanced book
2188 control, nick-name options and language.
2190 2010-08-27 13:59:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2191 Add some forgotten translation hooks
2193 The general-options, file-browse dialogs and the about box did not call
2194 Translate() yet. Also translate contents of combo boxes. Some small bug
2197 2010-08-27 13:28:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2198 Do not translate game-end messages in PGN
2200 The messages themselves are not subjected to _(), but in stead their
2201 displaying in DisplayMove is subjected to T_().
2203 2010-08-23 13:23:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2204 Internationalization for WinBoard
2206 A function Translate() was added, which uses a list of item dialogs,
2207 reads their value, and replaces it by a translation (if available). It
2208 also reads the window title and sets a translation. Calls to this
2209 routine are added in the initialization code of every dialog callback.
2210 In addition all translatable strings in the WnBoard front end are marked
2211 by the gettext macro _(). Because WB is not gettexted yet, a hard
2212 re-definition of this macro is added in each file using it, to the
2213 string-translation routine T_() supplied in winboard.c.
2214 Code to read the translation file, and translate the menu texts is added
2215 in winboard.c. In backend.c the meaning of the gettet macros is
2216 redefined for the WIN32 case.
2218 2010-08-23 13:07:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2219 Make the ID of all WB dialog items unique
2221 Mnany static dialog texts did share the ID -1 (IDC_STATIC). But to
2222 replace tet at run-time for translation purposes, they need to be
2223 addressed individually. So they were given new IDs, with symbols defined
2226 2010-08-23 12:48:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2227 Mark XBoard result messages for internationalization
2229 The GNU gettext macro _() is used with the game-end messages. This might
2230 be controversial, as they will appear in the PGN as well. But only as a
2231 comment. We can always decide not to supply a translation.
2233 2010-08-23 12:43:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2234 Do not exit after match when match started from menu
2236 The codelooks weird, but matchMode == 2 in this case. We then use
2237 DisplayNote() to report the match result.
2239 2010-08-23 12:39:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2240 Trivial-draws recognition improved in Xiangqi
2242 Now based on a routine "SufficientDefence". If both have it, it is draw.
2244 2010-08-20 17:46:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2247 The relocation of parser.c and the addition of history.c was not yet
2248 incorporated in the devcpp proect files.
2250 2010-08-19 13:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2251 Fix some MSVC compile errors
2253 Some statements has moved up stream of declaratons, which is an error
2254 that gcc is forgiving about, but where MSVC is strict.
2256 2010-08-14 14:01:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2257 Improved patch for expansion of WB settings-file name
2259 The expansion of environment variables now allows multiple environment
2260 variables in the path name. Tested on %HOMEDRIVE%%HOMEPATH%\winboard.ini
2261 and %APPDATA%\winboard.ini.
2263 2010-08-07 16:53:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2264 Add -colorNickNames option
2266 This option allows non-standard designation of side to move in FENs.
2267 (Useful for Xiangqi, where white is indicated often as r(ed), and Shogi,
2268 where white is s(ente) or b(lack), and black is g(ote) or w(hite).)
2269 Can also be used for FENs in a local language. A match of theinput
2270 character with the nick name translates it to the standard; this means
2271 the standard will continue to be recognized, unless it was defined as a
2274 2010-08-07 16:39:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2275 Tricked by the grossnes
2277 Some WB menu items were referenced by a hard number. As items had been
2278 added over the years, the wrong menu items were grayed. In particular
2279 the Options -> Adjudication menu was grayed out, in -ncp mode, where
2280 this was intended for the Sounds dialog. This accidentally proved
2281 useful, until we started to apply adjudictions also to the Human moves.
2282 Then it was suddenly undesirable, and a small mystery why it happened at
2283 all, when I tried to change it. The numbers are now corrected to the new
2284 locatons of the items in the menus.
2286 2010-08-07 16:35:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2287 Allow match to be started from WB menu
2289 A menu item Machine Match was added in the Mode menu to switch to
2290 matchMode. A persistent option /defaultMatchGames determines the number
2291 of games. A control was added to the Options -> Common Engine dialog to
2294 2010-08-07 16:26:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2295 Add some book-control options
2297 Options /bookDepth and /bookVariation have been added to control the use
2298 of the GUI book. In WinBoard the Optons -> Common Engine dialog now
2299 contains fields to set them.
2301 2010-08-07 00:15:57 -0700 Arun Persaud <arun@nubati.net>:
2302 new developer release
2305 2010-08-06 11:18:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2306 Repair exit-popup deadlock patch
2308 Relocating the exit popup call had made it lose access to the message it
2309 should print, because it was declared only in an inner code block, by
2310 the same name: buf[]. Deleting the inner declaration fixes it.
2312 2010-08-04 11:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2313 Fix erors when compiling with --disable-zippy
2315 The file args.h contained a codeblock in #ifdef ZIPPY, in stead of
2318 2010-08-01 13:27:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2319 Fix zippy handling of draw offers from ICS
2321 The patch by DM to fix the problem introduced by the coloration of
2322 zippy-matched commands (namely that the coloration code beat the zippy
2323 draw recognition to it, and ate the draw offer away) was only targeting
2324 ICC. The new fix should work on any ICS (by using the same pattern in
2325 zippy as in the colorization code).
2327 2010-08-01 13:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2328 Fix regression in colorization of zippy-matched commands
2330 The patch by Daniel Mehrman from 4.2.pre8 was not properly merged, so
2331 that in XBoard no coloration would take place of ICS commands that were
2332 matched by zippy. (It was using &i as input pointer, rather than &backup.
2333 The XBoard-specific code now has been deleted completely, to remove a
2334 seemingly needless dependence on _WIN32_ of the back-end. Both WB and XB
2335 now use the XBoard method, to only match zippy commands when logged in.
2337 2010-07-31 22:48:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2338 Suggest default file name in browser dialog
2340 The argument 'def' to FileNamePopUp() was not passed through to the new
2341 file-browser routine, which got NULL in stead, and thus started with an
2344 2010-07-30 23:28:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2345 Define /firstUCI and /secondUCI as synonyms for /fUCI, /sUCI
2347 Because the %s expansion of WB options in the /fcp and /scp lines only
2348 works for options that contain 'first' or 'second', and /fUCI thus did
2349 not work, PSWBTM had to rely on the cumbersome /firstIsUCI=true to
2350 install UCI engines. (The latter option should be deprecated really;
2351 the UCI-ness of the engines is a volatile option, so it makes no sense
2352 to supply a way to set them both to false or true. One only needs to be
2353 able to set it to the non-default state.)
2355 2010-07-30 23:21:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2356 Add string option /pieceNickNames
2358 This (volatile) option allows definition of alternate letters for the
2359 pieces, which will be recognized next to the standard symbols as given
2360 in the /pieceToCharTable on input. (Output always uses the standard.)
2361 This can be useful for reading PGN from another language, or
2362 non-compliant FENs (e.g. using B and N for E and H in Xiangqi).
2363 The format of the argument is the same as for /pieceToCharTable.
2364 Because the nickNames are consulted before the standard table, it is
2365 possible to redefine a standard name as a nick for another piece.
2367 2010-07-30 23:10:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2368 Fix deadlock in match-result display
2370 At the end of a match, GameEnds() was recursively calling itself,
2371 through DisplayFatalError() and ExitEvent(), and the latter was then
2372 delaying until the calling GameEnds() terminated. (Which it would of
2373 course never do before ExitEvent returned; fortunately there was a tim
2374 limit to this delay, but in XBoard it was 10 sec in stead of 10 msec.)
2375 Now the calling of DisplayFatalError() (to show the result popup) is
2376 delayed until after GameEnds completes (and resets the anti-recursion
2377 flag 'endingGame'), so that it is simply executed a second time, unaware
2378 of the earlier call. But this second time it does not do anything,
2379 because the gameMode ws set to EndOfGame the first time, and the writing
2380 of the PGN is blocked by the checksum being still the same.
2382 2010-07-12 11:10:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2383 Fix WinBoard game-list title
2385 Number of displayed games and WDL stats were always appended to the
2386 existing title, leading to an ever-growing title in the game-list
2387 window. Now the old actual title is ignored, and the starts is appended
2388 to the original title "Game List". (In the future we could use the
2391 In addition, the title was not updated when re-opening the game-list
2392 window, while the stats could change if filtering was active when the
2393 window was closed. (In that case the filter is cleared on re-opening, so
2394 the number of displayed games changes.) Now a title-update (after
2395 recalculating the stats) is done every time the game-list window is
2398 2010-07-11 11:06:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2399 Refactoring of material-draws adjudication code
2401 Insufficient mating material is now determined per side individually, by
2402 testing for MatingPotential of each side. If both lack mating potential
2403 the game is adjudicated as draw (if the -materialDraws option is set).
2405 This way MatingPotential() can later also be used to correct losses by
2406 forfeit to draws (which currently is only done when the opponent has a
2409 The accuracy of this type of adjudication in Xiangqi has been highly
2412 2010-07-11 10:54:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2413 Fix bug in sending cores command to engine
2415 The cores command was alwas sent to the engine(s) when the user changed
2416 it through the menu, even when the engine had sent feature smp=0 (which
2417 is default anyway). NewSettingEvent() was patched to send the new
2418 setting conditionally, based on the engine properties as recorded in
2419 ChessProgramStates first, second; In this particular case it now
2420 consults cps->maxCores. (Note the code for testing the second engine
2421 contains some dirty pointer arithmetic.)
2423 2010-07-11 10:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2424 Fix oneClickMove bug
2426 When checking for unique captures, no attention was payed to the option
2427 setting, so the capture was also made when the option was off.
2429 2010-07-11 10:39:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2430 Remove duplicate testing for cores feature
2432 The testing for this BooleanFeature occurred twice.
2434 2010-07-11 10:35:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2435 Remove misspelled prototype
2437 NewSettingEvent occurred, next to the correct one, in misspelled form.
2439 2010-07-05 10:00:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2440 Fix parsing of SAN shogi promotions
2442 A missing promotion character defaults to promotion in the move type,
2443 but the promotion character was not set when this happened in variant
2444 shogi. And it is especially important there, as the promotion character
2445 '+' will always be missing, as the parser will take it to be a 'check'
2446 symbol, and strip it from the move.
2448 2010-07-05 09:55:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2449 Fix variant switch on PGN loading
2451 When the PGN specified an essentially different variant, the
2452 piece bitmaps were not properly adapted, because the switch was done by
2453 calling InitPosition(), rather than Reset(). (The latter would destroy
2454 the PGN tags info.) We now added an explicit call to ResetFrontEnd(),
2455 (which is normally done from Reset()).
2457 2010-07-05 09:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2458 Adjudicate Xiangqi material draws with Advisor-less Cannons
2460 Used the Queen counter for counting Cannons. Note that material draws
2461 with stale Pawns (i.e. on the back rank) are not yet adjudicated.
2463 2010-07-05 09:34:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2464 Remove font settings from master settings file
2466 xboard.conf should not contain general font settings (not specific to
2467 one board size) with specified point size. In fact it should not even
2468 specify sizable fonts, as the new system would make specification of a
2469 general font overrule the size-specific settings in the .xboardrc file,
2470 so the persistence of fonts would be completely broken.
2472 2010-06-30 10:52:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2473 Cut board squares out of texture bitmap more cleverly
2475 When the bitmap is larger than the entire board, the squares are now cut
2476 out of the center of the virtual squares from subdividing the bitmap, so
2477 that they stay centered on the grid of a Xiangqi board bitmap. If the
2478 board size exceeds that of the bitmap, the old algorithm is still used,
2479 as the centering would make the edge squares exceed the bitmap, and
2480 cause a black rim around the board.
2482 2010-06-30 10:49:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2483 Allow -flipBlack to work with font-based piece rendering
2485 In addition the font-based pieces will also be flipped vertically in
2486 flipView for variant shogi when -flipBlack is off.
2488 2010-06-30 10:46:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2489 Allow font-based piece rendering in board sizes below petite
2491 At least for variants that use unorthodox pieces, so that switching back
2492 to using bitmaps is not really an option anyway.
2494 2010-06-30 10:41:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2495 Ignore checks in 50-move count for Xiangqi
2497 Both checks and evasions are discounted; this is only done after the
2498 naive counting exceeds the maximum, so during most of the game it causes
2501 2010-06-05 14:38:47 -0700 Arun Persaud <arun@nubati.net>:
2502 removed some garbage from configure.ac that got added a while ago
2505 2010-05-25 21:20:27 -0400 Clint Adams <schizo@debian.org>:
2506 Remove unnecessary double equals from configure.ac.
2509 2010-05-28 11:07:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2510 Fix e.p. bug in xiangqi with -serverMoves option
2512 Sideway Pawn moves were written as e.p. captures in the file with moves,
2513 which led to disappearence of pieces in the viewer.
2515 2010-05-28 11:05:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2516 Repair score printing with -serverMoves option
2518 A previous patch had moved MakeMove to before the update of pvInfoList,
2519 so that the score/depth info would not appear in the file with moves.
2521 2010-05-28 11:02:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2522 Repair animate dragging
2524 The previous patch had left a stray semicolon in the mouse handler.
2526 2010-05-10 10:32:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2527 Fix game end during dragging
2529 The stale-first-click fix interfered with proper handling of a piece
2530 being dragged when a game suddenly ended (because of opponent resign,
2531 or caling the flag), because up-clicks when the from-square was reset
2532 were completely ignored. Now such an 'unmatched' upclick calls
2533 DragPieceEnd() and redraws the board.
2535 2010-05-10 10:09:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2536 Pop down old tags on loadng new game in WinBoard
2538 ResetFrontEnd(), called from Reset(), did not do this in WinBoard
2539 (unlike XBoard), so that the tags from the previous game were left on
2540 display when -autoDisplayTags was off.
2542 2010-05-09 22:15:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2543 Reverse mousewheel action
2545 Apparently WinBoard was stepping in the opposite direction through the
2546 game in reaction to the mousewheel as every other GUI in existence.
2548 2010-05-09 22:07:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2549 Fix bug in sending "usermove" when forcing book moves
2551 The keyword "usermove" was copied to the buffer, but not sent before it
2552 was overwritten by the actual book move.
2554 2010-05-06 17:23:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2555 Fix engine stall on perpetual-check evasion
2557 The adjudication code had already put the engine in force mode after
2558 postponing the actual adjudication to the next move. Now first determine
2559 if we want to adjudicate now, and with which result, before stopping the
2560 engine and ending the game.
2562 2010-05-06 16:37:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2563 Let move parser return ImpossibleMove for off-board moves
2565 It used to return 0, which interfered with buiding a game list. This
2566 broke reading of multi-game PGN files containing games in a variant with
2567 a board size larger than that of the currenty active variant.
2569 2010-04-06 15:05:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2570 Alter XBoard key bindings to mimic WinBoard
2572 A lot of new bindings were added, and four menuProcs had to be registered
2573 to be able to add bindings to them. The use of the control key as
2574 temporary take-back for the last move conflicted with the use of Ctrl
2575 keystrokes, and this function was migrated to '.'. The iconify function
2576 had no shortcut in WinBoard, but to get rid of letter bindings it was
2579 2010-04-05 20:45:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2583 2010-04-03 14:00:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2584 Fix typos in html help file
2587 2010-04-01 15:22:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2588 Fix JAWS piece drop cursor, and streamline some sentences
2590 The cursor square was reset to a1 after every use of the piece menu,
2591 which was very inconvenient. Some of the spoken sentences have been
2592 improved; the square is read before the piece now, when using the arrow
2595 2010-03-31 22:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2596 Allow escape sequences in telluser(error) messages
2598 The routine EscapeExpand was moved to backend.c, and applied to the
2599 message received from the engine.
2601 2010-03-31 21:29:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2602 Allow lower-case promochar in moves of type h8=Q
2604 Updated the parser rules. Other move formats already allowed this.
2606 2010-03-31 21:36:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2607 Fix Alt+M JAWS command in Two-Machines mode
2609 The command refused to read the ast move because it contained thinking
2610 output of the other engine. Let it pay attention to evenIfDuplicate.
2612 2010-03-29 09:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2613 Fix rep-draw recognition
2615 The refactoring had broken the rep-draw recognition, by adding and extra
2616 condition in a conditional with side effects. The testing of this extra
2617 condition is now moved to after the side effect.
2619 2010-03-28 12:32:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2620 Allow any %ENVIRONMENTVAR% in WB settings file name rather than ~
2622 Only a single variable at the beginning of the file name is recognized,
2623 and the matching is not fool proof (it matches across backslashes).
2625 2010-03-28 11:24:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2626 Fix info lines being used as normal thinking output
2628 The new standard of using thinking output with time = nodes = score = 0
2629 as info messages for printing in the Engine-Output window was not
2630 understood everywhere, and led to such info lines being used for
2631 autoKibitzing and PGN annotation. The programStats are now only updated
2632 from thinking output received from an engine when it is not an info line.
2634 2010-03-27 11:54:41 -0700 Arun Persaud <arun@nubati.net>:
2635 new developer release
2638 2010-03-26 21:16:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2639 Suppress background observe for boards with own game number
2641 This is really a work-around for an ICS bug. The Variant-ICS sent the
2642 initial board of a game in a move list with relation = 0, which means
2643 'observed'. So XBoard was thinking it was observing its own game, and
2644 switched to dual board. It seems harmless to suppress such a switch for
2645 all boards of your own game, however, which is now done.
2647 2010-03-26 21:12:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2648 Fix crash on switching to ICS xiangqi game
2650 The oldBoard was a local variable, and only squares of the old board
2651 were initialized. This led to a crash if the copied board was enlarged,
2652 and then displayed. The variable is now declared static, so the
2653 uninitialized squares contain harmless zeros.
2655 2010-03-26 18:32:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2656 Let Chat Boxes pop up above console, rather than on top of it
2658 Use EnsureOnScreen() to have them overlap if there was no room.
2660 2010-03-26 18:26:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2661 Fix disabling of Chat Box navigation buttons
2663 The buttons for non-open boxes were enabed, rather than disabled.
2665 2010-03-26 18:17:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2666 Prevent <Esc> closing chat box
2668 Let it in stead switch focus back to the console window.
2670 2010-03-26 15:28:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2671 Let WinBoard recognize ~ in settings file name as HOMEPATH
2673 Fetch the appropriate environment variable to build the mathname in
2674 MySearchPath() whenever the file name starts with "~\".
2676 2010-03-26 13:59:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2677 Change name of Global Settings menu item to Common Engine Settings
2679 The old name confused ICS users, as this is an engine-only dialog.
2681 2010-03-26 13:58:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2682 Update WinBoard RTF docs
2685 2010-03-26 13:57:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2686 Update WinBoard html help
2689 2010-03-24 18:00:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2690 Allow adjustment of clocks in any mode with shift+click
2692 In practice changing to edit-game mode during a game was very
2693 cumbersome. In WinBoard shift+click is now offered as an alternative.
2694 Make sure a right-click in the clock area is not also counted for other
2697 2010-03-24 17:21:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2698 Allow loading of PGN variations in XBoard
2700 Right-clicking variation comments in the comment-window was implemented
2701 through a translation. The right button is now bound to routines that
2702 set both the end and start of the selection, as setting a new start does
2703 not seem to work if the previous select-start was not completed by a
2704 select-end or extend-end. Finally the main handler uses the selection
2705 cursors to know what was clicked.
2707 2010-03-24 17:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2710 Added a descripton of the new ICS options (seek graph, back-ground
2711 observe) and menus (Upload) to the texi file. Also added a description
2712 of the variation (Annotate menu item and PGN variation comments) and PV
2713 walking (clicking engine-output). Describe the -shuffleOpenings option.
2715 2010-03-24 13:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2716 Paint highlights on dual board (WB)
2718 The highlight info is hidden in the partner board to pass it to the
2721 2010-03-24 13:14:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2722 Fix handling username change during game
2724 The title bar and gameInfo (going into the PGN) were not adapted when
2725 the username was changed through the menu, so that the change became
2726 only effective on the next game. Requires SetGameInfo to be called from
2727 the front-end, and thus a prototype for it in backend.c.
2729 2010-03-24 11:04:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2730 Fix window-position upset on failing engine start in WinBoard
2732 The main window was only positoned according to the settings-file data
2733 after the engine was started up from InitBackend2(), so that if the
2734 latter gave a fatal error, and Save Settings on Exit was on, a wrong
2735 position for the main window would be saved. The call to InitBackend2()
2736 is now moved until after setting the main-window position.
2738 2010-03-23 23:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2739 Display PV from Engine-Output window (XBoard)
2741 Translations are added to bind button 3 to the PV walk for the memo
2742 widgets, and the corresponding handlers are ported from wengineoutput.c.
2744 2010-03-10 18:54:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2745 Set keyboard focus at startup to board window
2747 This makes XBoard sensitive to the keybindings also when the cursor is
2748 outside the board window. This focus seems to persist indefinitely: each
2749 time the board window gets selected, the key bindings become activem
2750 wherever the mouse pointer is. Downside: the mouse pointer is no longer
2751 an arrow outside the board window, but becomes a text-insert tool there.
2753 2010-02-27 20:49:21 -0800 Arun Persaud <arun@nubati.net>:
2754 added logo files for xboard
2756 logos are installed in the hicolor theme [1] using $datadir as the basedir.
2757 Added both png and svg logo.
2759 [1] http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
2761 2010-02-27 17:36:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2762 Remake programVersion string after receiving engine features
2764 The engine could have sent a more accurate version of its own name
2765 than the one derived from the exe filename in a myname feature, and we
2766 better use that in the programVersion string, which will be sent as
2767 interface name to the ICS.
2769 2010-02-25 19:22:00 -0800 Arun Persaud <arun@nubati.net>:
2770 Revert "Repair settings-file name"
2772 This reverts commit a02042ef83ce1f3632f0cf3e0a2a4ce9a3ac5d85.
2774 2010-02-25 20:32:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2775 Add -autokibitz checkbox to UCI-options menu dialog
2778 2010-02-25 20:29:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2779 Also capture (numeric) whispers of players for -autoKibitz
2782 2010-02-25 20:25:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2783 Add kibitzes and c-shouts Chat Box
2785 A box dedicated to c-shouts will snatch any c-shout before it is
2786 diverted to a normal shouts box. The kibitzes box can capture the
2787 left-overs of -autoKibitz, if the latter is active.
2789 2010-02-25 15:45:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2790 Mark non-compliant lines of engine in debug file
2792 The option -engineDebugOutput is extended to accept value 3 for printing
2793 a cear indication of non-compliancy in the debug file.
2795 2010-02-25 12:02:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2796 Redraw second board on expose events
2798 The -dualBoard option now does refresh the second board after another
2799 window uncovers it. To acheive this, some data structures remembering
2800 what is displayed had to be duplicated. (lastBoard and damage for XB,
2801 lastReq, lastDrawn, lastReqValid and lastDrawnValid for WB.)
2802 WinBoard now uses clipping also for second board. This required the
2803 clips for the destination to be translated horizontally!
2805 2010-02-25 15:13:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2806 Print seconds with 2 digits in backgroundObserve status line
2809 2010-02-24 17:01:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2810 Do not recognize non-ICS variants from PGN event tag
2812 These variants were introduced after supporting the variant tag, so if
2813 the variant tag is missing, their recognition from the event tag will be
2814 a false match. (Mainly to prevent events with 'super' in the name being
2815 recognized as Superchess.)
2817 2010-02-23 13:52:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2818 Fix display of uninitialized boards in background observe
2820 A variable partnerBoardValid is cleared on starting our own game, and
2821 set when a board from the background game comes in during it. At the end
2822 of our own game, a valid partner board now is put in the display.
2824 2010-02-23 13:46:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2825 Add option Display Logo in WB general-options menu
2827 Changing the option requires InitDrawingSizes to be called for
2828 re-formatting the board window. Switching it off requires clearing of
2829 the cps->programLogo fields to take effect immediately. Switching it on
2830 only takes effect the next session, as we will need some refactoring to
2831 redo the figuring out what logos to display.
2833 2010-02-22 12:02:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2834 Group Chat Boxes with console in stead of board window
2836 They now open and close with the console, which seems more natural, and
2837 prevents the console from covering them.
2839 2010-02-22 11:50:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2840 Put new options in WB ICS-options dialog
2842 The Seek-Graph, background-observe and Chat-Box options are added to the
2843 ICS options dialog. They only control the appData settings, there are no
2844 special actions yet on switching the settings.
2846 2010-02-22 11:46:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2847 Create space in WinBoard ICS-options dialog
2850 2010-02-20 12:42:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2851 Use side-by-side boards to display background game
2853 A game observed in the background (i.e. if -backgroundObserve true) will
2854 be displayed right of the normal board in the same window if the new
2855 (persistent) Boolean option -dualBoard is also set.
2856 Very flakey hack, especially in XBoard, where clocks and messsage
2857 field all get the wrong width (and resist adjustment in the strangest
2858 ways). The clocks of the partner game are not yet displayed, and
2859 disaster happens when the background and foreground games do not have
2860 the same board format.
2862 2010-02-23 14:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2863 Repair background-observe patch
2865 Apparently a commit was lost that I collapsed with 3018a6 while the
2866 latter was already pushed to savannah. Here I recreated this commit from
2867 a diff between the respective commits in the savannah & nubati gits.
2869 2010-01-31 11:07:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2870 Repair settings-file name
2872 The default name is put back to /etc/xboard/xboard.conf, so that XBoard
2873 can again find its settings file. "make install" will still install it
2876 2010-02-21 18:43:59 -0800 Arun Persaud <arun@nubati.net>:
2877 new developer release
2880 2010-02-21 19:45:58 -0800 Arun Persaud <arun@nubati.net>:
2881 fixed compiler warning for file-browser code
2883 missing "void"s in the function declaration and missing returns showed up when trying to build on the opensuse build server. fixed now.
2885 2010-02-21 23:09:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2886 Put newly opened Chat Box on top
2888 Dialogs always pop up in front, so set the onTop variable that prevents
2889 highighting the button to navigate to it from other Chat Boxes
2890 to reflect that a newly opened Chat Box is in view.
2892 2010-02-21 18:55:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2893 Fix copying of kibitzed info in Engine-Output window
2895 Make sure all lines end with "\r\n" to not lose line breaks on
2896 copy-paste from the memo. (XBoard would strip those again.)
2898 2010-02-21 18:25:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2899 Allow walking a kibitzed PV
2901 If no tabs are found in te 'thinking output' we assume it is a captured
2902 kibitz message, and look for "PV=" to locate the start of a PV in it.
2903 Also try to include any continuation lines below the selected line.
2905 2010-02-21 17:45:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2906 Insert autoKibitz continuation lines at end of line
2908 In the engine-output window lines that start with the ICS continuation
2909 sequence "\ " are inserted behind the line they belong to, in stead of
2910 at the top. This required keeping thrack of the length of the currently
2911 active line in OutputKibitz().
2913 2010-02-20 15:39:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2914 Don't disturb background observe when receiving new piece
2916 When new holdings are sent when the background game is displayed, we now
2917 ignore this, as presumably we are peeking at our partners game, and thus
2918 should be well aware of what is captured there.
2920 2010-02-19 21:52:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2921 Newly lexed parser in XBoard directory
2924 2010-02-19 11:18:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2925 Let yy_text determine progress of PV parsing
2927 The parsed unit yy_text was not available after ParseOneMove(), because
2928 the buffer switch in yylexstr() apparently destroys it. To solve that,
2929 yylexstr() now is equiped with an extra buffer argument, where it copies
2930 yy_text before the switch, so the caller, ParsePV(), can see what was
2931 parsed in yy_textstr. This is used to update the PV pointer, but also to
2932 save any parsed comments (when ParsePV is used for parsing a PGN variation).
2934 2010-02-18 17:42:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2935 Support playing through PGN variation comments
2937 Right-clicking a variation line in the comment dialog will shelve the
2938 current variation, and parse the comment to replace it. This uses
2939 ParsePV() in an alternative way, for which the latter had to be
2940 enhanced: it was made resistent to move numbers and comments inside
2941 the PV. It now has an argument to indicate if such comments should be
2942 stored with the moves. The Comment Popup is closed on revert, to
2943 make sure no comments to moves that are destroyed, containing
2944 variations on a non-valid line, can keep hanging around.
2946 2010-02-18 16:05:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2947 Add Annotate item in Step menu
2949 This does the same as Revert, except that it adds the destroyed
2950 variation as comment to the original movem in PGN variation format.
2951 RevertEvent now has an argument to indicate if it should add the
2952 comment, or not. Comments in the abandoned variation are included in the
2953 varriation command to the main line. (The exact layout of the variation
2954 comment that results leaves still to be desired.)
2956 2010-02-15 19:07:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2957 Add option -shuffleOpenings
2959 This volatile option is added just to make the existing variable
2960 available from the command line, not only from the menus.
2962 2010-02-19 11:48:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2963 Let the sounds sound on receiving a message in a Chat Box
2965 Use Colorize() to the applicable color to trigger the sound, and then
2966 restore the original color as 'continuation', to do it silently.
2968 2010-02-10 10:55:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2969 Allow WB Chat Box to be dedicated to shouts and 'it'
2971 By putting 'shouts' in the handle field, a chat window will capture all
2972 shouts and c-shouts, and send messages typed into it as shouts.
2973 The bracketing of the shouter name now indicates the type of shout.
2974 The handle for WHISPER Chat Boxes has been changed to 'whispers', to
2975 make it easier to pop them up by clicking the console.
2977 2010-02-16 22:34:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2978 Add -chatBoxes option to open Chat Boxes at startup
2980 This string option contains a semicolon-separated list of handles for
2981 which Chat Boxes should be opened at startup. The value saved in the ini
2982 file is the value that was read, not the actual chat boxes that were
2983 open at the time of saving.
2985 2010-02-16 19:44:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2986 Make Chat Windows pseudo-tabbed
2988 By adding buttons in every Chat Box to navigate directly to every other
2989 Chat Box, a stacked set of Chat Windows behaves like a single tabbed
2990 window, but can still be unstacked. The buttons turn grey to warn that
2991 new text appeared in hidden boxes (i.e. not the one last brought to top).
2993 2010-02-19 21:46:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2994 Allow arrow keys in WB Chat Box to access command history
2996 The history is shared between al boxes and the ICS console.
2998 2010-02-12 22:35:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2999 Make WB Chat Boxes wrap and handle URLs
3001 Cloned the code for the console text field to hande URL. (Initialization
3002 to recogize the link, and notifiction to open it when clicked.)
3003 Removed the ES_AUTOHSCROLL style from the RichEdit in the resource.
3005 2010-02-10 10:58:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3006 Fix copying of WB Chat Window contents
3008 All line breks were lost on copy-pasting the contents of a chat window.
3009 Adding CR to each outputted line in the front-end (wchat.c) solves this.
3010 (Tell messages sent to a handle (which are not echoed by the ICS, and
3011 thus have to copied to the chat box directly) also need CR!)
3013 2010-02-19 22:34:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3014 Add upload of game to ICS for examining
3016 New item "Upload to Examin" in Action menu, calls UploadGameEvent().
3017 Use SAN moves to upload game to ICS, rather than long algebraic
3018 (The ICS did not understand long-algebraic promotion moves)
3019 Use bsetup within examine to set position onFICS, and also variant.
3020 Castling rights do not work yet for FRC. Totally different set of
3021 commands are needed on FICS and ICC.
3022 FICS does not understand w23 or wild/23, but needs 'crazyhouse' in the
3023 besetup command that specifies the variant. XBoard variant names are
3024 used, except for fischerandom, which is 'fr'. Things like nocastle will
3025 probably still not work.
3027 2010-02-18 17:41:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3028 Handle display of PV that starts with other move than played
3030 Insert the retraction of the played move, without premove highlighting.
3032 2010-02-16 19:36:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3033 Bugfix smart capture
3035 Disambiguate was changed to make sure that for ambiguous moves, a
3036 capture would always prevail in the closure, rather than the last move
3037 that happened to be generated. Before, double-clicking a piece would
3038 sometimes plsy a non-capture.
3040 2010-02-13 15:34:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3041 Fix XB crash on giving keyboard focus to non-text widget
3043 In the Engine-Settings dialog SetFocus() could be called for non-text
3044 widgets, and this made XawTextSetInsertionPoint() croak. Setting the
3045 insertion point to the end in SetFocus() was a bad ide anyway, as it
3046 interfered with copying from the engine-output window, which would
3047 uncontrollably scroll on getting focus. It is solved now by setting the
3048 insertion point already on creation of the text widgets.
3050 2010-02-19 22:32:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3051 Seek-Graph bugfix: disappearing output in ICS console
3053 Suppression of output to the cosole was handled fundamentally wrong: it
3054 was not enough to set next_out to after the unit that should be
3055 suppressed, as there can be a backlog in printing of previous units that
3056 came in the same packet. So this has to be flushed first, or it will be
3057 lost. -autoKibitz probably got away with that, because it comes in a
3058 separate packet. But seek ads are often suffixed to other output, and
3059 then that output disappeared! Now we flush everywhere before suppressing.
3060 We now totally rely on the prompt to restart the printing, so that
3061 acknowledgements following the echo of the sent message are also
3062 suppressed. Also suppress LF before diverted chat messages.
3063 Also fixed is the 'mamer bug' in Chat Boxes, due to false parsing of
3064 a "* (*): " pattern in tell messages, because of a missing continue.
3066 2010-02-12 18:08:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3067 Pop up ICS text menu with default item under mouse pointer
3069 The menu popup is migrated to the down-click (was up-click), so the
3070 up-click can select the item. Some trickery is needed to fool the menu
3071 into thinking that the mouse moved, so that a moveless up-down click in
3072 the ICS text field selects the default item (the upper-right one).
3073 Also allow dummy item in ICS text menu: The command "none" in the ICS
3074 text menu will now be treated as a grayed-out (disabled) entry, so it
3075 can be defined in the position underthe mouse pointer to prevent the
3076 up-click from doing anything, while keeping the menu open. Recommended
3077 for use with an entry of spaces.
3079 2010-02-10 14:42:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3080 Allow ICS context menu to pop up a Chat Box on clicking handle
3082 A command "chat" defined in the WinBoard icsMenu string will cause
3083 ChatPopUp() to be called when it is clicked, with the clicked handle
3084 (name) in the ChatPartner field, and focus on the input field.
3085 ChatPopUp() had to get a parameter (the handle) to make this possible.
3086 If that parameter is NULL (as when it is called from the Mode menu),
3087 focus will still start on the (empty) ChatPartner field of the box.
3089 2010-02-10 10:50:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3090 Fix right-edge spillover of Seek-Graph dots in WinBoard
3092 Rescale the X-axis to allow margin for dot size and color offset.
3094 2010-01-30 11:05:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3095 Interface XBoard to GhostView file-browser dialog
3097 Note: The Ghostview dialog was using some deprecated variables for error
3098 printing, and conditionally used getwd() on some systems that presumably
3099 do not have getcwd(), but it did not assess the latter properly.
3101 2010-02-09 14:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3102 Allow recalling history in ICS input box with arrow keys
3104 By adding translations for the Up and Down keys, and stealing some code
3105 from winboard.c. Still needs some refactoring to move the duplicate code
3108 2010-02-09 14:34:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3109 Start insertion point at end of text edits in XB dialogs
3111 The function SetFocus now uses XawTextSetInsertionPoint to position the
3112 end of the string it aready contains, rather than at the beginning.
3114 2010-02-08 17:55:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3115 Capture holdings of background observed game
3118 2010-02-08 11:57:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3119 Match handles with multiple titles for channel Chat Boxes
3121 Only handles with at most one suffixed 'title', such as (U), (C), (IM)
3122 or (TD), followed by the parenthesized channel number, were recognized,
3123 so tells by people with more titles always went to the ICS console window.
3124 Patterns are added to recognize handles with upto three such qualifiers.
3126 2010-02-08 11:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3127 Do not pop down Seek Graph on on-dot click
3129 Leave the graph up, and let the incoming board of a started game cause
3130 the pop-down. This in case the clicked ad is no longer vailable, or
3131 manuay refused, and fails to start a game.
3133 2010-02-07 21:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3134 Observe a game in the background while playing
3136 A new (persistent) option -backgroundObserve true|false is added. When
3137 set, observed boards received while playing a game will not trigger a
3138 game switch, but will be ignored except for storing in a dedicated board
3139 buffer. Pressing the right mouse button will cause the board to be
3140 displayed, until we release it. Time, strength and stm are always
3141 displayed in the message window.
3143 2010-02-07 16:43:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3144 Remove race condition in clock switching
3146 The move number is now incremented inside SwitchClock, when no timer
3147 interrupt is scheduled, so the interrupt cannot occur at the wrong side
3148 of the increment, and decrement the wrong clock.
3150 2010-02-07 11:53:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3151 Let second click on piece make only capture, with -oneClickMove
3153 Normally this would clear the highlighting of that piece.
3154 Required new field in DisambiguateClosure to count nr of captures.
3156 2010-02-07 11:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3157 Bugfix stale first-click
3159 When the opponent resigned after the user had cicked a from-square,
3160 clicking the from-square for the first move in the next game would
3161 produce an "illegal move" message, because it was considered a to-click!
3162 We now set fromX and fromY to invalid in GameEnds().
3163 Should we also reset them on mode changes?
3165 2010-02-07 11:08:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3166 Add promotions and e.p. to oneClickMove
3168 For e.p. the to-Square of the Pawn has to be clicked. Promotions are
3169 always to Queen when you click the to-square, but use the promotion
3170 pop-up when you click the from-square.
3172 2010-02-07 10:38:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3173 Fix error that compiler does not notice
3175 Boolean GLT_GetFromList did not return a value. But no error on Ubuntu!
3177 2010-02-06 18:55:38 -0800 Arun Persaud <arun@nubati.net>:
3178 new developer release
3181 2010-02-06 18:30:42 -0800 Arun Persaud <arun@nubati.net>:
3182 updated year in copyright info
3185 2010-02-05 22:27:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3188 Playing on ICS or against engine, clicking a square from or to which
3189 only a single move can be made causes the move to be done, when the new
3190 option -oneClickMove is set to true.
3192 2010-02-04 16:09:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3193 Use squares for computer seek ads
3195 Shape indication passed in sign bit of color (char) variable.
3197 2010-02-04 22:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3198 Use right mouse button to view seek ads
3200 Right down-click does the same as left down-click, right up-click
3201 simulates a left up-click off board (so it misses all dots).
3203 Use right-click miss to refresh Seek Graph
3205 The 'moving' parameter had to be made into an int for this, to indicate
3206 right clicks with code 2. Right press now already pushes the clicked ad
3207 to the back, so that the up-click will display an underlying one.
3209 Bugfix pushing back seek ads on right-click
3211 On a right button press the previous in stead of currently hit ad was
3212 receiving the penalty.
3214 Indicate seek-ad multiplicity
3216 If more than one seek ad is inside the capture range of the mouse
3217 pointer, an exclamation point is printed before the seek-ad text.
3219 Some fixes to make seek-ad suppression work in WinBoard
3221 In WinBoard the z-depth was immediately erased by redrawing the graph;
3222 the clearing of zlist had to be moved from PlotSeekAd() to AddAd()
3223 (where it really belongs). Also aging of z-depth is now suppressed on
3224 mere pointer motion.
3226 2010-02-04 22:45:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3229 The new option -autoRefresh sets FICS and ICC to report removal of seek
3230 ads, and then removes those from the Seek Graph. New seek ads are added
3231 to the graph, as soon as the ICS reports them.
3233 2010-02-04 22:42:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3234 Implement SeekGraph in XBoard
3236 For now only controlled by left mouse clicks on board. New options
3237 -seekGraph true|false and -sg to switch this feature on.
3239 Facilitate selection of coinciding seek ads
3241 Seek-ads that are viewed but not answered get a distance penalty on the
3242 up-click that makes their selection more difficult next time, so that
3243 the ad they covered gets a (better) change. The penalty ages away in the
3246 Slightly offset Seek-Graph dots of different color
3248 Dots of different color are now displaced horizontally be 3 pixels, to
3249 prevent them from completely covering each other. (Required the axis
3250 labels to be moved a little too, to not be covered by the 1-min ads.)
3252 Auto-show seek-ad texts in WinBoard
3254 Hovering the mouse above a Seek-Graph dot will make the text belonging
3255 to it appear in the message field without the need to press a button.
3256 Required SeekGraphClick() to be called from the WB mouse event handler,
3257 with an extra argument 'moving' to make the distinction with a real
3260 Show seek-ad text on mouse hovering (XBoard)
3262 The Eventproc is also set to trigger on PointerMotion, and this event
3263 then calls SeekGraphClick with motion=true to handle it.
3265 Put poetic name of wilds in seek-ad text
3267 Use XBoard variant names, except for 'loadable' and 'fischerandom'
3268 (becomes 'setup' and 'chess960'), but leave number (to distinguish wilds
3269 that transate to same XBoard variant).
3271 2010-02-05 20:36:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3272 Fix highlighting bug in XBoard
3274 The from-square was drawn before the to-square was erased, which led to
3275 a missing highlight line if they shared an edge or corner.
3277 2010-02-05 15:49:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3278 Shorten autoKibitz confirmation on FICS
3280 Strip off the "players)", but leave the separatng space.
3282 2010-02-05 14:39:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3283 Repair damage to -autoKibitz done by FICS atomic zippy claim
3285 The sending of -autoKibitz info was also moved back in that patch, but
3286 unfortunately to after clearing of the programStats info. Now the
3287 clearing has been moved also, to remain after it.
3289 2010-02-04 23:33:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3290 Send continuation lines to chat box they belong to
3292 The variable savingComment is used as a kludge to remember where the
3293 comment should go (i.e. which chatbox, or elsewhere), so that when a
3294 continuation line is matched, chatPartner (which was reset at EOL) can
3295 be restored to its original value. Also put space after handle of talker
3296 in channel Chat Windows
3298 2010-02-02 19:08:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3299 Fix u64 format for cygwin
3301 With a -mno-cygwin compile %llu and %lld are definitely not understood
3302 by scanf and printf, although they are by the compiler. In stead, %I64u
3303 seems to work. Put it in under control of a switch USE_I64, which is
3304 defined only in the gcc makefile when MINGW is used.
3306 2010-02-02 19:02:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3307 Remove stray dot from WinBoard makefiles
3309 There was a period suffixed to config.h in the wgamelist.o dependency.
3311 2010-02-01 14:50:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3312 Fix bug in display of logos
3314 The logo continued to be drawn after a boardSize change to a tinyLayout
3315 size, although there was no space reserved for it. Fixed by explicitly
3316 resetting logoHeight when no logo space is reserved in InitDrawingSizes().
3318 2010-01-19 20:15:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3319 Right-click refactoring: step III
3321 Let WinBoard call RightClick in back-end, and delete the duplicate code
3322 it had for this, after rescuing the front-end bits, and let the letter
3323 act depending on the result returned by RightClick.
3325 2010-01-19 19:07:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3326 Right-click refactoring: step II
3328 Migrate the Right-click routine to the back-end. Let it communicate back
3329 square coordinates through pointer arguments, to accomodate their
3330 different naming in XBoard and WinBoard. Template added in frontend.h.
3332 2010-01-19 17:55:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3333 Right-click refactoring, step I
3335 Divorce front-end part from back-end part of PieceMenuPopup in XBoard
3336 front-end, and forge the back-end part into a new routine RightClick.
3337 The right up-click in XBoard, which called unLoadPV() directly, now
3338 calls RightClick through PieceMenuPopUp().
3340 2010-02-04 23:09:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3341 Merge gamelistopt sources into gamelist source files
3343 The files xgamelistopt.c and gamelistopt.c are merged with xgamelist.c
3344 and gamelist.c, respectively. The WB front-end for the dialog already
3345 resided in winboard.c, so there was little need to move it to wgameist.c
3346 file. Makefiles adapted accordingly. Unsuitable key bindings were
3347 removed. The low-level front-end prototypes are now defined in in
3350 2010-01-29 21:47:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3351 Game-List options dialog for XBoard
3353 A dialog similar to that of WinBoard was cloned from the game-list
3354 window. The XBoard front-end is in a separate file xgamelistopt.c,
3355 which in fact implements most of the low-level front-end as back-end.
3357 2010-01-29 12:48:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3358 Refactoring of game-list-options dialog
3360 The back-end part is separated off, and moved to a file gamelistopt.c.
3361 Front-end for now stays in winboard.c. No prototypes in frontend.h yet.
3363 2010-01-26 19:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3364 Fix of ancient WB bug: test integer option values for validity
3366 Only a string of digits preceded by an optional sign is accepted now.
3367 Before, any string was accepted, and leaving out a value could lead to
3368 the next option being ignored (if it did not need a value) because it
3369 was considered the value for the previous one!
3371 2010-01-26 19:00:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3372 Fix bug in edit-position of holdings
3374 The holdings were effectivelly taken one too large, so that a promoted
3375 shogi Pawn moved to, or created in the holdings was not demoted to Pawn,
3376 but put in the dark (which you could see by the holding count if you did
3377 it twice). The overflow tests in these two cases now have been corrected.
3379 2010-01-25 13:54:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3380 Save fonts in XBoard settings file per boardSize
3382 Each -boardSize now can have its own font specified in the settings file
3383 (and thus by a command-line option, although it would in general not be
3384 very useful to specify a font for a size other than the selected). E.g.
3385 a prefix "size33:" to the font name will apply it only to -size 33.
3386 An unspecified-size font option (not normally in the settings file) will
3387 always prevail over a font option specific for the current size.
3388 A font of some size must have been used or specified in order to be
3391 2010-01-25 08:56:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3392 Fix width of filter field in XBoard GameList
3394 An empirical dependence of the width of this text edit on the square
3395 size now makes for an acceptable layout at any board size.
3397 2010-01-24 19:09:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3398 Use FICS atomic draw claim for sending move in zippy mode
3400 For this the relaying of the move had to be moved until after the
3401 adjudication, which again has to be done after MakeMove(), which is a
3402 bit dubious, as MakeMove might take significant time when animating.
3404 2010-01-24 18:51:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3405 Send FICS atomic claim to ICS if move creates draw after offer
3407 The FICS format "draw MOVE" is used to send the move to the ICS when
3408 the user enters a move that adjudicates as a claimable draw, and he
3409 offered a draw before the move. For the benefit of ICS that do not
3410 understand this format, the plain move is sent afterwards.
3412 2010-01-24 18:16:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3413 Also allow user to claim by offering draw before his move
3415 Use the existing userOfferedDraw variable to test for such offers in
3418 2010-01-24 17:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3419 Also adjudicate after user move
3421 Call Adjudicate() in FinishMove().
3423 2010-01-24 15:56:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3424 Refactoring of adjudication code
3426 Put all the rule-based (as opposed to score-based) adjudications in a
3427 separate routine, so they can also be called on user moves. This
3428 requires sending the drawing move to the opponent engine to be made
3429 conditional on existence of the latter. Execution of the code is no
3430 longer dependent on the condition TwoMachinesPlay, but actual game
3431 terminations are now all restricted by an alternative condition (no ICS
3434 2010-01-24 11:46:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3435 Use -keepAlive option to determine connection health
3437 When there has been no ICS response since the previous 'ping', assume we
3438 are disconnected and do a fatal-error exit. Also auto-start the ping
3439 process in InitBackend3().
3441 2010-01-23 23:00:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3442 Use arrow keys in XBoard GameList for entry selection
3444 Add translations for arrows and home/end, to call LoadSelectedProc with
3445 argument to indicate the step, and let the latter perform the action.
3447 2010-01-23 22:24:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3448 Allow <Enter> to apply filter in XB GameList filter edit
3450 Apply a translation to intercept the <Enter> key. Set focus back to the
3451 list display afterwards.
3453 2010-01-23 21:44:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3454 Accept <Enter> for changing chat partner
3456 A kludge stolen from Alessandro's GameList filter allowed to let the
3457 typing of <Enter> while updating the chat-partner field of the WinBoard
3458 chat windows to act as pressing the Change button. Gives focus to the
3459 input field of the window afterwards.
3461 2010-01-23 21:42:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3462 Move duplicat gamelist code to backend
3464 The filtering routines are moved from xgamelist.c and wgamelist.c to
3465 gamelist.c, and a prototype for them is placed in backend.h.
3467 2010-01-23 19:29:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3468 Port game-list filtering to XBoard
3470 Added a text edit and apply button to the XBoard game-list dialog, and
3471 only have it print those lines that match the filter. Translate index in
3472 list to index of game in file when a game is selected, and index in file
3473 to index in list when a line is highlighted. Duplicates some code
3474 between xgamelist.c and wgamelist.c, which should be moved to back-end.
3476 2010-01-21 19:24:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3477 Convert to DOS line endings
3479 For easier understanding of upcoming diffs of winboard.c
3481 2010-01-21 14:32:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Refactoring of move-history code
3484 The WinBoard code in whistory.c was split in a front-end part (remaining
3485 in whistory.c) and a back-end part (now in history.c in the xboard
3486 directory). This to allow easy porting to other platforms.
3488 2010-01-20 12:48:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3489 Add fixed-time/move button in XBoard time-control dialog
3491 Put the TC-type buttons in a radio-group, and highlight the selected mode.
3493 2010-01-19 18:27:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3494 Fix bug in XBoard PV display
3496 The PV was unloaded on anything but a button release, in stead of the
3499 2010-01-23 11:04:11 -0800 Arun Persaud <arun@nubati.net>:
3500 fixed hardcoded location of config file for xboard
3502 the location should now follow sysconfdir during the configuration process.
3503 Also added some more output to the configure script.
3505 2010-01-18 12:18:32 -0800 Arun Persaud <arun@nubati.net>:
3506 new developer release
3509 2010-01-18 12:15:06 -0800 Arun Persaud <arun@nubati.net>:
3510 fixed Makefile.am to handle config file correctly
3513 2010-01-15 21:55:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3514 Change opening array -variant fairy
3516 We now use the position of "Chess with Different Armies", FIDE army vs.
3517 a fantasy army (inspired on the Color-bound Clobberers) as opening
3520 2010-01-13 19:08:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3523 Thai Chess, played by 2 million world-wide. Required pawn promotion to
3524 happen in a zone, and the Alfil to move as Shogi Silver, a new opening
3525 array, and unusual Pawn placement. Because of the latter, I consider it
3526 a setup position, so a FEN will always be sent to the engine.
3528 2010-01-17 14:17:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3529 Fix parsing of O-O and O-O-O after FEN pasting in FRC
3531 Because the initial rights were not set in the FEN reader, the
3532 initial rights of the previous game remained in force, so that the
3533 parser did not understand OO-castling (although it would allow KxR
3536 2010-01-15 14:40:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3537 Fix reading FEN castling rights for knightmate and twokings
3539 Scanning the back-rank for a King did not work in these variants,
3540 because either the Unicorn castles, or there might be two Kings.
3542 2010-01-13 11:42:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3543 Fix omission in castling refactoring for ICS received boards
3545 A default of -1 was still used, in stead of NoRights, when no Rook was
3546 found. In theory this could have had effect in a setup board 0 in FRC,
3547 when there were no Rooks on the back rank.
3549 2010-01-13 11:35:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3550 Fix TwoKings ICS castling-rights bug
3552 Scanning the rank (as is done because of FRC) assigned castling rights
3553 to the rightmost King. Even scanning the opposite direction would not
3554 work, as it is not always the eftmost King that can castle. So we now
3555 explicitly test for a King on e1/e8 in TwoKings and assign it rights,
3556 relying on the Rook rights received from the ICS to control castling.
3558 2009-11-18 19:12:25 -0800 H.G. Muller <h.g.muller@hccnet.nl>:
3559 fix double start of zippy engine after switch to gothic
3561 In ICS mode we now switch to the proper variant as soon as we receive
3562 the generic game-start message, to prevent a mismatch when the first
3563 board is received (which would trigger fetching of a move list).
3565 2010-01-11 16:44:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3566 Extensive bugfix of -autoKibitz
3568 Suppression of printing of diverted kibitz messages failed when they
3569 extended over more than one read. This could even lead to such
3570 messages being erroneously saved as comments, which then lead to
3571 crashes. The suppression mechanism now waits for a prompt, in stead of
3572 the end of buffer. This required the printing of any leftover in the
3573 buffer to be deferred until the next read completes it.
3574 The number of people kibitzed to is now printed.
3576 2010-01-11 16:30:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3577 Fix piece-to-char table -variant fairy
3579 The letters for Lance and Snake where swapped.
3581 2010-01-09 11:54:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3582 Make WinBoard makefiles use parser.c in XBoard directory
3585 2010-01-08 18:23:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3586 Docs update for new features
3589 2010-01-08 15:18:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3590 Fix new args parsing of -lowTimeWarningColor
3592 This did not occur in the XBoard color translation table yet.
3594 2010-01-08 14:16:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3595 Allow editing of holdings in EditPosition mode
3597 Dragging pieces to and from the holdings now consistently keep track of
3598 the home square of pieces and the piece counts, as does creation of
3599 pieces in the holdings through the piece menu.
3601 2010-01-08 13:59:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3602 Indicate squares a lifted piece can legally move to
3604 Under control of the new option -showTargetSquares when
3605 -highlightDragging and -testLegality are on, the squares a piece can
3606 move to are marked by fat dots in the highlightColor (non-captures) and
3607 premoveHighlightColor (captures), as soon as you grab it for dragging.
3608 In variants with mandatory capture, the capture target of other pieces
3609 is marked with the highlightColor (as non-captures are then not allowed).
3611 2010-01-08 12:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3612 Fix bug for incommensurate time odds
3614 After normalization (-timeOddsMode 1) the time odds factors can be
3615 non-integer, and thus must be stored as float.
3617 2010-01-08 11:41:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3618 Display PV right-clicked from EngineOutput window
3620 The clicked PV is selected and the memo gets focus, so that it is
3621 highlighted. This selection is restored in the proper place after
3622 insetrtion of a new line in the memo.
3624 2010-01-08 10:19:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3625 Display PV on right-clicking board
3628 2010-01-08 09:21:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3629 Bugfix legality null move in parsing with -testLegality off
3631 The pointers were compared, in stead of the values.
3632 Furthermore, instead of null moves, it rejected moves on the main diagonal when legality checking was off.
3634 Also exclude moves with empty squares and enemy pieces.
3636 2010-01-07 19:10:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3637 Newly lexed winboard/parser.c
3640 2010-01-07 19:05:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3641 Harmonize declarations of XBoard and WinBoard
3643 The engine-exit and settings patches make some stuff common to WinBoard
3644 and XBoard, which needed to be harmonized, and is moved to frontend.h.
3646 2010-01-07 13:07:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3647 Allow Ctrl-C copying from EngineOutput window text to clipboard
3650 2010-01-07 12:52:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3651 Allow popup-less (fatal) exit of engine after tellusererror
3654 2010-01-07 12:40:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3655 Improve layout of Engine #N Settings dialog
3657 An attempt is made to align the input fields of spins and text-edits
3659 2010-01-07 00:31:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3660 Let XBoard print version with argument --version or -v