Remember promotion char in game history
authorH.G. Muller <h.g.muller@hccnet.nl>
Tue, 16 Nov 2010 10:15:52 +0000 (11:15 +0100)
committerH.G. Muller <h.g.muller@hccnet.nl>
Tue, 16 Nov 2010 10:18:04 +0000 (11:18 +0100)
Undo did not work when there were under-promotions in the game.

fairymax.c

index 3a89dd5..bb842da 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;\r
+#define PACK_MOVE 256*K + L + (PromPiece << 16);\r
 \r
 /* convert intger argument back to engine move representation */\r
-#define UNPACK_MOVE(A) K = (A)>>8 & 255; L = (A) & 255;\r
+#define UNPACK_MOVE(A) K = (A)>>8 & 255; L = (A) & 255; PromPiece = (A)>>16 & 255;\r
 \r
 /* Global variables visible to engine. Normally they */\r
 /* would be replaced by the names under which these  */\r