recurse--;\r
}\r
\r
-\r
+static HBITMAP ducky;\r
extern Boolean twoBoards, partnerUp; // [HGM] dual\r
\r
VOID\r
pieceBitmap[0][WhiteGnu] = DoLoadBitmap(hInst, "gnu", squareSize, "s");\r
pieceBitmap[1][WhiteGnu] = DoLoadBitmap(hInst, "gnu", squareSize, "o");\r
pieceBitmap[2][WhiteGnu] = DoLoadBitmap(hInst, "gnu", squareSize, "w");\r
+ if(gameInfo.variant == VariantDuck) { char name[20]; sprintf(name, " ducky%d", squareSize); ducky = LoadBitmap(hInst, name); }\r
\r
if(gameInfo.variant == VariantShogi && BOARD_HEIGHT != 7) { /* promoted Gold representations (but not in Tori!)*/\r
pieceBitmap[0][WhiteCannon] = DoLoadBitmap(hInst, "wp", squareSize, "s");\r
DisplayHoldingsCount(hdc, x, y, flipView, (int) board[row][column]);\r
else if( column == BOARD_RGHT) /* right align */\r
DisplayHoldingsCount(hdc, x, y, !flipView, (int) board[row][column]);\r
- else if( piece == DarkSquare) DisplayHoldingsCount(hdc, x, y, 0, 0);\r
- else\r
+ else if( piece == DarkSquare) {\r
+ if(gameInfo.variant == VariantDuck && ducky) {\r
+ HBITMAP oldBitmap = SelectObject(tmphdc, ducky);\r
+ BitBlt( hdc, x, y, squareSize, tmphdc, 0, 0, SRCPAINT );\r
+ SelectObject(tmphdc, oldBitmap);\r
+ } else DisplayHoldingsCount(hdc, x, y, 0, 0);\r
+ } else\r
if (appData.monoMode) {\r
if (piece == EmptySquare) {\r
BitBlt(hdc, x, y, squareSize, squareSize, 0, 0, 0,\r
L64S BITMAP MOVEABLE PURE "bitmaps/l64s.bmp"\r
C64S BITMAP MOVEABLE PURE "bitmaps/c64s.bmp"\r
CV64S BITMAP MOVEABLE PURE "bitmaps/cv64s.bmp"\r
+DUCKY33 BITMAP MOVEABLE PURE "bitmaps/ducky33.bmp"\r
+DUCKY49 BITMAP MOVEABLE PURE "bitmaps/ducky49.bmp"\r
+DUCKY72 BITMAP MOVEABLE PURE "bitmaps/ducky72.bmp"\r
\r
SP58O BITMAP MOVEABLE PURE "shogibitmaps/sp58o.bmp"\r
SN58O BITMAP MOVEABLE PURE "shogibitmaps/sn58o.bmp"\r