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 2014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>:
10 2014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>:
11 forget a few __APPLE__ ifdefs; changed to OSXAPP
14 2014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>:
17 AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching?
18 Using just prefix=... seems to work though
20 2014-10-16 23:34:22 -0700 Arun Persaud <arun@nubati.net>:
21 USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE
24 2014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
25 Fix loading of engine-defined PGN games
27 Somehow there could be disagreement over what the official opening
28 position of an engine-defined variant was during loading of the game.
29 It then refused Betza-defined castling, which tests the corner pieces
30 based on this initial position. We now assume the FEN tag, which such
31 a PGN game will always contain, holds the official opening position,
32 so that castling will always be assumed possible (if there is a corner
35 2014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
36 Preserve parent variant for PGN of engine-defined game
38 Rather than decoding an unknown variant name, (which will result in
39 'normal'), we keep the currently set (parent) variant when an
40 engine-defined variant is currently set that matches the name in
41 the PGN variant tag of the loaded game.
43 2014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
44 Fix some uninitialized variable bugs
46 The writing of Seirawan castling rights in FEN was still dependent on a
47 now unused variable, and encountering a VariantMen tag in a PGN file
48 could have created the misconception the memory was full.
50 2014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
51 Update Game List after tag selection changed
53 When the Game List Options dialog changes the tags to be displayed in
54 the Game List lines, we now automatically redo the entire Game List.
56 2014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
57 Always accept piece commands in variant great
59 Great Shatranj belongs to the variants XBoard does not know the rules of,
60 and should thus always accept engine piece commands.
62 2014-10-15 21:28:36 -0700 Arun Persaud <arun@nubati.net>:
63 make all tests for strings in configure use the same scheme
66 2014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>:
67 updated Changelog, DIFFSTAT, and SHORTLOG
69 2014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>:
70 fix osxapp enable option in configure.ac
73 2014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>:
74 remove experimental from gtk build option
77 2014-10-15 21:02:38 -0700 Arun Persaud <arun@nubati.net>:
78 only enable osxapp build target on apple systems, clean up configure.ac a tiny bit
81 2014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>:
85 2014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
86 Don't switch to engine-defined variant on game loading
88 When loading a game from PGN the variant tag will have been decoded as
89 'normal' in case of an engine-defined variant, and we certainly would
90 not want to switch to that. Better stay in the variant the user had
91 selected before, and hope for the best.
93 2014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
94 Implement displaying of variant tag in Game List
96 The variant tag was displayed as an empty string in game-header lines.
97 Processing it during PGN load was not able to handle engine-defined
98 variants anyway; they were recognized as 'normal'. A new field in the
99 GameInfo struct now holds variantName in text form, and this is the
100 primary place from which it is displayed in the Game List.
102 2014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
103 Update Game List when setting new Game List Tags
105 Using the Game List Tags dialog to alter the gae header lines now
106 automatically causes an update of the Game list according to the new
109 2014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
110 Reset move entry on Clear Board
112 The board markers would stay on when the board was cleared, and a
113 no-longer-present piece would stay selected, leading to deletion of the
114 first piece that you tried to select.
116 2014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
117 Split Tournament dialog in side-by-side panes
119 This seems to cure a sickness in some Xaw versions, which refused
120 to display text in the text widgets, or make them sensitive for mouse
121 clicks if the last three buttons were added. It also helps keeping
122 the 'OK' button on-screen in the GTK version.
124 2014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
125 Remember position obtained from setup
127 When the engine sends a setup command, it should be remembered as
128 initialPosition, in order for the castling 'rook' test of the Betza
129 move generator to work.
131 2014-09-13 12:35:12 -0700 Joshua Pettus <jshpettus@gmail.com>:
132 Add build script to configure for a XBoard.app for OS X
134 This relies on the the gtk build and adds some special code in
135 gtk/xboard.c so that XBoard can be installed inside the app directory
136 independ on where the app file is located.
138 2014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>:
139 replaced hardcoded pngdir with built-in ~~
141 don't need to create xboard.conf from xboard.conf.in anymore
143 2014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
144 Some improvement on new Shogi SVG pieces
147 2014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>:
148 updated spanish, ukranian, and dutch translation
151 2014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
154 The patch for logo standard left a typo and an excess line in the Xaw
155 version. This is fixed, and also implements the user-logo cascade for
158 2014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
159 Try also /home/<user>/.logo.pgn for user logo
161 The user logo now also has a cascade, first looking in the user's home
162 folder for a file .logo.png, and then in the -logoDir for <user>.png.
164 2014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
168 2014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
169 Show current variant on New Variant buttons GTK in bold
171 If an engine-defined variant is selected, we compare its name to the
172 inscription on the button, otherwise we compare the variant numbers.
173 (Test to trigger this is a bit awkward, to not inadvertantly apply it
174 to the ICS Text Menu, which also has colored buttoms.)
176 2014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
177 Increase number of engine-defined-variants Buttons XB
179 An third column is added to the New Variant dialog when necessary.
181 2014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
182 Force GTK logo size to quarter board width
184 This is what GTK will do anyway, because clocks and logos are in a hbox
185 that equally divides space, so telling XBoard different just misinforms it.
187 2014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
188 Replace default Shogi pieces
190 The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus.
191 This set also contains and Elephant and Crown Prince.
193 2014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
194 Implement new logo standard
196 XBoard now looks in the system directories for plugin logos,
197 /usr/(local/)share/games/plugins/logos, according to the cascade
198 -logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/...
200 2014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
201 Relocate OS X' LOCALEDIR
204 2014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
205 Fix check test with multi-leg moves
207 The check test after a multi-leg move was still using the same kill
208 square in the opponent's reply, making it blind to King captures in
209 a second leg. So far we got away with that because the Shogi multi-leg
210 pieces also can reach all their potential victims in a single step,
211 but with engine-defined multi-leg moves there is no guarantee this
212 will always be the case.
214 2014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
215 Fix infinite loop in cylinder moves
218 2014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
219 Let t on final leg in Betza notation forbid checking
221 To allow approximate definition of pieces that are too difficult to
222 describe exactly, we can revoke their capture rights on Kings,
223 to prevent imagined moves that happen to threaten a King forces the
224 opponent to evade this imagined check, making most of his moves illegal.
225 Then the piece can be safely replaced by an upward-compatible one,
226 leaving rejection of the extra moves to the engine.
228 2014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
229 Implement Betza hr and hr as chiral move sets
231 To easily separate right- and left-handed moves on oblique atoms
232 (which needs opposite use of l and r in their multi-leg continuations),
233 the direction sets hr and hl are added.
235 2014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
236 Preserve other Betza mode bits on setting default modality
239 2014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
240 Switch to new Betza orth-diag conversion standard
242 The interconversion from orthogonal to diagonal atoms is now possible
243 for any 4-way atom, based on specification of an 'in-between' direction,
244 irrespective of modality. Also take backward out of default continuation
247 2014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
248 Implement Betza t modifier for hop-own
250 The 't' modifier will restrict any form of hopping as specified by
251 p or g modifiers to friendly pieces. This only works on non-final legs.
253 2014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
254 Implement directional modifiers on KQ, and let y&g upgrade
256 The Betza y and g modifiers now not only change range, but also upgrade
257 the directional capabilities of the atom to full non-degenerate 8-fold.
258 Directional modifiers can now be used in that symmetry too, to maximally
259 exploit this, and implement 4-fold pieces that make 45-degree turns.
260 Let oblique continuation legs also use the non-degenerate system.
262 2014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
263 Implement Betza y modifier
265 The non-standard modifier 'y' is the spontaneous counterpart of 'g',
266 changing the range of the atom, and upgrading its directionality.
268 2014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
269 Implement Betza g modifier for non-final legs
271 The g modifier is implemented as a p that turns a rider into the
272 corresponding leaper when it hops, and vice versa. This is done by
273 stripping off any existing range indicator, and making the range
274 infinite by suffixing '0' when the old range was 1 (whether implied
275 or explicitly written). Except that for sliders/steppers this is done
276 by atom-name conversion after stripping off the range. Limited range
277 thus in general turns into leaper (D -> D0, Dn -> D), but with FWK
278 W3 -> R and R3 -> W, etc.
280 2014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
281 Implement Betza a modifier
283 This is pretty complex, and might overload the current primitive two-leg
284 legality testing when pieces are defined that can reach squares only in
287 2014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
288 Implement Betza j on W,F as skip first square
291 2014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
292 Always accept piece commands for Falcon and Cobra
294 The wild-card pieces Falcon and Cobra do not have any moves assigned to
295 them, and XBoard would accept any move for them even when legality
296 checking is on. So for these pieces it is always better to trust the
297 engine's piece definition.
299 2014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
300 Fix pieceToCharTable of Falcon Chess
302 This variant was using the Falcon piece, but defining ID F for the
303 unused Lance instead.
305 2014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
306 Don't preserve setup position on board-size change
308 Normally the setup command sent by an engine is ignored if the user
309 already has set up a position, to not render it impossible to do the
310 latter. But if the setup command orders a different board size nothing
311 the user has set up can possibly remain valid.
313 2014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
314 Reset move entry on stepping through game
316 A forward or backward step through the game after selecting a from-square
317 did not erase the latter, so that it became impossible to select a
318 from-square for an opponent move, as it would be interpreted as the
319 to-square for the patially entered move. This was especially annoying
320 with legality testing off, as the legality test there, based on the
321 square markings, does not reset the entry state either, but waits
322 until you do click a legal to-square, so that you had to attempt
323 moving with pieces of the side not to move to get out of this state.
324 Now stepping through another position will reset the move-entry state
325 completely, always considering the first click a from-square selection.
327 2014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
328 Fix engine-defined variant as startup
330 Non-standard names were all recognized as 'normal' in InitBackend1().
331 Now if the -variant argument was not "normal", it is assumed to be an
332 engine-defined variant if we run with engine.
334 2014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
335 Fix clipping of board GTK
337 ResizeBoardWindow now measures the with of the window dressing by
338 brute force, interrogating GTK both for the width of the top-level
339 window and the board widget, and subtracting the two.
341 2014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
342 Fix writing of Seirawan960 virginity in FEN
344 When variant seirawan was played with Fischer castling, only the
345 castling rights were written, and not the virginity of other pieces.
346 Now all virgin files are dumped in Shredder-FEN style.
348 2014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>:
352 2014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>:
353 new version number for release 4.8.0
356 2014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>:
357 fixed whitespace error in configure.ac for os x
360 2014-09-20 10:06:17 -0700 Arun Persaud <arun@nubati.net>:
361 update gettext configuration to not include any generated files in git
363 before we had a somewhat mixed setup, which seems to create problems
364 when a different gettext version was installed on the users machine compared
365 to the version used to generate the files in git. This should solve
366 the problem. The user will now have to generate these files using autopoint,
367 which we call from autogen.sh.
369 2014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
370 Configure XBoard for -size 49 in master settings
372 Now the code for auto-sizing works, it turns out this does more harm than
373 good in the GTK build, as it takes maximum size that fits the screen as
374 initial size, and the board window then cannot be shrunk below that.
375 So we configure a hard -size 49 for a cold startup.
377 2014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
378 Implement ff etc. in Betza parser
380 Dupliacated directional modifiers can be needed with oblique moves
381 to unambiguously specify a direction set, e.g. ffrrN.
383 2014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
384 Rename PGN Pieces tag to VariantMen
386 Following a suggestion from Steven Edwards, this indeed makes a much
387 clearer name. Also add code to skip the tag on reading, rather than
388 allowing it to end up with the 'extra tags', as the latter could lead
389 to duplication of the tag on subsequent saves.
391 2014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
392 Suppress use of promo-Gold bitmaps in Tori Shogi (WB)
394 In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use
395 of a Gold General pictogram would only be confusing. So we stick to
396 the regular fairy bitmaps in Tori, which is recognized by the board
397 having 7 ranks in Shogi.
399 2014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
400 Prevent board-size oscillations
402 It could happen that after resize there was room for enlarging the
403 squares by one pixel, but that this crossed the boundary where the line
404 gaps also become wider, and there is no room for making both squares
405 and line gap. This would cause perpetual oscillations of the window size.
406 Resizing is now suppressed when a 1-pixel square-size increase would also
407 result in a line-gap increase.
409 2014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
410 Allow use of second-row pieces for non-promoted in drop games
412 Second-row pieces were automatically demoted on capture, but this
413 should really happen only when the piece-to-char table says it is a
414 shogi-promoted piece (assigned a '+' there). Pieces assigned a letter
415 should really stay themselves.
416 PieceToNumber had to be adapted to skip '+' pieces in order to count
417 correctly for second-row pieces, as did the code in UserMoveEvent() that
418 mapped the from-square onto the piece type. (Why do we do that anyway?
419 The piece type was displayed on the from-square!)
421 2014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
422 Fix reset of 50-move counter on FRC castling
424 The FxR internal representation was taken a bit too seriously!
426 2014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
427 Fix abort of machine game on variant mismatch
429 When the second engine did not support the current variant, and we clicked
430 Two Machines, there was an error popup, but the Two Machines menu item
431 stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame
434 2014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
435 Make unsupported variant on loading 1st engine non-fatal
437 Like in the startup code, when the loaded engine does not play the
438 currently selected variant, we now figure out what the engine does play,
439 and switch to that. The error message still pops up, but not non-fatal.
441 2014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
442 Print PGN Piece tag listing engine-defined pieces
444 A newly defined PGN tag is printed, which summarizes all non-standard
445 pieces. Black copies of identically named white pieces are suppressed.
446 In the future also non-standard naming should be reported here.
448 2014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
449 Always accept piece commands in partly supported variants
451 Normally piece commands are ignored when legality checking is on, as
452 XBoard's idea of legality should obviously overrule the engine's.
453 In variants that are not or only partly supported, however, XBoard has
454 no own idea of what is legal, so it is better to take the engine's
455 advice than enforcing wrong rules.
457 2014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
458 Size seek graph to also cover board rim WinBoard
460 The seek graph always used the plain board size, but in WB it is
461 possible to diplay a rim around the board, and the seekgraph would
462 then be positioned in the upper-left corner of the rim, leaving the
463 lower and right board edge and rim uncovered. Its size is now increased
464 to fill the entire window (as leaving a rim around it seems not useful).
466 2014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
467 Reparse ambiguous move under built-in rules
469 When a move parses as ambiguous under engine-defined piece locomotion,
470 we re-parse it with XBoard's native idea of the pieces, just in case
471 it is a move from a game that was saved without the engine having
472 redefined the pieces. This keeps games created before the introduction
473 of the 'piece' command loadable.
475 2014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
476 Prevent multi-path moves from parsing as ambiguous
478 In Cylinder Chess the MovesFromString() generator might generate duplicate
479 moves, one wrapping, the other direct. When they were both counted as
480 matching the SAN input move, Disambiguate() would think it an ambiguous
481 move. So a move that came from the same square as the one we already
482 have must not be counted.
484 2014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
485 Fix cross-edge e.p. capture in Cylinder Chess
487 ApplyMove() did not remove the e.p. victim when an edge-crossing e.p.
488 capture was made, because e.p. rights are only set to neighboring files
489 (after checking there is a Pawn there to capture). The e.p. heuristic
490 has now been changed to also assume e.p. on file-changing Pawn moves
491 that span a large number of files, assuming that these will be wrapping
492 moves. Eventually we should change to better e.p. logic that can be
493 integrated with engine-configured move generation, as the current system
494 would fail for any Pawn that captures more than just neighbor ranks.
496 2014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
497 Implement Betza o modifier for cylinder boards
500 2014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
501 Improve virginity test for engine-defined pieces
503 Two squares in the board are now reserved for flags that indicate
504 whether back-rank pieces have been touched. This allows MovesFromString()
505 to accurately test virginity of these pieces, rather than having to assume
506 it when the piece matches that in the opening position. For other ranks
507 the latter test is still used, as these are normally (irreversible) Pawns,
508 which cannot return there (and in drop games, when they would, would again
509 be considered virgin enough for the purpose of double-pushing!).
511 2014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
512 Implement Betza p and g modifiers in piece command
515 2014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
516 Repair piece defs with showTargetSquares off
518 The proxy legality checking based on marking of target square was
519 rejecting all moves when target squares were not highlighted.
521 2014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
522 Allow definition of castling in piece command
524 Castling is defined by the O atom, with a suffix indicating the number
525 of steps the King must step in the direction of the corner. Kings keep
526 their normal castling unless overruled by this. Can currently only be
527 used on the variant's royal piece, as XBoard's ApplyMove() is not smart
528 enough to understand displacing the corner piece is implied when it is
529 used on other pieces.
531 2014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
532 Update description of piece command in protocol specs
535 2014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
536 Improve SAN of Pawn moves and allow Betza e.p. definition
538 The move descriptions in 'piece' commands can now use 'i' and 'n'
539 modifiers to define a blockable double push. ('n' only work for moves
540 of stride 2!) The test for initial moves now is based on comparison with
541 the opening position, rather than on a way-to-generous heuristic. (This
542 still does not prove in generak the piece did not move, though, but it
543 does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement
544 this the rank and file of the e.p. square are now stored in the board.
545 (EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess
546 is not the file of the e.p. square!)
547 The generation of SAN moves for Pawns can now reliably distinguish between
548 captures and non-captures even in Berolina, when the move generator informs
549 it whether the move was e.p. capture.
551 2014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
552 Retune -stickyWindows GTK
554 This still does not work well, and in particular windows refuse to stick
555 to the top of the board window.
557 2014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
558 Fix detection of screen size GTK
560 A gdk call that can get the screen without there first being a window
561 mapped to it is used now. This fixes initial sizing of the board window
564 2014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
565 Configure a size for the Eval Graph
567 If no size for the Eval Graph window is configured in the master
568 settings file, the window will pop up as 2x4 pixels.
570 2014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
571 Prevent crash on specifying non-existent texture XB
573 By setting the texture width to 0 when the texture could not be loaded,
574 XBoard will never attempt to draw it.
576 2014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
577 Configure some themes in XBoard master settings
579 The -themeNames option is set to contain some themes that could be
580 defined with the default pieces and textures that come with XBoard.
582 2014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
586 2014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
587 Control Eval Graph with mouse
589 Let mousewheel control evalZoom, and right-click toggle between
590 normal view and differential view ('blunder graph').
592 2014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
593 Add extra font field to Option struct
595 Storing the font in the textValue field was too kludgy, as this field
596 is already heavily used in the various Option types, for storing handles,
597 or defining colors and callbacks. A 'font' field is now added at the end,
598 so that it can be optionally initialized in the rare case it is needed.
600 2014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
601 Repair damage done by merging with v4.7.x
604 2014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
605 Sort fail lows and fail highs below others
607 Every more recent line should always float up aove lines that were
608 indicated to be fail lows or fail highs through ? or ! PV suffixes.
610 2014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
611 Describe the new texture conventions in manual
613 The exact rules for how textures are scaled in response to their
614 filename is described in the manual.
616 2014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
617 Force exactly overlayed texture scaling through filename
619 A filename suffix -NxM.png on a texture image will cause XBoard to scale
620 the image as if it were the image of a complete board of N files and M
621 ranks, to make the square size equal to that of the current board,
622 and adjust the cutting parameters such that contiguous squares are cut
623 out of it. (If the current board format is larger than NxM, the remaining
624 space will be padded with white!)
625 If N=M=0, N and M are assumed to correspond to the current board size,
626 and the bitmap will be scaled to fit the height of the board.
627 If no suffix is present, the old cut-and-tile algorithm is used. It will
628 be assumed the texture bitmap is intended for a single square, unless the
629 pathname contains a file that starts with "xq", in which case it is assumed
630 that the file contains a Xiangqi board.
632 2014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
633 Allow two Pawns per file in Tori Shogi
635 When the board has 7 ranks it is assumed to be Tori Shogi, and the
636 requirement for maximally one Pawn per file is relaxed to two.
638 2014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
639 Test legality even when off if engine defined pieces
641 After reception of a piece command XBoard will mark target squares
642 even when legality testing is off, and now also will require the lifted
643 piece to land on a marked square (like when the engine highlighted them
644 through a highlight command).
645 A problem is that this does not work for drops, as drops do not mark
646 target squares. So drops are always accepted. Which of course is bad
647 for Pawn drops. But there really is no way yet for an engine to specify
648 how pieces can be dropped, similar to the 'piece' command.
650 2014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
654 2014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
655 Implement engine-defined pieces
657 When legality testing is off, XBoard now listens to 'piece' commands
658 to redefine its move generator. After such a piece command is received,
659 target-square marking also can be used when legality testing is off.
660 The engine keeps in charge of legality testing, though.
661 Only a very basic version of Betza notation is currently understood for
662 the move description: mode modifiers have to appear in the order mcd,
663 and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not
664 implemented at all. A leading i modifier limits the moves to the first
665 two ranks, which is no good at all. (But XBoard does not keep track of
666 which pieces have moved, and this at least would work for Pawns in a
667 FIDE-like setup, in particular Berolina.)
669 2014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
670 Scale texture bitmaps that are not large enough
672 Texture bitmaps are now sized up by an integer factor to be at least
673 as large as the board (if they seem intended for a full XQ board, which is
674 assumed when they are larger than 256x256) or the square. This necessitated
675 the textures to be re-initialized in InitDrawingSizes whenever the window
678 2014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
679 Ignore color arguments not starting with #
681 Old settings files from xpm-using version might still contain color
682 designations like 'white' or 'red'. Since Cairo would interpret these
683 as black, it is better to ignore them, so the default color is used.
685 2014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
686 Implement -autoInstall option
688 When -autoInstall is a non-empty string, XBoard will scan the system's
689 plugin specs directories for UCI and WB protocol, to see if new engines
690 were added since the last settings save. If so, they are added to the
691 list of installed engines.
692 The variants listed in the plugin-spec files are currently ignored,
693 but the option is already configured to install engines for all variants.
695 2014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
699 2014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
700 Make inlined functions static
702 Clang apparently chokes on non-static inline functions,
703 and they were not used from other files anyway.
705 2014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>:
706 updated spanish translation, added new polish translation
709 2014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
710 Look for logo in engine dir first (GTK)
712 When setting engine logos, we look for a file logo.png in the engine
713 directory, before trying <enginename>.png in the -logoDir. This is useful
714 on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir,
715 when using the latter (also in Xaw).
717 2014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
718 Fix checkmarking of OS X menu items
720 The routine MarkMenuItem() was moved to xboard.c, where it can see
721 the OSX-specific #defines, and calls to sync_menu_bar were added
722 to it, and to EnableNamendMenuItem().
724 2014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
725 Fix crash of tournament dialog GTK
727 The font/color disambiguation of the Option.textField in Label and
728 ulti-line TextBox options cannot stand it if unused elements are
729 initialized as "" rather than NULL.
731 2014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
732 Let OS X display dock icon
735 2014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
736 Fix Xaw button color error
738 The textValue field, now also used to indicate font, was used in two
739 places when popping up buttons, and the font patch only addressed one.
741 2014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
742 Make SVGDIR a variable
744 Replace all occurrences of SVGDIR in the source by svgDir, a char array
745 that is initialized to SVGDIR, so that it can be altered at run time.
746 This is needed to make portable apps. Where SVGDIR was used in string
747 concatenation, the code had to be re-written to use snprintf to do the
748 concatenation at run time, through a new function LoadIconFile.
749 The extension of image files used there is now made dependent on the
750 __APPLE__ switch, so that it can use .png in OS X (which does not seem
751 to understand SVG icons).
753 2014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
754 Fix warning in dead code Show
757 2014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
758 Reorder variants, to comply with Polyglot book specs
760 XBoard's variant number is used as a key to access Polyglot opening
761 books, and thus cannot be changed without consequences. (As it was when
762 we introduced ASEAN and Chu Shogi.)
763 We also renamed Chu Chess to Elven Chess (under which name it is now
764 described on chessvariants.org).
766 2014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
767 Reserve piece command in protocol specs
770 2014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
771 suppress Alien Edition standard variants
773 Variants that are standard in the Alien Edition should not be
774 recognized as engine-defined variants: the engines that announce
775 them will not respond with the required setup command, so allowing
776 the user to select them just leads to trouble.
778 2014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
779 Fix SetWidgetFont GTK
781 This was testing for an empty font spec in the wrong way, with as a side
782 effect that some pointers to font strings would be interpreted as colors.
784 2014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
785 Update protocol specs
788 2014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
789 Let message field and button bar use GTK -messageFont
791 The -messageFont spec (using the default coordFont pixel size, like the
792 others) is now used to modify the fonts of message field and buttons
793 in the button bar. They pass a pointer to the appData font variable in
794 their Option's textField. This conflicts with the use of this field in
795 buttons for specifying a color, as done in the New Variant buttons.
796 This is resolved by checking if the first byte of the pointed-to value
797 is a #. The Xaw version must ignore the textField if it does not
800 2014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
804 2014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
805 Use coordFont default pixel size for other fonts
807 The message-font is way too large for the dialogs. A better solution
808 would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as
809 this file is front-end-specific anyway.
811 2014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
812 Use -gameListFont in Game List
814 Not implemented in a very generic way, but hacked into the code that
815 added the handler. There aren't many other listboxes that would need
818 2014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
819 Fix Chat window for Xaw build
821 The ICS output field and Hide button are removed from the ICS Interaction
822 window, to make it similar to the old Chat window. This required adding
823 some tests in the handlers of this window, to prevent segfaults due to
826 2014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
827 Fix infinite-regression problem on OS X
829 Apparently the OpenFile handler can already be called during
830 gtkosx_application_ready (or gtk_signal_connect), so we have to make
831 sure 'suppress' is set before we call those.
833 2014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
834 Correct for .Xresources form->paneA renaming in manual
836 In the Xaw build the name of the form widget of dialog.layout.form...
837 hierarchy was changed to paneA, paneB, ... when allowing multi-pane
838 dialogs through the Break Option (such as the Engine Output window).
840 2014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
841 Use GTK fonts in Engine Output and Move History
844 2014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
845 Include some conditional OS X fixes
847 DATADIR must be corrected to ~~ in the OS X app, and the info command
848 must be started in a different way.
850 2014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
851 Fix WB DoEvents error
854 2014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
855 Limit auto-extending to click on first move of PV
857 Even when auto-exted on clicks on the tail of a PV will no longer cause
858 any moves to be added to the game. Only clicks on or before the first
859 move can do that now.
861 2014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
862 Animate multi-leg in auto-play and forward event
864 Replaying multi-leg moves is now also done by animating both legs.
865 In addition, the highlights are set on final and intermediate square,
866 rather than from-square.
867 (There seems to be a great deal of code duplication here. Why doesn't
868 AutoPlayOneMove simply call ForwardInner?)
870 2014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
871 Fix key bindings for non-menu functions
873 The accelerator keystrokes for next game, previous game and debug mode,
874 which don't have menu items, and are grouped in the menu table 'noMenu',
875 were not treated in the building of the translation table, as 'noMenu'
876 does not occur on the menu bar. An extra iteration is done now to
877 treat this menu group.
879 2014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
882 The routine to automatically construct the translation table for
883 accelerator keys did not respect the rule that more specific keystrokes
884 (like :Meta<Key>Home:) have to be defined before more general ones
885 (like :<Key>Home:). As a result Alt+Home would activate the Revert
886 item, intended for plain Home.
888 2014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
889 Define default font names
892 2014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
895 Book.c did not include config.h, and thus missed the redefinition of
896 snprintf (which is not known in MSVC). The use of 'inline' in parser.c
897 also needed an MSVC redefinition, now added to winboard/config.h.
899 2014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
903 2014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
904 Replace strcasecmp by StrCaseCmp
906 The MicroSoft compiler does not know strcasecmp, so we better use
907 our own function for this everywhere.
909 2014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
910 Let GTK build pay attention to font arguments
912 Multi-line text edits now use the initial value of the Option.textValue
913 field as a pointer to a (char*) holding a font name, to be used for
914 the text displayed in it. (After which they overwrite the field with
915 the textView handle.) The font options -tagsFont, -commentFont, icsFont,
916 -moveHistoryFont and -gameListFont are now activated in the GTK build,
917 to control the corresponding memos.
919 2014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
920 Fix auto-display comment option in General Options
922 This options had the same ID as auto-Queen, making it ignored.
924 2014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
925 Call DoEvents during time-consuming operations
927 Processing of a game file for reading it, searching positions, saving
928 selected games or creating a book from them can take minutes. To keep
929 the application responsive during that time, the main loops of those
930 tasks calls DoEvents(). A possible risk is that the user can now do
931 too much, and will initiate actions that interfere with the tast in
934 2014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
935 Fix GameListHighlight WB
937 The routine to highlight a game line in the Game List listbox of WinBoard
938 used an extremely inefficient linear search to find the game amongst the
939 selected games. This has now been replaced by bisection, after finding
940 an upper limit to the number of entries in the listbox by doubling
943 2014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
944 Provide DoEvents function in front-ends
946 A routine to process all pending events in a non-blocking way is now
947 provided in the Xaw, GTK+ and WinBoard front-ends, so that time-consuming
948 tasks (such as PGN loading or opening-book creation) can call it to keep
949 the user control over the application alive.
951 2014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
952 Fix syntax error in bitbase code
955 2014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
956 Describe Save Selected Games menu in manual
959 2014-09-06 22:29:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
960 Let Save Games as Book only use selected games
962 The book-creation code now only takes games into account that are
963 selected for display in the Game List.
965 2014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
966 Rewrite key-binding section of manual
968 This section still wrongly described the key-binding procedure from
969 before the rewrite of the XBoard front-end.
971 2014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
972 Connect scroll event to Graph Option in GTK
974 The mouse wheel is now detected in graphics widgets, and passed to
975 the user handler as button 4/5 mouse events.
977 2014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
978 Make sure node count is positive
980 Engines that print the node count as an int overflow into negative values
981 when the count exceeds 2G. This is really an engine bug, but as it
982 interferes extremely annoyingly with the alignment of the Thinking Output
983 XBoard now repairs it by adding 4G to undo the overflow.
985 2014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
986 Connect mousewheel to Forward/BackwardEvent (XB)
988 The mouse buttons 4 and 5 are now processed in the handler for the
991 2014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
992 Fix size of time in Engine Output window
994 When the thinking time exceeds an hour, the format hr:min:sec is now used,
995 in stead of min:sec.cents. This prevents the field from extending beyond
996 the tab stop when thr hours kick in, and should work upto 100 hrs.
997 (Going beyond that at the moment does not seem useful.)
999 2014-09-04 22:57:07 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1000 Verify if font-spec looks like one in Xaw
1002 To make XBoard resistant to mixed use of Xaw and GTK builds, which
1003 would not understand each others font specs stored in the settings
1004 file (they have in common), we now determine if the value looks like
1005 an X-font. If it doesn't, the Xaw version ignores it. The GTK build already
1006 ignored it if it did lool like an X-font spec.
1008 2014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1009 Fix alignment in Engine Output window
1011 Numbers above 1000M would become too wide for their field. This is
1012 solved by introducing the abbreviation 'G'. Values below 10M or 10G
1013 now get an extra digit in their fraction, so that the precision is
1016 2014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1017 Add Save Selected Games menu item
1019 A menu item to save all selected games in the Game List on a single
1022 2014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1023 Add final piece count to search criteria
1025 The Load Options dialog now has a text field in which a range can be
1026 entered (like 8-10). Position search will then only select games that
1027 had their final number of pieces in this range.
1029 2014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1030 Fix castling rights on using -lgf
1032 The dummy InitPosition to force loading pieces was taking place after
1033 InitBackend2(), while the latter could have already loaded a game
1034 from an -lgf argument (which would then be spoiled by the InitPosition).
1035 It has been moved to before InitBackend2() now.
1037 2014-07-29 15:03:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1038 Fix crash on double-click in Game List Tags
1040 A double-click in the Game List Tags listbox has no function, but it
1041 crashed XBoard, because the textValue field of teh ListBox Option definition,
1042 supposed to contain a pointer to the user-supplied handler, contained a
1043 pointer to an empty string.
1045 2014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1046 Fix typing of null moves
1048 Entering a null move through the move type-in could fail because the
1049 to-square coordinates (not used in its encoding) could have invalid values,
1050 which would reject the move in an early stage of UserMoveEvent().
1051 Null moves are now exempted from this vaidity test, while variants where
1052 null moves are legal now accept them in any gameMode.
1054 2014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1055 Fix adjusting clocks in Xaw version
1057 The handler attached to Label options failed to flip the sign of the
1058 option number when a button other than Button1 was pressed, so that time
1059 would always be subtracted on Shift + ClockClick and never added.
1060 Shift now also suppresses interpretation as null move when playing.
1061 (In Analyze / EditGame mode it is still null move starting a variation.)
1063 2014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1064 Fix null-move entry during play
1066 Null moving by clicking the clock was only accepted in Edit Game and Analyze
1067 mode, while in Chu Shogi and spin-offs it is also allowed during play.
1068 An F_NULL_MOVE flag was introduced to make it easy to test for such variants,
1069 and Machine White/Black mode now also interpret clock clicks as a null move
1070 if the opponent's flag has not yet fallen.
1072 2014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1073 Let EditPosition double-click on piece promote it
1075 For pieces with Shogi-like promotion (i.e. if the promoted piece has
1076 pieceToChar defined as '+'), let a second click on it in Edit Position
1077 mode promote or demote it (as the case requires) when the piece menu is off,
1078 rather than remove it (as was the old behavior.
1080 2014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1081 Make EditPosition pallette work in Asian variants
1083 Construction of the pallette position was not working in variants that
1084 did not have Pawns start on 2nd rank, or that had multiple ranks of pieces.
1085 Now the algorithm is applied to all ranks.
1087 2014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1088 Fix crash on opening Tags window Xaw
1090 Suppressing the optional book button made the Xaw generic popup crash,
1091 because the following button had the SAME_ROW modality, and was thus
1092 positioned w.r.t. a non-existent widget.
1094 2014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1095 Fix writing of Chu-Shogi FENs
1097 Promoted pieces were getting the wrong ID letter, of the piece demoted
1098 by 11, rather than 22.
1100 2014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1101 Allow pseudo-engines to adjust the clocks
1103 Implement new options -first/secondPseudo, which declare the corresponding
1104 engine to be a pseudo-engine, which will then be granted super-powers
1105 through some new engine->GUI commands. For instance, to adjust the time
1106 remaining on the GUI clocks through wtime and btime commands (using msec).
1108 2014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1109 Fix piece inscriptions
1112 2014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1113 Fix reading Chu Shogi FENs
1115 The X (for Phoenix) was interpreted a 10 empty squares.
1117 2014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1118 Fix loading positions in engine-defined variant
1120 Paste Position did not work when an engine-defined variant had redefined
1121 the pieceToCharTable, as the position would be interpreted and sent to the
1122 engine before receiving the setup command. Copying the pieceToCharTable
1123 received from an earlier game to appData cures this, because it will then
1124 be used by InitPosition, which would reset the table to default otherwise.
1125 Another problem was that setupSpoiledMachineBlack would not be reset
1126 after a game with no moves, leading to a spurious 'go' command to the engine.
1128 2014-03-17 23:05:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1129 Render inscriptions on Chu-promoted pieces in red
1132 2014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1133 Allow writing text on pieces
1135 A new persistent string option -inscriptions allows the user to define
1136 characters to be written on the various piece types. The string is
1137 interpreted as UTF-8. This option is useful for on-the-fly synthesis
1138 of Shogi pieces, where the string can contain the various kanji in
1139 the canonical pieceToCharTable order. Except that only a single color
1142 2014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1143 Fix initial sizing of board
1145 Previous patches had destroyed the ability to obey the -size option.
1147 2014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1148 Fix width of menu bar
1150 The truncated name might not have been terminated with '\0'.
1151 TinyLayout now specifies the number of characters kept in the menu names.
1152 In the OS X version truncating is never needed, as the menu bar is
1153 at the top of the screen, independent of board size.
1155 2014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1156 Fix warnings fonts patch
1159 2014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1160 Implement (clock-)font handling in GTK
1162 The options -clockFont, -coordFont and -messageFont are activated,
1163 and supposed to have string values like "Sans Bold 12". The default
1164 values have the point size as 'wild-card' %d, however "Sans Bold %d",
1165 and are expanded by a printf with the point size taken from the defaults
1166 table. The expanded versions are saved back into the settings file,
1167 prefixed with a size tag, as usual.
1168 So far -clockFont is the only font that is actually applied while
1170 The 'clock kludge' was interfering with the initial sizing, as for some
1171 sizes the initial clock-widget height happened to be equal to the final
1172 height. It was therefore abandoned, and we seem to be able to live without
1174 Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar.
1175 Therefore tinyLayout now uses single-letter menu labels.
1177 2014-03-02 20:45:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1178 Also search indirection files in user's .xboard tree
1181 2014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1182 Fix error Engine Output text highlighting
1184 In wengineoutput.c higeTextStart and End where decalred both static and
1185 extern, which somecompilers justifiably don't like.
1187 2014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1188 Fix Board-dialog bug WB
1190 The drawing code for the sample square did ot restore the correct brush.
1192 2014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1193 Fix various warnings
1195 Mostly written but never read errors. Also removed a debug printf that was
1196 causing a format warning.
1198 2014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1199 Kludge repair of expose after startup resize
1201 Redraw of the main board after resize is delegated to DragProc, which is
1202 scheduled after a delay, to make sure the user is done sizing (mainly to
1203 reposition docked windows). But at startup the program-requested resize when
1204 an engine does not support variant normal and needs a different board format
1205 takes so long that the finale size expose occurs after the DragProc timeout.
1206 As a result, the board was never drawn on the resized canvas.
1207 This is quite hard to fix in a satisfactory way. For now the suppression
1208 of board redrawing during resize is disabled during the first 10 seconds
1209 after startup, as any resize during that time is likely to be the result
1210 of a program request.
1212 2014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1213 Use first engine as default for second
1215 Rather than having the same fixed default for both engines, we noww only
1216 have a fixed default for the first, and use the actual first as default
1217 for the second. One advantage is that this guarantees the second engine
1218 plays the same variants as the first by default.
1220 2014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1221 Allow adding played move to book
1223 A button is added in the Edit Book dialog to prime XBoard for adding the
1224 next move entered through the user interface to the book window, without
1225 actually playing it.
1227 2014-02-23 22:54:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1228 Play move right-clicked in Edit Book dialog
1230 A handler for button-3 down-clicks is added to the Edit Tags dialog,
1231 which fakes the clicked word was typed in the move type-in box.
1233 2014-02-23 19:23:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1234 Fix pop-down of ChatDlg and TextMenuDlg from menu
1236 Unlike other windows these two would not react to clicking the menu item
1237 once they were up. Now they pop down in that case.
1239 2014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1240 Preserve window width on board-format change
1242 When a variant switch would cause recalculation of the board window,
1243 we now first recalculate square size to keep the window width fixed.
1244 Also adapt initial width on high boards.
1246 2014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1247 Equip Board Options dialog with themes listbox
1249 The option -themeNames is made persistent for XBoard, and its value is
1250 displayed in a listbox added to the View -> Board dialog. The user
1251 can select themes from this, and manipulate the contents similar to
1252 the engine list in Load Engine. A textedit allows the user to define a
1253 theme name for the current settings, and doing so adds the theme to the
1256 2014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1257 Implement copy function in ICS Text Menu
1259 A command consisting of the word $copy will place the clicked word on
1260 the clipboard. When there was already text selected during the click,
1261 that selected text will be used for $copy and $name, rather than the
1264 2014-02-07 09:48:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1265 When ICS Console open EOF from keyboard is no error
1267 In case the user started without a terminal, we just close the input source,
1268 and suppress future writing to the xterm.
1270 2014-02-06 18:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1271 Leave xterm at start of new line after quitting XBoard
1274 2014-02-06 18:36:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1275 Also display channel tell in ICS Console during private chat
1277 Channel tells of players for which a chat wa opened were displayed in that
1278 chat, as well as in the channel chatbox, if the latter was open. But when
1279 there was no channel chatbox it would not appear as colorized channel tell
1280 in the console. This is now fixed, and in the private chat box such a
1281 message is indicated as 'broadcast'.
1283 2014-02-05 23:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1284 Write broadcasts also to private chatbox of talker
1286 The shouts or channel chatboxes capture messages first, but if a private
1287 chat with the talker is opened, it now goes there too. Prefixed with
1288 the type of broadcast.
1290 2014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1291 Fix Xaw Chat Console
1294 2014-02-05 22:38:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1295 Let Ctrl-O key open chat for last talker
1298 2014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1301 This button clears the current chat, so that it becomes free for
1302 assignement to another partner.
1304 2014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1305 Ctrl-N in chat opens empty chat
1307 This key isequivalent to pressing the left-most New Chat button.
1308 If no unused chat present, it the command will be ignored.
1310 2014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1311 Preserve unfinished input lines during chat switch
1313 This is problematic, as apparently we cannot write in widgets that are
1314 active with key hits, so attempting to write it back in response to Tab
1315 did not work. This is now done with a delay, for lack of a better method.
1317 2014-02-04 13:57:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1318 Recognize Esc and Tab in ICS Console input
1320 Esc is used to close the chat, or transfer focus to the board window.
1321 Tab is used to navigate between chats (or open the first). Priority
1322 is given to dirty chats.
1324 2014-02-03 20:35:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1325 Let ICS Console pop up GTK in stead of ICS Input Box
1328 2014-02-03 19:45:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1329 Add context menu to ICS console XB-GTK
1331 A right-click handler is added to the output memos of the ICS Interaction
1332 window. It pops up the ICS text menu. It is remembered whether the menu
1333 was already up; if not, it will be popped down after a command is selected
1334 from it. Like the WinBoard context menu, the commands will be able to use
1336 The -icsMenu 'command' $chat is now recognized as a special case, not to
1337 be sent to the ICS, but executed by XBoard. It will assign one of the
1338 five chats to the clicked name. If no empty chat is available, the last
1339 chat will be used (but not cleared).
1340 The -icsMenu in the master config file is now configured to contain
1341 this command, but unfortunately this will not become effective for users
1342 that already have a settings file.
1343 The Text Menu now puts $input commands in ICS Console Input field when the
1344 ICS Input Box is not up.
1345 The text placed in the input field for completion (as per $input directive)
1346 turned out to be selected in GTK, so that when you stated typing, it was
1348 By making the Text menu dialog subject to WindowPlacement control,
1349 and interrogating the poition of the ICS Console window, the Text Menu
1350 can be popped up such that the mouse pointer is on the bottom-left button.
1352 2014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1353 Integrate ICS output into Chat Window
1355 An extra pane has been added to the Chat Window to display the ICS output.
1356 In GTK this output is colorized just as in the xterm. For Xaw this is not
1357 possible. This pane is always visible, and the chat output can be hidden,
1358 to double its size. Entered input will go to the selected chat (when not
1359 hidden) as a tell or shout, or to the ICS as a command. The Chat-Partner
1360 field is hidden together with the chat pane and the Hide button. Each of
1361 the five chats now has a dedicated button; for unused chats (empty Chat-
1362 Partner field) these now gets the text 'New Chat' inscribed on it.
1363 Focussing is made more intelligent (to the Partner field when shown and
1364 empty, otherwise to the input field).
1365 The Up and Down arrows now work in the input field to recall old input.
1366 ScrollToCursor() was broken in GTK, because a mark was made for only
1367 a single buffer. Now each buffer has its own end mark.
1368 Another problem was that using ScrollToCursow immediately after a memo
1369 was shrunk (because a neighboring one expanded) it would still use the
1370 old memo size, so that the bottom part remained out of view. Delaying it
1371 50 ms solved that problem.
1372 A new option -icsUp was added to store the visibility in the settings.
1373 It is updated only in ICS mode. The ICS Console pops up automatically
1374 when the stored parameters say so. It is also made sticky.
1375 Unlike the xterm the textView does not extend background color to unwritten
1376 positions behind the line. A separate GTK call is now added to set the
1377 unwritten part to the same color as the background in normal text.
1378 A control was added in the ICS Options dialog for setting the colors
1379 of normal text (-colorNormal).
1381 2014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1382 Add logo-size control XBoard
1384 This is mainly for the benefit of OS X useres who cannot find their
1385 settings file. It requires a restart to become effective, which is
1386 really sub-standard.
1388 2014-02-02 17:18:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1389 Add Edit Engine List menu item to XBoard
1391 In OS X the settings file is hard to find...
1393 2014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1396 Some unread variables are commented out, rather than removed, because they
1397 can be useful for future development.
1399 2014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1400 Fix moves of Spartan Captain
1402 The rewrite of the move generator did no longer pay attention to rookRange,
1403 so that the Spartan Captain moved like a Rook.
1405 2014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1406 Add Option type 'Skip'
1408 The value -1 used to suppress rendering of option controls was drawing
1409 error messages, because enums are unsigned. So a new member Skip was added
1412 2014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1413 Detect Fischer castling in FENs
1415 Castling rights with unorthodox piece placement imply Fischer castling.
1416 Make sure shuffling is done after detecting this, because it means K & R
1417 can also be shuffled (as long as K remains between both R).
1419 2014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1420 Allow shuffling indicators in FEN
1422 If the back ranks are enclosed by < > in a FEN, the route to shuffle
1423 initial positions is invoked on it.
1425 2014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1426 Allow wild-cards in FEN
1428 A question mark in a FEN will now be interpreted as a piece randomly
1429 chosen from the holdings. (From which it will be removed.) Intended
1430 for use in symmetric black/white pairs; when used on asymetric locations
1431 or with non-identical holdings the results will be undefined.
1433 2014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1434 Fix Seirawan reverse-castling animation
1436 In Chess960 animation of castlings is suppressed, because the move is encoded
1437 as KxR, so that the to-square in general is not the final destination of the
1438 King. So it is just confusing to the eye to see the King slide to the Rook,
1439 and then jump to an entirely different square. In S-Chess castlings can
1440 similarly be encoded as RxK (to indicate gating at the Rook square), and
1441 animation of those moves should be suppressed for the same reason. But it
1442 wasn't, and in Fischer castlings denoted as RxK this even caused the Rook
1443 to disappear when it didn't need to moved.
1444 Perhaps one day a smart method of animating Fischer castlings can be
1445 designed. (E.g. remove Rook, animate King move to true to-square, place Rook?
1446 But what if the King doesn't move at all? Animate Rook then? Normal castlings
1447 now animate the King, and then just displace the Rook.)
1449 2014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1450 Make Fischer castling generally available
1452 A new volatile option -fischerCastlings allows every variant to be played
1453 with Fischer castling, which so far was only allowed in variants FRC/CRC.
1454 This only makes sense in shuffle variants, where King and Rooks might not
1455 be in their orthodox locations. But even when they are, it has consequences
1456 for the user interface, which will require dragging King on Rook as the only
1457 way to enter castling. Like -shuffleOpenings the setting will be cleared
1458 as soon as you switch variant (unless you switch to FRC/CRC, where they
1459 Fischer castling is on by default). It can be set from the New Shuffle dialog.
1461 2014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>:
1462 updated po/pot files
1465 2014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>:
1466 new version number for developer release
1469 2014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>:
1470 updated Dutch translation
1473 2014-01-19 20:44:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1474 Put ponder checkbox in Common Engine dialog WB
1476 This is yet another duplicate of the one in General Options and Adjudiactions.
1478 2014-01-19 20:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1479 Expand %s in -openCommand to DATADIR and fix OSX settings-file name
1481 This can be used in OS X to biggy-back a cd to a directory in the App
1482 on the open command.
1484 2014-01-18 23:42:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1485 Add some checkboxes in General Options dialog WB
1487 Checkboxes are added for -variations, -memoHeaders and -autoExtend.
1489 2014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1490 Fix warning in CheckTest
1493 2014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1494 Fix printing of engine-output headers
1496 They were not printed on analyis of the first position after opening
1497 the Engine Output window.
1499 2014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1500 Fix sticky windows on Win8
1503 2014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1504 Drag touching edges together (WB)
1506 When an auxiliary window is dragged by an edge, the snap code now checks
1507 if that edge was touching another window. If so, that other window is sized
1508 to keep touching the dragged edge. Unless it was also touching the main
1511 2014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1512 Implement new mate-score standard
1514 Matescores are now indicated in the protocol as +/- 100000+DTM,
1515 and in the Engine Output window as #DTM or #-DTM.
1517 2014-01-15 21:28:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1518 Put fail-high/fail-low indicators in protocol specs
1521 2014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1522 switch to new tbhits protocol
1524 The extended info is now expected as 3 bare integers, the last one
1525 separated from the PV by at least one tab character.
1526 The protocol extension is described in the CECP specs document.
1528 2014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1529 Fix sorting of Engine Output
1531 The moveKey of the top line was never stored, so that more recent
1532 lower scores could not pass it even if they had the same move.
1534 2014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1535 Handle fali-low & fail high
1537 A ? or ! at the end of the PV are now also written behind the score.
1539 2014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1540 Implement extended thinking output
1542 The PV field can now start with three quantities, selective depth,
1543 engine speed and tablebase hits, disguised as PGN comment. XBoard will
1544 strip that off, and allow them to be displayed in separate columns of
1545 the engine-output window.
1547 2014-01-14 14:46:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1548 Allow hide/show of columns in Engine Output
1550 A new persistent Boolean option -memoHeaders enables a new feature:
1551 text headers are shown above the depth, score, nodes, time columns in the
1552 engine output. Right-clicking them will subsequently hide the corresponding
1553 data, and move the column header to above the PV in a 'not shown' list,
1554 where it can be clicked again to re-open the column.
1555 Configure maseter settings to switch -memoHeaders on by default.
1557 2014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1558 Fix ManProc for OS X
1561 2014-01-14 10:02:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1562 Fix access to ~~/themes/conf for OS X
1564 In OS X DATADIR is a variable.
1566 2014-01-13 19:23:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1567 Add 'Continue later' button to Tournament dialog XB
1569 To do GenericReadout without triggering a call to the OK function,
1570 we introduced a new value for the option-number parameter, -2.
1572 2014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1573 Fix Tournament Options dialog
1575 Deleting a Label option had renumbered the remaining Options, breaking
1576 the dialog and causing a crash when an engine was selected. A considyency
1577 check is now added to catch this condition, and throw an error popup
1578 when we mess up again.
1580 2014-01-13 17:09:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1581 Allow popup of TC and Common Engine from Tournament dialog
1583 A new dialog class MasterDlg was added, similar to TransientDlg,
1584 but to allow two dialogs to be up simultaneously. The Tournament Options
1585 dialog was migrated to this class, so it can now get buttons to pop up
1586 the Time Control and Common Engine dialog, like WinBoard. It even has
1587 a button for the General options dialog.
1588 Special care had to be taken to prevent popdown of the MasterDlg when
1589 a Transient child is still up (similar to browser or error childs).
1591 2014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1592 Add --show-config special option
1594 This prints a list of configure parameters, and then exits. If a second
1595 argument is given, it only prints the value of that config parameter,
1596 so that tricks like cp *.svg `xboard --show-config Datadir`/themes/chu
1597 can be used in install scripts of packages with piece images.
1599 2014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1602 Engines were not always forcefully killed in XBoard, which could make
1603 the tournament manager hang when an engine became unresponsive to "quit".
1604 The various levels of killing are now revised, and the -delayAfterQuit
1605 is absorbed in DestroyChildProcess(). There is a hard killing mode 9,
1606 which immediately sends SIGKILL, intended for engines that have already
1607 proven to malfunction or could not start at all. In other cases SIGTERM
1608 is sent according to specs, but a SIGKILL is scheduled -delayAfterQuit + 1
1609 sec later just in case the SIGTERM would be ignored.
1611 2014-01-13 13:38:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1612 Fix name of master settings file in OS X
1614 The name needs to be relative to the bundle path, but ~~ expansion
1615 did not work for compiled-in defaults, as the expansion takes place
1616 when parsing an option. The dataDir is now also kept in an array rather
1617 than as a pointer, to allow it to appear in statically initialized tables.
1619 2014-01-08 16:25:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1620 Fix Chu promotion of L, HM and GB
1622 The promotion popup would not be shown for HM and GB with legality testing
1623 on because the piece types used for them were wild-card pieces. The Lance
1624 was treated as a Pawn in HasPrmotionChoice().
1626 2014-01-08 16:09:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1627 Remove redefine of DATADIR that leaked in from v4.7.x
1629 2014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>:
1630 updated po/pot files
1633 2014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>:
1634 new version number for release 4.7.3
1637 2014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>:
1638 updated copyright to 2014 in menu.c
1641 2014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>:
1642 removed .DS_Store file from git
1645 2014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>:
1646 Updated copyright notice to 2014
1649 2014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>:
1650 cleanup some trailing whitespaces
1653 2013-12-29 13:46:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1654 Fix crash on use of dialog Browse buttons GTK
1656 The code to set a filter did not expect multiple extensions, and would
1657 cause a buffer overrun when there were.
1659 2013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1660 Make building of Windows .hlp file optional
1662 By using && and || operators in the build recipe, the building of WinBoard
1663 with Cygwin is now not aborted whe the Help Compiler is not installed.
1665 2014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1666 Use __APPLE__ compile switch for OS X
1668 It seems that on Apple machines the compiler will always define the
1669 symbol __APPLE__, so this is now used instead of OSX, which had to
1670 be defined with a -DOSX compiler flag. The gtkmacintegration header
1671 is now using <> in stead of "" in its #include. (Strange enough both
1674 2014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1675 Expand ~~/ to bundle path (OSX)
1677 DATADIR is #defined in WinBoard as "~~" to make the expansion a no-op
1678 there. Same for Linux compiles. For OS X it is #defined as a variable,
1679 obtained from GTK-OSX at startup.
1681 2013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1682 Activate ManProc in GTK
1685 2013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1686 Remove use of strndup
1688 The use of strndup was actually unsafe, as the length was passed using
1689 an ordinary strlen. strndup was not availableon OS X 10.6, and is now
1690 replaced by an ordinary strdup, which should be save enough.
1692 2013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1693 Put some OSX code into gtk version
1695 Under control of #ifdef OSX code is added to integrate the GTK front-end
1696 into OS X. This involves moving the menu bar to outside the window, and
1697 catching the signal that OS X sends to running applications when opening
1698 another instance was requested. Som files are renamed to conform to the
1699 file tree of the OS X App package.
1701 2013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1702 Cure weirdness when dragging outside of board
1704 Dragging outside the board (when people maximized the window) did not
1705 properly restore background, (leaving a trail of dragged piece). Filling
1706 the canvas with white when it is creatd cured this. The problem most likely
1707 was that unitialized cairo surfaces had transparancy, and writing back
1708 transparancy doesn't helpmuch to erase things.
1710 2013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1711 Fix sorting of lines in Engine Output
1713 Lines tat were fail-lows or fail-ighs should get the scores on the basis
1714 of wich they are sorted corrected to that of te line (for the same move)
1715 superceding them, so that other moves can rise to above them, when they
1716 score higher than the corrected score.
1718 2013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1719 Make filler variant button inactive
1722 2013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1723 Fix packing of FRC castlings
1725 The routine for packing moves to the internal database format was not
1726 working for FRC castlings, totally messing up position search for FRC
1729 2013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1730 Fix Xaw file-browser New Directory
1732 Prevent people from using the error messages that will be printed here
1733 as directory name by pressing New Directory a second time after first
1734 pressing it with an empty or existing name.
1736 2013-12-05 16:14:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1737 Widen Xaw text entries for larger square sizes
1739 Presumably people will use larger fonts if they use larger board squares.
1740 (And in any case te default fonts would be larger.) This means they need
1741 more space to see what is the current value of text options.
1743 2013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1744 Remove width limiting of shuffle checkbox
1747 2013-11-28 13:30:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1748 Allow castling and e.p. to be edited in opening book
1751 2013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1752 Repair FRC A-side castling legality testing
1754 XBoard allowed A-side castling when a rook started on the a-file,
1755 and the b-file was blocked.
1757 2013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1758 Repair XBoard from node-count patch
1760 u64 was #defined in backend.h, which unfortunately was almost alwats
1761 (Not sure why WinBoard did not suffer from this!) This, and related
1762 definitions have now been moved to common.h (which is always #included
1765 2013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1766 WinBoard multi-monitor support
1768 A patch provided by Tim Kosse
1770 2013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1771 Fix node count range
1773 The node count was still clipped to 32 bit because one of the structs
1774 it passes through (FrontEndProgramStats) had the nodes field declared
1775 as an unsigned long.
1777 2013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1778 Fix adjudication of Giveaway stalemates
1780 The case where the side-to-move would win by stalemate was not treated
1781 in the Adjudicate switch.
1783 2013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1784 Fix buffer overflow in parser
1786 When a line ended with a comment, the parser had to read a line ahead
1787 to check if there was a PGNresult following, without being able to
1788 throw away the previous line yet. This could lead to buffer overflow
1789 in a long game where every line ended in a comment. The buffer now is
1790 cleansed of already parsed data when starting on a new syntactical unit.
1792 2013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1793 Fix -zippyVariants option
1795 Due to the change of cps->variants from (char []) to (char *), copying
1796 zippyVariants to it on behalf of v1 engines would no longer work. This
1797 is fixed by using ASSIGN() in stead of safeStrCpy().
1799 2013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1800 Fix initial board sizing WB
1802 The initial board size was based on the assumption the board would be 8x8.
1803 This could push auxiliary windows off screen if the board was smaller,
1804 after which EnsureOnScreen would undock them and park them in the upper-
1805 right corner before the board assumed its true size. InitPos() is now called
1806 before the initial sizing to et the board format correctly, InitDrawingSizes()
1807 had to be made resitant to calling before a board size was picked for this
1808 (because InitPos() might call that too).
1809 ActivateTheme() now uses the new board size, not the previous one (as was
1810 indicated by size -2), so that -boardSize specifications inside a theme
1812 Board size petite should not be forbidden for Shogi; all pieces exist there.
1814 2013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1815 Fix grabbing of selected piece
1817 A second static click on a selected piece should deselect it, but an attempt
1818 to drag an already selected piece should not 'bounce off'. It was already
1819 possible to move a selected piece to another square, but the dragging was
1820 not animated. This is now fixed, by only skipping the code to start dragging
1821 when the second click is part of the only-move double-click for only capture.
1822 (Before it was skipped on any second click.)
1824 2013-08-26 13:35:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1825 Allow entry of negative numbers in spin control (WB)
1827 Windows numeric controls do not accept negative numbers, so in case the
1828 range of a spin option can go negative, the style ES_NUMBER should not be
1831 2013-08-26 11:37:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1832 Allow drops / promotions/ deferrals to be edited into book
1834 For no real reason only NormalMove would be accepted when parsing the list
1837 2013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1838 Fix GUI book after setup position
1840 The routine to send move to the engine would automatically append a 'go'
1841 is a preious setboard had put the engine in force mode, but this should
1842 not happen on a book hit, where the engine should even be put in force mode
1843 if it was not yet there.
1845 2013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1848 Due to duplicate use of the same file pointer variable the game file would be
1849 closed before any games were read from it.
1851 2013-05-20 11:14:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1852 Make PGN parser immune to unprotected time stamps
1854 The parser choked on time stamps of the form dd:dd or dd:dd:dd if one
1855 of the fields happened to be 00, because it wouldmistake that for a
1856 non-compliant king-side castling. By excluding this interpretation when
1857 the 00 is immediately preceded or followed by ':' this is now prevented.
1859 2013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>:
1860 updated po files for new release (make distcheck)
1863 2013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>:
1864 new version number for release 4.7.1
1867 2013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>:
1868 updated Changelog, NEWS, etc.
1871 2013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1874 It is explained how to generate multi-line commands for -zipyGameEnd.
1876 2013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1877 Fix Xaw file browser
1879 The 'next page' entry of the Xaw file browser contained a \177 character
1880 to keep at sorted at the bottom. This caused trouble for gettext.
1881 Now the sorting range is adapted so the 'next page' is never part of it.
1882 More seriously, the listbox fill code had a wrong cast when testing for
1883 an empty listbox on the first element, so that it only tested the low byte
1884 of the pointer, in stead of the entire pointer for NULLness. As a result
1885 the contents of the listboxes could suddenly disappear when even when it
1886 was non-empty, because the first filename was allocated at an unlucky address.
1888 2013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1889 Make Chat Box window obey -topLevel option
1891 It was always popping up as a dialog of the main board, covering it.
1892 One could argue it should always be to-level.
1894 2013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1895 Fix scrolling of Chat Box
1897 Seems the problem is that scroll_to_iter does not work until after some time,
1898 needed to calculate line heights. Use scroll_to_mark instead, after clumsily
1901 2013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1902 Fix GTK SetInsertPos
1904 SetInsertPos() was not yet ported to GTK, with as a result that the cursor
1905 was positioned at the start of a line recalled in the ICS Input Box,
1906 rather than at the end. The code also called SetInsertPos to force scrolling
1907 to that point in the text (which in Xaw is an automatic side effect). So for
1908 multi-line text edits this function calls ScrollToCursor(). For some reason
1909 this does not work when replacing texts in the Chat Box memo, when switching
1910 chat, although it does work in the same memo when a line is added to the
1913 2013-03-07 21:38:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1914 Print score of final position in Analyze Game
1916 The score/depth of the final position of the analyed game is added
1917 (as an explicit comment) behind the PV of the forelast position.
1918 To make this work, a new 'addBraces' mode (3) had to be added to
1919 AppendComment, which suppresses stripping of the score/depth from
1922 2013-03-12 18:50:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1923 Fix horrible bug in reading scores from PGN
1925 Reading scores like -0.94 flipped the sign, because the integer part
1926 -0 would read as 0, and thus was no reason for sign flipping.
1928 2013-03-10 12:43:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1929 Fix disappearence of pieces that were moved illegally
1931 Dragging damages the from-square, but it is not marked as such, because
1932 selective board redraws to update highlights and such would draw the piece
1933 that is really still there, making it flash on the from-square before
1934 the position after the move is drawn. This, however, backfires when the
1935 move was illegal, as then there is no draw of a new position, and the
1936 from-square stays empty. For now this is solved by making DisplayMoveError()
1937 order a total redraw. (As this is rare, only done in case of an error,
1938 and might even throw up a pop-up, the performance cost of this is acceptable.)
1940 2013-03-20 17:50:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1941 Fix quoting of book name in tourney file
1943 The argument of -polyglotBook was written to the tourney file unquoted,
1944 which effectively made it disappear if it was an empty or blank string.
1946 2013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1947 Provide compatibility with Alien Edition setup command
1949 The setup command of the Alien Edition has a board-size specifier
1950 (possibly as prefix on a parent-variant name) between pieceToCharTable
1951 and FEN. The regular version would choke on that, precluding engines
1952 designed for the Alien protocol extension to have their setup processed
1953 when running under regular XBoard. This patch makes it skip the extra info.
1955 2013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1956 Fix saving of analyzed game
1958 Anotated games after batch-mode Analyze Game were not auto-saved,
1959 because the GameEnds() call supposed to do that was called with a NULL
1960 argument for resultDetails. Now it is called with the resultDetails as
1961 pre-existing in the gameInfo, or an empty string if none exist. This bug
1962 was masked by the fact that in standard game ends (mate, etc.) the
1963 analyzing engine would declare game end and supply a message.
1964 Also makes a distinction between Analyze Game and regular Analyze mode
1965 when resuming analysis after loading a game; only the former now would
1966 trigger a batch analysis.
1968 2013-03-07 17:48:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1969 Fix spurious popup after batch-mode Analyze Game
1971 A batch analysis of games was not properly terminated, because the game
1972 mode was tested after it had already been changed. No oldGameMode is
1975 2013-03-02 22:21:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1976 Let XBoard -autoBox option also affect move type-in
1979 2013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1982 Key values > 255 are used for PgUp, PgDown etc., so to pop up only on
1983 printables needs a two-sided test.
1985 2013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1986 Fix fatal error on unsupported board size
1988 When a board size unsupported by the engine was requested through the
1989 New Variant dialog, this was discovered while the dialog was still up,
1990 causing the error message to pop up as a child of the New Variant dialog,
1991 so that it would immediately be taken down as the latter closed.
1992 As a result it could not be confirmed, so that XBoard would not exit, and
1993 was left in a pathologic state (ignoring window-close). This is fixed
1994 by performing Reset (which detects the error) after PopDown of New Variant.
1996 2013-03-01 12:39:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1997 Accept setup command for non-standard board size
1999 The code to test if board-size is standard for the current variant
2000 has been moved to a subroutine, to allow its calling when receiving
2001 a "setup" command from the engine.
2003 2013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2004 Fix buffer overflow in feature parsing
2006 String features (variants, egt, myname and option) relied on a buf[MSG_SIZ]
2007 for processing their value. The Nebiyu engine had combobox options that
2008 required more than that. All string features are now stored in allocated
2009 memory rather than in static arrays, and StringFeature allocates a buffer
2010 of sufficient size for them. Only limitation now is the low-level input
2011 buffer in the InputSource threads, whih is a static buffer of 4096
2012 (=INPUT_SOURCE_BUF_SIZE) characters.
2014 2013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2015 Fix vertical sizing of GTK board
2017 The clipping of the boad at the bottom was due to resizing of the clock
2018 height when we first write it with a big font. This patch delays calculation
2019 of the final size until after the clock height changes.
2021 2013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>:
2022 Updated German translation
2025 2013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>:
2026 Updated Ukrainian translations
2029 2013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2030 Fix of argument error
2032 Oops. Pevious patch for skipping unknown multi-line arguments
2035 2013-02-26 17:44:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2036 Let popping up of WinBoard chatbox for channel open it
2038 WinBoard now issues a +ch command for a channel when you pop up a chatbox
2039 for that channel. A work-around is added for the fact that the public
2040 FICS seems to ignore the first such command.
2042 2013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2043 Make skipping of unknown option smarter
2045 To make XBoard better resistant to the presence of disbanded or future
2046 options in its settings file, encountering those is no longer a fatal error.
2047 But the error recovery only consisted of skipping the rest of the line.
2048 This fails badly on string options with a multi-line value, which is
2049 enclosed by {braces}. We now detect that case, to skip to } instead.
2051 2013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2052 Add -backupSettingsFile option
2054 For better configurability of WinBoard, an option is added to optionally
2055 read a settings file, namely if no other settings file (other than the
2056 master file) was read so far. This can be used to import settings from
2057 a previous version, without destroying its settings file.
2059 2013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2060 Repair WinBoard compile error
2062 __GITVERSION was not defined in WinBoard, as it was only defined with a
2063 compiler flag by ./configure, which WinBoard does not use.
2065 2013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2066 Work-around for Xt selection bug
2068 In some Xt implementations calling extend-end with 0 params causes a crash,
2069 although the mmanual specifies this should default to a call with 'PRIMARY'.
2070 The default selection is now explicitly mentioned in all extend-end calls.
2072 2013-02-24 09:31:57 -0800 Christoph Moench-Tegeder <cmt@burggraben.net>:
2073 fix bug #38401: xboard.texi doesn't build with texinfo-5.0 (tiny change)
2075 xboard-4.7.0's documentation is not buildable with texinfo-5.0, it fails with a lot of error messages from makeinfo like
2076 ./xboard.texi:1026: @itemx must follow @item
2077 makeinfo seems right, @itemx is not used as described in the texinfo manual.
2078 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.
2080 2013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>:
2081 updated po/pot files
2084 2013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>:
2085 new version number for developer release
2088 2013-02-20 21:28:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2089 Try to make life more bearable in Xaw menus
2091 The alignment still sucks, but not as much as before.
2093 2013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2094 Fix -topLevel option
2096 This option was copletely ignored, after the refactorig.
2098 2013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2099 Fix testing for valid window placement Xaw
2102 2013-02-20 12:15:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2103 Suppress printing of status line in dual-board mode
2106 2013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2107 Fix sizing of slave board GTK
2109 For lack of a known method to specify a default size for Graph widgets,
2110 we have to use the same system as for the main board: create with 0x0 size,
2111 and measure the size of the outer window to determine margins.
2112 After every popup we then resize to the required board size plus these
2115 2013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2116 Better handling of undefined window parameters
2118 Repositioning and resizing a newly created dialog was based on the width
2119 parameter of the stored sizing info being valid. Now it is separately
2120 tested if the position is valid, so that sizing and moving can be done
2121 independently. This allows us to store position info, but not size info
2122 for the slave board, so that it automatically will use the size of the
2123 main board when first opened.
2125 2013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2126 Limit debug print to debug mode
2129 2013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2130 Fix repositioning of GTK windows
2132 After 'hide' and 'show' GTK would not position the window in the same place,
2133 but center it on the parent. Now we reposition the window after 'show' based
2134 on the WindowPlacement data (if available).
2136 2013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2137 Remember window params of slave board
2139 The slave board now has been assigned a WindowPlacement, which is also
2140 saved in the settings file, through new options -slaveX/Y/W/H.
2142 2013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2143 Fix repairing of arrow damage
2145 The '2' bit in damage[][] to indicate the arrow was erroneously cleared,
2148 2013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>:
2149 fix OK-response in gtk dialogs, see c7f8df124
2151 the fix in c7f8df124 needs to be applied to both of those if cases
2153 2013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>:
2154 removed two more translations from debug output
2157 2013-02-18 17:09:30 -0800 Arun Persaud <arun@nubati.net>:
2158 fixed segfault of g_markup_printf_escaped which needs utf-8 strings
2160 defined text-domain as utf-8 solved this
2162 2013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>:
2166 2013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>:
2167 removed some translation calls for messages in the debug log
2170 2013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>:
2171 add keyboard shortcuts back into Xaw version
2174 2013-02-17 14:13:30 -0800 Arun Persaud <arun@nubati.net>:
2175 in debug mode also print the git-version if available during build
2178 2013-02-18 21:19:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2179 Print game-list timing messages only in debug mode
2182 2013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2183 Fix title of top-level windows
2186 2013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2187 Cure GTK warning in top-level windows
2189 There is no OK button in top-level windows, so the 'response' signal is
2190 not defined, and should not be connected.
2192 2013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2193 Fix graying of Revert menu item
2195 The new code was checkmarking it in stead of enabling it!
2197 2013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2198 Add -onlyOwnGames option
2200 This suppresses auto-saving of ICS observed games.
2202 2013-02-18 11:17:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2203 Allow display of 50-move counter in zippy mode
2205 No chance it could be considered cheating there.
2207 2013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2208 Add new vertical pixel fudge
2210 With the new GTK window type the board is 13 pixels too small.
2212 2013-02-18 10:29:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2213 Don't add PV moves on board clicking in AnalyzeMode
2215 Playing PV moves by right-clicking the PV was only intended for clicks
2216 in the engine Output window, selecting from multi-PV analysis output,
2217 where by default it plays only the first move. PV walkig by right-clicking
2218 the board, however, would start the walk at the end even in AnalyzeMode,
2219 and thus add the entire PV. Which is probably not useful. So adding moves
2220 in that case has now completely been suppressed, so it can be used for
2221 harmless viewing of the latest PV.
2222 The behavior has also been made subject to a persistent Boolean option
2223 -appendPV, configured to true, with a checkbox in General Options.
2224 A checkbox has also been added there for controlling the -variations option,
2225 which is now also configured to true.
2227 2013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2228 Remove checkbox for 'Move Sound'
2230 This function is better controlled from the Sounds dialog.
2232 2013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2233 Make switching between board windows absolute
2235 Selecting the window in which to draw the board when the slave board for
2236 -dualBoard was up was done by a toggle. For unknown reason this could cause
2237 a situation where the drawing took place in the other window than the
2238 intended one. The code is made more robust by explicitly specifying which
2239 window to draw in, based on the partnerUp flag.
2241 2013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2242 Warn about experimental nature of dual board
2244 The message field, which for now is unused, now contains a warning message.
2246 2013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>:
2247 add close buttons to gtk windows
2249 use windows instead of dialogs for toplevel elements
2251 2013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>:
2252 keyboard accelerators for both front ends.
2254 moved them out of the string definition, so that gtk can add them automatically.
2255 Also wrote a function that loads them for X11.
2257 TODO: add them again when creating X11 menu names
2259 2013-02-15 11:03:02 -0800 Arun Persaud <arun@nubati.net>:
2260 added rotated shogi pieces for -flipback option and moved them to the themes directory
2263 2013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>:
2264 add test for pkg-config
2266 exit configure in case we can't find it.
2268 2013-02-14 13:02:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2269 Only perform e.p. capture if there are rights
2271 The heuristic for e.p. capture was such that any non-forward move with
2272 a Pawn to an empty square would delete the piece behind its new location
2273 (Xiangqi exempted). This is now limited to cases where EP_STATUS indicates
2274 that the deleted piece was a Pawn that performed a double-push on the
2275 previous move. (Or if there is unknown EP_STATUS.)
2276 This makes XBoard more generally suitable for use with variants that have
2277 non-conventional Pawn moves (with legality testing off). To guarantee this
2278 will not have any unexpected effects in normal Chess, this patch will only
2279 be active if legality testing is off.
2281 2013-02-11 16:25:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2282 Unreserve tourney game on exit during engine load
2284 While waiting for the feature timeout we are not yet in TwoMachines mode,
2285 so quitting XBoard at that stage would not unreserve the upcoming game.
2286 A global flag 'startingEngine' similar to 'waitingForGame' now signals
2289 2013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2290 Better fix of feature timeout
2292 The previous fix of the 2nd engine's done=1 aborting the 1st engine's
2293 feature timeout by starting the game caused problems with v1 engines,
2294 or other engines that would never send done=1. It is now fixed by
2295 explicitly testing for a pending feature timeout after resurrecting
2296 the 1st engine, rather than having TwoMachinesEventIfReady wait for
2297 initDone to be set by reception of done=1.
2298 Also refrain from freezing the UI between match games, as in TwoMachines
2299 mode the UI is mostly disabled anyway.
2301 2013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2302 Connect Ctrl key in WinBoard
2304 The Control key is now checked during move entry, for excluding moves
2305 during analysis, or for copying pieces when editing a positions. But the
2306 WB front-end did not read it out yet!
2308 2013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2309 Fix Makefile for install of Xiangqi pieces
2312 2013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2313 Add Xiangqi piece images to project
2315 Let the images install in themes/xiangqi.
2317 2013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2318 Revive -flipBlack option
2320 The -flipBlack option in the cairo version is now implemented the same
2321 way as it was in XBoard, swapping white and black pieces in filpView mode.
2322 This requires a set black piece images that are the upside-down versions
2325 2013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2326 Remove empty-square SVG images from project
2329 2013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2330 Add desktop stuff for .xop MIME type.
2332 Icons and desktop file were missing, as was the automake code to package them.
2334 2013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2338 2013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2339 Add boolean -autoBox option
2341 This option controls the automatic popup of the ICS Input Box on typing
2342 a printable character, which was annoing to some. The option can be
2343 set from the ICS Options dialog.
2345 2013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2346 Draw both coords in a1
2348 The lower-left board square needed two inscriptions, but DrawOneSquare()
2349 only allowed one, so that the file ID would not be written. Now two strings
2350 can be passed, and when align > 1 to indicate the alignment of the top
2351 string, it is still checked if a bottom string is present as well, which
2352 then is drawn with alignment 1 (= bottom right).
2353 The rank coord or piece count can now also be double digit.
2355 2013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>:
2356 updated po files for new release (make distcheck)
2358 2013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>:
2359 updated Changelog, NEWS, etc.
2361 2013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>:
2362 new version number for release of 4.7.0
2364 2013-02-05 11:56:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2365 Let initial setting of Twice checkbox reflect current state
2367 The Twice checkbox in the Tournament dialog of WinBoard was by default
2368 starting unticked. It is more convenient to have it preserve the current
2369 state, however, based on the -lpi or -lgi value. Like the auto-incremet
2370 checkbox already did.
2372 2013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2373 Put GTK warning in about-box
2376 2013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2377 Fix warnings of build server
2380 2013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2381 Fix GTK error auto-raising board
2383 The variable mainwindow is not set in the gtk2 version. Unfortunately
2384 it is still used to determine default board size...
2386 2013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2387 Update Dutch WB translation
2390 2013-02-01 19:37:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2391 Add some new strings to WB translation template
2394 2013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2395 Assign shortcut char to WB menu item
2397 The new Save games as Book item did not have a shortcut yet.
2399 2013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2400 Let WinBoard start in its installation folder
2402 The current directory in WinBoard was not automatically the same as the
2403 installDir returned by SearchPath. Especially not if used without shortcut
2404 by file association.
2406 2013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2407 Fix warning in WinBoard
2410 2013-01-30 14:25:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2411 Fix expose of to-square with grid off
2413 The code relied on drawHighlight to request an expose evet for the entire
2414 square, but when lineGap = 0, drawHighlight is a no-op.
2416 2013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2419 On OS X dialog windows could not get focus if -lXaw appeared after
2420 -lX11 -lXt in the linker command. This was cured by moving
2421 @FRONTEND_FLAGS@ (which expands to -lXaw) first in the LDADD parameter
2422 of the automake file.
2424 2013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2425 Preserve PGN tags when loading engine
2427 Switching to EditGame mode would normally erase the tags, but when analyzing
2428 a loaded game this would be undesirable. When the engine is playing, keeping
2429 the tags is dubious, but it is not obvious what to put in a new name tag,
2430 so we leave that for now.
2432 2013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2433 Preserve mode on engine loading (sometimes)
2435 That the mode always switched to EditGame after engine loading was
2436 particularly annoying at the start of a game (where leaving BeginningOfGame
2437 mode would disablethe Time Control dialog, and the engine would not
2438 automatically reply if you start playing) and AnalyzeMode. These two
2439 modes are now preserved, BeginningOfGame by refraining from calling
2440 EditGameEvent() and sending 'force' to the new engine, and AnalyzeMode
2441 be calling AnalyzeModeEvent() after the engine is loaded and repositioned.
2443 2013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2444 Catch unknown engine in tourney games
2446 When an XBoard instance is playing on a tourney it can happen that it is
2447 using a settings file with an engine list not yet containing a certain
2448 participant, because that participant was just installed in the instance
2449 that created the tourney file, but it did not save those modifications yet.
2450 This error is now caught, and leads to an error popup and stopping of the
2451 tourney play. This error was made non-fatal to allow the user to decide
2452 if he wants to quit with or without saving the settings (which, after all,
2453 does not seem up-to-date).
2455 2013-01-26 18:08:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2456 Adjudicate pawn-drop mate as loss in Shogi
2458 Mating with a Pawn drop is illegal in Shogi, but rather than burdoning
2459 the legality-testing by this complex rule, we simply invert the result
2460 for such a mate. After all, Shogi customs are such that everything illegal
2461 leads to an immediate loss.
2463 2013-01-25 10:05:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2464 Adjudicate perpetual checks as loss also in Shogi
2466 The Xiangqi code for recognizing perpetual checks is now also activated for
2467 Shogi, but in this case we bail out before checking for perpetual chases.
2468 The mini-Shogi case is then recognized as a win for gote.
2470 2013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2471 Stalemate is a win in Shogi
2473 In regular Shogi this never occurs, but in the mini variants it happens
2476 2013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2477 Fix engine timeout problem in match mode
2479 Reload of a reuse=0 engine would cause a done=1 event which would be
2480 abort the feature timeout of the other engine in the first game.
2482 2013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2483 Enforce -popupMoveErrors
2485 One move error was using DisplayError(), in stead of DisplayMoveError(),
2486 and thus did not obey the -popupMoveErrors option.
2488 2013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2492 2013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2496 2013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>:
2497 Updated German translation
2500 2013-01-19 17:54:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2501 Do delayed board draw also with -stickyWindows false
2503 Only CoDrag needs to be suppressed on a configure event with
2504 -stickyWindows false, not the board redraw.
2506 2013-01-18 11:11:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2507 Let tellothers command add comment to PGN in local mode
2510 2012-12-30 15:19:57 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2511 Allow use of ~ in pieceToChar for shadow pieces in any variant
2513 The use of shadow-pieces for promoted Pawns was limited to Crazyhouse and
2514 Bughouse. But this is not necessary, and in fact undesirable, as it made
2515 it impossible to implement Crazyhouse960, which combines shadow promotions
2516 with Fischer castling (only available in variant fischerandom)s, and thus
2517 has to be played as 8x8+5_fischerandom, using the Crazyhouse -pieceToChaTable.
2519 2012-12-30 15:06:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2520 Resend engine-defined options after reuse=0 reload
2522 When the engine process is re-spawned for a new game under -xreuse setting,
2523 any alteration of engine settings brought about through the Engine Settings
2524 dialogs would be lost, and revert to the engine's default. This is now fixed
2525 by re-sending all options (known from the previous load of the same engine)
2526 with the current settings immediately after "protover 2", and ignoring the
2527 engine's option features. Rather than clearing the option list, and
2528 redefining it from the option features.
2530 2012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2531 Implement aborting of games on engine request.
2533 A new game-end command is added. For bakward compatibility it is disguised
2534 as an old one, namely "1/2-1/2 {Engine Abort Request}". These resultDetails
2535 are recognized as special, and rather than ending the game in a draw (which
2536 GUIs not implementing this), the game will be completely 'expunged' from
2537 the match or tourney it is part of, leaving no trace in the saveGameFile.
2539 2012-12-30 14:54:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2540 Store some more tourney params in tourney file
2542 The hash and threads settings, as well as ponder and book options are now
2543 also saved in the tourney file, so that tournaments can be played in
2544 parallel where these parameters differ, and no mess up can occur on
2545 restarting a touney after doing something else.
2547 2012-12-23 11:26:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2548 Do not automatically save aborted games in tourney PGN
2550 When the game result is 'unfinished', we prompt for a filename rather
2551 then using the specified saveGameFile if a tourney is in progress.
2553 2013-01-19 08:35:52 -0800 Arun Persaud <arun@nubati.net>:
2554 fix configure bug that showed up on OS X (couldn't find X11/Dialog.h)
2556 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.
2558 2013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>:
2559 Updated Ukrainian translations
2562 2013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>:
2563 removed trailing whitespace
2566 2013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>:
2567 Updated copyright notice to 2013
2570 2012-12-22 22:46:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2571 Do not move to forwadMostMove when unpausing AnalyzeMode
2574 2012-12-22 22:44:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2575 Use Ctrl key in AnalyzeMode to exclude entered move
2578 2012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2579 Implement insufficient mating material for Knightmate
2581 KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
2583 2012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2584 Fix rep-draw detection in drop games
2586 In games like Crazyhouse every move is reversible, as captured pieces
2587 can eventually change sides again, and be dropped back on the board.
2588 So we have to search back a full 100 ply for repetitions, passing captures
2591 2012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>:
2592 updated po/pot files
2595 2012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>:
2596 new version number for developer release
2599 2012-12-10 14:48:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2600 Prefer pause mode on pondering engine over 'easy'
2602 If the thinking engine is stopped after its move because it does not
2603 support pause, is is still better to use pause on the pondering engine
2604 than to switch of its pondering with 'easy', as the latter might not
2605 be instantaneous. Also switch off pondering in the thinking engine before
2606 it gives the move, just in case it does not respond immediately to
2609 2012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2610 Update WinBoard translation template
2613 2012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2614 Fix min-Shogi promotion zone
2616 In integer arithmetic N*2/3 is not the same as N - N/3, with as a result
2617 that the white promotion zone was 2 ranks deep on 5x5 boards. This only
2618 happened in LegalityTest, but because this would classify all moves to
2619 4th rank an non-promotions, they would be printed with a faulty
2620 deferral (=) sign as promochar in SAN.
2622 2012-12-10 13:32:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2623 Do not clear PGN tags on Analyze File
2626 2012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2627 Fix -fSAN in AnalyzeFile mode
2629 The exception that a PV relates to currentMove rather than forwardMostMove
2630 applies not oly in AnalyzeMode, but also in AnalyzeFile. Furthermore,
2631 PvToSan did not properly restore the pushed game tail in this case.
2633 2012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2634 Improve scaling of border bitmap (WB)
2636 The StretchBlt mode is set from dither to delete.
2638 2012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2639 Implement use of pause / resume protocol commands
2641 Engines that implement feature pause=1 will be paused during their move
2642 on a pause event; pondering engines will be controlled either through
2643 'pause' or (if they don't support that) 'easy', which both should work
2644 instantaneously. If the thinking engine does not support 'pause', the pausing
2645 will be deferred to when it produces its move, and is implemented by not
2646 relaying the move, and switch off pondering for both.
2648 2012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2649 Fix Loop-Chess promotions
2651 Loop Chess is not a supported variant, but hould be playable as Crazyhouse
2652 with an altered pieceToCharTable, not defining the shadow promotion pieces.
2653 But with legality testing on promotion to shadow piece would take place
2654 even if the shadow piece was not defined.
2656 2012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2657 Fix move highlighting with animation off
2659 In WB the moving of SetHighlights to after the animation had broken the
2660 highlighting of engine moves, because it was also moved after DrawPosition.
2661 While it is DrawPosition that actually draws the highlights. Now it has been
2662 moved to just before DrawPosition.
2664 2012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2665 Start browsing in currently-selected folder (WB)
2667 The folder-browse dialog always started at My Computer, while file browsing
2668 started in the globally last-used folder (which might not be related at all
2669 to the file entry we are now browsing for).
2671 2012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2672 Implement book-creation functions
2674 A new menu item triggers conversion of the currently loaded PGN file
2675 to a Polyglot book, saved with the GUI-book filename. A (volatile) option
2676 -mcBookMode alters the probing algorithm to build a book from scratch by
2677 playing games (and using a form of learning).
2679 2012-11-29 22:23:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2680 Use colors in Board-Options dialog also for font pieces (WB)
2682 The piece color settings now control the pieceColor or fontPieceColor
2683 settings, depending on the setting of -usePieceFont.
2685 2012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2686 Implement auto-creation of ICS logon file
2688 Under control of the new option -autoCreateLogon (which can be set from
2689 the ICS Options dialog) the first two lines in response to the ICS "login:"
2690 pompt will be saved on a newly created logon file (if logon from such
2691 an existing file failed).
2693 2012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2694 Add Themes dialog (WB)
2696 This dialog, done by the generic popup, contains controls for many settings
2697 that so far could only be controlled by options. It also introduces the
2698 concept of 'themes', sets of options stored in the multi-line option
2700 Add some dummy routines to suppress compile errors in functions that
2701 cannot be called yet in XBoard.
2703 2012-11-29 21:32:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2704 Allow external piece bitmaps and board border (WB)
2706 The -pieceImageDirectory is now also used for WinBoard, to indicate
2707 a directory of .bmp files, used to replace the built-ins. The outline
2708 and solid bitmaps can be full-color. This allows winBoard to use the
2709 WinBoard-zeta graphics. A new option -border can indicate a bitmap file
2710 used to draw a half-square-wide border around the board.
2711 A white background has to be drawn underneath the black pieces, to avoid
2712 color-interference with the board, just like happens for the white pieces.
2713 These backgrounds now always use bright white, rather than -withePieceColor.
2715 We still have to work on the scaling of the zeta (600x600) bitmaps to
2716 the actual board size, as for some bitmaps the stratchblt is ugly.
2718 2012-11-29 21:05:15 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2719 Add 'Continue Later' button in Tournament dialog (WB)
2721 This button makes it possible to accept the values specified in the
2722 dialog without immediately starting the tournament (as OK does),
2723 so you can re-open the dialog later, and OK it then.
2725 2012-11-29 20:25:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2726 Load opponent logo based on handle in ICS play (WB)
2728 The logos for handles on FICS are sought in folder logos\freeches.org\*.bmp,
2729 etc. If no logo for the handle is found there, the logo of the ICS is
2732 2012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>:
2733 Fix configure script for --enable-zippy (tiny change)
2735 reported and patch by Daniel.
2737 edited by Arun Persaud:
2738 - also fixed #ifndef ZIPPY -> #if !ZIPPY
2739 - didn't change #if -> #ifdef
2741 2012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>:
2742 don't define X_LIBS when using gtk-frontend
2745 2012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>:
2746 updated po/pot files; added new frontend files
2749 2012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>:
2750 fix configure script for --with-Xaw and --with-gtk
2752 made Xaw the default and included xaw or gtk sources as extras
2753 in case the other frontend is selected for make distcheck
2755 2012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>:
2756 new version number for developer release
2759 2012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2760 Draw frames around memos and listboxes
2763 2012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2764 Adapt lineGap during sizing
2767 2012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2768 Fix clock highlighting
2771 2012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2774 The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
2775 handler for special keys in one-liner text edits.
2777 2012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2778 Pay attention to NO_CANCEL dialog flag
2781 2012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2782 Fix clock clicking with GtkEventBox
2784 Like in WinBoard the button-3 case is now handled in the primary
2785 event handler (and communicated to it in a kludgy way). It would be
2786 better if this was absorbed in ClockClick().
2788 2012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2791 Graphs were not recognized as possible SAME_ROW elements. A Graph requesting
2792 FIXED_H (which only the logos did) is now packed into a (borderless) aspect
2795 2012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2796 Add window positioning
2798 Sticky windows now sort of works, but needs unexplained fudge factors.
2799 Reopening a persistent dialog centers it on the board, and disobeys
2800 the positioning command. The WindowPlacement of the BoardWindow was
2801 again added (it was commented out during development).
2803 2012-10-22 22:41:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2804 Make board sizing work through subtracting fixed height
2806 There is now no attempt to give a size to the board drawing area, so it
2807 can later be sized as small as we want. The frame width is determined
2808 by subtracting the nominal board size from the actual window size,
2809 (because the clocks will have that width, and the board will startas 1x1),
2810 while the vertical margin is determined as the difference between the
2811 bactual window height, the drawing-area height minus a fudge of 25 pixels
2812 to compesate for the erroneously allocated blank space below the board.
2814 2012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2817 The highTextStart/End are now declared in engineoutput.h, shared between
2818 nengineoutput.c and xengineoutput.c. Unused variables were removed.
2819 Also fix warnings in xboard.c and xoptions.c.
2821 2012-10-22 17:40:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2822 Delete emptied front-end files, and move rest to gtk directory
2824 Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
2825 and xhistory have been completely cleared off content, and were removed.
2827 2012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2830 The code from gtk-xt could be used with almost no modification.
2832 2012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2833 Some experimenting with sizing
2835 Does not work as intended yet.
2837 2012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2840 Funny enough it was necessary to swap the two svg icons to make this work!
2842 2012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2843 Make some tall dialogs multi-column
2845 A dummy button was added to the last row of New Variant to make the
2846 number even. A legality-test warning as put in the New Variant dialog
2847 Fix width of tourney-file in Match dialog
2849 2012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>:
2850 updated some icons to SVG
2853 2012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2854 Add displaying of icons
2856 A new Option type, 'Icon', was added for this as in GTK Icons and Labels
2857 need different types of widget. The icons are now svg, so we could
2858 remove the icon pixmaps.
2860 2012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2864 2012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2865 Add BarBegin, BarEnd options
2867 This makes the button bar display correctly. Also fix v-sizing of menu bar.
2869 2012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2870 Add listbox double-click callback
2872 This function was formerly performed by WheelProc.
2874 2012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2875 Add hiding / showing second Engine Output pane
2877 The handle of the GTK table for the second engine is stored in the
2878 EndMark handle by GenericPopUp, so it can be used later to hise/show
2881 2012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2882 Use different tables for different dialog columns
2884 Making the same table wider (in steps of 3) to get multiple columns
2885 does not work, because it forces options to align vertically. This
2886 wrecks dialogs like Load Engine, where one column contains a very
2887 high option (listbox). Now differnt tables are created for each column,
2888 packed in a new itermediate hbox. In case of the Engine Output window,
2889 a vbox is used instead to cause vertical stacking.
2890 Only multi-line text-edits and listboxes are now allowed to take up
2891 vertical space changes, while only the middle colum of the table
2892 can take up horizontal size changes. Within packing boxes space is
2893 equally distributed.
2894 The labels above the particiant-selection widgets had not the same width
2895 as the textview / listbox, leading to misplacement of the second label.
2896 For Engine Settings the spontaneous breaking into columns did not
2897 involve a SAME_ROW flag, so the 'columns' were stacked vertically.
2898 In addition the columns were too tall for GTK. They are now 20 options max.
2900 2012-10-19 13:46:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2901 Deselect first char in Move Type-in and ICS Input Box
2903 After popup the Move Type-In had the typed character in it, but it was
2904 selected, so that typing a second character would erase it again.
2905 Same for the ICS Input Box. A prototype for CursorAtEnd is now also added.
2907 2012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2908 Close Move Type-in on Enter
2910 The code is squeezed into the ICSKeyEvent callback.
2912 2012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2913 Add access routines to checkboxes and FocusOnWidget
2915 The <Enter> handler of the filter field needs it to return focus to
2918 2012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2919 Add game-list callbacks
2921 The callbacks for listbox and filter text are treated by the same callback,
2922 which does both key presses and button double-clicks.
2923 Giving focus back to the listbox after filtering does not yet work!
2925 2012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2926 Add optional callback to Label Options
2928 For some reason this does not work. The callback isn't called!
2930 2012-10-18 13:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2931 Add type-in event to board for popping up box
2934 2012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2937 The state of Shift and Ctrl was only probed on button clicks, so it
2938 is now read out of the button-event struct in the relevant button handlers.
2939 For backwad compatibility, they store it in a global, so the routine
2940 ShiftKeys can take them from there.
2942 2012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2943 Remove some unneeded low-level X11 code
2945 Things like tabbing between controls, mouse-wheel scolling etc. are all
2946 automatic in GTK, and thuse don't need to be ported.
2948 2012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2951 The gtk-xt code for browsing in response to menu items rather than dialog
2952 browse buttons) was grafted. It seems desirable to merge the two browsing
2953 functions, though. Pass extra params used by Xaw to FileNamePopUpGTK.
2954 The code was altered to use DelayedLoad.
2956 2012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2957 Fix ListBox, and add some support routines
2959 The srolled-window for the listbox used a uninitialized variable for its
2960 width, causing a crash. Now it pays attention to the Option.max and .value
2961 size hints. The access routines were copied from gtk-xt. HighlightWithScroll
2962 could just a wrapper for HighlightListBoxItem, as GTK auto-scrolls.
2964 2012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2965 Connect CommentClick handler
2967 This can make use of generic memo callback, so it could be entirely
2968 backend. Therefore it was moved to dialogs.h. As it shared a global with
2969 some other back-end popup routines to remember the current move, these
2970 could now be moved out of xboard.c too. (Well, not so for the X11 front-end,
2971 so it has now been put in a header. :-( )
2973 2012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2976 Because FrameDelay does block the event loop, even though it releaes the
2977 CPU, expose events start to lag behind the actual drawing. By combining
2978 expose events for overlapping squares, rather than decompose them into
2979 3 rectangles, this problem seems to go away. But only if there is an
2980 extra exposure on the squares to be drawn also non-overlapping frames
2981 will be properly drawn (?!).
2983 2012-10-17 14:40:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2984 Implement highlighting in engine output by through generic method
2986 HighlightMove was made generally available for all text. It is now just a
2987 wrapper for the generic HighlightText, and could be moved to the back-end.
2988 (This requires the initialization to be widget specific, and the flag
2989 indicating it has been done is now stored in the Option.min field.)
2991 2012-10-17 14:33:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2992 Let engine-output memos use new generic callback
2995 2012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2996 Add scrolling of Move History
2998 To have access to the textview, its handle is now stored in the
2999 Option.textValue field.
3001 2012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3002 Add highlighting in move list
3004 For now it is assumed the normal background will be white (for clearing
3007 2012-10-16 19:44:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3008 Make generic memo-event handler, and connect history callback
3010 Large text widgets can now define a user handler in their Option.choice
3011 field. If they do, agneric callback is added tothem, which catches mouse
3012 events. Button release and pointer motion pass their coordinate and type
3013 to the specified user routine. Button presses in addition retrieve
3014 the text from the widget, set the cursor in it to the clicked point,
3015 and convert it to a character position, also passed to the user.
3016 The user is responsible for ignoring events he is not interested in.
3018 2012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3019 Add key-handler for ICS Input Box
3021 In contrast to the X11 code, all intercepted keys are now treated by
3022 the same callback. The ICS Input Box callback triggers on Up, Down and
3023 Return key, and refers to these symbolically.
3025 2012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3026 Highlight Pause button
3029 2012-10-16 13:52:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3030 Better cleansing of xboard.c from X11 types
3032 The #includes for X11 files were still in there.
3034 2012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3035 Add text insertion in engine-output memos
3038 2012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3039 Append recent engines to engine menu
3041 This is now entirely moved to the back-end, by doing it in the table
3042 from which the menus are later generated. The special callback for engine
3043 items is abandoned, and the euProc for such items is left NULL to flag
3044 that RecentEngineEvent should be invoked with the applicable engine number.
3045 To calculate the latter a global variable firstEngineItem is dynamically
3046 set to the length of the regular engine menu.
3048 2012-10-15 22:17:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3049 Transfer more gtk-xt code, and add some new
3051 Add input-source handling
3052 Graft color picker (<Enter> callbeack in the text field is still missing!)
3053 Handle contents of label widgets (store handles in Option for access)
3054 Add printing of clocks
3055 Add printing of window title
3056 Pay attention to BORDER attribute of Label Options (pack in frame)
3057 Delete ReadBitmap code (also remove #including of bitmap files for icons)
3058 Fix layout of textviews (adapt to newer Option format, incl. wrap, scroll)
3059 Support vertical stacking in Break Option (no table widening when !SAME_ROW)
3060 Make default horizontal scroll policy automatic (for engine-output window)
3061 Fix disabling of unused spinners in TC dialog
3063 2012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3064 Connect dialog Browse buttons to GTK browser
3067 2012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3068 Implement menu checkmarking and enabling
3070 odes in the (later over-written) handle field specify which items
3071 are to be checkmarked, and by what style button.
3073 2012-10-15 16:18:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3074 Attach expose handler and connect to mouse events
3076 The GraphExposeProc is conected to the Graph widgets. A gdk draw routine
3077 is used to copy the buffer bitmap to the display. It is also connected
3078 to button and motion-notify events.
3079 In this version the board can be fully operated with the mouse.
3081 2012-10-14 22:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3082 Transfer most available gtk-xt code to xoptions.c
3084 GenericPopUp and PopDown are grafted from gtk-xt into gtk2.
3085 The version compiles, but segfaults before doing anything, with error
3086 messages about unexpected cases in GenericPopup for Graph and PopUp Options
3087 of the main board. The spin options need special treatment in GetWidgtText.
3089 2012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3090 Give LoadListBox two extra parameters
3092 It often occurs that we just want to swap two elements, and reloading
3093 the entire listbox would be a very inefficient way to do this in widget
3094 sets that allow access to a single element.
3096 2012-10-14 20:36:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3097 Remove all X11 code by #ifdeffing it out
3099 With #ifdef TODO_GTK we disable all X11 code, in order to get a compiling
3100 X11-free version. The disabled sections can then be replaced by code
3101 for another widget set, the X11 version still showing what it was supposed
3104 2012-10-14 17:37:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3105 Move timer functions to new file xtimer.c
3107 The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
3108 go into a separate file.
3110 2012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3111 Make xevalgraph.c backend
3113 The only front-end stuff left in xevalgraph.c was an unnecessary reading
3114 of the window size (which could be obtained from the WindowPlaceent struct),
3115 and drawing (all cairo now). The drawing was moved to draw.c, and the
3116 remaining part renamed nevalgraph.c.
3118 An attempt to list them in a less chaotic way.
3120 2012-10-14 14:34:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3121 Cleanse back-end code of all references to X11 types
3123 When compiling for X11, common.h #included X11/Intrinsics.h so that
3124 X11-specific data types could still be used throughout the back-end part
3125 not shared with WinBoard. By temporarily disabling this, error messages
3126 could be generated on all such occurrences, and were then solved. This
3127 included the following:
3128 The InputSource struct is not uses in usystem.c at all, and its definition
3129 could be moved to xboard.c. InputSourceRef, which logically should heve been
3130 defined as (InputSource *), is in reality (void *), so the back-end can
3132 Some non-platform-dependent stuff of general interest had prototypes
3133 (or external vars) in xboard.h. This is now moved to a new header xboard2.h,
3134 to allow it to be shared without bringing in X11 dependence.
3135 The EngineOutputProc was defined inconsistently, but the header was not
3136 sufficiently shared to flag this error. This has been repaired now, by moving
3137 the template to menus.h.
3139 2012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3140 Remove xedittags.c, .h from project
3142 The tiny bit of code that was left was absorbed in dialogs.c, the one
3143 prototype to menus.h.
3145 2012-10-14 12:53:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3146 Remove inclusion of frontend.h from backendz.h
3148 This did not seem to serve any purpose at all.
3150 2012-10-14 12:49:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3151 Split xhistory.c in front-end and middle-end part
3154 2012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3155 Move MarkMenuItem to xoptions.c
3157 This to make xoptions.c completely independent from the inclusion of
3158 frontend.h. The prototype is moved to menus.h.
3159 Loose end: DrawPosition in board.c does not see the prototype.
3160 Very suspect that it wants to see it. Why would it have to correct the
3161 flipView setting??? Better se to it that it is correct to start with!
3163 2012-10-14 12:14:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3164 move testing for no options to back-end
3166 The test if an engine has options and display a note instead of
3167 the Engine Settings dialog when this is not the case is moved
3168 to outside of GenericPopUp, to make the later independent of calling
3171 2012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3172 Remove some unnecessary header includes
3175 2012-10-14 10:47:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3176 Move ICS-engine analyze and AnalyzeGame code to shared back-end
3178 This code was still duplicated between WB and XB in the front-ends.
3179 Because of its incorporation in AnalyzeModeEvent the 'middle-end'
3180 function AnalyzeModeProc could be eliminated. AnalyzeModeEvent was made
3181 to return an int to flag its success, and keep the JAWS code based
3182 on it out of XBoard.
3183 The AnalyzeGame code is now incorporated in AnalyzeFileEvent().
3185 2012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3186 Add configure switches for Xaw vs GTK.
3188 This patch is an adapted version of the one Arun made at the end of the
3189 gtk2 branch. It uses the exact same version of his configure.ac, but the
3190 Makefile.am is adapted to the situation in master at the beginning of it,
3191 after duplication of the X11 front-end files in the xaw directory for
3192 preserving them, while the versions that will be modified to GTK front-end
3193 are still in the xboard directory.
3195 2012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3196 Prepare xoptions.c for middle-end changes
3198 Some changes that can be pre-empted, such as the splitting of Label
3199 into Label and Icon Option type, and some dummy wrappers are already
3200 implemented, so they can be used when needed by GTK.
3202 2012-10-25 09:20:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3203 Preserve copies of the X11 front-end in xboard directory
3205 The X11 front-end has been moved to the xaw directory, but copies
3206 are retained for modifying them to gtk versions.
3208 2012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3209 Move X11 front-end to directory xaw
3212 2012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3213 Fix initial enables in TC dialog
3216 2012-10-30 14:47:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3217 Fix image extension used for browsing to .pgn
3220 2012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3221 Fix WinBoard compile error on enum PEN
3224 2012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3225 Fix crash in promotion popup
3227 There were not enough entries for Capablanca Chess with legality-testing off,
3228 where King is also presented as a choice.
3230 2012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3231 Fix message in New Variant dialog
3233 Even in -ncp mode the message was referring to the 'current engine'.
3235 2012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3236 Fix crash on animation after resizing
3238 The animate buffers were still holding pointers to a discarded cairo surface.
3240 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3241 Fix variant-dependent pieces
3243 The code to select the actually used piece images from the available ones
3244 (from InitDrawingSizes) is now made into a subroutine, and also called
3245 after resizing the pieces.
3247 2012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3248 Replace marble texture pixmaps by png
3251 2012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3252 Replace xiangqi board pixmaps by png images
3255 2012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3256 Remove the texture pixmaps from project
3258 These were already replaced by png textures.
3260 2012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3261 Fix re-rendering of svg on resize
3263 The previously prepared bitmaps were retained if we resized, rather then
3264 rendering the svg atthe new size.
3266 2012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>:
3270 2012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>:
3271 new version number for developer release
3274 2012-10-21 11:10:36 -0700 Arun Persaud <arun@nubati.net>:
3275 we still need a few bitmaps, so the directory needs to be included in Makefile.am
3277 make distcheck complained about this
3279 2012-10-21 15:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3280 Rename svg shogi pieces, so they become usable
3282 Only white pieces are present. For black they would have to be flipped.
3284 2012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3285 Fix bug in resizing on variant switch
3287 The fix of the garbage pixels had unfortunately broken this.
3289 2012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3290 Fix bug in fallback mechanism
3292 After failure to load a piece from a specified -pieceImageDirectory
3293 the default theme was not tried, because the cairo function to load
3294 from a pgn file returns a valid handle even if the file does not exist.
3296 2012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3297 Get svg error message
3300 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3301 Fix variant-dependent pieces
3303 The code to select the actually used piece images from the available ones
3304 (from InitDrawingSizes) is now made into a subroutine, and also called
3305 after resizing the pieces.
3307 2012-10-16 12:08:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3308 Remove caveat on available pieces fromNew Variant dialog
3310 In the cairo version all pieces are available at all board sizes.
3312 2012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3313 Remove some unused images from png directory
3315 Currently only the three board texture files are used. But the piece
3316 images are still left, because they might be useful if we ever want
3317 to mae XBoard configurable for not using librsvg.
3319 2012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3322 The nominal size of the window was not set in the correct Option struct.
3324 2012-10-21 09:58:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3325 Prevent odd-width line shift in length direction
3328 2012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3329 Print missing-pieces error message to console
3331 The GUI might not yet be up at this point.In addition, suppress
3332 the rest of the code, because it could give segfaults.
3334 2012-10-21 09:30:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3335 Fix garbage pixels on the right of the board
3337 The extra pixel that is requested in sizing the board window back to
3338 an available size because we ofte get one less pixel than we ask for
3339 can lead to a line of garbage pixels next to the board. This is combatted
3340 by limiting expose events to the true board area, remembering that in the
3341 Graph Option rather than the actual window size, and suppressing resizing
3342 when the latter only exceeds the stored width by more than 1 pixel.
3344 2012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3345 Trim board-window size
3347 The board window will sometimes be a pixel larger than requested.
3348 The ReSize routine will now reset the size values in the Graph Option
3349 to what they were supposed to be, to prevent expose events will
3350 draw nonsense in the extra space.
3352 2012-10-13 23:26:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3353 Adapt docs for svg/png in stead of bitmap/pixmap
3356 2012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3357 Spontaeous changes in gettext stuff
3360 2012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3361 Move Shogi svg pieces to own directory
3364 2012-10-13 07:57:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3365 Remove unnecessary Xt colors and call to MakeColors
3368 2012-10-13 07:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3369 Code cleanup: move expose redraw to draw.c
3372 2012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3373 Suppress warning for InitDrawingHandle
3376 2012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3377 Make fallbackPieceImageDirectory hardcoded
3380 2012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3381 Increase drag delay too 200 msec
3383 On my slow laptop it can take more than 100 msec to reallocate bitmaps
3384 in the generic expose, with as a consequence that the DelayedDrag event
3385 is not processed before the timeout expires. The timeout event then triggers
3386 a redraw, which again takes so long that the timeout expires before the
3387 event to reset the timer could be processed, and this just perpetuates
3388 itself, leading to a large series of queued redraws, and a long waiting time
3389 for an image to appear after the sizing stops.
3391 2012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3392 Fix segfault on faulty command-line option
3395 2012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3396 Suppress anti-aliasing in -monoMode
3398 In the color-substitution code, always use bi-level alpha and color.
3400 2012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3401 Remove piece pixmaps from project
3404 2012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3405 Implement proper fallback cascade
3407 Try in order cached svg, cached bitmap, user png, user svg, default svg.
3409 2012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3413 2012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3414 Install svg pieces in themes/default
3416 The svg pieces are installed with the XBoard data in the directory
3417 .../xboard/themes/default . A new option -fallbackPieceImageDirectory
3418 is added, and is configured in the master settings file to point to
3419 these pieces. This options, which replaces -svgDirectory, is volatile,
3420 and the menu control to set it is removed. The -pngDirectory option
3421 is renamed to -pieceImageDirectory (-pid).
3423 2012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3424 Remove bitmaps from project
3427 2012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3428 Install the wood textures as png
3430 The xboard.conf has to be edited to set these as default textures,
3431 in stead of the .xpm files.
3433 2012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3434 Add hatched board texture
3436 A png file with hatching is added, so it can be used for dark squares
3437 in a monochrome theme. It is installed in a new data directory
3438 .../xboard/themes/textures.
3440 2012-10-11 22:21:06 -0700 Arun Persaud <arun@nubati.net>:
3441 added a black and white theme to replace the mono option
3444 2012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>:
3445 added SVGs to dist files in automake
3448 2012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3449 Fix exposure of atomic captures
3451 The grid lines had to be repaired too, so damage marker 2 had to be used.
3453 2012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3454 Fix animation with textures off
3456 The blank square was not shifted to (0,0) when drawing the animation buffer.
3458 2012-10-11 19:08:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3459 Fix 1-pixel offset of grid lines on some cairo implementations
3462 2012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3463 Solve odd lineGap problem
3465 Not all cairo versions seem to round the same when an odd-width line
3466 is to be drawn at integer coordinates. So now we explicitly ask it
3467 to be drawn centered on half-odd-integer coordinates.
3469 2012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3470 Add -trueColors option
3473 2012-10-09 14:56:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3474 Always render svg pieces anew on size change
3476 The svg pieces are now unconditionally rendered to supply the pngPieceImage
3477 master source otherwise read from png file. This is then fed into the
3478 original png code (so that if for some reason it fails, we fall back on png
3479 pieces, and finally on built-in pixmaps).
3481 2012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Fix rsvg version in configure.ac
3485 2012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>:
3486 initial svg rendering
3489 2012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>:
3490 added cairo and librsvg to configure process
3493 2012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>:
3496 converted from inkscape SVG to plain SVG before adding
3498 2012-10-10 21:19:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3499 Adapt Eval Graph code to new drawing system
3501 The eval graph now triggers an expose after drawing, and gets its size
3502 from the Option fields.
3504 2012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3505 Fix expose requests seek graph
3508 2012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3509 Make draw handle for board globally available
3512 2012-10-10 19:45:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3513 Let expose requests pay proper attenton to widget
3515 So far, expose requests were always assumed to be for the board widget,
3516 preventing display of the labels.
3518 2012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3519 Fix initial display of logos
3521 The logos were selected and printed during the initialization,
3522 before the main event loop was started. So the expose events during
3523 widget creation, which created the drawing surfaces, were only processed
3524 after the initial drawing of logos, so that there was nothing to draw on!
3526 2012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3527 Fix alignment of highlight expose
3530 2012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3534 2012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3535 Make expose handler generic
3537 The Graph Option now returns two handles in hitherto unused fields of its
3538 Option struct: Option.choice is a cairo handle of a memory buffer the user
3539 must draw to, while Option.textValue is the handle to the widget.
3540 Expose events copy the memory buffer to the display for the exposed area.
3541 A routine DrawExpose() is supplied to let the user generate expose events.
3543 2012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3544 Reload piece images when pngDirectory is changed
3546 The OK function of the board options dialog now tests for a change
3547 in pngDirectory and passes a parameter to InitDrawingParams to tell
3548 it to destroy the old images. This cause a reload on scaling the pieces.
3550 2012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3551 Suppress redraw during sizing
3554 2012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3555 Fix bug in resize trigger
3557 Even if the square size does not change, the window has to be shrunk
3558 back to fit the board.
3560 2012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3561 Make Piececolor options work on png pieces
3563 The scaled, antialiased bitmaps are now colored according to the option
3564 settings. This is done by decomposing every pixel in a white, black and
3565 transparency component, which is possible because the opacity is
3566 directly give in the alpha channel, and black originally was a hard zero.
3567 So what you se in the red channel must be white (as the original white
3568 was #FFFFCC), and the rest of the opacity must be due to black.
3569 The color to be replaced (white for the white pieces, black for the black
3570 pieces) is then replaced by the original weight of this color times the
3571 color from the option.
3573 2012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3574 Plug resource leak on rezising with pixmaps
3577 2012-10-06 16:19:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3578 Fall back on built-in pixmaps if png pieces unreadable
3581 2012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3582 Do coordinate text alignment with cairo
3585 2012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3589 2012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3590 Clean up drawing code
3592 Now all routines only draw through cairo, the destination surface can
3593 be passed to them, making it possible to do the duplicate drawing
3594 to the memory board image in a cleaner way.
3596 2012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3597 Check in draw.c, draw.h
3600 2012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3601 Remove all bitmap & pixmap drawing
3603 All Xt code for drawing the board is now removed, as are the
3604 -pixmapDirectory and -bitmapdirectory option. This version is now
3605 completely dependent on cairo for handling of all graphics anywhere.
3606 (The build-in pixmaps are still left, though, for later use as an
3607 alterative cairo source when no png files are found.)
3609 2012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3610 Separate off drawing routines from xboard.c
3612 A new source file draw.c is created to hold all code associated with
3613 board drawing. The routines for loading bitmaps and creating colors
3614 were left in xboard.c, though, as they are also used for handling
3615 icons and colors of widgets.
3617 2012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3618 Fix erasing dots in seek graph
3620 The cairo dots were just a little bit bigger than the old ones, so they
3621 were not properly erased, but left a remnant.
3623 2012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3624 Cleanup CairoOverlayPiece
3627 2012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3628 Draw arrow also on backup image
3631 2012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3632 Fix highlight clearing
3635 2012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3636 Remove acceleration trick
3639 2012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3640 Implement variant-dependent png piece symbols
3643 2012-10-05 18:42:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3644 Fix clearing of markers dots with promo popup
3647 2012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3648 Also render coordinates to backup board
3651 2012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3655 2012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3656 Let cairo also do evenly colored squares.
3659 2012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3660 Make dragged piece for excluding moves transparent
3663 2012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3667 2012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3668 Redo coordinate / piece-count printing ith cairo
3671 2012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3672 Also use cairo on slave board
3674 With dual-board observing the drawing should be redirected to the
3675 slave board, so SwitchWindow should also switch the xlib-surface to
3676 one for the slave window.
3678 2012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3679 Cure flashing of piece on from-square
3681 In a drag-drop move the piece was flashed on the from square after the
3682 user dropped it on the to-square, because highlights were set before the
3683 move had updated the board. And highlighting with arrow can cause a redraw
3684 of the last board. Same with setting or clearing marker dots.
3686 2012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3687 Specify proper condition for using cairo animation
3690 2012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3691 Allow resizing of board window
3693 In full png mode the size of the board window is no longer locked.
3694 After resizing, the square size is calculated as the largest one that
3695 would fit the window, and the window is then shrunk around it. To prevent
3696 excessive redrawing during sizing, the redraw is delayed by putting it
3699 2012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3700 Switch to using 64x64 png images
3702 The bitmap scaling works better when the needed factors are not too large,
3703 as the svg rendering's anti-aliasing did not blur more than 1 pixel.
3704 So after shrinking too much the images are not effectively anti-aliased
3707 2012-10-05 10:16:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3708 Maintain in-memory copy of the board image
3710 As reading back from the xlib-surface proves incredibly slow (cairo probably
3711 converts the entire image from Xt format to cairo format when we set it
3712 as a source, even though we only want to read a few dozen pixels), we now
3713 keep an exact copy of the board image as a cairo bitmap in memory. This
3714 restores the speed of the animation, but unfortunately leads to awful code.
3716 2012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3717 Do animation with cairo
3719 Unfortunately this is incredibly slow.