Fix undo in variant seirawan
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 27 Dec 2011 14:39:42 +0000 (15:39 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 27 Dec 2011 14:39:42 +0000 (15:39 +0100)
The gated pieces were not remembered in the game history, so that
replaying it when tking bck a move did not work properly.

fairymax.c

index 83002e5..dfa3ea6 100644 (file)
@@ -68,10 +68,10 @@ int StartKey;
 #endif\r
 \r
 /* make unique integer from engine move representation */\r
-#define PACK_MOVE 256*K + L + (PromPiece << 16);\r
+#define PACK_MOVE 256*K + L + (PromPiece << 16) + (GT<<24);\r
 \r
 /* convert intger argument back to engine move representation */\r
-#define UNPACK_MOVE(A) K = (A)>>8 & 255; L = (A) & 255; PromPiece = (A)>>16 & 255;\r
+#define UNPACK_MOVE(A) K = (A)>>8 & 255; L = (A) & 255; PromPiece = (A)>>16 & 255; GT = (A)>>24 & 255;\r
 \r
 /* Global variables visible to engine. Normally they */\r
 /* would be replaced by the names under which these  */\r