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 2013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
7 Fix -zippyVariants option
9 Due to the change of cps->variants from (char []) to (char *), copying
10 zippyVariants to it on behalf of v1 engines would no longer work. This
11 is fixed by using ASSIGN() in stead of safeStrCpy().
13 2013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
14 Fix initial board sizing WB
16 The initial board size was based on the assumption the board would be 8x8.
17 This could push auxiliary windows off screen if the board was smaller,
18 after which EnsureOnScreen would undock them and park them in the upper-
19 right corner before the board assumed its true size. InitPos() is now called
20 before the initial sizing to et the board format correctly, InitDrawingSizes()
21 had to be made resitant to calling before a board size was picked for this
22 (because InitPos() might call that too).
23 ActivateTheme() now uses the new board size, not the previous one (as was
24 indicated by size -2), so that -boardSize specifications inside a theme
26 Board size petite should not be forbidden for Shogi; all pieces exist there.
28 2013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
29 Fix grabbing of selected piece
31 A second static click on a selected piece should deselect it, but an attempt
32 to drag an already selected piece should not 'bounce off'. It was already
33 possible to move a selected piece to another square, but the dragging was
34 not animated. This is now fixed, by only skipping the code to start dragging
35 when the second click is part of the only-move double-click for only capture.
36 (Before it was skipped on any second click.)
38 2013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
39 Allow entry of negative numbers in spin control (WB)
41 Windows numeric controls do not accept negative numbers, so in case the
42 range of a spin option can go negative, the style ES_NUMBER should not be
45 2013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
46 Allow drops / promotions/ deferrals to be edited into book
48 For no real reason only NormalMove would be accepted when parsing the list
51 2013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
52 Fix GUI book after setup position
54 The routine to send move to the engine would automatically append a 'go'
55 is a preious setboard had put the engine in force mode, but this should
56 not happen on a book hit, where the engine should even be put in force mode
57 if it was not yet there.
59 2013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
62 Due to duplicate use of the same file pointer variable the game file would be
63 closed before any games were read from it.
65 2013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
66 Make PGN parser immune to unprotected time stamps
68 The parser choked on time stamps of the form dd:dd or dd:dd:dd if one
69 of the fields happened to be 00, because it wouldmistake that for a
70 non-compliant king-side castling. By excluding this interpretation when
71 the 00 is immediately preceded or followed by ':' this is now prevented.
73 2013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>:
74 updated po files for new release (make distcheck)
77 2013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>:
78 new version number for release 4.7.1
81 2013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>:
82 updated Changelog, NEWS, etc.
85 2013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
88 It is explained how to generate multi-line commands for -zipyGameEnd.
90 2013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
93 The 'next page' entry of the Xaw file browser contained a \177 character
94 to keep at sorted at the bottom. This caused trouble for gettext.
95 Now the sorting range is adapted so the 'next page' is never part of it.
96 More seriously, the listbox fill code had a wrong cast when testing for
97 an empty listbox on the first element, so that it only tested the low byte
98 of the pointer, in stead of the entire pointer for NULLness. As a result
99 the contents of the listboxes could suddenly disappear when even when it
100 was non-empty, because the first filename was allocated at an unlucky address.
102 2013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
103 Make Chat Box window obey -topLevel option
105 It was always popping up as a dialog of the main board, covering it.
106 One could argue it should always be to-level.
108 2013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
109 Fix scrolling of Chat Box
111 Seems the problem is that scroll_to_iter does not work until after some time,
112 needed to calculate line heights. Use scroll_to_mark instead, after clumsily
115 2013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
118 SetInsertPos() was not yet ported to GTK, with as a result that the cursor
119 was positioned at the start of a line recalled in the ICS Input Box,
120 rather than at the end. The code also called SetInsertPos to force scrolling
121 to that point in the text (which in Xaw is an automatic side effect). So for
122 multi-line text edits this function calls ScrollToCursor(). For some reason
123 this does not work when replacing texts in the Chat Box memo, when switching
124 chat, although it does work in the same memo when a line is added to the
127 2013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
128 Print score of final position in Analyze Game
130 The score/depth of the final position of the analyed game is added
131 (as an explicit comment) behind the PV of the forelast position.
132 To make this work, a new 'addBraces' mode (3) had to be added to
133 AppendComment, which suppresses stripping of the score/depth from
136 2013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
137 Fix horrible bug in reading scores from PGN
139 Reading scores like -0.94 flipped the sign, because the integer part
140 -0 would read as 0, and thus was no reason for sign flipping.
142 2013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
143 Fix disappearence of pieces that were moved illegally
145 Dragging damages the from-square, but it is not marked as such, because
146 selective board redraws to update highlights and such would draw the piece
147 that is really still there, making it flash on the from-square before
148 the position after the move is drawn. This, however, backfires when the
149 move was illegal, as then there is no draw of a new position, and the
150 from-square stays empty. For now this is solved by making DisplayMoveError()
151 order a total redraw. (As this is rare, only done in case of an error,
152 and might even throw up a pop-up, the performance cost of this is acceptable.)
154 2013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
155 Fix quoting of book name in tourney file
157 The argument of -polyglotBook was written to the tourney file unquoted,
158 which effectively made it disappear if it was an empty or blank string.
160 2013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
161 Provide compatibility with Alien Edition setup command
163 The setup command of the Alien Edition has a board-size specifier
164 (possibly as prefix on a parent-variant name) between pieceToCharTable
165 and FEN. The regular version would choke on that, precluding engines
166 designed for the Alien protocol extension to have their setup processed
167 when running under regular XBoard. This patch makes it skip the extra info.
169 2013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
170 Fix saving of analyzed game
172 Anotated games after batch-mode Analyze Game were not auto-saved,
173 because the GameEnds() call supposed to do that was called with a NULL
174 argument for resultDetails. Now it is called with the resultDetails as
175 pre-existing in the gameInfo, or an empty string if none exist. This bug
176 was masked by the fact that in standard game ends (mate, etc.) the
177 analyzing engine would declare game end and supply a message.
178 Also makes a distinction between Analyze Game and regular Analyze mode
179 when resuming analysis after loading a game; only the former now would
180 trigger a batch analysis.
182 2013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
183 Fix spurious popup after batch-mode Analyze Game
185 A batch analysis of games was not properly terminated, because the game
186 mode was tested after it had already been changed. No oldGameMode is
189 2013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
190 Let XBoard -autoBox option also affect move type-in
193 2013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
196 Key values > 255 are used for PgUp, PgDown etc., so to pop up only on
197 printables needs a two-sided test.
199 2013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
200 Fix fatal error on unsupported board size
202 When a board size unsupported by the engine was requested through the
203 New Variant dialog, this was discovered while the dialog was still up,
204 causing the error message to pop up as a child of the New Variant dialog,
205 so that it would immediately be taken down as the latter closed.
206 As a result it could not be confirmed, so that XBoard would not exit, and
207 was left in a pathologic state (ignoring window-close). This is fixed
208 by performing Reset (which detects the error) after PopDown of New Variant.
210 2013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
211 Accept setup command for non-standard board size
213 The code to test if board-size is standard for the current variant
214 has been moved to a subroutine, to allow its calling when receiving
215 a "setup" command from the engine.
217 2013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
218 Fix buffer overflow in feature parsing
220 String features (variants, egt, myname and option) relied on a buf[MSG_SIZ]
221 for processing their value. The Nebiyu engine had combobox options that
222 required more than that. All string features are now stored in allocated
223 memory rather than in static arrays, and StringFeature allocates a buffer
224 of sufficient size for them. Only limitation now is the low-level input
225 buffer in the InputSource threads, whih is a static buffer of 4096
226 (=INPUT_SOURCE_BUF_SIZE) characters.
228 2013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
229 Fix vertical sizing of GTK board
231 The clipping of the boad at the bottom was due to resizing of the clock
232 height when we first write it with a big font. This patch delays calculation
233 of the final size until after the clock height changes.
235 2013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>:
236 Updated German translation
239 2013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>:
240 Updated Ukrainian translations
243 2013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
244 Fix of argument error
246 Oops. Pevious patch for skipping unknown multi-line arguments
249 2013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
250 Let popping up of WinBoard chatbox for channel open it
252 WinBoard now issues a +ch command for a channel when you pop up a chatbox
253 for that channel. A work-around is added for the fact that the public
254 FICS seems to ignore the first such command.
256 2013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
257 Make skipping of unknown option smarter
259 To make XBoard better resistant to the presence of disbanded or future
260 options in its settings file, encountering those is no longer a fatal error.
261 But the error recovery only consisted of skipping the rest of the line.
262 This fails badly on string options with a multi-line value, which is
263 enclosed by {braces}. We now detect that case, to skip to } instead.
265 2013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
266 Add -backupSettingsFile option
268 For better configurability of WinBoard, an option is added to optionally
269 read a settings file, namely if no other settings file (other than the
270 master file) was read so far. This can be used to import settings from
271 a previous version, without destroying its settings file.
273 2013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
274 Repair WinBoard compile error
276 __GITVERSION was not defined in WinBoard, as it was only defined with a
277 compiler flag by ./configure, which WinBoard does not use.
279 2013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
280 Work-around for Xt selection bug
282 In some Xt implementations calling extend-end with 0 params causes a crash,
283 although the mmanual specifies this should default to a call with 'PRIMARY'.
284 The default selection is now explicitly mentioned in all extend-end calls.
286 2013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>:
287 fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change)
289 xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like
290 ./xboard.texi:1026: @itemx must follow @item
291 makeinfo seems right, @itemx is not used as described in the texinfo manual.
292 Attached patch puts each item of the "Options" menu in it's own @subsection and formats the description of each item as a @table as neccessary. This way, xboard builds again and the manual doesn't look too bad.
294 2013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>:
298 2013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>:
299 new version number for developer release
302 2013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
303 Try to make life more bearable in Xaw menus
305 The alignment still sucks, but not as much as before.
307 2013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
310 This option was copletely ignored, after the refactorig.
312 2013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
313 Fix testing for valid window placement Xaw
316 2013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
317 Suppress printing of status line in dual-board mode
320 2013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
321 Fix sizing of slave board GTK
323 For lack of a known method to specify a default size for Graph widgets,
324 we have to use the same system as for the main board: create with 0x0 size,
325 and measure the size of the outer window to determine margins.
326 After every popup we then resize to the required board size plus these
329 2013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
330 Better handling of undefined window parameters
332 Repositioning and resizing a newly created dialog was based on the width
333 parameter of the stored sizing info being valid. Now it is separately
334 tested if the position is valid, so that sizing and moving can be done
335 independently. This allows us to store position info, but not size info
336 for the slave board, so that it automatically will use the size of the
337 main board when first opened.
339 2013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
340 Limit debug print to debug mode
343 2013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
344 Fix repositioning of GTK windows
346 After 'hide' and 'show' GTK would not position the window in the same place,
347 but center it on the parent. Now we reposition the window after 'show' based
348 on the WindowPlacement data (if available).
350 2013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
351 Remember window params of slave board
353 The slave board now has been assigned a WindowPlacement, which is also
354 saved in the settings file, through new options -slaveX/Y/W/H.
356 2013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
357 Fix repairing of arrow damage
359 The '2' bit in damage[][] to indicate the arrow was erroneously cleared,
362 2013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>:
363 fix OK-response in gtk dialogs, see c7f8df124
365 the fix in c7f8df124 needs to be applied to both of those if cases
367 2013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>:
368 removed two more translations from debug output
371 2013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>:
372 fixed segfault of g_markup_printf_escaped which needs utf-8 strings
374 defined text-domain as utf-8 solved this
376 2013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>:
380 2013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>:
381 removed some translation calls for messages in the debug log
384 2013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>:
385 add keyboard shortcuts back into Xaw version
388 2013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>:
389 in debug mode also print the git-version if available during build
392 2013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
393 Print game-list timing messages only in debug mode
396 2013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
397 Fix title of top-level windows
400 2013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
401 Cure GTK warning in top-level windows
403 There is no OK button in top-level windows, so the 'response' signal is
404 not defined, and should not be connected.
406 2013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
407 Fix graying of Revert menu item
409 The new code was checkmarking it in stead of enabling it!
411 2013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
412 Add -onlyOwnGames option
414 This suppresses auto-saving of ICS observed games.
416 2013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
417 Allow display of 50-move counter in zippy mode
419 No chance it could be considered cheating there.
421 2013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
422 Add new vertical pixel fudge
424 With the new GTK window type the board is 13 pixels too small.
426 2013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
427 Don't add PV moves on board clicking in AnalyzeMode
429 Playing PV moves by right-clicking the PV was only intended for clicks
430 in the engine Output window, selecting from multi-PV analysis output,
431 where by default it plays only the first move. PV walkig by right-clicking
432 the board, however, would start the walk at the end even in AnalyzeMode,
433 and thus add the entire PV. Which is probably not useful. So adding moves
434 in that case has now completely been suppressed, so it can be used for
435 harmless viewing of the latest PV.
436 The behavior has also been made subject to a persistent Boolean option
437 -appendPV, configured to true, with a checkbox in General Options.
438 A checkbox has also been added there for controlling the -variations option,
439 which is now also configured to true.
441 2013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
442 Remove checkbox for 'Move Sound'
444 This function is better controlled from the Sounds dialog.
446 2013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
447 Make switching between board windows absolute
449 Selecting the window in which to draw the board when the slave board for
450 -dualBoard was up was done by a toggle. For unknown reason this could cause
451 a situation where the drawing took place in the other window than the
452 intended one. The code is made more robust by explicitly specifying which
453 window to draw in, based on the partnerUp flag.
455 2013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
456 Warn about experimental nature of dual board
458 The message field, which for now is unused, now contains a warning message.
460 2013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>:
461 add close buttons to gtk windows
463 use windows instead of dialogs for toplevel elements
465 2013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>:
466 keyboard accelerators for both front ends.
468 moved them out of the string definition, so that gtk can add them automatically.
469 Also wrote a function that loads them for X11.
471 TODO: add them again when creating X11 menu names
473 2013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>:
474 added rotated shogi pieces for -flipback option and moved them to the themes directory
477 2013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>:
478 add test for pkg-config
480 exit configure in case we can't find it.
482 2013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
483 Only perform e.p. capture if there are rights
485 The heuristic for e.p. capture was such that any non-forward move with
486 a Pawn to an empty square would delete the piece behind its new location
487 (Xiangqi exempted). This is now limited to cases where EP_STATUS indicates
488 that the deleted piece was a Pawn that performed a double-push on the
489 previous move. (Or if there is unknown EP_STATUS.)
490 This makes XBoard more generally suitable for use with variants that have
491 non-conventional Pawn moves (with legality testing off). To guarantee this
492 will not have any unexpected effects in normal Chess, this patch will only
493 be active if legality testing is off.
495 2013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
496 Unreserve tourney game on exit during engine load
498 While waiting for the feature timeout we are not yet in TwoMachines mode,
499 so quitting XBoard at that stage would not unreserve the upcoming game.
500 A global flag 'startingEngine' similar to 'waitingForGame' now signals
503 2013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
504 Better fix of feature timeout
506 The previous fix of the 2nd engine's done=1 aborting the 1st engine's
507 feature timeout by starting the game caused problems with v1 engines,
508 or other engines that would never send done=1. It is now fixed by
509 explicitly testing for a pending feature timeout after resurrecting
510 the 1st engine, rather than having TwoMachinesEventIfReady wait for
511 initDone to be set by reception of done=1.
512 Also refrain from freezing the UI between match games, as in TwoMachines
513 mode the UI is mostly disabled anyway.
515 2013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
516 Connect Ctrl key in WinBoard
518 The Control key is now checked during move entry, for excluding moves
519 during analysis, or for copying pieces when editing a positions. But the
520 WB front-end did not read it out yet!
522 2013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
523 Fix Makefile for install of Xiangqi pieces
526 2013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
527 Add Xiangqi piece images to project
529 Let the images install in themes/xiangqi.
531 2013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
532 Revive -flipBlack option
534 The -flipBlack option in the cairo version is now implemented the same
535 way as it was in XBoard, swapping white and black pieces in filpView mode.
536 This requires a set black piece images that are the upside-down versions
539 2013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
540 Remove empty-square SVG images from project
543 2013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
544 Add desktop stuff for .xop MIME type.
546 Icons and desktop file were missing, as was the automake code to package them.
548 2013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
552 2013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
553 Add boolean -autoBox option
555 This option controls the automatic popup of the ICS Input Box on typing
556 a printable character, which was annoing to some. The option can be
557 set from the ICS Options dialog.
559 2013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
560 Draw both coords in a1
562 The lower-left board square needed two inscriptions, but DrawOneSquare()
563 only allowed one, so that the file ID would not be written. Now two strings
564 can be passed, and when align > 1 to indicate the alignment of the top
565 string, it is still checked if a bottom string is present as well, which
566 then is drawn with alignment 1 (= bottom right).
567 The rank coord or piece count can now also be double digit.
569 2013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>:
570 updated po files for new release (make distcheck)
572 2013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>:
573 updated Changelog, NEWS, etc.
575 2013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>:
576 new version number for release of 4.7.0
578 2013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
579 Let initial setting of Twice checkbox reflect current state
581 The Twice checkbox in the Tournament dialog of WinBoard was by default
582 starting unticked. It is more convenient to have it preserve the current
583 state, however, based on the -lpi or -lgi value. Like the auto-incremet
584 checkbox already did.
586 2013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
587 Put GTK warning in about-box
590 2013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
591 Fix warnings of build server
594 2013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
595 Fix GTK error auto-raising board
597 The variable mainwindow is not set in the gtk2 version. Unfortunately
598 it is still used to determine default board size...
600 2013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
601 Update Dutch WB translation
604 2013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
605 Add some new strings to WB translation template
608 2013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
609 Assign shortcut char to WB menu item
611 The new Save games as Book item did not have a shortcut yet.
613 2013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
614 Let WinBoard start in its installation folder
616 The current directory in WinBoard was not automatically the same as the
617 installDir returned by SearchPath. Especially not if used without shortcut
620 2013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
621 Fix warning in WinBoard
624 2013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
625 Fix expose of to-square with grid off
627 The code relied on drawHighlight to request an expose evet for the entire
628 square, but when lineGap = 0, drawHighlight is a no-op.
630 2013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
633 On OS X dialog windows could not get focus if -lXaw appeared after
634 -lX11 -lXt in the linker command. This was cured by moving
635 @FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter
636 of the automake file.
638 2013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
639 Preserve PGN tags when loading engine
641 Switching to EditGame mode would normally erase the tags, but when analyzing
642 a loaded game this would be undesirable. When the engine is playing, keeping
643 the tags is dubious, but it is not obvious what to put in a new name tag,
644 so we leave that for now.
646 2013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
647 Preserve mode on engine loading (sometimes)
649 That the mode always switched to EditGame after engine loading was
650 particularly annoying at the start of a game (where leaving BeginningOfGame
651 mode would disablethe Time Control dialog, and the engine would not
652 automatically reply if you start playing) and AnalyzeMode. These two
653 modes are now preserved, BeginningOfGame by refraining from calling
654 EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode
655 be calling AnalyzeModeEvent() after the engine is loaded and repositioned.
657 2013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
658 Catch unknown engine in tourney games
660 When an XBoard instance is playing on a tourney it can happen that it is
661 using a settings file with an engine list not yet containing a certain
662 participant, because that participant was just installed in the instance
663 that created the tourney file, but it did not save those modifications yet.
664 This error is now caught, and leads to an error popup and stopping of the
665 tourney play. This error was made non-fatal to allow the user to decide
666 if he wants to quit with or without saving the settings (which, after all,
667 does not seem up-to-date).
669 2013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
670 Adjudicate pawn-drop mate as loss in Shogi
672 Mating with a Pawn drop is illegal in Shogi, but rather than burdoning
673 the legality-testing by this complex rule, we simply invert the result
674 for such a mate. After all, Shogi customs are such that everything illegal
675 leads to an immediate loss.
677 2013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
678 Adjudicate perpetual checks as loss also in Shogi
680 The Xiangqi code for recognizing perpetual checks is now also activated for
681 Shogi, but in this case we bail out before checking for perpetual chases.
682 The mini-Shogi case is then recognized as a win for gote.
684 2013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
685 Stalemate is a win in Shogi
687 In regular Shogi this never occurs, but in the mini variants it happens
690 2013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
691 Fix engine timeout problem in match mode
693 Reload of a reuse=0 engine would cause a done=1 event which would be
694 abort the feature timeout of the other engine in the first game.
696 2013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
697 Enforce -popupMoveErrors
699 One move error was using DisplayError(), in stead of DisplayMoveError(),
700 and thus did not obey the -popupMoveErrors option.
702 2013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
706 2013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
710 2013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>:
711 Updated German translation
714 2013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
715 Do delayed board draw also with -stickyWindows false
717 Only CoDrag needs to be suppressed on a configure event with
718 -stickyWindows false, not the board redraw.
720 2013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
721 Let tellothers command add comment to PGN in local mode
724 2012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
725 Allow use of ~ in pieceToChar for shadow pieces in any variant
727 The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and
728 Bughouse. But this is not necessary, and in fact undesirable, as it made
729 it impossible to implement Crazyhouse960, which combines shadow promotions
730 with Fischer castling (only available in variant fischerandom)s, and thus
731 has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable.
733 2012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
734 Resend engine-defined options after reuse=0 reload
736 When the engine process is re-spawned for a new game under -xreuse setting,
737 any alteration of engine settings brought about through the Engine Settings
738 dialogs would be lost, and revert to the engine's default. This is now fixed
739 by re-sending all options (known from the previous load of the same engine)
740 with the current settings immediately after "protover 2", and ignoring the
741 engine's option features. Rather than clearing the option list, and
742 redefining it from the option features.
744 2012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
745 Implement aborting of games on engine request.
747 A new game-end command is added. For bakward compatibility it is disguised
748 as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails
749 are recognized as special, and rather than ending the game in a draw (which
750 GUIs not implementing this), the game will be completely 'expunged' from
751 the match or tourney it is part of, leaving no trace in the saveGameFile.
753 2012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
754 Store some more tourney params in tourney file
756 The hash and threads settings, as well as ponder and book options are now
757 also saved in the tourney file, so that tournaments can be played in
758 parallel where these parameters differ, and no mess up can occur on
759 restarting a touney after doing something else.
761 2012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
762 Do not automatically save aborted games in tourney PGN
764 When the game result is 'unfinished', we prompt for a filename rather
765 then using the specified saveGameFile if a tourney is in progress.
767 2013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>:
768 fix configure bug that showed up on OS X (couldn't find X11/Dialog.h)
770 X_CFLAGS (set by AC_PATH_XTRA) was not used in Makefile.am. It was used in tests for X11/Dialog.h, etc. so configure worked, but make didn't.
772 2013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>:
773 Updated Ukrainian translations
776 2013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>:
777 removed trailing whitespace
780 2013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>:
781 Updated copyright notice to 2013
784 2012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
785 Do not move to forwadMostMove when unpausing AnalyzeMode
788 2012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
789 Use Ctrl key in AnalyzeMode to exclude entered move
792 2012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
793 Implement insufficient mating material for Knightmate
795 KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
797 2012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
798 Fix rep-draw detection in drop games
800 In games like Crazyhouse every move is reversible, as captured pieces
801 can eventually change sides again, and be dropped back on the board.
802 So we have to search back a full 100 ply for repetitions, passing captures
805 2012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>:
809 2012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>:
810 new version number for developer release
813 2012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
814 Prefer pause mode on pondering engine over 'easy'
816 If the thinking engine is stopped after its move because it does not
817 support pause, is is still better to use pause on the pondering engine
818 than to switch of its pondering with 'easy', as the latter might not
819 be instantaneous. Also switch off pondering in the thinking engine before
820 it gives the move, just in case it does not respond immediately to
823 2012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
824 Update WinBoard translation template
827 2012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
828 Fix min-Shogi promotion zone
830 In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
831 that the white promotion zone was 2 ranks deep on 5x5 boards. This only
832 happened in LegalityTest, but because this would classify all moves to
833 4th rank an non-promotions, they would be printed with a faulty
834 deferral (=) sign as promochar in SAN.
836 2012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
837 Do not clear PGN tags on Analyze File
840 2012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
841 Fix -fSAN in AnalyzeFile mode
843 The exception that a PV relates to currentMove rather than forwardMostMove
844 applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
845 PvToSan did not properly restore the pushed game tail in this case.
847 2012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
848 Improve scaling of border bitmap (WB)
850 The StretchBlt mode is set from dither to delete.
852 2012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
853 Implement use of pause / resume protocol commands
855 Engines that implement feature pause=1 will be paused during their move
856 on a pause event; pondering engines will be controlled either through
857 'pause' or (if they don't support that) 'easy', which both should work
858 instantaneously. If the thinking engine does not support 'pause', the pausing
859 will be deferred to when it produces its move, and is implemented by not
860 relaying the move, and switch off pondering for both.
862 2012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
863 Fix Loop-Chess promotions
865 Loop Chess is not a supported variant, but hould be playable as Crazyhouse
866 with an altered pieceToCharTable, not defining the shadow promotion pieces.
867 But with legality testing on promotion to shadow piece would take place
868 even if the shadow piece was not defined.
870 2012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
871 Fix move highlighting with animation off
873 In WB the moving of SetHighlights to after the animation had broken the
874 highlighting of engine moves, because it was also moved after DrawPosition.
875 While it is DrawPosition that actually draws the highlights. Now it has been
876 moved to just before DrawPosition.
878 2012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
879 Start browsing in currently-selected folder (WB)
881 The folder-browse dialog always started at My Computer, while file browsing
882 started in the globally last-used folder (which might not be related at all
883 to the file entry we are now browsing for).
885 2012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
886 Implement book-creation functions
888 A new menu item triggers conversion of the currently loaded PGN file
889 to a Polyglot book, saved with the GUI-book filename. A (volatile) option
890 -mcBookMode alters the probing algorithm to build a book from scratch by
891 playing games (and using a form of learning).
893 2012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
894 Use colors in Board-Options dialog also for font pieces (WB)
896 The piece color settings now control the pieceColor or fontPieceColor
897 settings, depending on the setting of -usePieceFont.
899 2012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
900 Implement auto-creation of ICS logon file
902 Under control of the new option -autoCreateLogon (which can be set from
903 the ICS Options dialog) the first two lines in response to the ICS "login:"
904 pompt will be saved on a newly created logon file (if logon from such
905 an existing file failed).
907 2012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
908 Add Themes dialog (WB)
910 This dialog, done by the generic popup, contains controls for many settings
911 that so far could only be controlled by options. It also introduces the
912 concept of 'themes', sets of options stored in the multi-line option
914 Add some dummy routines to suppress compile errors in functions that
915 cannot be called yet in XBoard.
917 2012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
918 Allow external piece bitmaps and board border (WB)
920 The -pieceImageDirectory is now also used for WinBoard, to indicate
921 a directory of .bmp files, used to replace the built-ins. The outline
922 and solid bitmaps can be full-color. This allows winBoard to use the
923 WinBoard-zeta graphics. A new option -border can indicate a bitmap file
924 used to draw a half-square-wide border around the board.
925 A white background has to be drawn underneath the black pieces, to avoid
926 color-interference with the board, just like happens for the white pieces.
927 These backgrounds now always use bright white, rather than -withePieceColor.
929 We still have to work on the scaling of the zeta (600x600) bitmaps to
930 the actual board size, as for some bitmaps the stratchblt is ugly.
932 2012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
933 Add 'Continue Later' button in Tournament dialog (WB)
935 This button makes it possible to accept the values specified in the
936 dialog without immediately starting the tournament (as OK does),
937 so you can re-open the dialog later, and OK it then.
939 2012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
940 Load opponent logo based on handle in ICS play (WB)
942 The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
943 etc. If no logo for the handle is found there, the logo of the ICS is
946 2012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>:
947 Fix configure script for --enable-zippy (tiny change)
949 reported and patch by Daniel.
951 edited by Arun Persaud:
952 - also fixed #ifndef ZIPPY -> #if !ZIPPY
953 - didn't change #if -> #ifdef
955 2012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>:
956 don't define X_LIBS when using gtk-frontend
959 2012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>:
960 updated po/pot files; added new frontend files
963 2012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>:
964 fix configure script for --with-Xaw and --with-gtk
966 made Xaw the default and included xaw or gtk sources as extras
967 in case the other frontend is selected for make distcheck
969 2012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>:
970 new version number for developer release
973 2012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
974 Draw frames around memos and listboxes
977 2012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
978 Adapt lineGap during sizing
981 2012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
982 Fix clock highlighting
985 2012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
988 The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
989 handler for special keys in one-liner text edits.
991 2012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
992 Pay attention to NO_CANCEL dialog flag
995 2012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
996 Fix clock clicking with GtkEventBox
998 Like in WinBoard the button-3 case is now handled in the primary
999 event handler (and communicated to it in a kludgy way). It would be
1000 better if this was absorbed in ClockClick().
1002 2012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1005 Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
1006 FIXED_H (which only the logos did) is now packed into a (borderless) aspect
1009 2012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1010 Add window positioning
1012 Sticky windows now sort of works, but needs unexplained fudge factors.
1013 Reopening a persistent dialog centers it on the board, and disobeys
1014 the positioning command. The WindowPlacement of the BoardWindow was
1015 again added (it was commented out during development).
1017 2012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1018 Make board sizing work through subtracting fixed height
1020 There is now no attempt to give a size to the board drawing area, so it
1021 can later be sized as small as we want. The frame width is determined
1022 by subtracting the nominal board size from the actual window size,
1023 (because the clocks will have that width, and the board will startas 1x1),
1024 while the vertical margin is determined as the difference between the
1025 bactual window height, the drawing-area height minus a fudge of 25 pixels
1026 to compesate for the erroneously allocated blank space below the board.
1028 2012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1031 The highTextStart/End are now declared in engineoutput.h, shared between
1032 nengineoutput.c and xengineoutput.c. Unused variables were removed.
1033 Also fix warnings in xboard.c and xoptions.c.
1035 2012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1036 Delete emptied front-end files, and move rest to gtk directory
1038 Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
1039 and xhistory have been completely cleared off content, and were removed.
1041 2012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1044 The code from gtk-xt could be used with almost no modification.
1046 2012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1047 Some experimenting with sizing
1049 Does not work as intended yet.
1051 2012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1054 Funny enough it was necessary to swap the two svg icons to make this work!
1056 2012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1057 Make some tall dialogs multi-column
1059 A dummy button was added to the last row of New Variant to make the
1060 number even. A legality-test warning as put in the New Variant dialog
1061 Fix width of tourney-file in Match dialog
1063 2012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>:
1064 updated some icons to SVG
1067 2012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1068 Add displaying of icons
1070 A new Option type, 'Icon', was added for this as in GTK Icons and Labels
1071 need different types of widget. The icons are now svg, so we could
1072 remove the icon pixmaps.
1074 2012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1078 2012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1079 Add BarBegin, BarEnd options
1081 This makes the button bar display correctly. Also fix v-sizing of menu bar.
1083 2012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1084 Add listbox double-click callback
1086 This function was formerly performed by WheelProc.
1088 2012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1089 Add hiding / showing second Engine Output pane
1091 The handle of the GTK table for the second engine is stored in the
1092 EndMark handle by GenericPopUp, so it can be used later to hise/show
1095 2012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1096 Use different tables for different dialog columns
1098 Making the same table wider (in steps of 3) to get multiple columns
1099 does not work, because it forces options to align vertically. This
1100 wrecks dialogs like Load Engine, where one column contains a very
1101 high option (listbox). Now differnt tables are created for each column,
1102 packed in a new itermediate hbox. In case of the Engine Output window,
1103 a vbox is used instead to cause vertical stacking.
1104 Only multi-line text-edits and listboxes are now allowed to take up
1105 vertical space changes, while only the middle colum of the table
1106 can take up horizontal size changes. Within packing boxes space is
1107 equally distributed.
1108 The labels above the particiant-selection widgets had not the same width
1109 as the textview / listbox, leading to misplacement of the second label.
1110 For Engine Settings the spontaneous breaking into columns did not
1111 involve a SAME_ROW flag, so the 'columns' were stacked vertically.
1112 In addition the columns were too tall for GTK. They are now 20 options max.
1114 2012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1115 Deselect first char in Move Type-in and ICS Input Box
1117 After popup the Move Type-In had the typed character in it, but it was
1118 selected, so that typing a second character would erase it again.
1119 Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.
1121 2012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1122 Close Move Type-in on Enter
1124 The code is squeezed into the ICSKeyEvent callback.
1126 2012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1127 Add access routines to checkboxes and FocusOnWidget
1129 The <Enter> handler of the filter field needs it to return focus to
1132 2012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1133 Add game-list callbacks
1135 The callbacks for listbox and filter text are treated by the same callback,
1136 which does both key presses and button double-clicks.
1137 Giving focus back to the listbox after filtering does not yet work!
1139 2012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1140 Add optional callback to Label Options
1142 For some reason this does not work. The callback isn't called!
1144 2012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1145 Add type-in event to board for popping up box
1148 2012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1151 The state of Shift and Ctrl was only probed on button clicks, so it
1152 is now read out of the button-event struct in the relevant button handlers.
1153 For backwad compatibility, they store it in a global, so the routine
1154 ShiftKeys can take them from there.
1156 2012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1157 Remove some unneeded low-level X11 code
1159 Things like tabbing between controls, mouse-wheel scolling etc. are all
1160 automatic in GTK, and thuse don't need to be ported.
1162 2012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1165 The gtk-xt code for browsing in response to menu items rather than dialog
1166 browse buttons) was grafted. It seems desirable to merge the two browsing
1167 functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
1168 The code was altered to use DelayedLoad.
1170 2012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1171 Fix ListBox, and add some support routines
1173 The srolled-window for the listbox used a uninitialized variable for its
1174 width, causing a crash. Now it pays attention to the Option.max and .value
1175 size hints. The access routines were copied from gtk-xt. HighlightWithScroll
1176 could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.
1178 2012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1179 Connect CommentClick handler
1181 This can make use of generic memo callback, so it could be entirely
1182 backend. Therefore it was moved to dialogs.h. As it shared a global with
1183 some other back-end popup routines to remember the current move, these
1184 could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
1185 so it has now been put in a header. :-( )
1187 2012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1190 Because FrameDelay does block the event loop, even though it releaes the
1191 CPU, expose events start to lag behind the actual drawing. By combining
1192 expose events for overlapping squares, rather than decompose them into
1193 3 rectangles, this problem seems to go away. But only if there is an
1194 extra exposure on the squares to be drawn also non-overlapping frames
1195 will be properly drawn (?!).
1197 2012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1198 Implement highlighting in engine output by through generic method
1200 HighlightMove was made generally available for all text. It is now just a
1201 wrapper for the generic HighlightText, and could be moved to the back-end.
1202 (This requires the initialization to be widget specific, and the flag
1203 indicating it has been done is now stored in the Option.min field.)
1205 2012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1206 Let engine-output memos use new generic callback
1209 2012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1210 Add scrolling of Move History
1212 To have access to the textview, its handle is now stored in the
1213 Option.textValue field.
1215 2012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1216 Add highlighting in move list
1218 For now it is assumed the normal background will be white (for clearing
1221 2012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1222 Make generic memo-event handler, and connect history callback
1224 Large text widgets can now define a user handler in their Option.choice
1225 field. If they do, agneric callback is added tothem, which catches mouse
1226 events. Button release and pointer motion pass their coordinate and type
1227 to the specified user routine. Button presses in addition retrieve
1228 the text from the widget, set the cursor in it to the clicked point,
1229 and convert it to a character position, also passed to the user.
1230 The user is responsible for ignoring events he is not interested in.
1232 2012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1233 Add key-handler for ICS Input Box
1235 In contrast to the X11 code, all intercepted keys are now treated by
1236 the same callback. The ICS Input Box callback triggers on Up, Down and
1237 Return key, and refers to these symbolically.
1239 2012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1240 Highlight Pause button
1243 2012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1244 Better cleansing of xboard.c from X11 types
1246 The #includes for X11 files were still in there.
1248 2012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1249 Add text insertion in engine-output memos
1252 2012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1253 Append recent engines to engine menu
1255 This is now entirely moved to the back-end, by doing it in the table
1256 from which the menus are later generated. The special callback for engine
1257 items is abandoned, and the euProc for such items is left NULL to flag
1258 that RecentEngineEvent should be invoked with the applicable engine number.
1259 To calculate the latter a global variable firstEngineItem is dynamically
1260 set to the length of the regular engine menu.
1262 2012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1263 Transfer more gtk-xt code, and add some new
1265 Add input-source handling
1266 Graft color picker (<Enter> callbeack in the text field is still missing!)
1267 Handle contents of label widgets (store handles in Option for access)
1268 Add printing of clocks
1269 Add printing of window title
1270 Pay attention to BORDER attribute of Label Options (pack in frame)
1271 Delete ReadBitmap code (also remove #including of bitmap files for icons)
1272 Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll)
1273 Support vertical stacking in Break Option (no table widening when !SAME_ROW)
1274 Make default horizontal scroll policy automatic (for engine-output window)
1275 Fix disabling of unused spinners in TC dialog
1277 2012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1278 Connect dialog Browse buttons to GTK browser
1281 2012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1282 Implement menu checkmarking and enabling
1284 odes in the (later over-written) handle field specify which items
1285 are to be checkmarked, and by what style button.
1287 2012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1288 Attach expose handler and connect to mouse events
1290 The GraphExposeProc is conected to the Graph widgets. A gdk draw routine
1291 is used to copy the buffer bitmap to the display. It is also connected
1292 to button and motion-notify events.
1293 In this version the board can be fully operated with the mouse.
1295 2012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1296 Transfer most available gtk-xt code to xoptions.c
1298 GenericPopUp and PopDown are grafted from gtk-xt into gtk2.
1299 The version compiles, but segfaults before doing anything, with error
1300 messages about unexpected cases in GenericPopup for Graph and PopUp Options
1301 of the main board. The spin options need special treatment in GetWidgtText.
1303 2012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1304 Give LoadListBox two extra parameters
1306 It often occurs that we just want to swap two elements, and reloading
1307 the entire listbox would be a very inefficient way to do this in widget
1308 sets that allow access to a single element.
1310 2012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1311 Remove all X11 code by #ifdeffing it out
1313 With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling
1314 X11-free version. The disabled sections can then be replaced by code
1315 for another widget set, the X11 version still showing what it was supposed
1318 2012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1319 Move timer functions to new file xtimer.c
1321 The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
1322 go into a separate file.
1324 2012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1325 Make xevalgraph.c backend
1327 The only front-end stuff left in xevalgraph.c was an unnecessary reading
1328 of the window size (which could be obtained from the WindowPlaceent struct),
1329 and drawing (all cairo now). The drawing was moved to draw.c, and the
1330 remaining part renamed nevalgraph.c.
1332 An attempt to list them in a less chaotic way.
1334 2012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1335 Cleanse back-end code of all references to X11 types
1337 When compiling for X11, common.h #included X11/Intrinsics.h so that
1338 X11-specific data types could still be used throughout the back-end part
1339 not shared with WinBoard. By temporarily disabling this, error messages
1340 could be generated on all such occurrences, and were then solved. This
1341 included the following:
1342 The InputSource struct is not uses in usystem.c at all, and its definition
1343 could be moved to xboard.c. InputSourceRef, which logically should heve been
1344 defined as (InputSource *), is in reality (void *), so the back-end can
1346 Some non-platform-dependent stuff of general interest had prototypes
1347 (or external vars) in xboard.h. This is now moved to a new header xboard2.h,
1348 to allow it to be shared without bringing in X11 dependence.
1349 The EngineOutputProc was defined inconsistently, but the header was not
1350 sufficiently shared to flag this error. This has been repaired now, by moving
1351 the template to menus.h.
1353 2012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1354 Remove xedittags.c, .h from project
1356 The tiny bit of code that was left was absorbed in dialogs.c, the one
1357 prototype to menus.h.
1359 2012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1360 Remove inclusion of frontend.h from backendz.h
1362 This did not seem to serve any purpose at all.
1364 2012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1365 Split xhistory.c in front-end and middle-end part
1368 2012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1369 Move MarkMenuItem to xoptions.c
1371 This to make xoptions.c completely independent from the inclusion of
1372 frontend.h. The prototype is moved to menus.h.
1373 Loose end: DrawPosition in board.c does not see the prototype.
1374 Very suspect that it wants to see it. Why would it have to correct the
1375 flipView setting??? Better se to it that it is correct to start with!
1377 2012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1378 move testing for no options to back-end
1380 The test if an engine has options and display a note instead of
1381 the Engine Settings dialog when this is not the case is moved
1382 to outside of GenericPopUp, to make the later independent of calling
1385 2012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1386 Remove some unnecessary header includes
1389 2012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1390 Move ICS-engine analyze and AnalyzeGame code to shared back-end
1392 This code was still duplicated between WB and XB in the front-ends.
1393 Because of its incorporation in AnalyzeModeEvent the 'middle-end'
1394 function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made
1395 to return an int to flag its success, and keep the JAWS code based
1396 on it out of XBoard.
1397 The AnalyzeGame code is now incorporated in AnalyzeFileEvent().
1399 2012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1400 Add configure switches for Xaw vs GTK.
1402 This patch is an adapted version of the one Arun made at the end of the
1403 gtk2 branch. It uses the exact same version of his configure.ac, but the
1404 Makefile.am is adapted to the situation in master at the beginning of it,
1405 after duplication of the X11 front-end files in the xaw directory for
1406 preserving them, while the versions that will be modified to GTK front-end
1407 are still in the xboard directory.
1409 2012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1410 Prepare xoptions.c for middle-end changes
1412 Some changes that can be pre-empted, such as the splitting of Label
1413 into Label and Icon Option type, and some dummy wrappers are already
1414 implemented, so they can be used when needed by GTK.
1416 2012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1417 Preserve copies of the X11 front-end in xboard directory
1419 The X11 front-end has been moved to the xaw directory, but copies
1420 are retained for modifying them to gtk versions.
1422 2012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1423 Move X11 front-end to directory xaw
1426 2012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1427 Fix initial enables in TC dialog
1430 2012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1431 Fix image extension used for browsing to .pgn
1434 2012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1435 Fix WinBoard compile error on enum PEN
1438 2012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1439 Fix crash in promotion popup
1441 There were not enough entries for Capablanca Chess with legality-testing off,
1442 where King is also presented as a choice.
1444 2012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1445 Fix message in New Variant dialog
1447 Even in -ncp mode the message was referring to the 'current engine'.
1449 2012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1450 Fix crash on animation after resizing
1452 The animate buffers were still holding pointers to a discarded cairo surface.
1454 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1455 Fix variant-dependent pieces
1457 The code to select the actually used piece images from the available ones
1458 (from InitDrawingSizes) is now made into a subroutine, and also called
1459 after resizing the pieces.
1461 2012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1462 Replace marble texture pixmaps by png
1465 2012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1466 Replace xiangqi board pixmaps by png images
1469 2012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1470 Remove the texture pixmaps from project
1472 These were already replaced by png textures.
1474 2012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1475 Fix re-rendering of svg on resize
1477 The previously prepared bitmaps were retained if we resized, rather then
1478 rendering the svg atthe new size.
1480 2012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>:
1484 2012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>:
1485 new version number for developer release
1488 2012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>:
1489 we still need a few bitmaps, so the directory needs to be included in Makefile.am
1491 make distcheck complained about this
1493 2012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1494 Rename svg shogi pieces, so they become usable
1496 Only white pieces are present. For black they would have to be flipped.
1498 2012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1499 Fix bug in resizing on variant switch
1501 The fix of the garbage pixels had unfortunately broken this.
1503 2012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1504 Fix bug in fallback mechanism
1506 After failure to load a piece from a specified -pieceImageDirectory
1507 the default theme was not tried, because the cairo function to load
1508 from a pgn file returns a valid handle even if the file does not exist.
1510 2012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1511 Get svg error message
1514 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1515 Fix variant-dependent pieces
1517 The code to select the actually used piece images from the available ones
1518 (from InitDrawingSizes) is now made into a subroutine, and also called
1519 after resizing the pieces.
1521 2012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1522 Remove caveat on available pieces fromNew Variant dialog
1524 In the cairo version all pieces are available at all board sizes.
1526 2012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1527 Remove some unused images from png directory
1529 Currently only the three board texture files are used. But the piece
1530 images are still left, because they might be useful if we ever want
1531 to mae XBoard configurable for not using librsvg.
1533 2012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1536 The nominal size of the window was not set in the correct Option struct.
1538 2012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1539 Prevent odd-width line shift in length direction
1542 2012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1543 Print missing-pieces error message to console
1545 The GUI might not yet be up at this point.In addition, suppress
1546 the rest of the code, because it could give segfaults.
1548 2012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1549 Fix garbage pixels on the right of the board
1551 The extra pixel that is requested in sizing the board window back to
1552 an available size because we ofte get one less pixel than we ask for
1553 can lead to a line of garbage pixels next to the board. This is combatted
1554 by limiting expose events to the true board area, remembering that in the
1555 Graph Option rather than the actual window size, and suppressing resizing
1556 when the latter only exceeds the stored width by more than 1 pixel.
1558 2012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1559 Trim board-window size
1561 The board window will sometimes be a pixel larger than requested.
1562 The ReSize routine will now reset the size values in the Graph Option
1563 to what they were supposed to be, to prevent expose events will
1564 draw nonsense in the extra space.
1566 2012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1567 Adapt docs for svg/png in stead of bitmap/pixmap
1570 2012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1571 Spontaeous changes in gettext stuff
1574 2012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1575 Move Shogi svg pieces to own directory
1578 2012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1579 Remove unnecessary Xt colors and call to MakeColors
1582 2012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1583 Code cleanup: move expose redraw to draw.c
1586 2012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1587 Suppress warning for InitDrawingHandle
1590 2012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1591 Make fallbackPieceImageDirectory hardcoded
1594 2012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1595 Increase drag delay too 200 msec
1597 On my slow laptop it can take more than 100 msec to reallocate bitmaps
1598 in the generic expose, with as a consequence that the DelayedDrag event
1599 is not processed before the timeout expires. The timeout event then triggers
1600 a redraw, which again takes so long that the timeout expires before the
1601 event to reset the timer could be processed, and this just perpetuates
1602 itself, leading to a large series of queued redraws, and a long waiting time
1603 for an image to appear after the sizing stops.
1605 2012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1606 Fix segfault on faulty command-line option
1609 2012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1610 Suppress anti-aliasing in -monoMode
1612 In the color-substitution code, always use bi-level alpha and color.
1614 2012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1615 Remove piece pixmaps from project
1618 2012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1619 Implement proper fallback cascade
1621 Try in order cached svg, cached bitmap, user png, user svg, default svg.
1623 2012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1627 2012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1628 Install svg pieces in themes/default
1630 The svg pieces are installed with the XBoard data in the directory
1631 .../xboard/themes/default . A new option -fallbackPieceImageDirectory
1632 is added, and is configured in the master settings file to point to
1633 these pieces. This options, which replaces -svgDirectory, is volatile,
1634 and the menu control to set it is removed. The -pngDirectory option
1635 is renamed to -pieceImageDirectory (-pid).
1637 2012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1638 Remove bitmaps from project
1641 2012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1642 Install the wood textures as png
1644 The xboard.conf has to be edited to set these as default textures,
1645 in stead of the .xpm files.
1647 2012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1648 Add hatched board texture
1650 A png file with hatching is added, so it can be used for dark squares
1651 in a monochrome theme. It is installed in a new data directory
1652 .../xboard/themes/textures.
1654 2012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>:
1655 added a black and white theme to replace the mono option
1658 2012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>:
1659 added SVGs to dist files in automake
1662 2012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1663 Fix exposure of atomic captures
1665 The grid lines had to be repaired too, so damage marker 2 had to be used.
1667 2012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1668 Fix animation with textures off
1670 The blank square was not shifted to (0,0) when drawing the animation buffer.
1672 2012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1673 Fix 1-pixel offset of grid lines on some cairo implementations
1676 2012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1677 Solve odd lineGap problem
1679 Not all cairo versions seem to round the same when an odd-width line
1680 is to be drawn at integer coordinates. So now we explicitly ask it
1681 to be drawn centered on half-odd-integer coordinates.
1683 2012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1684 Add -trueColors option
1687 2012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1688 Always render svg pieces anew on size change
1690 The svg pieces are now unconditionally rendered to supply the pngPieceImage
1691 master source otherwise read from png file. This is then fed into the
1692 original png code (so that if for some reason it fails, we fall back on png
1693 pieces, and finally on built-in pixmaps).
1695 2012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1696 Fix rsvg version in configure.ac
1699 2012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>:
1700 initial svg rendering
1703 2012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>:
1704 added cairo and librsvg to configure process
1707 2012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>:
1710 converted from inkscape SVG to plain SVG before adding
1712 2012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1713 Adapt Eval Graph code to new drawing system
1715 The eval graph now triggers an expose after drawing, and gets its size
1716 from the Option fields.
1718 2012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1719 Fix expose requests seek graph
1722 2012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1723 Make draw handle for board globally available
1726 2012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1727 Let expose requests pay proper attenton to widget
1729 So far, expose requests were always assumed to be for the board widget,
1730 preventing display of the labels.
1732 2012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1733 Fix initial display of logos
1735 The logos were selected and printed during the initialization,
1736 before the main event loop was started. So the expose events during
1737 widget creation, which created the drawing surfaces, were only processed
1738 after the initial drawing of logos, so that there was nothing to draw on!
1740 2012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1741 Fix alignment of highlight expose
1744 2012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1748 2012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1749 Make expose handler generic
1751 The Graph Option now returns two handles in hitherto unused fields of its
1752 Option struct: Option.choice is a cairo handle of a memory buffer the user
1753 must draw to, while Option.textValue is the handle to the widget.
1754 Expose events copy the memory buffer to the display for the exposed area.
1755 A routine DrawExpose() is supplied to let the user generate expose events.
1757 2012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1758 Reload piece images when pngDirectory is changed
1760 The OK function of the board options dialog now tests for a change
1761 in pngDirectory and passes a parameter to InitDrawingParams to tell
1762 it to destroy the old images. This cause a reload on scaling the pieces.
1764 2012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1765 Suppress redraw during sizing
1768 2012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1769 Fix bug in resize trigger
1771 Even if the square size does not change, the window has to be shrunk
1772 back to fit the board.
1774 2012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1775 Make Piececolor options work on png pieces
1777 The scaled, antialiased bitmaps are now colored according to the option
1778 settings. This is done by decomposing every pixel in a white, black and
1779 transparency component, which is possible because the opacity is
1780 directly give in the alpha channel, and black originally was a hard zero.
1781 So what you se in the red channel must be white (as the original white
1782 was #FFFFCC), and the rest of the opacity must be due to black.
1783 The color to be replaced (white for the white pieces, black for the black
1784 pieces) is then replaced by the original weight of this color times the
1785 color from the option.
1787 2012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1788 Plug resource leak on rezising with pixmaps
1791 2012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1792 Fall back on built-in pixmaps if png pieces unreadable
1795 2012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1796 Do coordinate text alignment with cairo
1799 2012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1803 2012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1804 Clean up drawing code
1806 Now all routines only draw through cairo, the destination surface can
1807 be passed to them, making it possible to do the duplicate drawing
1808 to the memory board image in a cleaner way.
1810 2012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1811 Check in draw.c, draw.h
1814 2012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1815 Remove all bitmap & pixmap drawing
1817 All Xt code for drawing the board is now removed, as are the
1818 -pixmapDirectory and -bitmapdirectory option. This version is now
1819 completely dependent on cairo for handling of all graphics anywhere.
1820 (The build-in pixmaps are still left, though, for later use as an
1821 alterative cairo source when no png files are found.)
1823 2012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1824 Separate off drawing routines from xboard.c
1826 A new source file draw.c is created to hold all code associated with
1827 board drawing. The routines for loading bitmaps and creating colors
1828 were left in xboard.c, though, as they are also used for handling
1829 icons and colors of widgets.
1831 2012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1832 Fix erasing dots in seek graph
1834 The cairo dots were just a little bit bigger than the old ones, so they
1835 were not properly erased, but left a remnant.
1837 2012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1838 Cleanup CairoOverlayPiece
1841 2012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1842 Draw arrow also on backup image
1845 2012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1846 Fix highlight clearing
1849 2012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1850 Remove acceleration trick
1853 2012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1854 Implement variant-dependent png piece symbols
1857 2012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1858 Fix clearing of markers dots with promo popup
1861 2012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1862 Also render coordinates to backup board
1865 2012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1869 2012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1870 Let cairo also do evenly colored squares.
1873 2012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1874 Make dragged piece for excluding moves transparent
1877 2012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1881 2012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1882 Redo coordinate / piece-count printing ith cairo
1885 2012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1886 Also use cairo on slave board
1888 With dual-board observing the drawing should be redirected to the
1889 slave board, so SwitchWindow should also switch the xlib-surface to
1890 one for the slave window.
1892 2012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1893 Cure flashing of piece on from-square
1895 In a drag-drop move the piece was flashed on the from square after the
1896 user dropped it on the to-square, because highlights were set before the
1897 move had updated the board. And highlighting with arrow can cause a redraw
1898 of the last board. Same with setting or clearing marker dots.
1900 2012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1901 Specify proper condition for using cairo animation
1904 2012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1905 Allow resizing of board window
1907 In full png mode the size of the board window is no longer locked.
1908 After resizing, the square size is calculated as the largest one that
1909 would fit the window, and the window is then shrunk around it. To prevent
1910 excessive redrawing during sizing, the redraw is delayed by putting it
1913 2012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1914 Switch to using 64x64 png images
1916 The bitmap scaling works better when the needed factors are not too large,
1917 as the svg rendering's anti-aliasing did not blur more than 1 pixel.
1918 So after shrinking too much the images are not effectively anti-aliased
1921 2012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1922 Maintain in-memory copy of the board image
1924 As reading back from the xlib-surface proves incredibly slow (cairo probably
1925 converts the entire image from Xt format to cairo format when we set it
1926 as a source, even though we only want to read a few dozen pixels), we now
1927 keep an exact copy of the board image as a cairo bitmap in memory. This
1928 restores the speed of the animation, but unfortunately leads to awful code.
1930 2012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1931 Do animation with cairo
1933 Unfortunately this is incredibly slow.
1935 2012-10-04 18:36:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1936 Allow back-texture files to be PNG, (drawn with cairo)
1939 2012-10-04 15:10:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1942 A new directory with 256x256 png piece images is added to the source tree.
1944 2012-10-04 15:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1945 Add mode to draw PNG piece images through cairo
1947 The PNG images have to be supplied as files in a -pngDirectory (a new
1948 option) with a 256x256 bitmap. They are then scaled by cairo to the
1949 desired square size. This does not work very well for the smaller sizes.
1951 2012-10-03 14:45:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1952 Redo marker dots with cairo
1955 2012-10-03 14:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1956 Redo highlights with cairo
1959 2012-10-03 14:07:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1960 Make convenience routine SetPen globally available
1962 The routine to set a pen as specified by a color string that was used
1963 in xevalgraph is moved to xboard.c, where there also is lots of demand
1964 for it. The arrow drawing now uses it for setting the highlightSquareColor.
1966 2012-10-03 12:28:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1967 Redo grid with cairo
1970 2012-10-03 12:00:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1971 Redo arrow highlighting with cairo
1974 2012-10-03 11:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1975 Redo seek graph with cairo
1977 New front-end services DrawSeekOpen() and DrawSeekClose() have been
1978 added, and are called from the back-end to enclose any drawing activity.
1979 In WinBoard these had to be defined as dummies.
1981 2012-10-02 15:31:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1982 Redo logos with cairo
1984 The logos must now be .png files, and are internally handled as their
1985 filenames. (So no preparation of a drawable from it at startup.)
1986 Cairo allows them to be scaled to the requested logoSize.
1988 2012-10-02 14:02:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1989 Fix Eval Graph resolution problems
1991 Anti-aliasing had to be switched off to get a crisp graph. A second problem
1992 was that the dashed lines were drawn in both directions, with interfering
1995 2012-10-02 10:54:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1996 Redo Eval Graph drawing with cairo
1999 2012-10-21 10:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2000 Fix button-border-width bug in monoMode
2002 The kludge of signalling we are dealing wih a button rather than a label
2003 was wrongly implemented in case of momoMode.
2005 2012-10-21 10:14:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2006 Reserve more space for button bar
2008 In some board sizes the button bar was wider than the code guessed,
2009 so the window width would be determined by the message + buttons row rather
2012 2012-10-21 11:24:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2013 Fix WinBoard compile errors
2016 2012-10-13 09:33:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2017 Fix non-NLS compile error for XFontStruct
2020 2012-10-12 12:04:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2021 Fix browsing for path
2023 A pathname was still prefixed with the cuurent directory.
2025 2012-10-07 21:00:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2026 Use Pause state in AnalyzeMode to imply move exclusion
2028 The pause state was not used in AnalyzeMode so far. Now it is used to
2029 imply all entered moves are for exclusion/inclusion.
2031 2012-09-30 18:55:13 -0700 Arun Persaud <arun@nubati.net>:
2032 new version number for developer release
2035 2012-09-30 22:16:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2036 Fix broken -ics and -cp options
2038 The patch to specify engines and ICS by nickame broke the use of the
2039 regular options to do this, because they could also reset them. Now
2040 this is fixed by only setting them (through |= in stead of =).
2042 2012-09-30 22:01:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2045 The description of exclude-moves, multi-game ananalysis and duo-analysis
2048 2012-09-30 10:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2049 Resolve conflict between -mps and -inc options
2051 The age-old problem that a persistent valid -inc value will cause -mps
2052 to be ignored is solved by the kludge of storing these two as a single
2053 option (-mps) in the settings file, and declaring the other (-inc) volatile.
2054 The range of negative numbers (invalid as -mps value) was available for
2055 that, and now is used to store the negated value of -inc in msec.
2056 For backward compatibility, specification of -inc causes interpretation
2057 of -mps in the old way. The forcing of -inc to -1 in the master settings file
2058 could be safely removed because of this change, so that the time increment
2059 now is a persistent option.
2061 2012-09-29 23:13:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2062 Allow entry of fractional increment in WB time-control dialog
2064 The numeric edit is changed to a general text edit, and code is added
2065 to convert the text it contains to and from float, with proper error check.
2067 2012-09-29 23:05:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2068 Preconfigure -icsNames in xboard.conf
2070 Although XBoard has no startup dialog with an ICS combobox, the -icsNames
2071 option is now used to select lines from with the -is option, and in
2072 interpretation of positional arguments. The most common ICS are configured
2073 together with a short nickname, so that commands like "xboard fics" will work.
2075 2012-09-29 22:58:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2076 Allow ICS nickname as positional argument
2078 If an argument is encountered that is not preceded by an option name,
2079 it is now first checked if it corresponds to the nickname of an ICS
2080 in -icsNames. If so, it is assumed to be the value of an -is option,
2081 selecting -ics mode with that ICS and all the options installed with it.
2083 2012-09-28 20:28:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2084 Cure some sick behavior in XBoard Engine Output right-clicks
2086 When a PV-walk is in progress, the PV is highlighted by selecting it,
2087 and this focuses the attention of the scroll bar on it, so it remains in
2088 view. But after release, that line was kept in view, rather than scrolling
2089 back to the top of the window (where the header line bust be available
2092 2012-09-28 13:28:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2093 Allow Analyze Game to auto-step through entire game file
2095 If the game index is set to auto-increment (-lgi -1), the Analyze Game
2096 function will automatically load the next game of the current game file
2097 (starting to auto-play/annotate that) when the end of the current game is
2098 reached. This flushes the annotated game if auto-saving was set,
2099 so that eventually all games in the file will be annotatd and saved.
2100 The game index is automatically set to auto-increment when we load
2101 a file while in Analyze Game mode, but switching this mode on while a game
2102 is already loaded will stop at the end of that game, as usual (if -lgi was
2103 not explicitly set).
2105 2012-09-28 13:24:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2106 Let second engine move in lockstep during dual analysis
2108 When the second engine is also analysing (as indicated by its stat variable
2109 second.analyzing), we send all moves / undos / positions / in&excludes that
2110 go to the first engine also to second.
2112 2012-09-27 19:07:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2113 Allow second engine to analyze too
2115 Clicking the Analysis menu when analysis is already in progress will
2116 now toggle the secon engine to analyze the same position. For now,
2117 this lasts only until the position changes (or you leave analyze mode),
2118 after which the second engine is always switched off, and the Engine
2119 Output window returns to single pane. Each pane now has its own header
2120 line; the exclude header is suppressed in the second pane.
2122 2012-09-27 18:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2123 Add options -fe, -se, -is to load installed engines/ics from list
2125 The volatile string options -fe, -se ('first/second engine') load the first
2126 and second engine of the given nickname in the -firstChessProgramNames list,
2127 including all options that were installed with it (similar to when in
2128 WinBoard the that engine line had been selected through the Startup Dialog's
2129 combobox). The option -is is similarly used to retrieve the line for an
2130 ICS in the -icsNames list.
2132 2012-09-27 18:02:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2133 Add check on validity of tourney participants
2135 Before allowing OK of the Tournament Options dialog, it is now checked
2136 whether all participants (which are given as nicknames) can be found
2137 in the list of installed engines, so that no problems will occurr with
2138 non-existing engines during the tourney (if typos crept in after hand-
2141 2012-09-25 16:21:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2142 Implement --help option
2144 The list of options is printed before exiting. Some attempt is made
2145 to do it in a nice way.
2147 2012-09-23 20:10:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2148 Implement variant seirawan in -serverMoves option
2150 Write the gating moves such that the ChessLive! viewer will understand them.
2152 2012-09-23 20:05:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2153 Workaround for FICS bug
2155 FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move.
2156 This broke 'Upload to examine', because that uploaded in SAN. In case the
2157 SAN starts with Bx or bx, it now uses long algebraic (with = before the
2160 2012-09-20 18:17:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2161 Define XOP mime type for XBoard
2163 Supply a white-knight icon for this mime type, called application/x-xboard-opt,
2164 and a sesktop file to associate it with running XBoard with this settings file.
2166 2012-09-20 17:24:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2167 Pay attention to extension of 'positional' arguments
2169 An argument without preceding option name was assumed to be an -lgf argument.
2170 This patch still does that by default, but if the argument ends in .fen, .epd,
2171 .trn, .ini or .xop it is considered an -lpf, -tf or -opt argument.
2172 In addition, an implied -lpf or -lgf argument also imply the option -viewer,
2173 which inserts the -viewerOptions string into the command line, and proesses it
2174 as options. A new option -tourneyOptions is similarly inserted for an implied
2175 -tf argument. These strings should contain all options needed to start XBoard
2176 fully configured as game viewer or tourney playing agent on the mentioned file.
2178 2012-09-20 15:29:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2179 Let windows stick to right display edge (WB)
2181 Auxiliary windows docked to the board window from below or to the right, which are
2182 pushed out of view when the board window resizes, will be trimmed to just touch the
2183 diplay edge (if sufficient width or height remains). When the board window shrinks,
2184 auxiliary windows touching the edge will be resized so they remain touching it.
2186 2012-09-20 15:20:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2187 Round board size to one where piece images available (WB)
2189 When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not
2190 available, the size is temporarily rounded to one of the sizes where they are.
2192 2012-07-03 17:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2193 Fix bug in Edit Position
2195 Due to = in stead of == the variant was always set to S-Chess in
2198 2012-08-28 21:24:51 -0700 Daniel Macks <dmacks@netspace.org>:
2199 bug #37210: Mishandling of X11 -I flags (tiny change)
2201 AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"'
2203 2012-06-02 14:31:18 -0700 Arun Persaud <arun@nubati.net>:
2204 bug #36229: changed ICS_* from define to enum
2207 2012-05-28 13:58:00 -0700 Arun Persaud <arun@nubati.net>:
2208 bug #36229: changed STATE_* from define to enum
2210 enabling better compiler checks
2212 2012-05-28 13:50:50 -0700 Arun Persaud <arun@nubati.net>:
2213 bug #36229: changed PEN_* from define to enum
2215 This should allow better checks by the compiler
2217 2012-05-28 13:01:15 -0700 Arun Persaud <arun@nubati.net>:
2218 fix bug #36228: reserved identifier violation
2220 variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards.
2221 See link in bug report.
2223 2012-05-28 12:36:37 -0700 Arun Persaud <arun@nubati.net>:
2224 Updated German translation
2227 2012-04-30 20:06:00 -0700 Arun Persaud <arun@nubati.net>:
2228 new version number for developer release
2231 2012-04-24 11:23:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2232 Decapitalize promoChar in move parser
2235 2012-04-23 14:12:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2236 Keep track of virginity of back-rank pieces in variant seirawan
2238 The forelast rank of the Board array is now used in VariantSChess to
2239 contain flags that indicate virginity of the back-rank pieces, one bit
2240 for white, the other for black. Legality checking of gatings now makes
2241 use of this info. FENs mention all virgin pieces not implied by castling
2242 rights in the castling field, by printing the corresponding file IDs,
2243 as long as holdings are non-empty. The FEN reader now also understands
2244 this format. EditPositionDone fakes virginity for all pieces that are
2245 on their starting square.
2247 2012-04-17 19:49:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2248 Suppress clear-board message after pasting FEN
2250 The message field is now always cleared when you leave EditPosition mode.
2252 2012-04-17 19:45:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2253 Fix faking of castling rights after editing position with holdings
2255 The queen-side rook was always imagined at X=0, which is in the holdings
2256 when these exist, so that Q-side castling in such games was never allowed
2259 2012-04-20 10:29:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2260 Fix WB Engine Settings window
2262 The listbox patch has broken this window, by making it only list the
2263 first option of the engine, by switching to the next column based on a >=
2264 test rather than == test. Fixed by using 1000 as invalid value for the
2265 break point, rather than -1.
2267 2012-04-20 00:01:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2268 Fix key binding of DebugProc
2270 The name used for binding was DebugProc, while the ite was named Debug.
2272 2012-04-16 20:51:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2273 Fix ICS Text Menu popup
2275 The space for the option names needed to be allocated.
2277 2012-04-16 20:37:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2278 Fix disabling of Load Engine menu
2281 2012-04-15 22:53:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2282 Port chat boxes to XBoard
2284 A new menu item Open Chat Window is added to the View menu. It opens a
2285 window that can handle 5 chats. A row of buttons on top selects which is
2286 the foreground chat partner, to which we type, and whose incoming messages
2287 will be displayed in the memo. The leftmost 'button' is not really a button,
2288 but a text edit, and the active partner is displayed there (so it can be
2289 altered). Selecting another chat partner through a button, moves that partner
2290 to the text-edit, and reshuffles the buttons. Incoming messages in a chat
2291 that is not foreground make the corresponding button color orange.
2293 2012-04-16 20:27:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2294 Allow chaining of single-line text-edits to top
2296 For the benefit of the chat window, a text-edit plus leading description
2297 can now also be chained to the top edge of a dialog. The chaining of the
2298 (degenerate) multi-line ICS Input Box and Move Type-In was entirely to the
2299 bottom, which has now been corrected.
2301 2012-04-12 09:30:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2302 Add logo widgets in main board window
2304 New options -logoSize and -logoDir are added. The former enables logo display,
2305 when non-zero and not too big. The latter is used by -autoLogo. The options
2306 -firstLogo and -secondLogo also work. Problem is that the clock height
2307 is larger than the logo height, and for now a nasty trick in GenericPopUp
2308 is used to position the next element (message field) w.r.t. the clocks,
2309 rather than the last element of the row above (the logo): in case of a
2310 SAME_ROW Graph element, 'last' is kept at the previous element.
2312 2012-04-19 10:48:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2313 Fix crash on time forfeit with -st option
2315 When fixed time per move was set from the command line, the time-control
2316 strings were not set. This let to a crash when an engine forfeited.
2317 The GetTimeQuota function is now made resistant to a NULL pointer here.
2319 2012-04-19 10:39:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2320 Solve WinBoard name clashes, fix zippy-analyze menu graying
2322 Some of the function names used in the refactored X11 front-end collided
2323 with Windows system names from winboard.h, or with names of internal routines
2324 in WinBoard front-end files (so they could not be declared in frontend.h).
2325 These were renamed. Some prototypes in engineoutput.h contained X11 types,
2326 and they were moved to xboard.h.
2327 In addition, two menu-item names were corrected to two-part names.
2329 2012-04-18 12:00:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2330 Offer primitive paging in file browser
2332 If there are more than 1000 files that would have to be displayed,
2333 the number will be limited to 999, and a 'next page' entry will appear
2334 at the bottom. Clicking that will give you the next group.
2335 This is an emergency measure only, as it interferes with sorting
2336 (grouping is based on order inside the directory, i.e. kind of arbitrary,
2337 and sorting is only done within a group.) There is no such thing for the
2338 folder list yet. There is no way to go back to a previous page, other
2339 than closing and re-opening the browser, or selecting another file type.
2341 2012-04-18 11:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2342 Add pixmap as file type known to browser
2344 Users can browse for a pixmap to set the board texture.
2346 2012-04-17 15:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2347 Fix warning about signedness
2349 Note: the promoChar in ExcludeMoves was explicitly defined to make
2350 sure the kludge promoChar = -1 for indicating best move works. But it
2351 should be equivalent to casting the promoChar to (signed char) just
2352 before the comparison.
2354 2012-04-17 15:44:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2355 Fix warnings about character index
2358 2012-04-17 15:37:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2359 Move ManProc to xboard.c
2361 It calls ManInner, which requires X11 data types, even if the values are NULL.
2363 2012-04-17 15:27:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2364 Move FileNamePopUp to dialogs.c
2367 2012-04-17 15:15:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2368 Fix readout of numeric combobox
2370 As currently no numeric comboboxes are used, this bug was silent.
2372 2012-04-17 15:10:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2373 Shuffle prototypes to correct header, or add them there
2376 2012-04-17 14:15:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2379 This function could crash when called with ann argument that did not
2380 contain a period, while the idea was that it should handle this as if the
2381 item is in noMenu (for user-specified key binding to non-menu funtions).
2383 2012-04-16 19:43:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2384 Fix click-click under-promotion animation save
2387 2012-04-17 11:02:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2388 Define TOPLEVEL in winboard.c
2391 2012-04-17 10:59:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2392 Add two new strings to WinBoard language file
2395 2012-04-17 10:51:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2396 Fix second-engine variant test
2398 The test whether the second engine supports the selected variant took place
2399 before the second engine was loaded, thus always coming to the conclusion
2400 that the variant was not supported, and aborting the TwoMachines command.
2401 The test is now moved to after second-engine loading (but before its
2402 initialization, where non-supporting would become a fatal error).
2404 2012-04-16 12:11:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2405 Fix clearing of ICS input box after send
2408 2012-04-16 19:08:10 -0700 Arun Persaud <arun@nubati.net>:
2409 enable -Wall -Wno-parentheses for all compilers that understand them
2412 2012-04-16 13:18:37 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2413 Remove 5 unused variables from zippy code
2416 2012-04-16 13:14:06 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2417 Remove unused static function ShowTC
2420 2012-04-16 13:10:58 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2421 Remove unused static function MenuBarSelect
2424 2012-04-16 13:07:01 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2425 Remove unused variable first_entry from function find_key
2428 2012-04-16 13:01:09 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2429 Remove unused variable tm from function SaveGamePGN
2432 2012-04-16 12:56:46 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2433 Remove unused variable delayedKing from function QuickScan
2436 2012-04-16 12:52:57 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2437 Remove unused variable pdown from function UserMoveEvent
2440 2012-04-15 04:25:59 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2441 Change some double literals to floats.
2443 To avoid unnecessary implicit promotions of float variables to double.
2445 2012-04-15 11:12:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2449 2012-04-14 22:43:03 +0200 Byrial Jensen <byrial@vip.cybercity.dk>:
2450 Translate "NPS" also in engine output window
2453 2012-04-14 16:19:34 -0700 Arun Persaud <arun@nubati.net>:
2454 removed unused variables (-Wunused-variable)
2457 2012-04-14 15:37:05 -0700 Arun Persaud <arun@nubati.net>:
2458 added m4 directory to search path for aclocal. As suggested by Michel Van den Bergh
2461 2012-04-14 23:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2462 Fix Eval Graph scale in drop games
2465 2012-04-14 23:16:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2466 Fix ArrowDamage out-of-bounds access on drop moves
2469 2012-04-14 21:33:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2470 Implement automatic partner observe
2472 Starting a game, or starting to observe one, now automatically issues a
2473 'pobserve' command if dual-board is switched on, so that the partner game
2474 will pop up in the secondary board (assuming it is bughouse).
2475 The secondary board now displays the players in the title. (This (lightly)
2476 breaks WinBoard again.) When the primary game ends, the secondary board
2477 closes automatically. Initial sizing of the board is repaired, and now uses
2478 the actual current board size, rather than the initial size of the main board.
2480 2012-04-14 15:43:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2481 Fix crash due to empty PV
2483 Reception of a stat01 command before the first PV could cause a crash,
2484 as apparently the parser cannot handle this.
2486 2012-04-14 13:27:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2487 Suppress testing for availability in bughouse drops
2489 Give up on testing legality of bughouse drop moves; this only causes problems,
2490 because the move list sent by the ICS is not accompanied by holdings updates.
2491 So XBoard parses it thinking the holdings are empty, making every drop move
2492 an ImpossibleMove. Bughouse can only be played on ICS, and we might as well
2493 trust the ICS that it will only pass us legal moves. A user should not be
2494 able to enter illegal drops; unavailable pieces cannot be grabbed from the
2495 holdings, and typing is diverted to the ICS directly (which would reject the
2496 illegal drop without XBoard even knowing about it).
2497 Also improve switching to bh/zh, based on drop move in initial board.
2499 2012-04-14 09:11:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2500 Fix some compile errors / warnings
2503 2012-04-13 19:06:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2504 Fix promotionPopDown on new move entry
2506 The promotion popup is non-modal, and old XBoard versions popped it down
2507 as soon as the user clicked the board, so he could just enter a new move
2508 to abort the promotion. This was broken in the new version, because the code
2509 to do the PopDown and abort in HandleUserMove had not been ported.
2511 2012-04-13 18:38:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2512 Use in-place sweep-selection for click-click under-promotion
2514 With detour under-promotion a piece cycles through all possible choices
2515 during backwards dragging. But in a click-click move there is no dragging.
2516 This used to be solved by letting the second click start a drag event of
2517 the default promotion choice, which you could accept by immediately
2518 releasing the mouse button, or drag around to change it first.
2519 The dragging in this case seemed a little unnatural, because the to-square
2520 was already indicated by the down-click. So it has been changed now to the
2521 promo choice appearing on the down-clicked to-square, followed by
2522 EditPosition-like sweep-selection on that square when one wants to under-
2523 promote. The move is always accepted no matter where the up-click takes
2524 place, except when it takes place on the from-square (which offers a last-
2525 resort abort possibiliy).
2526 Note that click-click promotion is essential in variants where it is not
2527 obvious from the from-square alone that a promotion is imminent, but where
2528 it depends on the to-square. (Such as Shogi.) There drag-drop detour under-
2529 promotion is not possible.
2531 2012-04-13 16:05:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2532 Improve arrow drawing
2534 The arrow is now erased together with the border highlights, by marking
2535 the damage it did, and then doing a selected redraw of the board to let
2536 the damaged square be re-drawn. Highlights of a previous move are now
2537 cleared on the down-click that selects a new piece, so there never is an
2538 arrow to infavorably interact with animation of dragging.
2540 2012-04-13 14:57:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2541 Also do selective redraw with showTargetSquares on
2543 The XBoard DrawPosition now also keeps track of the previous marker state,
2544 and redraws squares for which thi shas changed. As a result, the routine
2545 MarkTargetSquares does no longer have to force to complete redraw.
2548 2012-04-13 00:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2549 Fix click-click sweep promotions to empty square
2551 These did not work, because DragPieceBegin would fail on an EmptySquare.
2553 2012-04-12 23:58:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2554 Move clearing of target squares to after drag end
2556 A dragged piece that would partly overshoot its destination into a square
2557 with a marker would effectively protect that marker from erasing, when the
2558 erasing was done before the piece was released, because redrawal after the
2559 move only would draw the target square. (Unlike erasing, which forces a full
2562 2012-04-12 23:49:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2563 Fix double promotion popup
2565 Only the up-click of a click-click move gives a promotion popup now.
2567 2012-04-12 23:32:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2570 The new GenericPopUp did not like it if the first button had 'SAME_ROW' set.
2572 2012-04-12 17:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2573 Allow clearing of marker dots in any mode
2575 There might already be dots when you change to a mode where there should
2576 be none, and you don't want them to stay on forever in that case...
2578 2012-04-12 17:00:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2579 Fix redraw of secondary board on flipping view
2582 2012-04-12 10:30:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2583 Let clocks of secondary board count down
2585 The back-end now remembers what is the active clock, and the time left on it.
2586 This is then decremented and updated together with the clocks of your own
2587 game, using the partnerUp flag to divert the clock display to the secondary.
2589 2012-04-12 09:47:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2590 Fix 3 forgotten symbolic widget references
2593 2012-04-11 19:24:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2594 Add sound files to browser menu
2597 2012-04-11 13:04:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2598 Add New Directory button to file browser
2601 2012-04-11 09:54:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2602 Detect engine exit during startup
2604 The case where engine startup failure does not result in a fatal protocol
2605 message, like "No such file", but where it simply exits, is now also covered.
2607 2012-04-10 22:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2608 Suppress popup for fatal error after tellusererror
2610 For cooperating better with Polyglot, and allowing more to-the-point
2611 error messaging, the (awful) default message will be suppressed if the
2612 dying engine already provided an explanation for its demise to the user.
2614 2012-04-10 20:28:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2615 Fix Engine Output icon heights in international versions
2617 The text in a label option could not be an empty string, or it would be
2618 'translated' to something of enormous size. So it is set to a space now.
2620 2012-04-10 20:21:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2621 Fix internationalization
2623 The internationalization was broken by moving the XtSetLanguageProc
2624 to behind 'bindtextdomain'.
2626 2012-04-10 20:03:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2627 Make reference to board widgets symbolic
2630 2012-04-10 18:39:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2631 Don't strip path from engine name if directory given
2634 2012-04-10 17:54:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2635 Fix vertical chaining of Buttons and browser ListBoxes
2638 2012-04-10 15:53:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2641 The 'narrow search' modification had broken auto-play, because all selected
2642 games were marked as matching position 0, so that they would all start in
2643 thr opening position.
2645 2012-04-10 13:30:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2646 updated po/pot files
2649 2012-04-10 11:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2650 new version number for developer release
2653 2012-04-10 13:22:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2657 2012-04-10 13:21:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2658 Fix Makefile EXTRA_DIST
2661 2012-04-02 17:53:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2662 Use Ctrl key in EditPosition mode to copy pieces
2665 2012-03-28 23:51:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2666 Fix bug in FRC castling for position search
2668 In FRC it is essential that both pieces are taken off the board before
2669 any of them is put back, lest they obliterate each other.
2671 2012-03-28 12:25:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2672 Fix bug on loading engine
2674 A newly loaded engine was put at the end of the game, rather than at the
2675 current position, (which is required in EditGame mode).
2677 2012-04-06 17:02:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2678 Add 'Narrow' function to position search
2681 2012-04-06 10:52:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2682 Reorganize main() a bit
2684 The font stuff goes into a separate routine, and the X11 stuff is
2685 moved backwards as far as possible.
2687 2012-04-04 21:55:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2688 Give the dual-board option a separate board window
2690 The second board window pops up whenever an alien board is received
2691 during your game. Moves in it are highlighted by an arrow, irrespective
2692 of the 'Highlight with Arrow' setting. The clocks are displayed, but do
2695 2012-04-05 11:23:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2696 Port engine grouping to Match Options dialog
2699 2012-04-05 15:18:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2700 Change default directory in Load Engine to "."
2703 2012-04-05 10:49:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2704 Port grouping to XBoard Load Engine Add highlight to Load Engine grouping
2707 2012-04-06 17:19:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2708 Fix default file types for browse buttons
2711 2012-04-03 09:14:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2714 Redo file browser with GenericPopUp
2716 This had to solve quite some problems, because it wanted to use a ComboBox
2717 option while a transient dialog could be up, was a non-engine dialog
2718 while an engine dialog is up, and XRaiseWindow does not work properly.
2719 Sorting is done alphabetically, or for digit groups by numeric value.
2721 2012-04-02 14:43:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2722 Use ListBox in stead of ComboBox in Match-Options dialog
2725 2012-04-02 14:09:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2726 Use ListBox in stead of ComboBox in Load Engine dialog
2728 Make Load Engine listbox sensitive to double-clicking
2730 2012-03-26 17:06:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2731 Add message about enabling in New Variant dialog
2734 2012-03-31 20:27:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2735 Move LoadGamePopUp to menus.c
2738 2012-03-31 20:25:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2739 Move DisplayMessage to dialogs.c
2741 Use the wrapper SetWidgetLabel to make it back-end.
2743 2012-03-31 15:23:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2744 Fix switching debug option during session.
2746 Switching on debug mode during the session did not create the requested
2749 2012-03-31 15:22:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2750 Correct texi file for use of .Xresources
2753 2012-04-02 19:19:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2754 Fix recent-engines menu
2756 A new primitive to create an item in a given menu was added to do this.
2758 2012-03-31 10:54:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2759 Switch back two two-part menu names
2761 The menu code is again completely changed; a handle field is added
2762 to the MenuItem tables to store the widget for the item, and this info
2763 is used to alter sensitivity or marking. MenuToNr is replaced by
2764 MenuNameToItem, which looks up the two-level name directly in the
2765 menu tables. Put all currently unused MenuProcs in noMenu table,
2766 so they are available for key binding through the new method.
2768 2012-03-24 18:36:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2769 Redo main board window with generic popup
2771 Some of the improvements in GenericPopUp (committed earlier) were added
2772 especiall for this (menu and box Option types), and the commits that used
2773 them to make a fully functional board, listed below, were collapsed into
2776 This uses the new box and menu features of the Generic popup.
2777 Make option table shadow board consistent with refactor
2778 Do main menus in shadow board
2779 The board made by GenericPopUp now also has (functional) menus. The Expose
2780 callback now also uses the new format (passing coordinates).
2781 Use BoxEnd callback to decide about smallLayout
2782 The shadow board now dynamically decides whether it should use smallLayout
2783 positioning of the title-in-window widget, using a callback in the BoxEnd
2784 option for the menu bar: If no reasonable amount of space is left behind
2785 the menu bar, the title is forced under the clocks (smallLayout).
2786 Do some mouse handling on shadow board
2787 Only button 1 events for now. We have to keep track if the button is down!
2788 Connect button 3 to shadow board
2789 For now only for piece and PV manipulation: no context menus yet
2790 Symbolic reference in option formatting
2791 choice <-> textValue xboard.c
2792 Improve expose callback shadow board
2793 Implement context menus of shadow board
2794 This uses the new generic PopUp option
2796 Make mock-up board available through menu item
2797 Make clocks of shadow board sensitive to clicking
2798 Make button bar of shadow board operational
2799 The back-end Event functions are specified as user callbacks directly;
2800 this is not very clean, as they are parameterless, but called with an int
2801 argument. This should have no bad consequences, though.
2802 Switch to using shadow board as main board
2803 The menu marking and enabling had to b switched off for this, as it
2804 only worked on the old menus. Remove HandleUserMove.
2805 Deleting of unused shell variables, clocks to dialogs.c
2806 Move BoardPopUp to dialogs.c
2807 This required passing on fome front-end vars as parameters, and returning
2808 apointer to the option list, to make the handles available in xboard.c.
2809 Simplify InitDrawingSizes
2810 Now that all widgets of the main window are properly chained, there is
2811 no need to resize them when the board format changes: setting a new width
2812 for the shell suffices.
2813 Cleanup some unused Xt Args
2815 2012-03-31 10:53:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2816 Remove unnecessary menu unmarking for Edit Tags
2819 2012-03-29 19:09:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2820 Split sync-after options in Match dialog into checkbox + label
2822 Now the checkbox texts are highlighted on hovering, we don't want the
2823 explanatory text behind it to be highlighted with it.
2825 2012-03-26 17:12:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2826 Make variant-unsupported-by-second error non-fatal
2829 2012-03-23 20:06:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2830 Redo Eval Graph with generic popup
2832 The Graph option of the GenericPopUp is used to implement the Eval Graph.
2833 Compared to the previous implementation, which was drawing directly in the
2834 form widget, the new one has one extra widget layer, but that did not
2835 affect the code anywhere. Adapt eval title to width of eval graph.
2837 2012-03-23 15:17:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2838 Redo Engine Output window with generic popup
2840 A new file nengineoutput.c holds the X-independent code. This makes use
2841 of new capablities of GenerciPopup, for having Label widgets on same row,
2842 stacking panes after a Break, and chaining Label and Text widgets.
2844 2012-03-21 23:00:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2845 Redo Game List with generic popup
2847 Check in ngamelist.c
2848 Redo Game List with generic popup
2849 The X-independent code (i.e. almost all) is moved to a new file
2851 Make button in Game List to pop up Game List Options
2852 Fix scrolling game list
2853 Fix popup of existing Game List after loading file
2854 Wheel-scroll game list
2855 Symbolic reference game list
2857 Put format flags with listbox options
2859 2012-03-21 17:58:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2860 Redo Game List Options with generic popup
2863 2012-04-05 21:56:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2864 Add -dialogColor and -buttonColor options
2866 These only override system defaults if they are non-empty strings.
2868 2012-03-28 15:52:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2869 Add -topLevel option
2871 This persistent Boolean option determines if the auxiliary windows
2872 (Game List, Move List, Engine Output, Eval Graph, Tags and Comment)
2873 use top-level shells (with their own icon on the task bar, and
2874 independently closable). Other dialogs will always use transient shells.
2875 (Also he modal Error and Promotion dialogs, for which the modality
2876 presumably only serves to pop them down without special attention.)
2877 A control for this was added in the General Options dialog.
2879 2012-03-20 15:30:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2880 Redo ErrorPopUp with generic dialog
2882 <Enter> keeps popping down error popup.Multiple Error popups remeain tricky;
2883 add comment to describe problem with multiple ErrorPopUps.
2885 2012-03-20 10:22:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2886 Redo PromotionPopUp with generic dialog
2888 The dialog is no longer modal.
2890 2012-03-19 21:56:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2891 Redo AskQuestion dialog with generic popup
2894 2012-03-19 21:55:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2895 Major refactoring of GenericPopUp
2897 Allow more transient dialogs in GenericPopUp
2898 Remove grab from promotion popup
2899 Fix other generic popup over transient popup
2900 To use the generic dialog generator for 'asynchronous' popups (Ask Qustion
2901 or Error popup caused by engine), the currentOptions setting has to be
2902 restored for the combo and checkbox callbacks of the transient to still
2903 work after the asynchronous dialog returns. Note that only transient dialogs
2904 can have check and combo controls.
2905 Make generic calcel button suppressible
2906 Also #define some more symbols for Option.min flags,
2907 and move them to dialogs.h.
2908 Change TypeInProc to general OK handler
2909 The move type-in now has its own option list, to distinguish it from
2910 the ICS input box, and give it its own OK handler. Rather than having
2911 the translation for <Enter> on the text widget call TypeInEvent directly,
2912 we let it call GenericCallback, which calls GenericReadout, which calls
2913 the OK proc, which does the job.
2914 To be able to call GenericCallback from the TypeInProc, the recognition
2915 of OK and cancel buttons had to be changed. This because it was too difficult
2916 to arrange the calling widget had label OK or cancell. So these buttons are
2917 no longer recognized by name, but by the option number passed as client data.
2918 (This solves the problem that a user could not make buttons named 'cancel'
2920 Make Cancel button optional
2921 Fix closing multiple popups of same kind
2922 The GenericCallback figures out its own shell, so all buttons of
2923 multiple dialogs keep working. External calls to PopDown only work
2924 on the lastcreated instance of that kind, though (including those from
2925 the Delete Window button, which can do 'cross-closing'). shellUp is now
2926 a counter, and PopDowns are only prevented when it reaches 0 or the
2927 current shell does not exist. (To know this, PopDown now resets shells[n]
2928 to NULL when is shell is destroyed.
2929 Beware of double PopDowns (through OK procs); they wreck the system.
2930 Fix Delete Window button of multipe ErrorPopUps
2931 The action routine for handling the Delete Window now pays attention
2932 to the shell widget that the system passes to it, and temporarily
2933 replaces shells[n] by it to let PopDown act on the proper instance.
2934 Add ListBox dialog type to GenericPopUp
2935 Fix vert sizing of ListBox
2936 Put listbox widgets in viewport
2937 Put listbox in viewport
2938 Improved xoptions.c support for focussing and listboxes
2939 Fix OK-row button positioning
2940 Let GenericPopUp take parent and modality as arguments
2941 This makes the code a bit more explicit and less kludgy. It also becomes
2942 possible to call the same dialog (e.g. Load Options) from the main menu
2943 and from another dialog (e.g. the Game List).
2944 Support scroll function for generic popup listboxes
2946 Move HighlightWithScroll to xoptions.c
2947 Change scroll algorithm
2948 Add mouse-wheel scroll to generic list boxes
2949 Implement tabbing between text edits
2950 Implement same-row text labels in generic dialog
2951 Allow labels to specify their chaining in generic popup
2952 The opt.min variable is used to specify the chaining: 0xF0 are the bits
2953 for (left, right) chaining of the left side (0xC0) and right side (0x30).
2954 The 0xC bits determine top or bottom chaining of the entire label.
2955 Without anything spcified (0), the chaining is XtRubber.
2956 TextBox options can also specify top-chaining of their top. All this was
2957 needed to allow decent implementation of the Engine Output window with
2958 the generic popup. (Although tags and comment popup ca benefit from the
2960 Let GenericPopUp support a Graph option
2961 The Graph option results in an area where one can draw something. It is
2962 positioned / chained similar to Label options. A handler for expose events
2963 can be specified in the textValue field of the option.
2964 Implement box widgets and menu buttons in GenericPopup
2965 To enhance the capabilities of GenericPopUp such that it could create the
2966 main window, it needs to be able tha packaging of controls into a box widget
2967 (for mennu and button bar). Menu buttons are also required elements
2968 (although they do look a lot like comboboxes?) Option types BoxBegin and
2969 BoxEnd can now be used to bracket a group of controls that will be put
2970 in a box widget. (Cannot be used recursively!) The positioning of the box
2971 is similar to that of a Label, and is specified in the BogBegin option.
2972 The code to shrink the menu buttons to fit is also incorporated, to act
2973 on any box widget: if the BoxBegin option specifies a width, the elements
2974 in it are shrunk to meet the requirement. Otherwise the box just gets the
2975 size of the sum of its children (plus spacings).
2976 Label options can now specify a font, casted into their textValue field.
2977 (This is needed to get the proper size for the clock widgets.)
2978 Implement callback in BoxEnd options
2979 BoxEnd is a pseudo-option, to trigger packing the preceeding ones in
2980 an earlier-opened box widget. In the process it calculates the size of
2981 the box widget (and trims it if a size was specified for it in the
2982 corresponding BoxBegin). The Option.target field of BoxEnd is now
2983 interpreted as a callback, which can be use to take decisions based
2984 on the determined size for the remaining options in the list, before
2985 these are processed b GenericPopUp.
2987 Make a subroutine to set args shared by almost all widgets. Swap meaning
2988 of '1'-bit in option.min flag of Break option, to be consistent with
2989 SAME_ROW interpretation in other option types.
2990 Make option tables consistent with refactored GenericPopUp
2991 The flag for stacking in the Break option needed to be inverted, and
2992 the BoardPopUp needed to pass the font in another field. Better use was
2993 made of the improved chaining options too.
2994 Improve Graph-option event handling
2995 The user-supplied callback now gets 3 arguments passed: the event type
2996 (0 = pointer motion, 1...5 button press, -1...-5 release, 10 = expose),
2997 and two coordinates. For ouse events these are the pointer (x,y), while
2998 for expose events they are the window size (w,h). The callback is now
2999 specified in the option.target field of the Graph option.
3000 Store engine options in malloc'ed memory
3001 The Option.name field has been re-declared as (char*), from (char[MSG_SIZ]).
3002 There are still MSG_SIZ chars allocated irrespective of actual size, because
3003 the field is also supposed to store the textValue, which can be changed by
3004 the user. But at least it means that unused options of the generous list
3005 now don't waste much space. (And the prparated Option tables in dialogs.c
3006 will shrink by a large factor as well.)
3007 Improve GenericPopUp ComboBox handling.
3008 The dialog type is now passed to the combobox callback as well, and this is
3009 used to really figure out what option it is called for.
3010 Allow numeric comboboxes
3011 When no list of strings is given in Option.choice, the target is assumed
3012 to be (int), and the number of the slected entry is stored there. Also
3013 adapts the Label options that act as fillers to the new method for making
3014 dummies (namely NULL in the Option.name field).
3015 Put comboCallback in Option struct
3016 Rather than having a general comboCallback variable for the entire current
3017 dialog, each ComboBox option can now specify its own callback in the
3018 target field of the option: the COMBO_CALLBACK bit of Option.min indicates
3019 whether the target is a variable to be set or a callback. The callback can
3020 still fetch the choice from the values array.
3021 Allow generic CreateComboPopup also to do main menus
3022 An extra parameter to CreateComboPopup determines if the menu texts
3023 should be taken from a list of strings (the old method with engine-
3024 supplied choices), or from a menu table of MenuItems. It can now also
3025 recognize "----" as a menu break, and keeps margins (for the marking).
3026 Make subroutine for determining curren combo selection
3027 Various fixes to GenericPopUp
3028 Delete one border-width setting
3029 Fix max nr of args in GenerocPopUp
3030 Fix button release events of Graph options
3031 Fix generic Graph callback pointer motion coordinates
3032 Make all format referencing in Option tables symbolic
3033 Let Option.choice define menu texts, rather than Option.textValue
3034 This is more logical than ussing textValue for it, because choice already
3035 has the correct (char**) type, while textValue was (char*), and needed
3036 casting everywhere. Note that for engine options, the fields were the
3037 same anyway, so no back-end change was required. The textValue now
3038 contains the (casted) list of actual string values, where these are
3039 needed. (But for numeric and function menus they aren't.)
3040 Add PopUp Option type
3041 An new pseudo-Option is defined, to add a popup menu to a previous Graph
3042 option. The actual popping up is done by the expose handler.
3043 The function XUngrabPointer is the key to success here. A PopUp option
3044 specifies a callback for handling the selection from the menu, which will
3045 be called with the option number, exacty as with ComboBox options.
3046 Update option explanation in dialogs.h
3047 Make Spin and CheckBox callbacks pass dialog number
3048 No longer rely on 'currentOptions' for getting the option belonging to
3049 the callback, but get it out of the dialogOptions array indexed by dialog
3050 type. This way things cannot be messed up by an asynchrounous error popup.
3051 It also means that it is now save for non-modal dialogs to use these options.
3052 Use button widget for text behind checkbox
3053 Let listboxes use general formatting hints
3054 Let GenericPopUp option always finish last pane after Break
3055 Allow LisBox to specify select callback in Option.textValue
3056 Use double-click to trigger ListBox callback
3057 Make ListBox callback re-entrant
3058 Fix multi-line Label options
3059 Separate CreateMenuItem out from CreateComboPopup
3060 Chain checkbox texts entirely left
3061 Allow a user-specified callback to Label options
3062 This is needed to implement the clocks. Let the CheckBox callback handle
3063 it. For now ther is no distinction between different mouse buttons.
3065 2012-03-21 11:15:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3066 Prevent double PopDowns
3068 Some DialogOK functions ordered an early PopDown themselves. This,
3069 however, resulted in PopDown being called twice when they returned TRUE.
3070 This interfered with the new system for allowing multiple instances of
3071 the same dialog. So these functions are now fixed to suppress the
3072 standard PopDown by always returning FALSE.
3074 2012-03-20 19:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3075 Split usounds.c and usystem.c from xboard.c
3077 X-independent code was moved to separate files. The nef file usound.c
3078 contains the sound handling, which in XBoard is trivial, because it uses
3079 an external player, but could be replaced by a complex one on platforms
3080 that have to handle the sound themselves.
3081 The usystem.c file contains all non-X Unix-like stuff, such as fork,
3082 pipe, system, getenv. I also contains some color parsing for the xterm
3083 colors. This stuff could be useful on platforms that support Unix-like
3086 2012-03-26 19:03:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3087 Make routine to probe shift keys
3089 The code to probe Alt keys was taken out of MoveTypeInProc, and extended
3090 to probing Ctrl and Shift keys too. These are now returned in the 6 LSB
3091 of an int by ShiftKeys().
3093 2012-03-19 13:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3094 Remove one level of indirection on ICSInputBoxPopUp
3097 2012-04-10 10:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3100 Remove AskQuestionProc
3101 A bit of cleanup on xboard.c prototypes
3102 Remove dead file-browser code
3103 Delete vestigial jail code
3104 All the stuff about jailColor was deleted. Only one fishy thing remains:
3105 xpmJailSquare seems under some conditions used in BlankSquare to draw a
3106 'neutral' square. it is set to a copy of a light square image. But in the
3107 current design 'neutral' means blacked out between board and holdings,
3108 and even with image use, it should not resemble a light square...
3109 Remove registering of CommentPopDown and TagsPopDown
3110 Merge CopyGameSelection into CopyPositionSelection
3112 2012-03-19 11:38:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3113 Move some back-endish routines from xboard.c to dialogs.c
3115 Move ICS input-history handling to dialogs.c
3116 Move ICS Input Box text handling to dialogs.c
3117 Move DisplayXxxx routines to dialogs.c
3118 Move DisplayTitle to dialogs.c
3119 A wrapper SetWindowTitle remains in xboard.c.
3121 2012-03-18 20:10:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3122 Split back-endish part off xoptions.c, and move to dialogs.c
3124 Some MenuProcs for dialogs were also moved to dialogs.c from menus.c.
3125 MoveTypeInProc which is an event handler for the board widget,
3126 was moved to xboard.c, where it can be static.
3128 Identify dialogs by enum type
3129 A new header dialogs.h is created, which defines an enum type DialogClass
3130 that is now used to identify the various dialogs done by GenericPopUp.
3131 The prototypes for GenericPopUp/PopDown, and other globals shared by the
3132 dialogs code and other modules can go in here as well.
3133 Remove ClearTextWidget
3134 This did the same as SetWidgetText with an empty string.
3135 Split X-code from PutText
3136 Split back-end part from MoveTypeInProc
3137 Take set-title out of comment popup
3138 Sort MenuProcs in dialogs.c with their support functions
3139 Declare globals in dialogs.c with functions where they belong
3140 Add prototypes to dialogs.h
3141 Move prototypes and globals from xoptions.c to dialogs.h
3142 Make accessor DialogExists for dialog shells
3143 Add dialogs.c to makefile: compiles and runs!
3144 Combine 3 calls into front-end to InitDrawingParams
3145 Move EditCommentProc and ICSInputBoxProc to dialogs.c
3146 Pass option list as argument to GenericUpdate and GenericReadOut
3147 Shorten argument name from currentOption to opts
3148 This to prevent confusing it with the global variable of that name.
3150 2012-03-18 15:33:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3151 Declare some shared global variables in backend.h
3153 The vlobals twoBoards and partnerUp were only shared through an extern
3154 declaration in xboard.c
3156 2012-03-18 12:34:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3157 Split back-endish part off drawing code and move to board.c
3159 Split DrawSquare in front-end and back-end part
3160 Back-endize DrawHighlights and DrawPosition
3161 The already existing wrapper FlashDelay is used as a kludge to do an XSync.
3162 We now pass a code for the line color GC to the highight routine. New
3163 wrappers are DrawGrid() and DrawBorder().
3164 Back-endize atomic explosions
3165 Back-endize DrawArrow and DrawDragPiece
3166 DrawDragPiece now calls DrawOneSquare with argument EmptySquare in stead
3167 of the X-type referring BlankSquare. A new wrapper DrawPolygon fixes
3168 DrawArrowBetweenPoints.
3169 Move board-drawing logic to new file board.c
3170 All X-independent drawing logic (board, squares, arrows, highlights,
3171 some animation stuff) has been extracted from xboard.c, and moved to
3172 a new file board.c, which is back-end (but unshared with WinBoard).
3173 A new header board.h defines the cross-references (which of course
3174 required some functions to be no longer declared as static).
3175 A bit of code was moved from DragPieceBegin to BeginAnimation, which
3176 now has an extra argument to indicate which piece should appear from
3177 under a dragged piece. This makes DragPieceBegin free of XCopyArea calls,
3178 so it could be moved too.
3179 Make board.c truly back-end
3180 Get rid of all X data types. For this the AnimState struct had to be
3181 redefined: the GC and Pixmap was taken out and put in front-end arrays
3182 indexed by anim agent (game and player). For this indexing a new enum
3183 was defined. The XPoint type was also replaced by our own type of an
3184 int pair (which is nasty, because the int size could be different).
3185 Move more animation code to board.c
3187 2012-03-18 10:08:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3188 Contract some awful code replication
3190 The code for making an X-color was replicated 6 times, and is now made
3191 into a subroutine. The code for creating GCs was quite repetitive as well.
3193 2012-03-18 08:34:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3194 Move more back-endish menu-related stuff from xboard.c to menus.c
3196 Move menu enabling to menus.c
3197 Only the wrapper EnableMenuItem stays in xboard.c. A new wrapper
3198 EnableButtonBar was necessary, because Training mode wants to enable/disable
3200 Move all back-endish MenuProcs to menus.c
3201 Many if the MenuProcs that could not be eliminated by listing the
3202 corresponding back-end MenuEvent function as handler directly, are
3203 still completely plactform indpendent. (E.g. when the MenuEvent needs
3204 a parameter.) These are all moved to menus.c now.
3205 Convert all dead MenuProcs to using MarkMenuItem
3206 The MenuProcs for the option items that no longer exist were also
3207 converted for check-marking their item in the new way, because we
3208 might revive them for key binding.
3209 Move the dead MenuProcs also to menus.c
3210 Revive dead menu procs
3211 Move GreyRevert to menus.c
3212 Move ModeToWidgetName to menus.c
3213 Move initial menu marking to menus.c
3215 A new function InitMenuMarkers was split off from main() to do this.
3217 2012-03-18 08:17:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3218 Switch to use of short menu references
3220 The prefixes menuXxxx. for the item names are abolished. This made it
3221 necessary to also add a MarkMenuItem function that can handle short names
3222 for putting the xMarkPixmap on the items, as the names returned by
3223 ModeToWidgetName are used for both enabling and check-marking.
3224 Let MarkMenu use MarkMenuItem wrapper
3226 2012-03-17 10:47:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3227 Refactor menu code, and move it to menu.c
3229 Supply new method for key binding
3230 It is annoying that every menu item needs its X-specific handler routine,
3231 because this handler has to be registered to X for becoming eligible as
3232 a key binding. Another disadvantage of this method is that the user wanting
3233 to make the binding has to know the name under which the menu function
3234 is registered (e.g. FlipViewProc).
3235 A new method is now made available, which uses only a single (X-specific)
3236 routine, registered with X as "MenuItem", as generic key-binding handler.
3237 The bindings can then be made by the user specifying "MenuItem(FlipView)".
3238 This requires a new list of potential bindings, which should be filled
3239 by the menu-creation routines. (Currently only contains only a predeficed
3241 No longer register all MenuProcs with X
3242 The list with available menu procs is moved to the user-maintained
3243 menuItemList. Only QuitProc had to stay registered with X, because it is
3244 used in CatchDeleteWindow. (So it is in both lists now.) In the future,
3245 most of the list can be built automatically from the menu tables.
3246 Alter type of MenuProcs to void(void)
3247 By getting rid of the argument list with X-types, most menu procs can
3248 become back-end. In the cases of ManProc and QuitProc the original
3249 version had to be kept as well, because in ManProc the argument was
3250 actually used (with key binding), while QuitProc is used for delete window.
3251 Remove now unnecessary menu wrappers
3252 Now the MenuProc have an empty argument list, those that also call a
3253 single 'MenuEvent' without arguments have become completely redundant,
3254 and have been taken out of the loop by calling the corresponding MenuEvent
3256 Build menuItemList from menu tables
3257 Rather than having an initialized table of name-proc associations (which
3258 used to be the X registrations) for the menu items, we now build the list
3259 during menu cration from the menu tables. The menu "ref" is now used as
3260 proc name. This means the old MenuProc names used in the predefined
3261 key bindings had to be changed to conform to this. Note that the bindings
3262 would slice up names containing spaces in several parameters, so in the
3263 translations the spaces were squeezed out of the item names. This requires
3264 a hand-written comparison routine Equal() to identify the binding.
3265 Remove prototypes of deleted MenuProcs
3266 Move prototypes of platform-independent MenuProcs to menus.h
3267 Create a new header file for the menu stuff, so that we can move
3268 the corresponding handler routines out of xboard.c to a back-end file.
3269 Extract back-end code from menu creation
3270 The menu tables and code to interpret them is moved to a new file menu.c.
3271 Only basic fuctions for creating a pop-down list and for adding an item
3272 to it remain in xboard.c.
3274 2012-04-07 15:59:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3275 Remove some unused (exclude-moves) variables
3278 2012-04-07 15:57:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3279 Install engine within current group
3282 2012-04-07 15:53:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3283 Switch to using listboxes for engine-selection in WinBoard
3286 2012-04-07 15:36:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3287 Implement Narrow button in WB Game List
3290 2012-04-05 15:15:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3291 Silence unjust warning
3294 2012-04-04 12:18:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3295 Fix memory corruption through InitString and second-engine loading
3297 The InitString and ComputerString options were not swapped when replacing
3298 the second engine, so that the ChessProgramStates of the first engine
3299 could point to an invalid (already freed) init string. Also make sure
3300 that appData.directory contains its value in allocated memory, even
3301 when hand-loading engines.
3302 Some of the rare options were not swapped either, and would thus
3303 always be loaded for the first engine when -singleEngineList was true.
3304 They are now also all reset to their default, before engine load,
3305 to prevent options of one engine to linger on for a next that does
3306 not specify them. The intentional exception is -firstHost.
3308 2012-04-01 20:51:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3309 Fix PV sorting during fail low
3311 When an engine reports a fail low as thinking output, and then re-searches
3312 the same move with larger window, it now gets a lower score. This line
3313 would then be sorted below the earlier fail low, because it was mistaken
3314 for a multi-PV line for an inferior move. This patch suppresses PVs
3315 overtaking each other if they start with the same move.
3317 2012-03-30 20:09:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3318 Extend smallLayout regime up to size Medium
3320 Because of the increase number of menus, there is not enough space for a
3321 title next to the menu bar at smaller sizes. In fact it is questionable if
3322 the title should ever go on the same line as the menu bar.
3324 2012-03-30 10:38:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3325 Fix parsing crazyhouse promotions with legality testing off
3327 With legality testing off, any promotion suffixes in a move are taken
3328 'on faith'. But in crazyhouse the piece ID for normal pieces is used as
3329 promotion suffix for promoted pieces, so this would Loop Chess rather than
3330 Crazyhouse. Now attention is payed to presence of ID-less promotion pieces
3331 (indicated by ~ in the pieceToCharTable), and if there are, these prevail
3332 ovr the specified type.
3334 2012-03-30 10:07:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3335 Fix browsing for save file in WB
3337 The generic popup browse buttons used the wrong flavor of browser,
3338 which would only accept existing files. This was inconvenient when browsing
3339 for a save file. The other flavor of browser is now used by default (so that
3340 engine options also use it), and a new flag is added in the option.max field
3341 (which was already indicating file type) to request readonly browsing for a
3344 2012-04-02 10:18:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3345 Let clicking on header line exclude moves
3347 The exclude header in the Engine-Output window can now be clicked, to
3348 toggle the exlusion of the listed move. Clicking on 'none' resets all
3349 exclusions, clicking on 'best' excludes the first move of the latest PV.
3350 The pseudo-move 'tail' represents all non-listed moves.
3352 2012-04-01 22:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3353 Keep list of excluded moves in Engine Output header
3355 As long as there is still space, excluded or included moves are added
3356 to a new header line in the Engine Output window (prefixed with + or -
3357 depending on whether they are currently excluded or included). Future
3358 in/exclusions of that same move then alter the prefix.
3360 2012-03-21 23:12:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3361 Fix focus of Game List
3363 After focus was transferred to the filter text-edit, it was impossible
3364 to get it back on the game list (to make the arrow keys working again).
3365 A translation to left down-click is now used to assign focus, just as
3366 it would for text edits. For unknown reason this only worked if the
3367 translations were instated by Overriding, rather than Augmenting,
3368 which again required the normal translation of downclick, Set(), which
3369 selects the clicked item, to be explicitly mentioned as well.
3371 2012-03-16 22:41:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3372 Fix taking effect of some option changes
3374 This fixes a bug reported at Ubuntu: when switching off move highlighting
3375 in Two Machines mode, the last move before the switch stayed highlighted.
3376 The GeneralOptionsOK() now clears any remaining highlights when highlighing
3377 is off. Similar problems with blind-fold mode and coordinates, which require
3378 a total board redraw to take effect, are now solved by also forcing such a
3379 redraw in GeneralOptionsOK() when they change.
3381 2012-03-16 21:58:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3382 Add exclude and setscore to protocol specs
3385 2012-03-16 14:47:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3386 Fix clock stop after dragging
3388 DelayedDrag always cancelled the previous drag timeout event, even when
3389 this was no longer pending because it had already taken place, and the
3390 event ID was resused by some other timeout (usually a clock tick).
3392 2012-03-14 21:06:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3393 Implement exclude moves
3395 Dragging a piece by double-clicking it on the from-square in analysis mode
3396 will not perform the entered move, but send an exclude or include command
3397 to the engine for that move (provided the engine enabled this with
3398 feature exclude=1), depending on if the move was already excluded or not.
3399 To this end a map of excluded moves is kept, and cleared when we move to
3400 another position through moving, undo, setboard or new. The user can see
3401 whether he included or excluded the move, as exclude uses premove highlights.
3402 Commands "exclude|include all" are sent when we throw a double-clicked
3403 piece off board (vertically or horizontally, respectively), but after
3404 exclude all the most recent PV move is included again.
3405 Remaining problem is that promotions can only be excluded.
3407 2012-03-14 15:13:18 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3408 Mark new text "Click clock to clear board" for translation
3411 2012-03-13 21:46:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3412 More thorough switch to -ncp on engine failure
3414 The ProcRef and InputSource are now also cleared, and just to be sure there
3415 are no surviving adapters, the child is killed when engine startup fails.
3417 2012-03-13 21:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3418 Install engines as ./exefile in XBoard
3420 When a path name is split into directory and filename, the latter in Linux
3421 must be preceded by ./ in order to make it executable in the directory
3422 XBoard starts it in.
3424 2012-03-13 14:11:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3425 Inform user in EditPosition mode how to clear board
3427 With -pieceMenu false the board is cleared by clicking the clock, but
3428 since this is impossible to guess, it is now printed in the message field.
3430 2012-03-13 14:06:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3431 Fix fall-back on -ncp mode
3433 When the requested engine could not be started, the user still had to
3434 wait for the feature timeout to expire before the UI was re-enabled,
3435 and the now-useless loading action would continue. In stead we now
3436 cancel any scheduled continuation, thaw the UI immediately, and switch
3437 the menus and gameMode to ncp straight away.
3439 2012-03-10 18:55:24 -0800 Arun Persaud <arun@nubati.net>:
3440 updated po/pot files
3443 2012-03-10 18:54:32 -0800 Arun Persaud <arun@nubati.net>:
3444 new version number for developer release
3447 2012-03-06 16:37:02 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3448 Fix typo (seach) in string. It is already fixed in branch v4.6.x
3451 2012-03-04 14:52:34 -0800 Arun Persaud <arun@nubati.net>:
3452 added some documentation about what's need to be done for a release and a bash-release script
3455 2012-02-28 21:09:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3456 Fix suspected bug in Makefile
3461 2012-02-26 18:55:10 -0800 Arun Persaud <arun@nubati.net>:
3462 add information about our webpage and were to report bugs into the help menu
3465 2012-02-26 18:40:27 -0800 Arun Persaud <arun@nubati.net>:
3466 fixed "make install-pdf": missing target for recursive make in po directory
3469 2012-02-26 23:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3470 Suppress recent-engines menu items in ICS mode
3473 2012-02-26 22:45:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3474 Fix 50-move counter in ICS mode
3476 Marking irreversible moves in the EP_STATUS did not work in ICS mode,
3477 as ApplyMove,which did that is never executed there. Only the boards
3478 sent by ICS are displayed,especially in observing mode. Now the status is
3479 derived from the ICS mov strings (x in the SAN move, or P in the long move.
3481 2012-02-26 17:18:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Fix two 64-bit warnings
3484 Passing the engine number in a pointer variable to the callback needed
3487 2012-02-26 16:53:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3488 Fix piece symbols on switch back to variant normal
3490 Variant switches were not properly detected, meaning the variable pieces
3491 could keep a form belonging to a previous variant. (E.g. Queen remained
3492 a Lance image after switching from shogi to normal.)
3494 2012-02-26 14:07:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3495 Keep XBoard windows attached on resize
3497 Windows attached to bottom or right are displaced with the size increase.
3498 Their perpendicular dimension is also scaled, to keep their edges at the same
3499 fraction of the main window, unless they stick out. In the latter case the
3500 fraction is clipped to 1, so that edge moves with the full size increase.
3502 2012-02-25 22:40:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3503 Implement -stickyWindows in XBoard
3505 This makes the auxiliary windows move with the main window when they were
3506 touching, as in WinBoard. A control is added in the General Options dialog.
3508 2012-02-25 21:14:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3509 Use more reliable X-call for getting window position
3511 XtGetValues on XtNx, XtNy is unreliable. XGetWindowAttributes seems
3512 to give more reliable results, and automatically accounts for the width
3513 of window dressing. The -frameX/Y options are no longer needed bcause
3514 of this, and were removed.
3516 2012-02-25 11:55:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3517 Make frame width configurable in XB
3519 New persistent options -frameX, -frameY now can be used to specify
3520 the amount by which Xt lies about the window coordinates.
3522 2012-02-23 20:01:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3523 Use combobox line for recent engines when available
3525 The entry made in the -recentEngineList for the startup engine was
3526 derived from the -fcp value, but this would ignore a possible nickname.
3527 In WinBoard we now use the full combobox line to derive the entry.
3529 2012-02-23 09:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3530 Fix translation of EngineOutputTitle WB
3533 2012-02-23 01:34:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3534 Updated Danish translation
3537 2012-02-23 00:59:36 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3538 One missed translation of cps->which
3541 2012-02-22 19:58:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3542 Undo translation of cps->which = first/second
3544 The string in cps->which should not be translated, because it goes into
3545 the debug file to label engine I/O, and many tools for processing
3546 debug files (broadcasters, PGN extractors) rely on this being "first" or
3547 "second". In all contexts where "first" and "second" need to be translated,
3548 cps->which itself is already enclosed in _().
3550 2012-02-22 18:27:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3551 Implement -serverFile option
3553 This writs an extra debug file with only engine communiation on it,
3554 for the benifit of programs like TLCS.
3556 2012-02-22 17:46:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3557 Implement -autoCopyPV
3559 This option causes automatic copying of the last position of a PV walk
3562 2012-02-16 14:58:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3563 Delete some load-game debug printing
3565 The debug printing in Disambiguate was no longer needed. The printing
3566 of the started process in XBoard that went to stderr is now diverted
3567 to debugFP, so it ends up in the debug file.
3569 2012-02-16 14:41:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3570 Move change of debug file to before game load
3572 Loading a game from -lgf is done before TwoMachinesEvent is called,
3573 but logically belongs to the game. So the code to switch to the new
3574 debug file for the game is moved to NextMatchGame now.
3576 2012-02-16 14:09:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3577 Fix button grab for sweep selection
3579 The piece-menu initialization limited the grab of button events to those
3580 occurring inside the board window (presumably intended to limit them to
3581 the piece menu, but that does not pop up in sweep-selection mode).
3582 This is now suppressed when -pieceMenu is off, so that selection continues
3583 outside the the board. (Which is very convenient for pieces pu close to the
3586 2012-02-16 13:16:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3587 Don't leave piece selected after piece menu
3589 PieceMenuEvent left the just introduced piece selected, which is almost
3590 never what one wants, as it makes it jump to the next square when selects.
3591 Which is especially annoying if it captures the piece you wanted to grab...
3593 2012-02-16 12:57:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3594 Fix use of middle button for position setup
3596 With sweep selection the actual drop is made on releasing the button,
3597 and this event was not caught for button 2. Button-2 motion events were
3598 also not caught by the sweep-selection handler.
3600 2012-02-16 23:53:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3601 Fix one more typo in the translator comments explaning "first" and "second"
3604 2012-02-16 23:39:32 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3605 Fix typo in translator comments explaning "first" and "second"
3608 2012-02-16 23:23:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3609 Add args.h to POTFILES.in and change the interface to ExitArgError() so msg is c format string
3611 Having msg as a format string will ease translations because then
3612 badArg doesn't have to come last.
3614 2012-02-16 22:51:44 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3615 Mark the strings "first" and "sencond" for translation.
3617 ... and assign the translated strings to cps->which in function InitEngine()
3619 2012-02-16 18:42:10 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
3620 Use ngettext() instead of gettext() for a string to allow better translation.
3623 2012-02-16 00:19:59 -0800 Arun Persaud <arun@nubati.net>:
3624 translation: updated uk.po
3627 2012-02-15 20:59:09 -0800 Arun Persaud <arun@nubati.net>:
3628 modified configure and makefile for handling mimedb update
3630 the default configure will install them using the xdg commands (if they exist on the system)
3632 2012-02-13 22:29:48 -0800 Arun Persaud <arun@nubati.net>:
3633 add configure test for xdg-programs to install mime types; can be disabled for building of e.g. rpms
3635 in case the target system doesn't have the xdg-programs available, we test for them.
3636 Distributions often have their own macros to install these, so we add an enable option to configure
3638 2012-02-13 22:05:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3639 Remove a debug printf
3641 The parsePV debug printf becomes extremely verbose with -fSAN, -sSAN,
3644 2012-02-12 22:18:24 -0800 Arun Persaud <arun@nubati.net>:
3645 new developer release
3648 2012-02-12 22:19:37 -0800 Arun Persaud <arun@nubati.net>:
3649 updated po/pot files
3652 2012-02-12 22:17:03 -0800 Arun Persaud <arun@nubati.net>:
3653 updated Changelog, NEWS, etc.
3656 2012-02-12 07:52:54 -0800 Arun Persaud <arun@nubati.net>:
3657 translation: updated uk.po
3660 2012-02-12 11:38:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3661 Leave height of row that only contains buttons free
3663 All elements of the GenericPopUp are still scaled to the text height,
3664 including buttons appended behind them (browse or color buttons).
3665 But we now make an exception for a row that only contains buttons,
3666 as there is no harm in it being a little higher (and the buttons look
3669 2012-02-12 00:01:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3670 Fix OK button of error popup
3672 The error dialog popped up as a child of the board window, even when
3673 DisplayError was called from a dialog. Now it checks if a transient
3674 dialog is up, and if so, it pops up as a child of that, grabs focus,
3675 and suppresses the system popdown of the transient dialog through a flag
3676 dialogError until it is popped down itself.
3678 2012-02-11 20:07:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3682 2012-02-11 10:18:02 -0800 Arun Persaud <arun@nubati.net>:
3683 added some comments for translators
3686 2012-02-11 10:08:46 -0800 Arun Persaud <arun@nubati.net>:
3687 fixed comments for translators: comments starting with TRANSLATORS: are now copied to the po file
3690 2012-02-11 19:01:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3691 Also configure sweep selection
3693 To make sure this feature is tested, we set -pieceMenu false in the
3694 master settings file.
3696 2012-02-11 18:26:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3697 Fix date in copyright notice about-box
3700 2012-02-11 17:15:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3701 Fix switching animation masks on variant switch
3703 The masks for variant-dependent piees (E,H in Seirawan, promoted Golds
3704 in Shogi, the Gothic Chancellor) were no longer updated in InitDrawingSizes
3705 because of the patch to reduce X-server calls.
3707 2012-02-11 16:46:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3708 Configure wider game list
3710 The game list was by default too small, so that there was no room for the
3711 filter field. Now a width of 500 is specified, whcih works at -size 49
3714 2012-02-11 16:29:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3715 Fix button chaining and combo/textbox label height
3717 Previous patches forgot to specify the height for the text labels on
3718 -combo and -text options, so they were still too high. Buttons that go
3719 on the same line as the previous element should be chained right, not rubber.
3721 2012-02-11 15:52:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3722 Make -pgnNumberTag option setable from menu
3724 The Save Options dialog now containes a checkbox for this.
3726 2012-02-11 15:48:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3727 Configure some new features switched on
3729 The master settings file switches -showTargetSquares, -sweepPromotions
3730 and -seekGraph on, so that they will get more testing.
3732 2012-02-11 14:43:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3733 Fix heigth of multi-line labels
3735 The previous height patch overlooked that some labels are multi-line,
3736 and need more height.
3738 2012-02-11 14:10:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3739 Fix popdown seekgraph on forward-event XB
3741 Only the grid was drawn when the > or >> button were operated, because
3742 a full redraw was not forced by ForwardInner. The recent patch to take
3743 the seek graph down on such events did not account for that. (BackwardInner
3744 always seems to do full redraw, however?)
3746 2012-02-11 12:59:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3747 Put front-end support for -recentEngines in XBoard
3749 The engines are added to the menu. Problem is still that in XBoard
3750 startup engines are given by command, rather than selected by combobox,
3751 so the command rather than the nickname ends up in the menu. If this is
3752 then selected, it cannot be found in the list. To limit the damage,
3753 Fairy-Max is now pre-installed without nickname. -recentEngines is now
3756 2012-02-11 11:53:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3757 Better solution to button-height problem
3759 In stead of adapting the height of text widgets to that of buttons,
3760 (as represented by the message widget), we now do the opposite, and
3761 adapt the button & label heights. This is made safe by obtaining textHeight
3762 from the fontSet's max_logical_extent, though an XExtendsFontSet() call.
3763 Turns out the default height of text widgets is not exactly that, but
3764 4 pixels larger for borders and margin.
3765 The parameter XtNvertDistance is now used to align the checkboxes with
3766 the following text widget, and their size is derived from textHeight as
3768 The XtNvertDistance is set to -1 for the lower spin button, so that it
3769 its border coincides with that of the upper spin button. Their height is
3770 set to textHeight/2. This makes their combined height just 1 pixel more
3771 than that of the preceeding text widget. (Uh? 2 x tw/2 -1 > tw?), so for
3772 other buttons we use that too (i.e. textHeight = font_extent + 5).
3774 2012-02-10 22:39:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3777 Deleting debug printing had made a variable unused.
3779 2012-02-10 22:26:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3782 The text-edit-height patch introduced a bug that did not have any consquences
3783 (yet), as the extra arg erroneously included leftover from a previous
3784 SetValues call happened to be the same as one of the intended args.
3786 2012-02-10 20:51:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3787 Fix unloading of first engine on tourney start
3789 Because NextTourneyGame was loading a new engine before ReserveGame was
3790 called to unload it with dummy game nr = -1), the first engine proc kept
3793 2012-02-10 18:39:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3794 Remove some of the most verbose debug output
3797 2012-02-10 17:46:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3798 Delete some unused WinBoard bitmaps
3800 There waere up-side-down knight icons that apparently hid by mistake
3801 in the bitmaps directory: they were not part of WinBoard
3803 2012-02-10 17:39:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3804 Cosmetic: change 4.5 to 4.6 in xboard.conf comment
3807 2012-02-10 17:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3808 Fix crash on empty combobox menu XB
3810 XBoard crashed when a combobox without items was opened, as could easily
3811 happen in the Load Engine dialogs when -firstChessProgramNames contained
3812 no items, as it would without configuring. Now the creation of the popup
3813 menu is suppressed in that case.
3815 2012-02-10 17:13:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3816 Fix position of checkbox XB
3818 With the large height the widget get in internationalization, the
3819 checkboxes are position way too high above the text. To shift them down
3820 a dummy borderless label widget is drawn above them (when needed).
3822 2012-02-10 15:07:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3823 Fix heights in Engine Output window XB
3825 The icons did not fit in the space above the memos anymore, so the height
3826 of this area is now left free.
3828 2012-02-10 14:55:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3829 Derive height of text-edits in dialogs from message widget
3831 With internationalization the default height of buttons has inexpliquably
3832 inreased compared to that of text-edits, messing up the layout of the
3833 GenericPopUp. The message widget is now used as a emasure of how high
3834 the widgets should be.
3836 2012-02-10 14:21:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3837 Configure XBoard engines and textures
3839 The new -useBoardTexture option is needed in xboard.conf, as we want to
3840 distribute with the texture on, while the compiled-in default is off.
3841 A list of 4 engines has been configured (fairymax, fruit, crafty, gnuchess),
3842 as the Load Engine and Match Options checkboxes crash XBoard when the list
3843 is empty. The -recentEngines option is set to 0 to make sure the code
3844 associated with it is never executed: the code is still experimental,
3845 and the required front-end support is only present in WinBoard anyway.
3847 2012-02-10 13:30:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3848 Update Dutch WinBoard translation
3851 2012-02-10 13:18:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3852 Create room in some WB dialogs for translations
3855 2012-02-10 13:17:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3856 Add 5 missing strings to WinBoard translation template
3859 2012-02-09 23:03:58 -0800 Arun Persaud <arun@nubati.net>:
3860 new developer release
3863 2012-02-09 23:04:46 -0800 Arun Persaud <arun@nubati.net>:
3867 2012-02-09 22:59:05 -0800 Arun Persaud <arun@nubati.net>:
3868 updated Changelog, NEWS, etc.
3870 2012-02-09 22:44:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3871 Fix non-bug in WinBoard
3873 The IDM_RecentEngines was not used in symbolic form everywhere.
3875 2012-02-09 18:46:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3876 Fix MAXENGINES in WinBoard
3878 The front-end arrays for expanding the engine list measured 1000 entries,
3879 in stead of MAXENGINES, leading them to overflow.
3881 2012-02-09 13:05:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3882 Implement kludge to set options through Move Type-in
3884 A leading "!!! " will cause the rest of the line to be parsed as
3885 command line. Very dangerous, as an unknown option (e.g. because of a typo)
3886 will cause a fatal error, which makes XBoard exit.
3888 2012-02-09 13:04:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3889 Put move number in Eval Graph title
3892 2012-02-09 13:00:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3893 Implement -pgnNumberTag option
3895 A new (persistent) boolean option controls if the sequence number is to
3896 be written in saved tourney games as a Number tag, to make it easier
3897 to correlate games with debug files.
3899 2012-02-09 12:55:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3900 Create separate debug fil for each tourney game
3902 Users can now apecify a -debugfile with %d in its name, and this will
3903 be replaced by the sequence number of the game. TwoMachinesEvent then
3904 starts by opening a new file when the name has changed, so that each
3905 game will go to a different file, with recognizable name.
3907 2012-02-09 12:51:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3908 Fix bug in WB combobox readout
3910 The previous patch exposed a latent bug in the readout of the generic popup.
3912 2012-02-08 23:25:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3913 Allow grouping of engines in engine list
3915 Lines "# GROUPNAME" and "# end" enclose a group in -firstChessProgramNames.
3917 2012-02-08 17:47:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3920 A trailing .exe was not removed if the engine name was quoted.
3922 2012-02-08 17:45:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3923 Put recently used engines in WB menu
3925 A new option -recentEngines specifies how many engines should be listed.
3926 The list of nicknames is stored in the ettings file as -recentEngineList.
3927 The engines are appended to the Engine menu.
3929 2012-02-04 19:37:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3930 Fix registering of EditTagsProg
3932 This was registered with X as EditCommentProc!
3934 2012-02-07 23:04:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3935 Increase max nr of engines to 2000
3937 Move the #define for MAXENGINES also to common.h, so that both the
3938 Load and Tourney dialog use the same maximum.
3940 2012-01-19 23:01:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3941 Fix fix of switch to mono-mode
3943 The previous fix had == in stead of != for testing if mono-mode had changed.
3945 2012-01-19 22:21:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3946 Make New Variant dialog visible in mono-mode
3948 All colored buttons did get a black background, and also black text...
3949 Use timer background color in stead, which is white.
3951 2012-01-19 20:48:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3952 Incease size of WB array of translated items
3954 For the BoardOptions dialog 42 items are now needed
3956 2012-01-19 17:18:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3957 Implement Clone Tourney button XBoard
3959 This makes use of the new GenericUpdate().
3961 2012-01-19 16:34:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3962 Implement GenericUpdate function
3964 This does the opposite from GenericReadout: it copies the current
3965 parameter values into the dialog.
3967 2012-01-19 12:19:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3968 Fix arrow damage with highlightDragging XB
3970 With highlight dragging the highlights of the previous moves are cleared
3971 when lifting the piece. Logically, this should also clear the arrow, but
3972 to do that requires a board redraw, which is not done at this stage. (And
3973 even then this would only be effective after marking the arrow damage,
3974 which is not done yet either). As a temporary fix, we repair the arrow
3976 This patch has moved marking of the arrow damage from DrawArrowHighlight
3977 to a separate routine, so a future better fix can also call that when the
3978 arrow should be erased.
3980 2012-01-18 16:01:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3981 Prevent unnecessary loading of engines
3983 For engines that can be reused, the unloading at the end of a pairing
3984 is in some cases wasteful, as the same engine will be used in the next
3985 pairing as well. In simple gauntlets the gauntlet engine will always
3986 stay first engine, while in multi-gauntlets the oppent engine will stay
3987 the same for an entire round. In these cases unloading is now suppressed.
3989 2012-01-17 22:22:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3990 Reset protocol version before loading new engine
3992 The protocol version was not reset, so if the previous engine was v1,
3993 the newly loaded engine would not be sent a protover command, so
3994 that its features would remain unknown!
3996 2012-01-17 19:33:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3997 Give focus to board window after ICS login
3999 toprevent that the focus remains on any popped up chat boxes, it is
4000 explicitlly set otherwise. The board window is preferred over the
4001 ICS interaction window, because you can type from there to the ICS anyway,
4002 and it makes all accelerator keys available.
4004 2012-01-16 14:37:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4005 Fix seek-graph popup and popdown
4007 Clicking outside the board area in WB (e.g.on the clocks) would also
4008 trigger seek-graph 'popup'. This is now suppressed by testing for
4009 y-coord > 0. In addition, the seek graph is automaticaly taken down
4010 when we step to another position in the current game (using buttons,
4011 arrow keys or whatever).
4013 2012-01-15 21:29:11 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4014 Suppress empty lines when observing on VICS
4016 Capture of the engine kibitzes when observing an engine game with
4017 -autoKibitz on was still leaking a linefeed on the Variant ICS
4018 (but not FICS or ICC!?).
4020 2012-01-15 21:24:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4021 Fix printing non-numeric kibitz with -autoKibitz
4023 Messages that were not considered kibitzed engine PV info for lack of
4024 numeric content, were kibitzed as coming from "your opponent", which
4025 is nonsense if you were iobserving, and masked the source. Fortunately
4026 star_match[0] is still holding the original name, at that point.
4028 2012-01-11 17:33:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4032 2012-01-11 17:00:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4033 Use same translation of "vs." everywhere
4036 2012-01-11 17:08:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4037 Add new translations to WB language file
4040 2012-01-11 16:20:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4041 Fix re-allocation of PGN-cache memory
4043 It allocated 8 times too much!
4045 2012-01-11 12:47:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4046 Fix height board dialog
4049 2012-01-11 12:34:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4050 Enable WB time-control dialog even when no clock mode
4052 The dialog could be called from the tournament dialog to set a TCfor
4053 the tourney even when currently in game-viewer mode, so it'd better work.
4055 2012-01-11 12:28:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4056 Exempt variant seirawan from -disguisePromoted inheritance
4058 This is not a variant where promoted Pawns have to be distingushed
4059 from primordial pieces, as captured pieces do not go into the holdings.
4061 2012-01-09 21:23:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4062 Add control for overrideLineGap in WB Board dialog
4064 Make it a checkbox to choose between 0 and -1.
4066 2012-01-09 20:56:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4067 Add Ctrl-D as alternative to Ctrl+Alt+F12 in WinBoard
4069 The acellerator key Ctrl+Alt+F12 seems reserved on Windows 7.
4071 2012-01-09 20:52:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4072 Fix seek graph for VICS
4074 The sought command on the open-source ICS code is ICC-like (no terminating
4075 line), although the server is FICS like. So also accept prompt as seek-graph
4078 2012-01-09 20:27:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4079 Open WB startup chat boxes only after logged on
4081 The init code for opening the chat boxes ismoved to DisplayIcsTitle().
4083 2012-01-07 20:31:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4084 Install mime types directly
4087 2012-01-07 20:29:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4088 Install desktop files directly
4091 2012-01-07 20:19:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4092 Install icons directly
4094 Rather than letting make-install copy the pixmaps to the XBoard data
4095 directory they are installed directly from the source files. The name
4096 of the TRN icon was also corrected and changed.
4098 2012-01-05 18:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4099 Update texi file and remove duplicate control
4101 Some missing option descriptions were added. The highlight-dragging
4102 control was removed from the General Options dialog, as it did the same
4103 as Show Target Squares. -highlightDragging wa changed to a volatile option
4104 with default value true, making it effectively disappear as an XBoard
4105 option. (In WinBoard it is still persistent.)
4107 2012-01-05 15:55:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4108 Remove the direct commands to the engines
4111 2012-01-05 21:15:11 -0800 Arun Persaud <arun@nubati.net>:
4112 forgot to list new desktop files in EXTRA_DIST section in Makefile.am
4115 2012-01-05 20:08:23 -0800 Arun Persaud <arun@nubati.net>:
4116 added some autogenerated po files to .gitignore
4119 2012-01-05 20:05:44 -0800 Arun Persaud <arun@nubati.net>:
4120 added desktop and mime-type association to autoconf install process
4122 This should install and uninstall the mime assocciation and also the icons.
4123 Also renamed the desktop files to avoid possible name collisions.
4125 2012-01-03 21:30:59 -0800 Arun Persaud <arun@nubati.net>:
4126 code cleanup: make function definition confirm to GNU coding style
4128 change everything in the main directory to
4131 funcname (int a, int b)
4135 2012-01-03 18:43:18 -0800 Arun Persaud <arun@nubati.net>:
4136 Updated copyright notice to 2012
4139 2012-01-03 21:32:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4140 Implement -viewerOptions
4142 A mechanism is added to allow the user to configure persistently if the
4143 game viewer that starts on clicking PGN files will use -ncp mode, or
4144 load an egine for analysis (or, in fact, do anything). This by introducing
4145 a persistent string option -viewerOptions, which will be parsed as a
4146 command line after the real command line when the option -viewer was present.
4148 2012-01-03 11:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4149 Fix crash in auto-comment
4151 Trailing linefeeds in AppendComment were not properly stripped off,
4152 leading to a mismatch between the allocted and used memory, and thus
4153 possible buffer overruns.
4155 2012-01-02 23:46:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4156 Fix crash at match end
4158 The -afterTourney option had broken old-style matches, because the ranking
4159 string that was tested for "busy" is not set there at all, and remains a
4160 NULL pointer, which strcmp doesn't like.
4162 2012-01-01 19:56:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4163 Add desktop files for PGN viewer and tournament player
4165 The desktop files define startup commands for handling PGN, FEN and
4166 tourney files, calling xboard with the proper command-line options.
4168 2012-01-01 19:53:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4169 Add xml file for defining mime types
4171 The file xboard.xml defines application/x-chess-pgn, aplication/x-chess-fen
4172 and application/x-xboard-trn as mime types for *.pgn, *.fen and *.trn files,
4173 so these files can be associated with XBoard in various modes.
4175 2012-01-01 19:41:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4176 Add icons for PGN and tourney files
4178 Icons are provided in two sizes: 32x32 and 48x48.
4180 2011-12-29 19:55:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4181 Clear square markers on new game
4183 Now that the markers can stay on after a first click, they need to be
4184 explicitly cleared when moving to another board, including a new game.
4186 2011-12-29 15:51:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4187 Abandon single-letter menus in tinyLayout
4189 Now that the items on the main menu bar are clipped, it iso longer
4190 necessary to abbreviate them.
4192 2011-12-29 15:38:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4193 Implement peeking previous position in WinBoard
4195 The backspace key is used to temporarily display the previous position.
4197 2011-12-29 15:32:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4198 Fix parsing of faulty PGN tags
4200 A closing bracket could be missed in a malformed tag
4202 2011-12-29 15:29:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4203 Fix parser for variant seirawan
4205 The new parser didnot understand gating suffixes with /, and did not
4206 allow any suffix at all on SAN castling moves.
4208 2011-12-28 22:32:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4209 Try to not confuse ICS rating adustments as shouts
4211 An explicit pattern match for the rating adjustment is added before
4212 matching the shouts.
4214 2011-12-28 22:21:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4215 Describe -overrideLineGap option in texi file
4218 2011-12-28 22:03:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4219 Use <Enter> in stead of Ctrl+. for peeking last move
4221 I commented out the explicit detection of the Ctrl key, as this
4222 is not needed when there are no 'unnatural' Ctrl keystrokes used
4225 2011-12-28 19:37:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4226 Next try for menu-bar sizing
4228 This time request the width needed to just fit everything, and then start
4229 shaving off pixels from the currently largest until the entire thing fits.
4231 2011-12-28 15:17:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4232 Clip texts on menu bar
4234 The width of the items on the main menu bar is restricted so the bar
4235 will never exceed board width.
4237 2011-12-28 14:01:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4238 Fix format in temporary timing printf
4241 2011-12-28 13:38:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4242 Don't test drops as mate evasions in variant seirawan
4245 2011-12-28 13:36:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4246 Fix ICS castling rights
4248 Copying the castling rights together with CopyBoard seems to have
4249 broken handling of ICS rights, where ParseBoard12 prepares a board
4250 in a local variable, an copies it before parsing the rights.
4252 2011-12-28 13:35:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4253 Fix initial holdings ICS seirawan games
4256 2011-12-27 18:31:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4257 Fix sending of S-Chess gating moves to ICS
4259 Normal moves did not get the gating suffix sent.
4261 2011-12-27 17:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4262 Fix menu grayout after illegal move
4264 TheThinkingEnables were not reset to user state after the engine rejected
4265 the entered move as illegal.
4267 2011-12-27 13:26:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4268 Allow setting of holdings with edit command
4270 For the benefit of Fairy-Max' Seirawan Chess implementation, the edit command
4271 no also sends holdings contents (if the engine sent feature xedit=1), encoded
4272 as pieceType + '@' + holdingsCount (if the count is non-zero).
4274 2011-12-24 17:54:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4275 Fix out-of-bounds access in check test
4277 Thepath to make the check test work with drops had broken the test
4278 after null move (both have rf<0), which led to corruption of the high
4279 word of the black clock.
4281 2011-12-24 17:51:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4282 Fix legality of Spartan promotion to king
4284 In the check test promotion to King is only allowed if there are not
4287 2011-12-21 22:17:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4288 Fix switching back from mono-mode XB
4290 Suppressing unnecesary X-server calls in InitDrawingSizes had broken
4291 switching back from monoMode, because the animVars have to be recreated
4292 for that, and this was only done when the variant changed.
4294 2011-12-21 22:09:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4295 Fix showTargetSquares in mono-mode XB
4297 Make the marker dots black (captures) and white, and draw a circle
4298 in the opposite color around them in monoMode.
4300 2011-12-21 22:00:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4301 Fix arrow highlighting in mono-mode XB
4303 Draw a line around it in darkSquare color in monoMode.
4305 2011-12-21 17:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4306 Fix alignment of generic browse button XBoard
4308 The width ofthe browse button is now read back after creating it,
4309 and subtracted from the preceding text edit.
4311 2011-12-21 14:41:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
4312 Add -afterTourney option
4314 Only the instance pinting the tourney result will execute this.
4316 2011-12-22 21:01:43 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4317 Fix buffer possible overflow when writings tags
4319 PGNTagsStatic() could overflow its buffer and is removed. PGNTags() do the work instead of calling it.
4320 It starts by calculation the required buffer size and then allocate the buffer.
4321 PrintPGNTags() now prints directly to the file without having a buffer.
4323 2011-12-22 15:01:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4324 One more string marked for translation
4326 And it is moved inside the if statement that uses it.
4328 2011-12-22 14:30:08 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4329 Fix checking of return value from snprintf()
4331 snprintf() returns the needed space excluding the trailing 0 byte, so
4332 it has truncated if the returned valued is greater than or EQUAL TO the buffersize
4334 2011-12-19 16:49:31 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4335 Fix unportable memory initialisation
4337 Memory sat to zero by calloc() cannot safely be assumed to have the pointer value NULL
4339 2011-12-19 13:16:58 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4340 Add 2 strings for translation
4343 2011-12-19 11:25:11 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4344 Remove the last 2 compile warnings in gamelist.h
4347 2011-12-19 11:17:48 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4348 Add #include "moves.h" to gamelist.c for def. of CopyBoard()
4351 2011-12-19 11:11:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4352 Definition of TimeMark moved from 3 c files to backend.h
4355 2011-12-19 01:21:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4356 Transfer a pointer to the promoChar from PromotionPopUp() to PromotionCallback(). Fixes #34980
4359 2011-12-18 17:24:07 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4360 Duh! Initialise the argument to sscanf() inside the loop, so it always gets a known value when sscanf() fails.
4363 2011-12-18 17:18:12 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4364 Give numeric options the value 0 if a non-numeric text is entered (one more place). Before the value ended up undefined.
4367 2011-12-18 17:08:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4368 Give numeric options the value 0 if a non-numeric text is entered. Before the value ended up undefined.
4371 2011-12-18 15:41:46 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4372 Fix possible crash on 64-bit systems when copying game or position
4374 The two convertproc's for X selections caused reads out of bounds on 64-bit systems.
4375 I hope that this is the right solution. I am not experienced with X stuff, but it
4376 follows that I have seen in other programs, testing shows that copying still works,
4377 and the reading out of bounds have disappearinged with this patch.
4379 2011-12-18 13:26:20 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4380 Fix a possible crash in the file browser
4382 If the OK button was selected in the file browser when no file was selected
4383 there was a read out of bounds which could crash xboard
4385 2011-12-17 22:54:34 +0100 Byrial Jensen <byrial@vip.cybercity.dk>:
4386 Fix a memory leak in Sound Options
<