From: H.G.Muller Date: Sun, 6 Nov 2022 11:35:12 +0000 (+0100) Subject: Add image of ducky to WinBoard X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=d3b5cd9655f0129d5f31e9cdd7a320e4380c8ce7;p=xboard.git Add image of ducky to WinBoard Duck Chess needs to display a duck for a DarkSquare. --- diff --git a/winboard/bitmaps/ducky33.bmp b/winboard/bitmaps/ducky33.bmp new file mode 100644 index 0000000..28a32f7 Binary files /dev/null and b/winboard/bitmaps/ducky33.bmp differ diff --git a/winboard/bitmaps/ducky49.bmp b/winboard/bitmaps/ducky49.bmp new file mode 100644 index 0000000..2749791 Binary files /dev/null and b/winboard/bitmaps/ducky49.bmp differ diff --git a/winboard/bitmaps/ducky72.bmp b/winboard/bitmaps/ducky72.bmp new file mode 100644 index 0000000..98d9d41 Binary files /dev/null and b/winboard/bitmaps/ducky72.bmp differ diff --git a/winboard/winboard.c b/winboard/winboard.c index 5235ca0..e7542ad 100644 --- a/winboard/winboard.c +++ b/winboard/winboard.c @@ -2342,7 +2342,7 @@ ResizeBoard(int newSizeX, int newSizeY, int flags) recurse--; } - +static HBITMAP ducky; extern Boolean twoBoards, partnerUp; // [HGM] dual VOID @@ -2769,6 +2769,7 @@ InitDrawingSizes(BoardSize boardSize, int flags) pieceBitmap[0][WhiteGnu] = DoLoadBitmap(hInst, "gnu", squareSize, "s"); pieceBitmap[1][WhiteGnu] = DoLoadBitmap(hInst, "gnu", squareSize, "o"); pieceBitmap[2][WhiteGnu] = DoLoadBitmap(hInst, "gnu", squareSize, "w"); + if(gameInfo.variant == VariantDuck) { char name[20]; sprintf(name, " ducky%d", squareSize); ducky = LoadBitmap(hInst, name); } if(gameInfo.variant == VariantShogi && BOARD_HEIGHT != 7) { /* promoted Gold representations (but not in Tori!)*/ pieceBitmap[0][WhiteCannon] = DoLoadBitmap(hInst, "wp", squareSize, "s"); @@ -3607,8 +3608,13 @@ DrawBoardOnDC(HDC hdc, Board board, HDC tmphdc) DisplayHoldingsCount(hdc, x, y, flipView, (int) board[row][column]); else if( column == BOARD_RGHT) /* right align */ DisplayHoldingsCount(hdc, x, y, !flipView, (int) board[row][column]); - else if( piece == DarkSquare) DisplayHoldingsCount(hdc, x, y, 0, 0); - else + else if( piece == DarkSquare) { + if(gameInfo.variant == VariantDuck && ducky) { + HBITMAP oldBitmap = SelectObject(tmphdc, ducky); + BitBlt( hdc, x, y, squareSize, tmphdc, 0, 0, SRCPAINT ); + SelectObject(tmphdc, oldBitmap); + } else DisplayHoldingsCount(hdc, x, y, 0, 0); + } else if (appData.monoMode) { if (piece == EmptySquare) { BitBlt(hdc, x, y, squareSize, squareSize, 0, 0, 0, diff --git a/winboard/winboard.rc b/winboard/winboard.rc index 2042dcc..91ddc7f 100644 --- a/winboard/winboard.rc +++ b/winboard/winboard.rc @@ -2131,6 +2131,9 @@ A64S BITMAP MOVEABLE PURE "bitmaps/a64s.bmp" L64S BITMAP MOVEABLE PURE "bitmaps/l64s.bmp" C64S BITMAP MOVEABLE PURE "bitmaps/c64s.bmp" CV64S BITMAP MOVEABLE PURE "bitmaps/cv64s.bmp" +DUCKY33 BITMAP MOVEABLE PURE "bitmaps/ducky33.bmp" +DUCKY49 BITMAP MOVEABLE PURE "bitmaps/ducky49.bmp" +DUCKY72 BITMAP MOVEABLE PURE "bitmaps/ducky72.bmp" SP58O BITMAP MOVEABLE PURE "shogibitmaps/sp58o.bmp" SN58O BITMAP MOVEABLE PURE "shogibitmaps/sn58o.bmp"