-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
18806 lines (13306 loc) · 767 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
ChangeLog for XBoard/WinBoard
-----------------------------
(latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
2014-10-24 00:04:22 -0700 Joshua Pettus <[email protected]>:
removed gtk theme from OSX app
2014-10-23 23:33:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Add persistent Boolean option -fixedSize
When set, this option suppresses sizing of the board and clocks when
the window is sized by the user. This is achieved by wrapping the entire
dialog in a non-expanding hbox.
2014-10-23 21:23:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Also do dual-royal test in variant shogi
For the benefit of Sho Shogi we also have to be prepared to find a
Crown Prince in variant shogi, so it can be used as a parent variant
for Sho Shogi with legality testing on.
2014-10-23 16:22:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix promotion in Betza move generator
The Betza move generator was geenrating allmoves as NormalMove, but in
that case XBoard would not allow the move to have a promotion suffix.
Now Pawns and Lances reaching last rank will be assumed to promote.
2014-10-22 13:06:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Attempt to make GTK sizing work with tiling WM
The Rezise routine now takes the size of the entire dialog table
(for me always equal to the outer-window size), and checks if the
actual outer window is smaller. If it is, it shrinks the board to fit,
under the assumption that a tiling window manager offers only a limited
'viewport' to our dialog, and we want everything to be visible inside that.
2014-10-22 11:04:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix -xbuttons window width GTK
Because Label options not followed by a SAME_ROW element were only
packed into the first two columns of the dialog table, the board window
reserved space for a third column behind the message window if there
was no button bar.
2014-10-21 20:37:41 -0700 Arun Persaud <[email protected]>:
mac: only use gtk compile flag, if osxapp is enabled
2014-10-21 22:40:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Prevent unknown variant getting button in -ncp mode
Normally we fake the engines play the requested variant, for the benefit
of engines that do not send a variants feature (e.g. v1 engines). But this
should not be done if there is no engine, as it would lead XBoard to
believe an unknown variant name is an engine-defined variant supported
by a currently loaded engine, and create a button for it in the New Variant
dialog.
2014-10-21 22:07:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix variant-name recognition
StringToVariant did recognize whether the name to recognize had suffuxes
compared to the tabulated name, but not if it had prefixes. So 'shoshogi'
would be recognized as 'shogi'.
2014-10-21 21:52:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Suppress duplicat autoInstalls
If the engine line constructed for -autoInstall already occurs in
the engine list, we should not install it again.
2014-10-21 18:41:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Base new square size on board widget allocation GTK
No longer pay attention to the size of the top-level window, but base
everything on the size of the board widget itself.
2014-10-21 13:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Ignore first configure event
The first configure event will be the one that adds the window decorations
to the board window, and must not be used to calculate a new square size,
but to expand the outer window instead.
2014-10-21 11:35:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Let GTK dialogs open with actual-size Graph widgets
The Graph Option size values are now uses as size_request, to give
proper dialog sizing at popup. But the size_request is then reset
so that free sizing by the user becomes possible.
2014-10-19 13:16:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix display of Spin Options with negative range
2014-10-17 21:35:25 -0700 Arun Persaud <[email protected]>:
line numbers in PO got updated
2014-10-17 21:23:47 -0700 Arun Persaud <[email protected]>:
updated ChangeLog, DIFFSTAT and SHORTLOG
2014-10-17 21:17:56 -0700 Arun Persaud <[email protected]>:
updated NEWS
2014-10-17 21:17:28 -0700 Arun Persaud <[email protected]>:
forget a few __APPLE__ ifdefs; changed to OSXAPP
2014-10-17 00:01:44 -0700 Arun Persaud <[email protected]>:
fix typo and prefix
AC_PREFIX_DEFAULT was always set, even if AS_IF didn't get called? Some kind of caching?
Using just prefix=... seems to work though
2014-10-16 23:34:22 -0700 Arun Persaud <[email protected]>:
USE OSXAPP instead of APPLE and fix withval->enableval in AC_ARG_ENABLE
2014-10-16 21:44:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix loading of engine-defined PGN games
Somehow there could be disagreement over what the official opening
position of an engine-defined variant was during loading of the game.
It then refused Betza-defined castling, which tests the corner pieces
based on this initial position. We now assume the FEN tag, which such
a PGN game will always contain, holds the official opening position,
so that castling will always be assumed possible (if there is a corner
piece).
2014-10-16 20:29:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Preserve parent variant for PGN of engine-defined game
Rather than decoding an unknown variant name, (which will result in
'normal'), we keep the currently set (parent) variant when an
engine-defined variant is currently set that matches the name in
the PGN variant tag of the loaded game.
2014-10-16 17:54:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix some uninitialized variable bugs
The writing of Seirawan castling rights in FEN was still dependent on a
now unused variable, and encountering a VariantMen tag in a PGN file
could have created the misconception the memory was full.
2014-10-16 17:41:01 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Update Game List after tag selection changed
When the Game List Options dialog changes the tags to be displayed in
the Game List lines, we now automatically redo the entire Game List.
2014-10-16 16:38:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Always accept piece commands in variant great
Great Shatranj belongs to the variants XBoard does not know the rules of,
and should thus always accept engine piece commands.
2014-10-15 21:28:36 -0700 Arun Persaud <[email protected]>:
make all tests for strings in configure use the same scheme
2014-10-15 21:23:26 -0700 Arun Persaud <[email protected]>:
updated Changelog, DIFFSTAT, and SHORTLOG
2014-10-15 21:06:36 -0700 Arun Persaud <[email protected]>:
fix osxapp enable option in configure.ac
2014-10-15 21:06:00 -0700 Arun Persaud <[email protected]>:
remove experimental from gtk build option
2014-10-15 21:02:38 -0700 Arun Persaud <[email protected]>:
only enable osxapp build target on apple systems, clean up configure.ac a tiny bit
2014-10-15 20:57:28 -0700 Arun Persaud <[email protected]>:
update NEWS file
2014-10-15 23:48:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Don't switch to engine-defined variant on game loading
When loading a game from PGN the variant tag will have been decoded as
'normal' in case of an engine-defined variant, and we certainly would
not want to switch to that. Better stay in the variant the user had
selected before, and hope for the best.
2014-10-15 21:50:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement displaying of variant tag in Game List
The variant tag was displayed as an empty string in game-header lines.
Processing it during PGN load was not able to handle engine-defined
variants anyway; they were recognized as 'normal'. A new field in the
GameInfo struct now holds variantName in text form, and this is the
primary place from which it is displayed in the Game List.
2014-10-15 21:06:53 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Update Game List when setting new Game List Tags
Using the Game List Tags dialog to alter the gae header lines now
automatically causes an update of the Game list according to the new
tags specification.
2014-10-15 20:26:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Reset move entry on Clear Board
The board markers would stay on when the board was cleared, and a
no-longer-present piece would stay selected, leading to deletion of the
first piece that you tried to select.
2014-10-14 09:38:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Split Tournament dialog in side-by-side panes
This seems to cure a sickness in some Xaw versions, which refused
to display text in the text widgets, or make them sensitive for mouse
clicks if the last three buttons were added. It also helps keeping
the 'OK' button on-screen in the GTK version.
2014-10-12 19:43:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Remember position obtained from setup
When the engine sends a setup command, it should be remembered as
initialPosition, in order for the castling 'rook' test of the Betza
move generator to work.
2014-09-13 12:35:12 -0700 Joshua Pettus <[email protected]>:
Add build script to configure for a XBoard.app for OS X
This relies on the the gtk build and adds some special code in
gtk/xboard.c so that XBoard can be installed inside the app directory
independ on where the app file is located.
2014-10-12 10:09:51 -0700 Arun Persaud <[email protected]>:
replaced hardcoded pngdir with built-in ~~
don't need to create xboard.conf from xboard.conf.in anymore
2014-10-12 00:18:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Some improvement on new Shogi SVG pieces
2014-10-11 10:55:41 -0700 Arun Persaud <[email protected]>:
updated spanish, ukranian, and dutch translation
2014-10-11 19:42:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix logos Xaw
The patch for logo standard left a typo and an excess line in the Xaw
version. This is fixed, and also implements the user-logo cascade for
the Xaw version.
2014-10-11 19:26:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Try also /home/<user>/.logo.pgn for user logo
The user logo now also has a cascade, first looking in the user's home
folder for a file .logo.png, and then in the -logoDir for <user>.png.
2014-10-11 16:38:03 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix ICS logo display
2014-10-10 18:14:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Show current variant on New Variant buttons GTK in bold
If an engine-defined variant is selected, we compare its name to the
inscription on the button, otherwise we compare the variant numbers.
(Test to trigger this is a bit awkward, to not inadvertantly apply it
to the ICS Text Menu, which also has colored buttoms.)
2014-10-10 17:01:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Increase number of engine-defined-variants Buttons XB
An third column is added to the New Variant dialog when necessary.
2014-10-09 23:25:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Force GTK logo size to quarter board width
This is what GTK will do anyway, because clocks and logos are in a hbox
that equally divides space, so telling XBoard different just misinforms it.
2014-10-09 17:08:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Replace default Shogi pieces
The SVG Shogi pieces are replaced by a new set, made by Joshua Pettus.
This set also contains and Elephant and Crown Prince.
2014-10-09 09:35:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement new logo standard
XBoard now looks in the system directories for plugin logos,
/usr/(local/)share/games/plugins/logos, according to the cascade
-logoDir, engine dir (-fd,-sd), /usr/local/..., /usr/...
2014-10-09 08:47:25 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Relocate OS X' LOCALEDIR
2014-10-08 21:56:28 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix check test with multi-leg moves
The check test after a multi-leg move was still using the same kill
square in the opponent's reply, making it blind to King captures in
a second leg. So far we got away with that because the Shogi multi-leg
pieces also can reach all their potential victims in a single step,
but with engine-defined multi-leg moves there is no guarantee this
will always be the case.
2014-10-08 21:55:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix infinite loop in cylinder moves
2014-10-07 19:13:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Let t on final leg in Betza notation forbid checking
To allow approximate definition of pieces that are too difficult to
describe exactly, we can revoke their capture rights on Kings,
to prevent imagined moves that happen to threaten a King forces the
opponent to evade this imagined check, making most of his moves illegal.
Then the piece can be safely replaced by an upward-compatible one,
leaving rejection of the extra moves to the engine.
2014-10-07 18:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza hr and hr as chiral move sets
To easily separate right- and left-handed moves on oblique atoms
(which needs opposite use of l and r in their multi-leg continuations),
the direction sets hr and hl are added.
2014-10-07 08:20:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Preserve other Betza mode bits on setting default modality
2014-10-06 20:20:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Switch to new Betza orth-diag conversion standard
The interconversion from orthogonal to diagonal atoms is now possible
for any 4-way atom, based on specification of an 'in-between' direction,
irrespective of modality. Also take backward out of default continuation
direction-set.
2014-10-03 10:31:47 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza t modifier for hop-own
The 't' modifier will restrict any form of hopping as specified by
p or g modifiers to friendly pieces. This only works on non-final legs.
2014-10-02 19:32:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement directional modifiers on KQ, and let y&g upgrade
The Betza y and g modifiers now not only change range, but also upgrade
the directional capabilities of the atom to full non-degenerate 8-fold.
Directional modifiers can now be used in that symmetry too, to maximally
exploit this, and implement 4-fold pieces that make 45-degree turns.
Let oblique continuation legs also use the non-degenerate system.
2014-10-02 15:19:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza y modifier
The non-standard modifier 'y' is the spontaneous counterpart of 'g',
changing the range of the atom, and upgrading its directionality.
2014-10-02 10:21:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza g modifier for non-final legs
The g modifier is implemented as a p that turns a rider into the
corresponding leaper when it hops, and vice versa. This is done by
stripping off any existing range indicator, and making the range
infinite by suffixing '0' when the old range was 1 (whether implied
or explicitly written). Except that for sliders/steppers this is done
by atom-name conversion after stripping off the range. Limited range
thus in general turns into leaper (D -> D0, Dn -> D), but with FWK
W3 -> R and R3 -> W, etc.
2014-10-01 15:32:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza a modifier
This is pretty complex, and might overload the current primitive two-leg
legality testing when pieces are defined that can reach squares only in
two legs.
2014-10-01 09:28:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza j on W,F as skip first square
2014-10-04 21:56:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Always accept piece commands for Falcon and Cobra
The wild-card pieces Falcon and Cobra do not have any moves assigned to
them, and XBoard would accept any move for them even when legality
checking is on. So for these pieces it is always better to trust the
engine's piece definition.
2014-10-04 21:52:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix pieceToCharTable of Falcon Chess
This variant was using the Falcon piece, but defining ID F for the
unused Lance instead.
2014-10-04 19:59:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Don't preserve setup position on board-size change
Normally the setup command sent by an engine is ignored if the user
already has set up a position, to not render it impossible to do the
latter. But if the setup command orders a different board size nothing
the user has set up can possibly remain valid.
2014-10-04 19:39:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Reset move entry on stepping through game
A forward or backward step through the game after selecting a from-square
did not erase the latter, so that it became impossible to select a
from-square for an opponent move, as it would be interpreted as the
to-square for the patially entered move. This was especially annoying
with legality testing off, as the legality test there, based on the
square markings, does not reset the entry state either, but waits
until you do click a legal to-square, so that you had to attempt
moving with pieces of the side not to move to get out of this state.
Now stepping through another position will reset the move-entry state
completely, always considering the first click a from-square selection.
2014-10-07 20:55:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix engine-defined variant as startup
Non-standard names were all recognized as 'normal' in InitBackend1().
Now if the -variant argument was not "normal", it is assumed to be an
engine-defined variant if we run with engine.
2014-10-07 18:53:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix clipping of board GTK
ResizeBoardWindow now measures the with of the window dressing by
brute force, interrogating GTK both for the width of the top-level
window and the board widget, and subtracting the two.
2014-10-08 18:28:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix writing of Seirawan960 virginity in FEN
When variant seirawan was played with Fischer castling, only the
castling rights were written, and not the virginity of other pieces.
Now all virgin files are dumped in Shredder-FEN style.
2014-09-29 21:07:17 -0700 Arun Persaud <[email protected]>:
update po/pot files
2014-09-29 21:00:42 -0700 Arun Persaud <[email protected]>:
new version number for release 4.8.0
2014-09-13 14:33:37 -0700 Arun Persaud <[email protected]>:
fixed whitespace error in configure.ac for os x
2014-09-20 10:06:17 -0700 Arun Persaud <[email protected]>:
update gettext configuration to not include any generated files in git
before we had a somewhat mixed setup, which seems to create problems
when a different gettext version was installed on the users machine compared
to the version used to generate the files in git. This should solve
the problem. The user will now have to generate these files using autopoint,
which we call from autogen.sh.
2014-09-28 22:19:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Configure XBoard for -size 49 in master settings
Now the code for auto-sizing works, it turns out this does more harm than
good in the GTK build, as it takes maximum size that fits the screen as
initial size, and the board window then cannot be shrunk below that.
So we configure a hard -size 49 for a cold startup.
2014-09-28 21:27:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement ff etc. in Betza parser
Dupliacated directional modifiers can be needed with oblique moves
to unambiguously specify a direction set, e.g. ffrrN.
2014-09-28 13:40:13 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Rename PGN Pieces tag to VariantMen
Following a suggestion from Steven Edwards, this indeed makes a much
clearer name. Also add code to skip the tag on reading, rather than
allowing it to end up with the 'extra tags', as the latter could lead
to duplication of the tag on subsequent saves.
2014-09-28 11:18:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Suppress use of promo-Gold bitmaps in Tori Shogi (WB)
In Tori Shogi the Swallow Pawn does not promote to Tokin, so the use
of a Gold General pictogram would only be confusing. So we stick to
the regular fairy bitmaps in Tori, which is recognized by the board
having 7 ranks in Shogi.
2014-09-28 10:55:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Prevent board-size oscillations
It could happen that after resize there was room for enlarging the
squares by one pixel, but that this crossed the boundary where the line
gaps also become wider, and there is no room for making both squares
and line gap. This would cause perpetual oscillations of the window size.
Resizing is now suppressed when a 1-pixel square-size increase would also
result in a line-gap increase.
2014-09-28 10:09:17 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Allow use of second-row pieces for non-promoted in drop games
Second-row pieces were automatically demoted on capture, but this
should really happen only when the piece-to-char table says it is a
shogi-promoted piece (assigned a '+' there). Pieces assigned a letter
should really stay themselves.
PieceToNumber had to be adapted to skip '+' pieces in order to count
correctly for second-row pieces, as did the code in UserMoveEvent() that
mapped the from-square onto the piece type. (Why do we do that anyway?
The piece type was displayed on the from-square!)
2014-09-26 20:24:05 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix reset of 50-move counter on FRC castling
The FxR internal representation was taken a bit too seriously!
2014-09-26 20:15:33 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix abort of machine game on variant mismatch
When the second engine did not support the current variant, and we clicked
Two Machines, there was an error popup, but the Two Machines menu item
stayed checkmarked. Now we explicitly uncheck it, and switch to EditGame
mode.
2014-09-26 19:47:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Make unsupported variant on loading 1st engine non-fatal
Like in the startup code, when the loaded engine does not play the
currently selected variant, we now figure out what the engine does play,
and switch to that. The error message still pops up, but not non-fatal.
2014-09-25 23:37:24 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Print PGN Piece tag listing engine-defined pieces
A newly defined PGN tag is printed, which summarizes all non-standard
pieces. Black copies of identically named white pieces are suppressed.
In the future also non-standard naming should be reported here.
2014-09-25 19:11:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Always accept piece commands in partly supported variants
Normally piece commands are ignored when legality checking is on, as
XBoard's idea of legality should obviously overrule the engine's.
In variants that are not or only partly supported, however, XBoard has
no own idea of what is legal, so it is better to take the engine's
advice than enforcing wrong rules.
2014-09-25 12:29:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Size seek graph to also cover board rim WinBoard
The seek graph always used the plain board size, but in WB it is
possible to diplay a rim around the board, and the seekgraph would
then be positioned in the upper-left corner of the rim, leaving the
lower and right board edge and rim uncovered. Its size is now increased
to fill the entire window (as leaving a rim around it seems not useful).
2014-09-25 11:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Reparse ambiguous move under built-in rules
When a move parses as ambiguous under engine-defined piece locomotion,
we re-parse it with XBoard's native idea of the pieces, just in case
it is a move from a game that was saved without the engine having
redefined the pieces. This keeps games created before the introduction
of the 'piece' command loadable.
2014-09-25 11:14:06 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Prevent multi-path moves from parsing as ambiguous
In Cylinder Chess the MovesFromString() generator might generate duplicate
moves, one wrapping, the other direct. When they were both counted as
matching the SAN input move, Disambiguate() would think it an ambiguous
move. So a move that came from the same square as the one we already
have must not be counted.
2014-09-24 21:47:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix cross-edge e.p. capture in Cylinder Chess
ApplyMove() did not remove the e.p. victim when an edge-crossing e.p.
capture was made, because e.p. rights are only set to neighboring files
(after checking there is a Pawn there to capture). The e.p. heuristic
has now been changed to also assume e.p. on file-changing Pawn moves
that span a large number of files, assuming that these will be wrapping
moves. Eventually we should change to better e.p. logic that can be
integrated with engine-configured move generation, as the current system
would fail for any Pawn that captures more than just neighbor ranks.
2014-09-24 19:43:27 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza o modifier for cylinder boards
2014-09-24 17:02:37 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Improve virginity test for engine-defined pieces
Two squares in the board are now reserved for flags that indicate
whether back-rank pieces have been touched. This allows MovesFromString()
to accurately test virginity of these pieces, rather than having to assume
it when the piece matches that in the opening position. For other ranks
the latter test is still used, as these are normally (irreversible) Pawns,
which cannot return there (and in drop games, when they would, would again
be considered virgin enough for the purpose of double-pushing!).
2014-09-24 13:20:31 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement Betza p and g modifiers in piece command
2014-09-24 08:28:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Repair piece defs with showTargetSquares off
The proxy legality checking based on marking of target square was
rejecting all moves when target squares were not highlighted.
2014-09-23 21:53:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Allow definition of castling in piece command
Castling is defined by the O atom, with a suffix indicating the number
of steps the King must step in the direction of the corner. Kings keep
their normal castling unless overruled by this. Can currently only be
used on the variant's royal piece, as XBoard's ApplyMove() is not smart
enough to understand displacing the corner piece is implied when it is
used on other pieces.
2014-09-23 21:49:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Update description of piece command in protocol specs
2014-09-23 14:52:16 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Improve SAN of Pawn moves and allow Betza e.p. definition
The move descriptions in 'piece' commands can now use 'i' and 'n'
modifiers to define a blockable double push. ('n' only work for moves
of stride 2!) The test for initial moves now is based on comparison with
the opening position, rather than on a way-to-generous heuristic. (This
still does not prove in generak the piece did not move, though, but it
does for Pawns.) A new 'e' modifier stands for e.p. capture; to implement
this the rank and file of the e.p. square are now stored in the board.
(EP_STATUS was holding the file of the moved Pawn, which in Berolina Chess
is not the file of the e.p. square!)
The generation of SAN moves for Pawns can now reliably distinguish between
captures and non-captures even in Berolina, when the move generator informs
it whether the move was e.p. capture.
2014-09-22 22:48:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Retune -stickyWindows GTK
This still does not work well, and in particular windows refuse to stick
to the top of the board window.
2014-09-22 21:59:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix detection of screen size GTK
A gdk call that can get the screen without there first being a window
mapped to it is used now. This fixes initial sizing of the board window
on a cold start.
2014-09-22 21:57:23 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Configure a size for the Eval Graph
If no size for the Eval Graph window is configured in the master
settings file, the window will pop up as 2x4 pixels.
2014-09-22 20:39:21 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Prevent crash on specifying non-existent texture XB
By setting the texture width to 0 when the texture could not be loaded,
XBoard will never attempt to draw it.
2014-09-22 20:30:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Configure some themes in XBoard master settings
The -themeNames option is set to contain some themes that could be
defined with the default pieces and textures that come with XBoard.
2014-09-22 18:48:00 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Remove debug printf
2014-09-21 16:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Control Eval Graph with mouse
Let mousewheel control evalZoom, and right-click toggle between
normal view and differential view ('blunder graph').
2014-09-21 16:10:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Add extra font field to Option struct
Storing the font in the textValue field was too kludgy, as this field
is already heavily used in the various Option types, for storing handles,
or defining colors and callbacks. A 'font' field is now added at the end,
so that it can be optionally initialized in the rare case it is needed.
2014-09-21 13:44:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Repair damage done by merging with v4.7.x
2014-09-21 08:36:22 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Sort fail lows and fail highs below others
Every more recent line should always float up aove lines that were
indicated to be fail lows or fail highs through ? or ! PV suffixes.
2014-09-20 12:58:32 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Describe the new texture conventions in manual
The exact rules for how textures are scaled in response to their
filename is described in the manual.
2014-09-19 10:22:14 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Force exactly overlayed texture scaling through filename
A filename suffix -NxM.png on a texture image will cause XBoard to scale
the image as if it were the image of a complete board of N files and M
ranks, to make the square size equal to that of the current board,
and adjust the cutting parameters such that contiguous squares are cut
out of it. (If the current board format is larger than NxM, the remaining
space will be padded with white!)
If N=M=0, N and M are assumed to correspond to the current board size,
and the bitmap will be scaled to fit the height of the board.
If no suffix is present, the old cut-and-tile algorithm is used. It will
be assumed the texture bitmap is intended for a single square, unless the
pathname contains a file that starts with "xq", in which case it is assumed
that the file contains a Xiangqi board.
2014-09-18 23:30:09 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Allow two Pawns per file in Tori Shogi
When the board has 7 ranks it is assumed to be Tori Shogi, and the
requirement for maximally one Pawn per file is relaxed to two.
2014-09-18 23:08:36 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Test legality even when off if engine defined pieces
After reception of a piece command XBoard will mark target squares
even when legality testing is off, and now also will require the lifted
piece to land on a marked square (like when the engine highlighted them
through a highlight command).
A problem is that this does not work for drops, as drops do not mark
target squares. So drops are always accepted. Which of course is bad
for Pawn drops. But there really is no way yet for an engine to specify
how pieces can be dropped, similar to the 'piece' command.
2014-09-17 22:32:43 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix texture scaling
2014-09-17 13:41:58 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement engine-defined pieces
When legality testing is off, XBoard now listens to 'piece' commands
to redefine its move generator. After such a piece command is received,
target-square marking also can be used when legality testing is off.
The engine keeps in charge of legality testing, though.
Only a very basic version of Betza notation is currently understood for
the move description: mode modifiers have to appear in the order mcd,
and gpz modifiers are ignored. Multi-leg moves as in Betza 2.0 is not
implemented at all. A leading i modifier limits the moves to the first
two ranks, which is no good at all. (But XBoard does not keep track of
which pieces have moved, and this at least would work for Pawns in a
FIDE-like setup, in particular Berolina.)
2014-09-17 09:44:15 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Scale texture bitmaps that are not large enough
Texture bitmaps are now sized up by an integer factor to be at least
as large as the board (if they seem intended for a full XQ board, which is
assumed when they are larger than 256x256) or the square. This necessitated
the textures to be re-initialized in InitDrawingSizes whenever the window
size changes.
2014-09-16 19:04:19 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Ignore color arguments not starting with #
Old settings files from xpm-using version might still contain color
designations like 'white' or 'red'. Since Cairo would interpret these
as black, it is better to ignore them, so the default color is used.
2014-09-15 15:30:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Implement -autoInstall option
When -autoInstall is a non-empty string, XBoard will scan the system's
plugin specs directories for UCI and WB protocol, to see if new engines
were added since the last settings save. If so, they are added to the
list of installed engines.
The variants listed in the plugin-spec files are currently ignored,
but the option is already configured to install engines for all variants.
2014-09-14 22:47:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix typo
2014-09-14 21:41:04 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Make inlined functions static
Clang apparently chokes on non-static inline functions,
and they were not used from other files anyway.
2014-09-09 20:29:15 -0700 Arun Persaud <[email protected]>:
updated spanish translation, added new polish translation
2014-09-13 09:12:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Look for logo in engine dir first (GTK)
When setting engine logos, we look for a file logo.png in the engine
directory, before trying <enginename>.png in the -logoDir. This is useful
on OS X. Fix bug that checks for existence of -fd/sd rather than -logoDir,
when using the latter (also in Xaw).
2014-09-11 23:10:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix checkmarking of OS X menu items
The routine MarkMenuItem() was moved to xboard.c, where it can see
the OSX-specific #defines, and calls to sync_menu_bar were added
to it, and to EnableNamendMenuItem().
2014-09-11 22:48:10 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix crash of tournament dialog GTK
The font/color disambiguation of the Option.textField in Label and
ulti-line TextBox options cannot stand it if unused elements are
initialized as "" rather than NULL.
2014-09-11 19:17:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Let OS X display dock icon
2014-09-11 12:41:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix Xaw button color error
The textValue field, now also used to indicate font, was used in two
places when popping up buttons, and the font patch only addressed one.
2014-09-11 10:23:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Make SVGDIR a variable
Replace all occurrences of SVGDIR in the source by svgDir, a char array
that is initialized to SVGDIR, so that it can be altered at run time.
This is needed to make portable apps. Where SVGDIR was used in string
concatenation, the code had to be re-written to use snprintf to do the
concatenation at run time, through a new function LoadIconFile.
The extension of image files used there is now made dependent on the
__APPLE__ switch, so that it can use .png in OS X (which does not seem
to understand SVG icons).
2014-09-10 21:20:40 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix warning in dead code Show
2014-09-10 20:49:38 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Reorder variants, to comply with Polyglot book specs
XBoard's variant number is used as a key to access Polyglot opening
books, and thus cannot be changed without consequences. (As it was when
we introduced ASEAN and Chu Shogi.)
We also renamed Chu Chess to Elven Chess (under which name it is now
described on chessvariants.org).
2014-09-10 19:52:12 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Reserve piece command in protocol specs
2014-09-10 18:54:45 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
suppress Alien Edition standard variants
Variants that are standard in the Alien Edition should not be
recognized as engine-defined variants: the engines that announce
them will not respond with the required setup command, so allowing
the user to select them just leads to trouble.
2014-09-10 13:51:44 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix SetWidgetFont GTK
This was testing for an empty font spec in the wrong way, with as a side
effect that some pointers to font strings would be interpreted as colors.
2014-09-10 15:56:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Update protocol specs
2014-09-09 21:43:39 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Let message field and button bar use GTK -messageFont
The -messageFont spec (using the default coordFont pixel size, like the
others) is now used to modify the fonts of message field and buttons
in the button bar. They pass a pointer to the appData font variable in
their Option's textField. This conflicts with the use of this field in
buttons for specifying a color, as done in the New Variant buttons.
This is resolved by checking if the first byte of the pointed-to value
is a #. The Xaw version must ignore the textField if it does not
specify a color.
2014-09-09 20:51:54 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix GTK fonts
2014-09-09 19:57:52 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Use coordFont default pixel size for other fonts
The message-font is way too large for the dialogs. A better solution
would be to redo the entire table of SIZE_DEFAULTS in xboard.h, as
this file is front-end-specific anyway.
2014-09-09 19:39:50 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Use -gameListFont in Game List
Not implemented in a very generic way, but hacked into the code that
added the handler. There aren't many other listboxes that would need
adjustable font.
2014-09-09 16:49:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix Chat window for Xaw build
The ICS output field and Hide button are removed from the ICS Interaction
window, to make it similar to the old Chat window. This required adding
some tests in the handlers of this window, to prevent segfaults due to
accessing it.
2014-09-09 15:53:29 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix infinite-regression problem on OS X
Apparently the OpenFile handler can already be called during
gtkosx_application_ready (or gtk_signal_connect), so we have to make
sure 'suppress' is set before we call those.
2014-09-09 10:47:41 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Correct for .Xresources form->paneA renaming in manual
In the Xaw build the name of the form widget of dialog.layout.form...
hierarchy was changed to paneA, paneB, ... when allowing multi-pane
dialogs through the Break Option (such as the Engine Output window).
2014-09-09 10:36:42 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Use GTK fonts in Engine Output and Move History
2014-09-08 20:42:11 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Include some conditional OS X fixes
DATADIR must be corrected to ~~ in the OS X app, and the info command
must be started in a different way.
2014-09-08 20:12:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix WB DoEvents error
2014-09-08 19:06:35 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Limit auto-extending to click on first move of PV
Even when auto-exted on clicks on the tail of a PV will no longer cause
any moves to be added to the game. Only clicks on or before the first
move can do that now.
2014-09-08 16:20:26 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Animate multi-leg in auto-play and forward event
Replaying multi-leg moves is now also done by animating both legs.
In addition, the highlights are set on final and intermediate square,
rather than from-square.
(There seems to be a great deal of code duplication here. Why doesn't
AutoPlayOneMove simply call ForwardInner?)
2014-09-08 14:45:51 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix key bindings for non-menu functions
The accelerator keystrokes for next game, previous game and debug mode,
which don't have menu items, and are grouped in the menu table 'noMenu',
were not treated in the building of the translation table, as 'noMenu'
does not occur on the menu bar. An extra iteration is done now to
treat this menu group.
2014-09-08 14:24:59 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix Xaw key bindings
The routine to automatically construct the translation table for
accelerator keys did not respect the rule that more specific keystrokes
(like :Meta<Key>Home:) have to be defined before more general ones
(like :<Key>Home:). As a result Alt+Home would activate the Revert
item, intended for plain Home.
2014-09-08 14:20:08 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Define default font names
2014-09-08 09:25:18 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix MSVC problems
Book.c did not include config.h, and thus missed the redefinition of
snprintf (which is not known in MSVC). The use of 'inline' in parser.c
also needed an MSVC redefinition, now added to winboard/config.h.
2014-09-08 09:22:55 +0200 H.G.Muller <hgm@hgm-xboard.(none)>:
Fix GTK font patch