updated ChangeLog, DIFFSTAT and SHORTLOG
[xboard.git] / ChangeLog
1 ChangeLog for XBoard/WinBoard
2 -----------------------------
3
4 (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
5
6 2014-10-17 21:17:56 -0700 Arun Persaud <arun@nubati.net>:
7 updated NEWS
8
9
10 2014-10-17 21:17:28 -0700 Arun Persaud <arun@nubati.net>:
11 forget a few __APPLE__ ifdefs; changed to OSXAPP
12
13
14 2014-10-17 00:01:44 -0700 Arun Persaud <arun@nubati.net>:
15 fix typo and prefix
16
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
19
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
22
23
24 2014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
25 Fix loading of engine-defined PGN games
26
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
33 piece).
34
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
37
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.
42
43 2014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
44 Fix some uninitialized variable bugs
45
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.
49
50 2014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
51 Update Game List after tag selection changed
52
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.
55
56 2014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
57 Always accept piece commands in variant great
58
59 Great Shatranj belongs to the variants XBoard does not know the rules of,
60 and should thus always accept engine piece commands.
61
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
64
65
66 2014-10-15 21:23:26 -0700 Arun Persaud <arun@nubati.net>:
67 updated Changelog, DIFFSTAT, and SHORTLOG
68
69 2014-10-15 21:06:36 -0700 Arun Persaud <arun@nubati.net>:
70 fix osxapp enable option in configure.ac
71
72
73 2014-10-15 21:06:00 -0700 Arun Persaud <arun@nubati.net>:
74 remove experimental from gtk build option
75
76
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
79
80
81 2014-10-15 20:57:28 -0700 Arun Persaud <arun@nubati.net>:
82 update NEWS file
83
84
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
87
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.
92
93 2014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
94 Implement displaying of variant tag in Game List
95
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.
101
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
104
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
107 tags specification.
108
109 2014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
110 Reset move entry on Clear Board
111
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.
115
116 2014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
117 Split Tournament dialog in side-by-side panes
118
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.
123
124 2014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
125 Remember position obtained from setup
126
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.
130
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
133
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.
137
138 2014-10-12 10:09:51 -0700 Arun Persaud <arun@nubati.net>:
139 replaced hardcoded pngdir with built-in ~~
140
141 don't need to create xboard.conf from xboard.conf.in anymore
142
143 2014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
144 Some improvement on new Shogi SVG pieces
145
146
147 2014-10-11 10:55:41 -0700 Arun Persaud <arun@nubati.net>:
148 updated spanish, ukranian, and dutch translation
149
150
151 2014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
152 Fix logos Xaw
153
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
156 the Xaw version.
157
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
160
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.
163
164 2014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
165 Fix ICS logo display
166
167
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
170
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.)
175
176 2014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
177 Increase number of engine-defined-variants Buttons XB
178
179 An third column is added to the New Variant dialog when necessary.
180
181 2014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
182 Force GTK logo size to quarter board width
183
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.
186
187 2014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
188 Replace default Shogi pieces
189
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.
192
193 2014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
194 Implement new logo standard
195
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/...
199
200 2014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
201 Relocate OS X' LOCALEDIR
202
203
204 2014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
205 Fix check test with multi-leg moves
206
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.
213
214 2014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
215 Fix infinite loop in cylinder moves
216
217
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
220
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.
227
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
230
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.
234
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
237
238
239 2014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
240 Switch to new Betza orth-diag conversion standard
241
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
245 direction-set.
246
247 2014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
248 Implement Betza t modifier for hop-own
249
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.
252
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
255
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.
261
262 2014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
263 Implement Betza y modifier
264
265 The non-standard modifier 'y' is the spontaneous counterpart of 'g',
266 changing the range of the atom, and upgrading its directionality.
267
268 2014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
269 Implement Betza g modifier for non-final legs
270
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.
279
280 2014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
281 Implement Betza a modifier
282
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
285 two legs.
286
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
289
290
291 2014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
292 Always accept piece commands for Falcon and Cobra
293
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.
298
299 2014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
300 Fix pieceToCharTable of Falcon Chess
301
302 This variant was using the Falcon piece, but defining ID F for the
303 unused Lance instead.
304
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
307
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.
312
313 2014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
314 Reset move entry on stepping through game
315
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.
326
327 2014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
328 Fix engine-defined variant as startup
329
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.
333
334 2014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
335 Fix clipping of board GTK
336
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.
340
341 2014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
342 Fix writing of Seirawan960 virginity in FEN
343
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.
347
348 2014-09-29 21:07:17 -0700 Arun Persaud <arun@nubati.net>:
349 update po/pot files
350
351
352 2014-09-29 21:00:42 -0700 Arun Persaud <arun@nubati.net>:
353 new version number for release 4.8.0
354
355
356 2014-09-13 14:33:37 -0700 Arun Persaud <arun@nubati.net>:
357 fixed whitespace error in configure.ac for os x
358
359
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
362
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.
368
369 2014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
370 Configure XBoard for -size 49 in master settings
371
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.
376
377 2014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
378 Implement ff etc. in Betza parser
379
380 Dupliacated directional modifiers can be needed with oblique moves
381 to unambiguously specify a direction set, e.g. ffrrN.
382
383 2014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
384 Rename PGN Pieces tag to VariantMen
385
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.
390
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)
393
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.
398
399 2014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
400 Prevent board-size oscillations
401
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.
408
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
411
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!)
420
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
423
424 The FxR internal representation was taken a bit too seriously!
425
426 2014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
427 Fix abort of machine game on variant mismatch
428
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
432 mode.
433
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
436
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.
440
441 2014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
442 Print PGN Piece tag listing engine-defined pieces
443
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.
447
448 2014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
449 Always accept piece commands in partly supported variants
450
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.
456
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
459
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).
465
466 2014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
467 Reparse ambiguous move under built-in rules
468
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.
474
475 2014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
476 Prevent multi-path moves from parsing as ambiguous
477
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.
483
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
486
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.
495
496 2014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
497 Implement Betza o modifier for cylinder boards
498
499
500 2014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
501 Improve virginity test for engine-defined pieces
502
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!).
510
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
513
514
515 2014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
516 Repair piece defs with showTargetSquares off
517
518 The proxy legality checking based on marking of target square was
519 rejecting all moves when target squares were not highlighted.
520
521 2014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
522 Allow definition of castling in piece command
523
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.
530
531 2014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
532 Update description of piece command in protocol specs
533
534
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
537
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.
550
551 2014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
552 Retune -stickyWindows GTK
553
554 This still does not work well, and in particular windows refuse to stick
555 to the top of the board window.
556
557 2014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
558 Fix detection of screen size GTK
559
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
562 on a cold start.
563
564 2014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
565 Configure a size for the Eval Graph
566
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.
569
570 2014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
571 Prevent crash on specifying non-existent texture XB
572
573 By setting the texture width to 0 when the texture could not be loaded,
574 XBoard will never attempt to draw it.
575
576 2014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
577 Configure some themes in XBoard master settings
578
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.
581
582 2014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
583 Remove debug printf
584
585
586 2014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
587 Control Eval Graph with mouse
588
589 Let mousewheel control evalZoom, and right-click toggle between
590 normal view and differential view ('blunder graph').
591
592 2014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
593 Add extra font field to Option struct
594
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.
599
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
602
603
604 2014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
605 Sort fail lows and fail highs below others
606
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.
609
610 2014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
611 Describe the new texture conventions in manual
612
613 The exact rules for how textures are scaled in response to their
614 filename is described in the manual.
615
616 2014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
617 Force exactly overlayed texture scaling through filename
618
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.
631
632 2014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
633 Allow two Pawns per file in Tori Shogi
634
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.
637
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
640
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.
649
650 2014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
651 Fix texture scaling
652
653
654 2014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
655 Implement engine-defined pieces
656
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.)
668
669 2014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
670 Scale texture bitmaps that are not large enough
671
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
676 size changes.
677
678 2014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
679 Ignore color arguments not starting with #
680
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.
684
685 2014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
686 Implement -autoInstall option
687
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.
694
695 2014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
696 Fix typo
697
698
699 2014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
700 Make inlined functions static
701
702 Clang apparently chokes on non-static inline functions,
703 and they were not used from other files anyway.
704
705 2014-09-09 20:29:15 -0700 Arun Persaud <arun@nubati.net>:
706 updated spanish translation, added new polish translation
707
708
709 2014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
710 Look for logo in engine dir first (GTK)
711
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).
716
717 2014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
718 Fix checkmarking of OS X menu items
719
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().
723
724 2014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
725 Fix crash of tournament dialog GTK
726
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.
730
731 2014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
732 Let OS X display dock icon
733
734
735 2014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
736 Fix Xaw button color error
737
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.
740
741 2014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
742 Make SVGDIR a variable
743
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).
752
753 2014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
754 Fix warning in dead code Show
755
756
757 2014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
758 Reorder variants, to comply with Polyglot book specs
759
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).
765
766 2014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
767 Reserve piece command in protocol specs
768
769
770 2014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
771 suppress Alien Edition standard variants
772
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.
777
778 2014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
779 Fix SetWidgetFont GTK
780
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.
783
784 2014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
785 Update protocol specs
786
787
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
790
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
798 specify a color.
799
800 2014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
801 Fix GTK fonts
802
803
804 2014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
805 Use coordFont default pixel size for other fonts
806
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.
810
811 2014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
812 Use -gameListFont in Game List
813
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
816 adjustable font.
817
818 2014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
819 Fix Chat window for Xaw build
820
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
824 accessing it.
825
826 2014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
827 Fix infinite-regression problem on OS X
828
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.
832
833 2014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
834 Correct for .Xresources form->paneA renaming in manual
835
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).
839
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
842
843
844 2014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
845 Include some conditional OS X fixes
846
847 DATADIR must be corrected to ~~ in the OS X app, and the info command
848 must be started in a different way.
849
850 2014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
851 Fix WB DoEvents error
852
853
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
856
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.
860
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
863
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?)
869
870 2014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
871 Fix key bindings for non-menu functions
872
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.
878
879 2014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
880 Fix Xaw key bindings
881
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.
887
888 2014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
889 Define default font names
890
891
892 2014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
893 Fix MSVC problems
894
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.
898
899 2014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
900 Fix GTK font patch
901
902
903 2014-09-07 23:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
904 Replace strcasecmp by StrCaseCmp
905
906 The MicroSoft compiler does not know strcasecmp, so we better use
907 our own function for this everywhere.
908
909 2014-09-07 23:28:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
910 Let GTK build pay attention to font arguments
911
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.
918
919 2014-09-07 13:58:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
920 Fix auto-display comment option in General Options
921
922 This options had the same ID as auto-Queen, making it ignored.
923
924 2014-09-07 13:43:48 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
925 Call DoEvents during time-consuming operations
926
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
932 progress.
933
934 2014-09-07 13:32:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
935 Fix GameListHighlight WB
936
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
941 a trial size.
942
943 2014-09-07 12:10:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
944 Provide DoEvents function in front-ends
945
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.
950
951 2014-09-06 23:13:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
952 Fix syntax error in bitbase code
953
954
955 2014-09-06 22:35:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
956 Describe Save Selected Games menu in manual
957
958
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
961
962 The book-creation code now only takes games into account that are
963 selected for display in the Game List.
964
965 2014-09-06 22:20:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
966 Rewrite key-binding section of manual
967
968 This section still wrongly described the key-binding procedure from
969 before the rewrite of the XBoard front-end.
970
971 2014-09-06 13:21:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
972 Connect scroll event to Graph Option in GTK
973
974 The mouse wheel is now detected in graphics widgets, and passed to
975 the user handler as button 4/5 mouse events.
976
977 2014-09-06 13:15:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
978 Make sure node count is positive
979
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.
984
985 2014-09-05 14:03:49 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
986 Connect mousewheel to Forward/BackwardEvent (XB)
987
988 The mouse buttons 4 and 5 are now processed in the handler for the
989 board widget.
990
991 2014-09-05 13:41:34 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
992 Fix size of time in Engine Output window
993
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.)
998
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
1001
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.
1007
1008 2014-09-04 17:03:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1009 Fix alignment in Engine Output window
1010
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
1014 at least 1%.
1015
1016 2014-09-01 14:44:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1017 Add Save Selected Games menu item
1018
1019 A menu item to save all selected games in the Game List on a single
1020 file is added.
1021
1022 2014-09-01 12:03:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1023 Add final piece count to search criteria
1024
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.
1028
1029 2014-08-29 21:15:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1030 Fix castling rights on using -lgf
1031
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.
1036
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
1039
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.
1044
1045 2014-07-02 14:34:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1046 Fix typing of null moves
1047
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.
1053
1054 2014-07-02 14:04:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1055 Fix adjusting clocks in Xaw version
1056
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.)
1062
1063 2014-07-02 12:37:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1064 Fix null-move entry during play
1065
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.
1071
1072 2014-04-09 09:53:56 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1073 Let EditPosition double-click on piece promote it
1074
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.
1079
1080 2014-04-09 09:19:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1081 Make EditPosition pallette work in Asian variants
1082
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.
1086
1087 2014-04-05 23:00:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
1088 Fix crash on opening Tags window Xaw
1089
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.
1093
1094 2014-04-05 20:39:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1095 Fix writing of Chu-Shogi FENs
1096
1097 Promoted pieces were getting the wrong ID letter, of the piece demoted
1098 by 11, rather than 22.
1099
1100 2014-04-01 18:20:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1101 Allow pseudo-engines to adjust the clocks
1102
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).
1107
1108 2014-04-01 12:00:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1109 Fix piece inscriptions
1110
1111
1112 2014-04-01 11:16:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1113 Fix reading Chu Shogi FENs
1114
1115 The X (for Phoenix) was interpreted a 10 empty squares.
1116
1117 2014-03-17 23:26:08 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1118 Fix loading positions in engine-defined variant
1119
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.
1127
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
1130
1131
1132 2014-03-17 22:56:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1133 Allow writing text on pieces
1134
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
1140 has to be given.
1141
1142 2014-03-12 22:08:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1143 Fix initial sizing of board
1144
1145 Previous patches had destroyed the ability to obey the -size option.
1146
1147 2014-03-10 21:15:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1148 Fix width of menu bar
1149
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.
1154
1155 2014-03-09 20:38:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1156 Fix warnings fonts patch
1157
1158
1159 2014-03-02 23:10:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1160 Implement (clock-)font handling in GTK
1161
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
1169 writing.
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
1173 it.
1174  Sizes smaller than 49 were dominated (for 8-wide boards) by the menu bar.
1175 Therefore tinyLayout now uses single-letter menu labels.
1176
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
1179
1180
1181 2014-03-02 18:53:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1182 Fix error Engine Output text highlighting
1183
1184 In wengineoutput.c higeTextStart and End where decalred both static and
1185 extern, which somecompilers justifiably don't like.
1186
1187 2014-03-01 16:09:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1188 Fix Board-dialog bug WB
1189
1190 The drawing code for the sample square did ot restore the correct brush.
1191
1192 2014-02-28 21:48:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1193 Fix various warnings
1194
1195 Mostly written but never read errors. Also removed a debug printf that was
1196 causing a format warning.
1197
1198 2014-02-26 16:34:52 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1199 Kludge repair of expose after startup resize
1200
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.
1211
1212 2014-02-26 13:08:50 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1213 Use first engine as default for second
1214
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.
1219
1220 2014-02-23 23:51:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1221 Allow adding played move to book
1222
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.
1226
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
1229
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.
1232
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
1235
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.
1238
1239 2014-02-21 11:10:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1240 Preserve window width on board-format change
1241
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.
1245
1246 2014-02-18 22:37:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1247 Equip Board Options dialog with themes listbox
1248
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
1254 -themeNames list.
1255
1256 2014-02-07 11:22:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1257 Implement copy function in ICS Text Menu
1258
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
1262 right-clicked word.
1263
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
1266
1267 In case the user started without a terminal, we just close the input source,
1268 and suppress future writing to the xterm.
1269
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
1272
1273
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
1276
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'.
1282
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
1285
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.
1289
1290 2014-03-02 13:18:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1291 Fix Xaw Chat Console
1292
1293
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
1296
1297
1298 2014-02-05 22:15:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1299 Add End Chat button
1300
1301 This button clears the current chat, so that it becomes free for
1302 assignement to another partner.
1303
1304 2014-02-05 21:59:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1305 Ctrl-N in chat opens empty chat
1306
1307 This key isequivalent to pressing the left-most New Chat button.
1308 If no unused chat present, it the command will be ignored.
1309
1310 2014-02-05 21:29:42 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1311 Preserve unfinished input lines during chat switch
1312
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.
1316
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
1319
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.
1323
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
1326
1327
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
1330
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
1335 the clicked word.
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
1347 erased again!
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.
1351
1352 2014-02-02 21:17:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1353 Integrate ICS output into Chat Window
1354
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).
1380
1381 2014-02-02 17:27:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1382 Add logo-size control XBoard
1383
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.
1387
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
1390
1391 In OS X the settings file is hard to find...
1392
1393 2014-02-02 16:41:13 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1394 Fix warnings
1395
1396 Some unread variables are commented out, rather than removed, because they
1397 can be useful for future development.
1398
1399 2014-02-02 16:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1400 Fix moves of Spartan Captain
1401
1402 The rewrite of the move generator did no longer pay attention to rookRange,
1403 so that the Spartan Captain moved like a Rook.
1404
1405 2014-02-02 16:18:07 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1406 Add Option type 'Skip'
1407
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
1410 to the enum.
1411
1412 2014-02-02 14:40:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1413 Detect Fischer castling in FENs
1414
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).
1418
1419 2014-02-02 14:09:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1420 Allow shuffling indicators in FEN
1421
1422 If the back ranks are enclosed by < > in a FEN, the route to shuffle
1423 initial positions is invoked on it.
1424
1425 2014-02-02 13:51:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1426 Allow wild-cards in FEN
1427
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.
1432
1433 2014-02-02 10:40:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1434 Fix Seirawan reverse-castling animation
1435
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.)
1448
1449 2014-02-02 10:22:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1450 Make Fischer castling generally available
1451
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.
1460
1461 2014-01-19 22:41:52 -0800 Arun Persaud <arun@nubati.net>:
1462 updated po/pot files
1463
1464
1465 2014-01-19 22:19:10 -0800 Arun Persaud <arun@nubati.net>:
1466 new version number for developer release
1467
1468
1469 2014-01-19 22:15:33 -0800 Arun Persaud <arun@nubati.net>:
1470 updated Dutch translation
1471
1472
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
1475
1476 This is yet another duplicate of the one in General Options and Adjudiactions.
1477
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
1480
1481 This can be used in OS X to biggy-back a cd to a directory in the App
1482 on the open command.
1483
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
1486
1487 Checkboxes are added for -variations, -memoHeaders and -autoExtend.
1488
1489 2014-01-18 23:26:03 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1490 Fix warning in CheckTest
1491
1492
1493 2014-01-18 22:40:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1494 Fix printing of engine-output headers
1495
1496 They were not printed on analyis of the first position after opening
1497 the Engine Output window.
1498
1499 2014-01-16 23:07:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1500 Fix sticky windows on Win8
1501
1502
1503 2014-01-16 22:54:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1504 Drag touching edges together (WB)
1505
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
1509 window.
1510
1511 2014-01-15 22:35:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1512 Implement new mate-score standard
1513
1514 Matescores are now indicated in the protocol as +/- 100000+DTM,
1515 and in the Engine Output window as #DTM or #-DTM.
1516
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
1519
1520
1521 2014-01-15 20:43:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1522 switch to new tbhits protocol
1523
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.
1527
1528 2014-01-14 22:37:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1529 Fix sorting of Engine Output
1530
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.
1533
1534 2014-01-14 22:35:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1535 Handle fali-low & fail high
1536
1537 A ? or ! at the end of the PV are now also written behind the score.
1538
1539 2014-01-14 20:31:46 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1540 Implement extended thinking output
1541
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.
1546
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
1549
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.
1556
1557 2014-01-14 09:55:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1558 Fix ManProc for OS X
1559
1560
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
1563
1564 In OS X DATADIR is a variable.
1565
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
1568
1569 To do GenericReadout without triggering a call to the OK function,
1570 we introduced a new value for the option-number parameter, -2.
1571
1572 2014-01-13 17:32:28 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1573 Fix Tournament Options dialog
1574
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.
1579
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
1582
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).
1590
1591 2014-01-13 16:21:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1592 Add --show-config special option
1593
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.
1598
1599 2014-01-13 14:25:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1600 Overhaul kill code
1601
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.
1610
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
1613
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.
1618
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
1621
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().
1625
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
1628
1629 2014-01-05 12:52:46 -0800 Arun Persaud <arun@nubati.net>:
1630 updated po/pot files
1631
1632
1633 2014-01-05 12:51:50 -0800 Arun Persaud <arun@nubati.net>:
1634 new version number for release 4.7.3
1635
1636
1637 2014-01-05 10:58:48 -0800 Arun Persaud <arun@nubati.net>:
1638 updated copyright to 2014 in menu.c
1639
1640
1641 2014-01-05 10:37:56 -0800 Arun Persaud <arun@nubati.net>:
1642 removed .DS_Store file from git
1643
1644
1645 2014-01-05 10:34:08 -0800 Arun Persaud <arun@nubati.net>:
1646 Updated copyright notice to 2014
1647
1648
1649 2014-01-05 10:27:53 -0800 Arun Persaud <arun@nubati.net>:
1650 cleanup some trailing whitespaces
1651
1652
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
1655
1656 The code to set a filter did not expect multiple extensions, and would
1657 cause a buffer overrun when there were.
1658
1659 2013-12-27 20:12:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1660 Make building of Windows .hlp file optional
1661
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.
1664
1665 2014-01-05 11:47:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1666 Use __APPLE__ compile switch for OS X
1667
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
1672 were working.)
1673
1674 2014-01-04 12:18:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1675 Expand ~~/ to bundle path (OSX)
1676
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.
1680
1681 2013-12-29 23:27:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1682 Activate ManProc in GTK
1683
1684
1685 2013-12-29 22:14:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1686 Remove use of strndup
1687
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.
1691
1692 2013-12-29 22:09:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1693 Put some OSX code into gtk version
1694
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.
1700
1701 2013-12-27 21:47:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1702 Cure weirdness when dragging outside of board
1703
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.
1709
1710 2013-12-09 14:52:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1711 Fix sorting of lines in Engine Output
1712
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.
1717
1718 2013-12-05 20:08:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1719 Make filler variant button inactive
1720
1721
1722 2013-12-05 17:50:21 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1723 Fix packing of FRC castlings
1724
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
1727 and CRC.
1728
1729 2013-12-05 16:23:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1730 Fix Xaw file-browser New Directory
1731
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.
1735
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
1738
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.
1742
1743 2013-12-05 15:47:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1744 Remove width limiting of shuffle checkbox
1745
1746
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
1749
1750
1751 2013-09-16 22:32:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1752 Repair FRC A-side castling legality testing
1753
1754 XBoard allowed A-side castling when a rook started on the a-file,
1755 and the b-file was blocked.
1756
1757 2013-09-16 22:27:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1758 Repair XBoard from node-count patch
1759
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
1763 first).
1764
1765 2013-09-15 20:13:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1766 WinBoard multi-monitor support
1767
1768 A patch provided by Tim Kosse
1769
1770 2013-09-15 19:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1771 Fix node count range
1772
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.
1776
1777 2013-09-15 19:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1778 Fix adjudication of Giveaway stalemates
1779
1780 The case where the side-to-move would win by stalemate was not treated
1781 in the Adjudicate switch.
1782
1783 2013-08-30 17:33:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1784 Fix buffer overflow in parser
1785
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.
1791
1792 2013-08-27 22:55:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1793 Fix -zippyVariants option
1794
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().
1798
1799 2013-08-26 18:25:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1800 Fix initial board sizing WB
1801
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
1811 will take effect.
1812   Board size petite should not be forbidden for Shogi; all pieces exist there.
1813
1814 2013-08-26 14:40:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1815 Fix grabbing of selected piece
1816
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.)
1823
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)
1826
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
1829 set on the control.
1830
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
1833
1834 For no real reason only NormalMove would be accepted when parsing the list
1835 of book moves.
1836
1837 2013-08-26 11:28:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1838 Fix GUI book after setup position
1839
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.
1844
1845 2013-07-05 18:32:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1846 Fix book creation
1847
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.
1850
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
1853
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.
1858
1859 2013-05-05 08:03:00 -0700 Arun Persaud <arun@nubati.net>:
1860 updated po files for new release (make distcheck)
1861
1862
1863 2013-05-05 07:57:22 -0700 Arun Persaud <arun@nubati.net>:
1864 new version number for release 4.7.1
1865
1866
1867 2013-05-05 07:53:54 -0700 Arun Persaud <arun@nubati.net>:
1868 updated Changelog, NEWS, etc.
1869
1870
1871 2013-05-02 22:47:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1872 Update zippy.README
1873
1874 It is explained how to generate multi-line commands for -zipyGameEnd.
1875
1876 2013-04-01 20:43:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
1877 Fix Xaw file browser
1878
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.
1887
1888 2013-03-22 19:23:25 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1889 Make Chat Box window obey -topLevel option
1890
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.
1893
1894 2013-03-19 13:20:24 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1895 Fix scrolling of Chat Box
1896
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
1899 adding a text_mark.
1900
1901 2013-03-17 10:33:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1902 Fix GTK SetInsertPos
1903
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
1911 existing text.
1912
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
1915
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
1920 the comment.
1921
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
1924
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.
1927
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
1930
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.)
1939
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
1942
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.
1945
1946 2013-03-07 18:11:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1947 Provide compatibility with Alien Edition setup command
1948
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.
1954
1955 2013-03-07 17:52:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1956 Fix saving of analyzed game
1957
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.
1967
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
1970
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
1973 tested in stead.
1974
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
1977
1978
1979 2013-03-02 22:17:31 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1980 Fix GTK box popup
1981
1982 Key values > 255 are used for PgUp, PgDown etc., so to pop up only on
1983 printables needs a two-sided test.
1984
1985 2013-03-01 12:50:06 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
1986 Fix fatal error on unsupported board size
1987
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.
1995
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
1998
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.
2002
2003 2013-03-01 11:57:01 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2004 Fix buffer overflow in feature parsing
2005
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.
2013
2014 2013-02-27 23:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2015 Fix vertical sizing of GTK board
2016
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.
2020
2021 2013-02-26 21:13:32 -0800 Arun Persaud <arun@nubati.net>:
2022 Updated German translation
2023
2024
2025 2013-02-26 20:27:24 -0800 Arun Persaud <arun@nubati.net>:
2026 Updated Ukrainian translations
2027
2028
2029 2013-02-26 17:59:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2030 Fix of argument error
2031
2032 Oops. Pevious patch for skipping unknown multi-line arguments
2033 was still buggy.
2034
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
2037
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.
2041
2042 2013-02-26 17:27:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2043 Make skipping of unknown option smarter
2044
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.
2050
2051 2013-02-26 17:15:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2052 Add -backupSettingsFile option
2053
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.
2058
2059 2013-02-26 16:55:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2060 Repair WinBoard compile error
2061
2062 __GITVERSION was not defined in WinBoard, as it was only defined with a
2063 compiler flag by ./configure, which WinBoard does not use.
2064
2065 2013-02-26 16:47:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2066 Work-around for Xt selection bug
2067
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.
2071
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)
2074
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.
2079
2080 2013-02-24 09:09:54 -0800 Arun Persaud <arun@nubati.net>:
2081 updated po/pot files
2082
2083
2084 2013-02-24 09:04:48 -0800 Arun Persaud <arun@nubati.net>:
2085 new version number for developer release
2086
2087
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
2090
2091 The alignment still sucks, but not as much as before.
2092
2093 2013-02-20 19:26:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2094 Fix -topLevel option
2095
2096 This option was copletely ignored, after the refactorig.
2097
2098 2013-02-20 18:16:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2099 Fix testing for valid window placement Xaw
2100
2101
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
2104
2105
2106 2013-02-20 11:56:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2107 Fix sizing of slave board GTK
2108
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
2113 margins. (Awful...)
2114
2115 2013-02-20 10:08:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2116 Better handling of undefined window parameters
2117
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.
2124
2125 2013-02-19 19:14:49 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2126 Limit debug print to debug mode
2127
2128
2129 2013-02-19 19:14:00 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2130 Fix repositioning of GTK windows
2131
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).
2135
2136 2013-02-19 18:52:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2137 Remember window params of slave board
2138
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.
2141
2142 2013-02-19 17:48:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2143 Fix repairing of arrow damage
2144
2145 The '2' bit in damage[][] to indicate the arrow was erroneously cleared,
2146 rather than kept.
2147
2148 2013-02-18 19:55:20 -0800 Arun Persaud <arun@nubati.net>:
2149 fix OK-response in gtk dialogs, see c7f8df124
2150
2151 the fix in c7f8df124 needs to be applied to both of those if cases
2152
2153 2013-02-18 17:11:32 -0800 Arun Persaud <arun@nubati.net>:
2154 removed two more translations from debug output
2155
2156
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
2159
2160 defined text-domain as utf-8 solved this
2161
2162 2013-02-18 13:38:51 -0800 Arun Persaud <arun@nubati.net>:
2163 fixed gtk-warning
2164
2165
2166 2013-02-18 10:06:36 -0800 Arun Persaud <arun@nubati.net>:
2167 removed some translation calls for messages in the debug log
2168
2169
2170 2013-02-18 09:46:53 -0800 Arun Persaud <arun@nubati.net>:
2171 add keyboard shortcuts back into Xaw version
2172
2173
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
2176
2177
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
2180
2181
2182 2013-02-18 21:01:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2183 Fix title of top-level windows
2184
2185
2186 2013-02-18 18:51:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2187 Cure GTK warning in top-level windows
2188
2189 There is no OK button in top-level windows, so the 'response' signal is
2190 not defined, and should not be connected.
2191
2192 2013-02-18 18:33:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2193 Fix graying of Revert menu item
2194
2195 The new code was checkmarking it in stead of enabling it!
2196
2197 2013-02-18 11:38:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2198 Add -onlyOwnGames option
2199
2200 This suppresses auto-saving of ICS observed games.
2201
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
2204
2205 No chance it could be considered cheating there.
2206
2207 2013-02-18 10:48:53 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2208 Add new vertical pixel fudge
2209
2210 With the new GTK window type the board is 13 pixels too small.
2211
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
2214
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.
2226
2227 2013-02-18 10:25:40 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2228 Remove checkbox for 'Move Sound'
2229
2230 This function is better controlled from the Sounds dialog.
2231
2232 2013-02-18 09:59:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2233 Make switching between board windows absolute
2234
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.
2240
2241 2013-02-18 09:50:48 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2242 Warn about experimental nature of dual board
2243
2244 The message field, which for now is unused, now contains a warning message.
2245
2246 2013-02-17 10:49:21 -0800 Arun Persaud <arun@nubati.net>:
2247 add close buttons to gtk windows
2248
2249 use windows instead of dialogs for toplevel elements
2250
2251 2013-02-16 19:02:52 -0800 Arun Persaud <arun@nubati.net>:
2252 keyboard accelerators for both front ends.
2253
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.
2256
2257 TODO: add them again when creating X11 menu names
2258
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
2261
2262
2263 2013-02-14 17:27:27 -0800 Arun Persaud <arun@nubati.net>:
2264 add test for pkg-config
2265
2266 exit configure in case we can't find it.
2267
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
2270
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.
2280
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
2283
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
2287 this condition.
2288
2289 2013-02-10 13:40:10 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2290 Better fix of feature timeout
2291
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.
2300
2301 2013-02-08 16:24:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2302 Connect Ctrl key in WinBoard
2303
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!
2307
2308 2013-02-08 16:23:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2309 Fix Makefile for install of Xiangqi pieces
2310
2311
2312 2013-02-08 15:35:44 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2313 Add Xiangqi piece images to project
2314
2315 Let the images install in themes/xiangqi.
2316
2317 2013-02-08 15:14:43 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2318 Revive -flipBlack option
2319
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
2323 of the white ones.
2324
2325 2013-02-07 13:55:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2326 Remove empty-square SVG images from project
2327
2328
2329 2013-02-06 19:00:35 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2330 Add desktop stuff for .xop MIME type.
2331
2332 Icons and desktop file were missing, as was the automake code to package them.
2333
2334 2013-02-06 16:48:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2335 Update NEWS file
2336
2337
2338 2013-02-06 14:48:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2339 Add boolean -autoBox option
2340
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.
2344
2345 2013-02-06 10:56:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2346 Draw both coords in a1
2347
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.
2354
2355 2013-02-05 23:03:42 -0800 Arun Persaud <arun@nubati.net>:
2356 updated po files for new release (make distcheck)
2357
2358 2013-02-05 23:02:07 -0800 Arun Persaud <arun@nubati.net>:
2359 updated Changelog, NEWS, etc.
2360
2361 2013-02-05 22:52:42 -0800 Arun Persaud <arun@nubati.net>:
2362 new version number for release of 4.7.0
2363
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
2366
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.
2371
2372 2013-02-04 22:07:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2373 Put GTK warning in about-box
2374
2375
2376 2013-02-04 21:59:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2377 Fix warnings of build server
2378
2379
2380 2013-02-02 15:58:04 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2381 Fix GTK error auto-raising board
2382
2383 The variable mainwindow is not set in the gtk2 version. Unfortunately
2384 it is still used to determine default board size...
2385
2386 2013-02-01 19:42:12 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2387 Update Dutch WB translation
2388
2389
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
2392
2393
2394 2013-02-01 19:34:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2395 Assign shortcut char to WB menu item
2396
2397 The new Save games as Book item did not have a shortcut yet.
2398
2399 2013-02-01 19:31:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2400 Let WinBoard start in its installation folder
2401
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.
2405
2406 2013-02-01 19:29:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2407 Fix warning in WinBoard
2408
2409
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
2412
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.
2415
2416 2013-01-29 08:39:30 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2417 Fix library order
2418
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.
2423
2424 2013-01-28 17:38:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2425 Preserve PGN tags when loading engine
2426
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.
2431
2432 2013-01-28 17:23:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2433 Preserve mode on engine loading (sometimes)
2434
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.
2442
2443 2013-01-28 14:14:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2444 Catch unknown engine in tourney games
2445
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).
2454
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
2457
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.
2462
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
2465
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.
2469
2470 2013-01-25 09:55:56 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2471 Stalemate is a win in Shogi
2472
2473 In regular Shogi this never occurs, but in the mini variants it happens
2474 often enough.
2475
2476 2013-01-22 20:49:34 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2477 Fix engine timeout problem in match mode
2478
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.
2481
2482 2013-01-22 20:32:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2483 Enforce -popupMoveErrors
2484
2485 One move error was using DisplayError(), in stead of DisplayMoveError(),
2486 and thus did not obey the -popupMoveErrors option.
2487
2488 2013-01-21 15:30:29 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2489 Update texi file
2490
2491
2492 2013-01-21 10:26:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2493 Fix some warnings
2494
2495
2496 2013-01-20 19:09:05 -0800 Arun Persaud <arun@nubati.net>:
2497 Updated German translation
2498
2499
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
2502
2503 Only CoDrag needs to be suppressed on a configure event with
2504 -stickyWindows false, not the board redraw.
2505
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
2508
2509
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
2512
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.
2518
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
2521
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.
2529
2530 2012-12-30 14:58:16 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2531 Implement aborting of games on engine request.
2532
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.
2538
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
2541
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.
2546
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
2549
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.
2552
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)
2555
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.
2557
2558 2013-01-18 22:26:13 -0800 Arun Persaud <arun@nubati.net>:
2559 Updated Ukrainian translations
2560
2561
2562 2013-01-09 07:57:43 -0800 Arun Persaud <arun@nubati.net>:
2563 removed trailing whitespace
2564
2565
2566 2013-01-09 07:49:20 -0800 Arun Persaud <arun@nubati.net>:
2567 Updated copyright notice to 2013
2568
2569
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
2572
2573
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
2576
2577
2578 2012-12-22 20:40:26 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2579 Implement insufficient mating material for Knightmate
2580
2581 KBK is draw with Royal Knight. With exo-pieces also KNK and KFK.
2582
2583 2012-12-22 20:25:51 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2584 Fix rep-draw detection in drop games
2585
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
2589 and Pawn moves.
2590
2591 2012-12-11 22:33:07 -0800 Arun Persaud <arun@nubati.net>:
2592 updated po/pot files
2593
2594
2595 2012-12-11 22:18:05 -0800 Arun Persaud <arun@nubati.net>:
2596 new version number for developer release
2597
2598
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'
2601
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
2607 easy / hard.
2608
2609 2012-12-10 13:40:47 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2610 Update WinBoard translation template
2611
2612
2613 2012-12-10 13:35:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2614 Fix min-Shogi promotion zone
2615
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.
2621
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
2624
2625
2626 2012-12-10 13:28:37 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2627 Fix -fSAN in AnalyzeFile mode
2628
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.
2632
2633 2012-12-08 16:02:09 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2634 Improve scaling of border bitmap (WB)
2635
2636 The StretchBlt mode is set from dither to delete.
2637
2638 2012-12-05 16:34:58 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2639 Implement use of pause / resume protocol commands
2640
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.
2647
2648 2012-12-03 12:58:36 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2649 Fix Loop-Chess promotions
2650
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.
2655
2656 2012-12-02 22:44:55 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2657 Fix move highlighting with animation off
2658
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.
2663
2664 2012-12-02 11:09:14 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2665 Start browsing in currently-selected folder (WB)
2666
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).
2670
2671 2012-11-29 23:38:18 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2672 Implement book-creation functions
2673
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).
2678
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)
2681
2682 The piece color settings now control the pieceColor or fontPieceColor
2683 settings, depending on the setting of -usePieceFont.
2684
2685 2012-11-29 22:14:05 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2686 Implement auto-creation of ICS logon file
2687
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).
2692
2693 2012-11-29 21:56:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2694 Add Themes dialog (WB)
2695
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
2699 -themeNames.
2700   Add some dummy routines to suppress compile errors in functions that
2701 cannot be called yet in XBoard.
2702
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)
2705
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.
2714
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.
2717
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)
2720
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.
2724
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)
2727
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
2730 displayed as usual.
2731
2732 2012-11-19 20:35:05 -0800 Daniel Dugovic <dandydand@gmail.com>:
2733 Fix configure script for --enable-zippy  (tiny change)
2734
2735 reported and patch by Daniel.
2736
2737 edited by Arun Persaud:
2738 - also fixed #ifndef ZIPPY -> #if !ZIPPY
2739 - didn't change #if -> #ifdef
2740
2741 2012-11-10 00:12:34 -0800 Arun Persaud <arun@nubati.net>:
2742 don't define X_LIBS when using gtk-frontend
2743
2744
2745 2012-11-07 22:16:09 -0800 Arun Persaud <arun@nubati.net>:
2746 updated po/pot files; added new frontend files
2747
2748
2749 2012-11-07 22:14:20 -0800 Arun Persaud <arun@nubati.net>:
2750 fix configure script for --with-Xaw and --with-gtk
2751
2752 made Xaw the default and included xaw or gtk sources as extras
2753 in case the other frontend is selected for make distcheck
2754
2755 2012-11-07 21:13:38 -0800 Arun Persaud <arun@nubati.net>:
2756 new version number for developer release
2757
2758
2759 2012-10-31 09:55:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2760 Draw frames around memos and listboxes
2761
2762
2763 2012-10-30 17:39:59 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2764 Adapt lineGap during sizing
2765
2766
2767 2012-10-30 15:04:32 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2768 Fix clock highlighting
2769
2770
2771 2012-10-30 10:59:45 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2772 Fix Chat Box
2773
2774 The genric TypeInProc is re-instated, and replaces ICSKeyEvent as primary
2775 handler for special keys in one-liner text edits.
2776
2777 2012-10-29 19:46:27 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2778 Pay attention to NO_CANCEL dialog flag
2779
2780
2781 2012-10-29 14:18:33 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2782 Fix clock clicking with GtkEventBox
2783
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().
2787
2788 2012-10-28 22:25:22 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
2789 Fix logo placement
2790
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
2793 frame.
2794
2795 2012-10-25 23:04:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2796 Add window positioning
2797
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).
2802
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
2805
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.
2813
2814 2012-10-22 21:09:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2815 Fix warnings
2816
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.
2820
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
2823
2824 Remove #ifdeffed-out Xt code that has GTK implementation. The xgamelist
2825 and xhistory have been completely cleared off content, and were removed.
2826
2827 2012-10-27 00:12:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2828 Add copy-paste
2829
2830 The code from gtk-xt could be used with almost no modification.
2831
2832 2012-10-21 09:09:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2833 Some experimenting with sizing
2834
2835 Does not work as intended yet.
2836
2837 2012-10-21 23:04:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2838 Add task-bar icon
2839
2840 Funny enough it was necessary to swap the two svg icons to make this work!
2841
2842 2012-10-20 10:29:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2843 Make some tall dialogs multi-column
2844
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
2848
2849 2012-10-20 21:14:33 -0700 Arun Persaud <arun@nubati.net>:
2850 updated some icons to SVG
2851
2852
2853 2012-10-20 19:57:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2854 Add displaying of icons
2855
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.
2859
2860 2012-10-20 14:25:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2861 Fix button bar
2862
2863
2864 2012-10-20 14:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2865 Add BarBegin, BarEnd options
2866
2867 This makes the button bar display correctly. Also fix v-sizing of menu bar.
2868
2869 2012-10-20 10:01:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2870 Add listbox double-click callback
2871
2872 This function was formerly performed by WheelProc.
2873
2874 2012-10-19 17:29:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2875 Add hiding / showing second Engine Output pane
2876
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
2879 that table.
2880
2881 2012-10-19 17:15:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2882 Use different tables for different dialog columns
2883
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.
2899
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
2902
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.
2906
2907 2012-10-19 13:33:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2908 Close Move Type-in on Enter
2909
2910 The code is squeezed into the ICSKeyEvent callback.
2911
2912 2012-10-18 21:57:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2913 Add access routines to checkboxes and FocusOnWidget
2914
2915 The <Enter> handler of the filter field needs it to return focus to
2916 the listbox.
2917
2918 2012-10-18 21:42:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2919 Add game-list callbacks
2920
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!
2924
2925 2012-10-18 16:27:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2926 Add optional callback to Label Options
2927
2928 For some reason this does not work. The callback isn't called!
2929
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
2932
2933
2934 2012-10-18 13:12:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2935 Add Shift detection
2936
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.
2941
2942 2012-10-18 12:35:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2943 Remove some unneeded low-level X11 code
2944
2945 Things like tabbing between controls, mouse-wheel scolling etc. are all
2946 automatic in GTK, and thuse don't need to be ported.
2947
2948 2012-10-18 10:12:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2949 Add file browser
2950
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.
2955
2956 2012-10-18 09:54:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2957 Fix ListBox, and add some support routines
2958
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.
2963
2964 2012-10-17 20:01:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2965 Connect CommentClick handler
2966
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. :-( )
2972
2973 2012-10-17 19:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2974 Fix animation
2975
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 (?!).
2982
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
2985
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.)
2990
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
2993
2994
2995 2012-10-17 13:53:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
2996 Add scrolling of Move History
2997
2998 To have access to the textview, its handle is now stored in the
2999 Option.textValue field.
3000
3001 2012-10-17 13:11:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3002 Add highlighting in move list
3003
3004 For now it is assumed the normal background will be white (for clearing
3005 the highlight).
3006
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
3009
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.
3017
3018 2012-10-16 15:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3019 Add key-handler for ICS Input Box
3020
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.
3024
3025 2012-10-16 15:05:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3026 Highlight Pause button
3027
3028
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
3031
3032 The #includes for X11 files were still in there.
3033
3034 2012-10-16 13:28:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3035 Add text insertion in engine-output memos
3036
3037
3038 2012-10-16 09:34:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3039 Append recent engines to engine menu
3040
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.
3047
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
3050
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
3062
3063 2012-10-15 20:47:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3064 Connect dialog Browse buttons to GTK browser
3065
3066
3067 2012-10-15 19:52:17 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3068 Implement menu checkmarking and enabling
3069
3070 odes in the (later over-written) handle field specify which items
3071 are to be checkmarked, and by what style button.
3072
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
3075
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.
3080
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
3083
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.
3088
3089 2012-10-15 11:41:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3090 Give LoadListBox two extra parameters
3091
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.
3095
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
3098
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
3102 to do.
3103
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
3106
3107 The timers for the clocks, periodic analysis events and ScheduleDelayedEvent
3108 go into a separate file.
3109
3110 2012-10-14 15:31:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3111 Make xevalgraph.c backend
3112
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.
3117
3118 An attempt to list them in a less chaotic way.
3119
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
3122
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
3131 pass it around.
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.
3138
3139 2012-10-14 13:39:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3140 Remove xedittags.c, .h from project
3141
3142 The tiny bit of code that was left was absorbed in dialogs.c, the one
3143 prototype to menus.h.
3144
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
3147
3148 This did not seem to serve any purpose at all.
3149
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
3152
3153
3154 2012-10-14 12:21:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3155 Move MarkMenuItem to xoptions.c
3156
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!
3162
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
3165
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
3169 other routines.
3170
3171 2012-10-14 11:20:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3172 Remove some unnecessary header includes
3173
3174
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
3177
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().
3184
3185 2012-10-26 10:28:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3186 Add configure switches for Xaw vs GTK.
3187
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.
3194
3195 2012-10-25 11:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3196 Prepare xoptions.c for middle-end changes
3197
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.
3201
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
3204
3205 The X11 front-end has been moved to the xaw directory, but copies
3206 are retained for modifying them to gtk versions.
3207
3208 2012-10-24 08:55:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3209 Move X11 front-end to directory xaw
3210
3211
3212 2012-10-31 18:18:02 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3213 Fix initial enables in TC dialog
3214
3215
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
3218
3219
3220 2012-10-28 21:39:19 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3221 Fix WinBoard compile error on enum PEN
3222
3223
3224 2012-10-30 11:20:54 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3225 Fix crash in promotion popup
3226
3227 There were not enough entries for Capablanca Chess with legality-testing off,
3228 where King is also presented as a choice.
3229
3230 2012-10-28 18:19:23 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3231 Fix message in New Variant dialog
3232
3233 Even in -ncp mode the message was referring to the 'current engine'.
3234
3235 2012-10-28 18:16:20 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
3236 Fix crash on animation after resizing
3237
3238 The animate buffers were still holding pointers to a discarded cairo surface.
3239
3240 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3241 Fix variant-dependent pieces
3242
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.
3246
3247 2012-10-26 10:18:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3248 Replace marble texture pixmaps by png
3249
3250
3251 2012-10-26 10:13:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3252 Replace xiangqi board pixmaps by png images
3253
3254
3255 2012-10-26 10:08:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3256 Remove the texture pixmaps from project
3257
3258 These were already replaced by png textures.
3259
3260 2012-10-23 15:02:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3261 Fix re-rendering of svg on resize
3262
3263 The previously prepared bitmaps were retained if we resized, rather then
3264 rendering the svg atthe new size.
3265
3266 2012-10-21 15:48:30 -0700 Arun Persaud <arun@nubati.net>:
3267 update po/pot files
3268
3269
3270 2012-10-21 15:47:12 -0700 Arun Persaud <arun@nubati.net>:
3271 new version number for developer release
3272
3273
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
3276
3277 make distcheck complained about this
3278
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
3281
3282 Only white pieces are present. For black they would have to be flipped.
3283
3284 2012-10-21 15:54:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3285 Fix bug in resizing on variant switch
3286
3287 The fix of the garbage pixels had unfortunately broken this.
3288
3289 2012-10-21 15:15:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3290 Fix bug in fallback mechanism
3291
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.
3295
3296 2012-10-21 14:58:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3297 Get svg error message
3298
3299
3300 2012-10-21 14:49:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3301 Fix variant-dependent pieces
3302
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.
3306
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
3309
3310 In the cairo version all pieces are available at all board sizes.
3311
3312 2012-10-21 11:41:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3313 Remove some unused images from png directory
3314
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.
3318
3319 2012-10-21 10:40:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3320 Fix bug in resizing
3321
3322 The nominal size of the window was not set in the correct Option struct.
3323
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
3326
3327
3328 2012-10-21 09:48:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3329 Print missing-pieces error message to console
3330
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.
3333
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
3336
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.
3343
3344 2012-10-15 10:27:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3345 Trim board-window size
3346
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.
3351
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
3354
3355
3356 2012-10-13 09:35:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3357 Spontaeous changes in gettext stuff
3358
3359
3360 2012-10-13 08:03:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3361 Move Shogi svg pieces to own directory
3362
3363
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
3366
3367
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
3370
3371
3372 2012-10-13 07:37:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3373 Suppress warning for InitDrawingHandle
3374
3375
3376 2012-10-13 07:33:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3377 Make fallbackPieceImageDirectory hardcoded
3378
3379
3380 2012-10-13 07:18:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3381 Increase drag delay too 200 msec
3382
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.
3390
3391 2012-10-13 07:01:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3392 Fix segfault on faulty command-line option
3393
3394
3395 2012-10-12 14:42:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3396 Suppress anti-aliasing in -monoMode
3397
3398 In the color-substitution code, always use bi-level alpha and color.
3399
3400 2012-10-12 13:34:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3401 Remove piece pixmaps from project
3402
3403
3404 2012-10-12 11:47:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3405 Implement proper fallback cascade
3406
3407 Try in order cached svg, cached bitmap, user png, user svg, default svg.
3408
3409 2012-10-12 11:06:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3410 Cache svg handles
3411
3412
3413 2012-10-12 10:45:29 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3414 Install svg pieces in themes/default
3415
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).
3422
3423 2012-10-12 10:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3424 Remove bitmaps from project
3425
3426
3427 2012-10-12 09:55:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3428 Install the wood textures as png
3429
3430 The xboard.conf has to be edited to set these as default textures,
3431 in stead of the .xpm files.
3432
3433 2012-10-12 09:50:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3434 Add hatched board texture
3435
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.
3439
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
3442
3443
3444 2012-10-11 20:56:42 -0700 Arun Persaud <arun@nubati.net>:
3445 added SVGs to dist files in automake
3446
3447
3448 2012-10-11 19:44:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3449 Fix exposure of atomic captures
3450
3451 The grid lines had to be repaired too, so damage marker 2 had to be used.
3452
3453 2012-10-11 19:13:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3454 Fix animation with textures off
3455
3456 The blank square was not shifted to (0,0) when drawing the animation buffer.
3457
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
3460
3461
3462 2012-10-11 09:51:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3463 Solve odd lineGap problem
3464
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.
3468
3469 2012-10-09 18:52:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3470 Add -trueColors option
3471
3472
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
3475
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).
3480
3481 2012-10-09 14:06:47 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3482 Fix rsvg version in configure.ac
3483
3484
3485 2012-10-08 19:54:19 -0700 Arun Persaud <arun@nubati.net>:
3486 initial svg rendering
3487
3488
3489 2012-10-08 18:34:05 -0700 Arun Persaud <arun@nubati.net>:
3490 added cairo and librsvg to configure process
3491
3492
3493 2012-10-08 18:32:55 -0700 Arun Persaud <arun@nubati.net>:
3494 added SVGs
3495
3496 converted from inkscape SVG to plain SVG before adding
3497
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
3500
3501 The eval graph now triggers an expose after drawing, and gets its size
3502 from the Option fields.
3503
3504 2012-10-10 20:37:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3505 Fix expose requests seek graph
3506
3507
3508 2012-10-10 20:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3509 Make draw handle for board globally available
3510
3511
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
3514
3515 So far, expose requests were always assumed to be for the board widget,
3516 preventing display of the labels.
3517
3518 2012-10-10 18:45:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3519 Fix initial display of logos
3520
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!
3525
3526 2012-10-10 17:25:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3527 Fix alignment of highlight expose
3528
3529
3530 2012-10-10 17:19:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3531 remove NewSurfaces
3532
3533
3534 2012-10-09 13:57:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3535 Make expose handler generic
3536
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.
3542
3543 2012-10-06 21:30:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3544 Reload piece images when pngDirectory is changed
3545
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.
3549
3550 2012-10-06 20:16:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3551 Suppress redraw during sizing
3552
3553
3554 2012-10-06 20:10:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3555 Fix bug in resize trigger
3556
3557 Even if the square size does not change, the window has to be shrunk
3558 back to fit the board.
3559
3560 2012-10-06 19:54:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3561 Make Piececolor options work on png pieces
3562
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.
3572
3573 2012-10-06 17:53:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3574 Plug resource leak on rezising with pixmaps
3575
3576
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
3579
3580
3581 2012-10-06 14:21:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3582 Do coordinate text alignment with cairo
3583
3584
3585 2012-10-06 13:40:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3586 Some cleanup
3587
3588
3589 2012-10-06 12:14:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3590 Clean up drawing code
3591
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.
3595
3596 2012-10-06 11:37:20 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3597 Check in draw.c, draw.h
3598
3599
3600 2012-10-06 11:26:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3601 Remove all bitmap & pixmap drawing
3602
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.)
3608
3609 2012-10-06 10:29:06 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3610 Separate off drawing routines from xboard.c
3611
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.
3616
3617 2012-10-05 19:53:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3618 Fix erasing dots in seek graph
3619
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.
3622
3623 2012-10-05 19:25:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3624 Cleanup CairoOverlayPiece
3625
3626
3627 2012-10-05 19:22:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3628 Draw arrow also on backup image
3629
3630
3631 2012-10-05 19:16:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3632 Fix highlight clearing
3633
3634
3635 2012-10-05 18:59:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3636 Remove acceleration trick
3637
3638
3639 2012-10-05 18:54:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3640 Implement variant-dependent png piece symbols
3641
3642
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
3645
3646
3647 2012-10-05 18:32:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3648 Also render coordinates to backup board
3649
3650
3651 2012-10-05 18:30:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3652 Remove debug print
3653
3654
3655 2012-10-05 18:29:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3656 Let cairo also do evenly colored squares.
3657
3658
3659 2012-10-05 17:56:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3660 Make dragged piece for excluding moves transparent
3661
3662
3663 2012-10-05 17:42:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3664 Fix DrawSeekText
3665
3666
3667 2012-10-05 17:40:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3668 Redo coordinate / piece-count printing ith cairo
3669
3670
3671 2012-10-05 15:40:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3672 Also use cairo on slave board
3673
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.
3677
3678 2012-10-05 15:12:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3679 Cure flashing of piece on from-square
3680
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.
3685
3686 2012-10-05 14:20:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3687 Specify proper condition for using cairo animation
3688
3689
3690 2012-10-05 14:07:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3691 Allow resizing of board window
3692
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
3697 in DragProc.
3698
3699 2012-10-05 10:41:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3700 Switch to using 64x64 png images
3701
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
3705 anymore.
3706
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
3709
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.
3715
3716 2012-10-04 22:15:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
3717 Do animation with cairo
3718
3719 Unfortunately this is incredibly slow.