diff --git a/reactos/lib/cards/.cvsignore b/reactos/lib/cards/.cvsignore new file mode 100644 index 00000000000..1f43e3d52d8 --- /dev/null +++ b/reactos/lib/cards/.cvsignore @@ -0,0 +1,9 @@ +temp.exp +*.a +*.dll +*.lib +*.sym +*.coff +*.map +*.tmp +*.o diff --git a/reactos/lib/cards/Makefile b/reactos/lib/cards/Makefile new file mode 100644 index 00000000000..546f2839bc5 --- /dev/null +++ b/reactos/lib/cards/Makefile @@ -0,0 +1,28 @@ +PATH_TO_TOP = ../.. + +TARGET_TYPE = dynlink + +TARGET_NAME = cards + +TARGET_BASE = 0x701a0000 + +TARGET_CFLAGS = -fno-builtin -D__USE_W32API + +# require os code to explicitly request A/W version of structs/functions +TARGET_CFLAGS += -DUNICODE -D_UNICODE + +TARGET_LFLAGS = -nostdlib -nostartfiles + +TARGET_SDKLIBS = gdi32.a user32.a + +TARGET_OBJECTS = cards.o + +DEP_OBJECTS = $(TARGET_OBJECTS) + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +include $(TOOLS_PATH)/depend.mk + +# EOF diff --git a/reactos/lib/cards/cards.c b/reactos/lib/cards/cards.c new file mode 100644 index 00000000000..9c78febde1e --- /dev/null +++ b/reactos/lib/cards/cards.c @@ -0,0 +1,233 @@ +/* + * ReactOS Cards + * + * Copyright (C) 2003 Filip Navara + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +#include "windef.h" +#include "winbase.h" +#include "wingdi.h" +#include "winuser.h" +#include "cards.h" + +HBITMAP g_CardBitmaps[MAX_CARD_BITMAPS]; +HINSTANCE g_hModule = 0; + +/* + * Redundant function from 16-bit Windows time + */ +BOOL WINAPI WEP(DWORD Unknown) +{ + return TRUE; +} + +/* + * Initialize card library and return cards width and height + */ +BOOL WINAPI cdtInit(INT *Width, INT *Height) +{ + DWORD dwIndex; + + /* Report card width and height to user */ + *Width = CARD_WIDTH; + *Height = CARD_HEIGHT; + + /* Load images */ + for (dwIndex = 0; dwIndex < MAX_CARD_BITMAPS; ++dwIndex) + g_CardBitmaps[dwIndex] = + (HBITMAP)LoadBitmapA(g_hModule, MAKEINTRESOURCEA(dwIndex + 1)); + + return TRUE; +} + +/* + * Terminate card library + */ +VOID WINAPI cdtTerm(VOID) +{ + DWORD dwIndex; + + /* Unload images */ + for (dwIndex = 0; dwIndex < MAX_CARD_BITMAPS; dwIndex++) + DeleteObject(g_CardBitmaps[dwIndex]); +} + +/* + * Render card with no stretching + */ +BOOL WINAPI cdtDraw(HDC hdc, INT x, INT y, INT card, INT type, COLORREF color) +{ + return cdtDrawExt(hdc, x, y, CARD_WIDTH, CARD_HEIGHT, card, type, color); +} + +/* + * Render card + * + * Parameters: + * hdc - Handle of destination device context + * x - Position left + * y - Position right + * dx - Destination width + * dy - Destination height + * card - Image id (meaning depend on type) + * type - One of edt* constants + * color - Background color (?) + */ +BOOL WINAPI cdtDrawExt(HDC hdc, INT x, INT y, INT dx, INT dy, INT card, INT type, COLORREF color) +{ + HDC hdcCard; + COLORREF SavedPixels[12]; + DWORD dwRasterOp = SRCCOPY, OldBkColor; + BOOL bSaveEdges = TRUE; + BOOL bStretch = FALSE; + + if (type & ectSAVEEDGESMASK) + { + type &= ~ectSAVEEDGESMASK; + bSaveEdges = FALSE; + } + + if (dx != CARD_WIDTH || dy != CARD_HEIGHT) + { + bStretch = TRUE; + bSaveEdges = FALSE; + } + + switch (type) + { + case ectINVERTED: + dwRasterOp = NOTSRCCOPY; + case ectFACES: + card = (card % 4) * 13 + (card / 4); + break; + case ectBACKS: + --card; + break; + case ectEMPTYNOBG: + dwRasterOp = SRCAND; + case ectEMPTY: + card = 52; + break; + case ectERASE: + break; + case ectREDX: + card = 66; + break; + case ectGREENO: + card = 67; + break; + default: + return FALSE; + } + + if (type == ectEMPTY || type == ectERASE) + { + POINT pPoint; + HBRUSH hBrush; + + hBrush = CreateSolidBrush(color); + GetDCOrgEx(hdc, &pPoint); + SetBrushOrgEx(hdc, pPoint.x, pPoint.y, 0); + SelectObject(hdc, hBrush); + PatBlt(hdc, x, y, dx, dy, PATCOPY); + } + if (type != ectERASE) + { + hdcCard = CreateCompatibleDC(hdc); + SelectObject(hdcCard, g_CardBitmaps[card]); + OldBkColor = SetBkColor(hdc, (type == ectFACES) ? 0xFFFFFF : color); + if (bSaveEdges) + { + SavedPixels[0] = GetPixel(hdc, x, y); + SavedPixels[1] = GetPixel(hdc, x + 1, y); + SavedPixels[2] = GetPixel(hdc, x, y + 1); + SavedPixels[3] = GetPixel(hdc, x + dx - 1, y); + SavedPixels[4] = GetPixel(hdc, x + dx - 2, y); + SavedPixels[5] = GetPixel(hdc, x + dx - 1, y + 1); + SavedPixels[6] = GetPixel(hdc, x, y + dy - 1); + SavedPixels[7] = GetPixel(hdc, x + 1, y + dy - 1); + SavedPixels[8] = GetPixel(hdc, x, y + dy - 2); + SavedPixels[9] = GetPixel(hdc, x + dx - 1, y + dy - 1); + SavedPixels[10] = GetPixel(hdc, x + dx - 2, y + dy - 1); + SavedPixels[11] = GetPixel(hdc, x + dx - 1, y + dy - 2); + } + if (bStretch) + { + StretchBlt(hdc, x, y, dx, dy, hdcCard, 0, 0, CARD_WIDTH, CARD_HEIGHT, dwRasterOp); + } else + { + BitBlt(hdc, x, y, dx, dy, hdcCard, 0, 0, dwRasterOp); +/* + * This is need when using Microsoft images, because they use two-color red/white images for + * red cards and thus needs fix-up of the edge to black color. + */ +#if 0 + if (ISREDCARD(card)) + { + PatBlt(hdc, x, y + 2, 1, dy - 4, BLACKNESS); + PatBlt(hdc, x + dx - 1, y + 2, 1, dy - 4, BLACKNESS); + PatBlt(hdc, x + 2, y, dx - 4, 1, BLACKNESS); + PatBlt(hdc, x + 2, y + dy - 1, dx - 4, 1, BLACKNESS); + SetPixel(hdc, x + 1, y + 1, 0); + SetPixel(hdc, x + dx - 2, y + 1, 0); + SetPixel(hdc, x + 1, y + dy - 2, 0); + SetPixel(hdc, x + dx - 2, y + dy - 2, 0); + } +#endif + } + if (bSaveEdges) + { + SetPixel(hdc, x, y, SavedPixels[0]); + SetPixel(hdc, x + 1, y, SavedPixels[1]); + SetPixel(hdc, x, y + 1, SavedPixels[2]); + SetPixel(hdc, x + dx - 1, y, SavedPixels[3]); + SetPixel(hdc, x + dx - 2, y, SavedPixels[4]); + SetPixel(hdc, x + dx - 1, y + 1, SavedPixels[5]); + SetPixel(hdc, x, y + dy - 1, SavedPixels[6]); + SetPixel(hdc, x + 1, y + dy - 1, SavedPixels[7]); + SetPixel(hdc, x, y + dy - 2, SavedPixels[8]); + SetPixel(hdc, x + dx - 1, y + dy - 1, SavedPixels[9]); + SetPixel(hdc, x + dx - 2, y + dy - 1, SavedPixels[10]); + SetPixel(hdc, x + dx - 1, y + dy - 2, SavedPixels[11]); + } + SetBkColor(hdc, OldBkColor); + DeleteDC(hdcCard); + } + + return TRUE; +} + + +/*********************************************************************** + * cdtAnimate (CARDS.@) + * + * Animate card background, we don't use it + */ +BOOL WINAPI cdtAnimate(HDC hdc, int cardback, int x, int y, int frame) +{ + return TRUE; +} + +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + if (fdwReason == DLL_PROCESS_ATTACH) + g_hModule = hinstDLL; + + return TRUE; +} diff --git a/reactos/lib/cards/cards.edf b/reactos/lib/cards/cards.edf new file mode 100644 index 00000000000..04212761272 --- /dev/null +++ b/reactos/lib/cards/cards.edf @@ -0,0 +1,8 @@ +LIBRARY cards.dll +EXPORTS +WEP=WEP@4 +cdtAnimate=cdtAnimate@20 +cdtDraw=cdtDraw@24 +cdtDrawExt=cdtDrawExt@32 +cdtInit=cdtInit@8 +cdtTerm=cdtTerm@0 diff --git a/reactos/lib/cards/cards.h b/reactos/lib/cards/cards.h new file mode 100644 index 00000000000..44ff4409277 --- /dev/null +++ b/reactos/lib/cards/cards.h @@ -0,0 +1,61 @@ +/* + * ReactOS Cards + * + * Copyright (C) 2003 Filip Navara + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _CARDS_H +#define _CARDS_H + +/* + * 52 card faces + + * 12 card backs + + * X Sign + + * O Sign + + * FreeCard + + * Joker + */ +#define MAX_CARD_BITMAPS 68 + +#define ectFACES 0 +#define ectBACKS 1 +#define ectINVERTED 2 +#define ectEMPTY 3 +#define ectERASE 4 +#define ectEMPTYNOBG 5 +#define ectREDX 6 +#define ectGREENO 7 +#define ectSAVEEDGESMASK 0x80000000 + +/* Microsoft card dimensions */ +/* +#define CARD_WIDTH 71 +#define CARD_HEIGHT 96 +*/ +/* Oxymoron's card dimensions */ +#define CARD_WIDTH 73 +#define CARD_HEIGHT 97 + +#define ISREDCARD(x) (x >= 13 && x <= 39) + +BOOL WINAPI cdtInit(int *width, int *height); +BOOL WINAPI cdtDraw(HDC hdc, int x, int y, int card, int type, DWORD color); +BOOL WINAPI cdtDrawExt(HDC hdc, int x, int y, int dx, int dy, int card, int suit, DWORD color); +BOOL WINAPI cdtAnimate(HDC hdc, int cardback, int x, int y, int frame); +void WINAPI cdtTerm(void); + +#endif /* _CARDS_H */ diff --git a/reactos/lib/cards/cards.rc b/reactos/lib/cards/cards.rc new file mode 100644 index 00000000000..1b5613610a5 --- /dev/null +++ b/reactos/lib/cards/cards.rc @@ -0,0 +1,115 @@ +/* + * ReactOS Cards + * + * Copyright (C) 2003 Filip Navara + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include + +1 BITMAP "res/Clubs_Ace.bmp" +2 BITMAP "res/Clubs_Two.bmp" +3 BITMAP "res/Clubs_Three.bmp" +4 BITMAP "res/Clubs_Four.bmp" +5 BITMAP "res/Clubs_Five.bmp" +6 BITMAP "res/Clubs_Six.bmp" +7 BITMAP "res/Clubs_Seven.bmp" +8 BITMAP "res/Clubs_Eight.bmp" +9 BITMAP "res/Clubs_Nine.bmp" +10 BITMAP "res/Clubs_Ten.bmp" +11 BITMAP "res/Clubs_Jack.bmp" +12 BITMAP "res/Clubs_Queen.bmp" +13 BITMAP "res/Clubs_King.bmp" +14 BITMAP "res/Diamonds_Ace.bmp" +15 BITMAP "res/Diamonds_Two.bmp" +16 BITMAP "res/Diamonds_Three.bmp" +17 BITMAP "res/Diamonds_Four.bmp" +18 BITMAP "res/Diamonds_Five.bmp" +19 BITMAP "res/Diamonds_Six.bmp" +20 BITMAP "res/Diamonds_Seven.bmp" +21 BITMAP "res/Diamonds_Eight.bmp" +22 BITMAP "res/Diamonds_Nine.bmp" +23 BITMAP "res/Diamonds_Ten.bmp" +24 BITMAP "res/Diamonds_Jack.bmp" +25 BITMAP "res/Diamonds_Queen.bmp" +26 BITMAP "res/Diamonds_King.bmp" +27 BITMAP "res/Hearts_Ace.bmp" +28 BITMAP "res/Hearts_Two.bmp" +29 BITMAP "res/Hearts_Three.bmp" +30 BITMAP "res/Hearts_Four.bmp" +31 BITMAP "res/Hearts_Five.bmp" +32 BITMAP "res/Hearts_Six.bmp" +33 BITMAP "res/Hearts_Seven.bmp" +34 BITMAP "res/Hearts_Eight.bmp" +35 BITMAP "res/Hearts_Nine.bmp" +36 BITMAP "res/Hearts_Ten.bmp" +37 BITMAP "res/Hearts_Jack.bmp" +38 BITMAP "res/Hearts_Queen.bmp" +39 BITMAP "res/Hearts_King.bmp" +40 BITMAP "res/Spades_Ace.bmp" +41 BITMAP "res/Spades_Two.bmp" +42 BITMAP "res/Spades_Three.bmp" +43 BITMAP "res/Spades_Four.bmp" +44 BITMAP "res/Spades_Five.bmp" +45 BITMAP "res/Spades_Six.bmp" +46 BITMAP "res/Spades_Seven.bmp" +47 BITMAP "res/Spades_Eight.bmp" +48 BITMAP "res/Spades_Nine.bmp" +49 BITMAP "res/Spades_Ten.bmp" +50 BITMAP "res/Spades_Jack.bmp" +51 BITMAP "res/Spades_Queen.bmp" +52 BITMAP "res/Spades_King.bmp" +53 BITMAP "res/FreeCard.bmp" +54 BITMAP "res/Background_1.bmp" +55 BITMAP "res/Background_1.bmp" +56 BITMAP "res/Background_1.bmp" +57 BITMAP "res/Background_1.bmp" +58 BITMAP "res/Background_1.bmp" +59 BITMAP "res/Background_1.bmp" +60 BITMAP "res/Background_1.bmp" +61 BITMAP "res/Background_1.bmp" +62 BITMAP "res/Background_1.bmp" +63 BITMAP "res/Background_1.bmp" +64 BITMAP "res/Background_1.bmp" +65 BITMAP "res/Background_1.bmp" +66 BITMAP "res/Joker.bmp" +67 BITMAP "res/XSign.bmp" +68 BITMAP "res/OSign.bmp" + + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +PRODUCTVERSION 5,1,2600,0 +FILEFLAGSMASK 0 +FILEFLAGS 0 +FILEOS 0x40004 +FILETYPE 0x2 +{ +BLOCK "StringFileInfo" +{ + BLOCK "040904B0" + { + VALUE "CompanyName", "ReactOS Team" + VALUE "FileDescription", "Cardplaying Helper DLL" + VALUE "FileVersion", "1.0" + VALUE "InternalName", "cards" + VALUE "LegalCopyright", "(c) 2003 ReactOS Team" + VALUE "OriginalFilename", "cards" + VALUE "ProductName", "ReactOS" + VALUE "ProductVersion", "5.1.2600.0" + } +} +} diff --git a/reactos/lib/cards/res/Background_1.bmp b/reactos/lib/cards/res/Background_1.bmp new file mode 100644 index 00000000000..9cdd6a3649e Binary files /dev/null and b/reactos/lib/cards/res/Background_1.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Ace.bmp b/reactos/lib/cards/res/Clubs_Ace.bmp new file mode 100644 index 00000000000..951ae73fecb Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Ace.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Eight.bmp b/reactos/lib/cards/res/Clubs_Eight.bmp new file mode 100644 index 00000000000..586478a0b9c Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Eight.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Five.bmp b/reactos/lib/cards/res/Clubs_Five.bmp new file mode 100644 index 00000000000..625851b89b8 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Five.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Four.bmp b/reactos/lib/cards/res/Clubs_Four.bmp new file mode 100644 index 00000000000..79da1a68464 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Four.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Jack.bmp b/reactos/lib/cards/res/Clubs_Jack.bmp new file mode 100644 index 00000000000..923b0b14508 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Jack.bmp differ diff --git a/reactos/lib/cards/res/Clubs_King.bmp b/reactos/lib/cards/res/Clubs_King.bmp new file mode 100644 index 00000000000..ca3d840b624 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_King.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Nine.bmp b/reactos/lib/cards/res/Clubs_Nine.bmp new file mode 100644 index 00000000000..4f796ad2043 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Nine.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Queen.bmp b/reactos/lib/cards/res/Clubs_Queen.bmp new file mode 100644 index 00000000000..7f4fbed20a4 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Queen.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Seven.bmp b/reactos/lib/cards/res/Clubs_Seven.bmp new file mode 100644 index 00000000000..c5697e2063a Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Seven.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Six.bmp b/reactos/lib/cards/res/Clubs_Six.bmp new file mode 100644 index 00000000000..301e7498784 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Six.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Ten.bmp b/reactos/lib/cards/res/Clubs_Ten.bmp new file mode 100644 index 00000000000..38ad58f5bea Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Ten.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Three.bmp b/reactos/lib/cards/res/Clubs_Three.bmp new file mode 100644 index 00000000000..8a2dfa52174 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Three.bmp differ diff --git a/reactos/lib/cards/res/Clubs_Two.bmp b/reactos/lib/cards/res/Clubs_Two.bmp new file mode 100644 index 00000000000..e1066aed350 Binary files /dev/null and b/reactos/lib/cards/res/Clubs_Two.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Ace.bmp b/reactos/lib/cards/res/Diamonds_Ace.bmp new file mode 100644 index 00000000000..27ba5b43dc5 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Ace.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Eight.bmp b/reactos/lib/cards/res/Diamonds_Eight.bmp new file mode 100644 index 00000000000..b156af449f1 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Eight.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Five.bmp b/reactos/lib/cards/res/Diamonds_Five.bmp new file mode 100644 index 00000000000..d7b7e7cac9c Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Five.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Four.bmp b/reactos/lib/cards/res/Diamonds_Four.bmp new file mode 100644 index 00000000000..77b234e3096 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Four.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Jack.bmp b/reactos/lib/cards/res/Diamonds_Jack.bmp new file mode 100644 index 00000000000..31f7bebbc8c Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Jack.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_King.bmp b/reactos/lib/cards/res/Diamonds_King.bmp new file mode 100644 index 00000000000..b791a550e4b Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_King.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Nine.bmp b/reactos/lib/cards/res/Diamonds_Nine.bmp new file mode 100644 index 00000000000..7be3f3f6866 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Nine.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Queen.bmp b/reactos/lib/cards/res/Diamonds_Queen.bmp new file mode 100644 index 00000000000..03c79ca9aa5 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Queen.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Seven.bmp b/reactos/lib/cards/res/Diamonds_Seven.bmp new file mode 100644 index 00000000000..14ee716eee8 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Seven.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Six.bmp b/reactos/lib/cards/res/Diamonds_Six.bmp new file mode 100644 index 00000000000..8724bf1f2a5 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Six.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Ten.bmp b/reactos/lib/cards/res/Diamonds_Ten.bmp new file mode 100644 index 00000000000..4890c6d89d5 Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Ten.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Three.bmp b/reactos/lib/cards/res/Diamonds_Three.bmp new file mode 100644 index 00000000000..97cf6d6de5d Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Three.bmp differ diff --git a/reactos/lib/cards/res/Diamonds_Two.bmp b/reactos/lib/cards/res/Diamonds_Two.bmp new file mode 100644 index 00000000000..7f2c1272b8d Binary files /dev/null and b/reactos/lib/cards/res/Diamonds_Two.bmp differ diff --git a/reactos/lib/cards/res/FreeCard.bmp b/reactos/lib/cards/res/FreeCard.bmp new file mode 100644 index 00000000000..984b0adb66a Binary files /dev/null and b/reactos/lib/cards/res/FreeCard.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Ace.bmp b/reactos/lib/cards/res/Hearts_Ace.bmp new file mode 100644 index 00000000000..c3a23cff830 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Ace.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Eight.bmp b/reactos/lib/cards/res/Hearts_Eight.bmp new file mode 100644 index 00000000000..2d2a67d9437 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Eight.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Five.bmp b/reactos/lib/cards/res/Hearts_Five.bmp new file mode 100644 index 00000000000..5ed15b2a0bf Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Five.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Four.bmp b/reactos/lib/cards/res/Hearts_Four.bmp new file mode 100644 index 00000000000..c0242d8db2f Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Four.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Jack.bmp b/reactos/lib/cards/res/Hearts_Jack.bmp new file mode 100644 index 00000000000..49f208239ca Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Jack.bmp differ diff --git a/reactos/lib/cards/res/Hearts_King.bmp b/reactos/lib/cards/res/Hearts_King.bmp new file mode 100644 index 00000000000..c1659d27154 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_King.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Nine.bmp b/reactos/lib/cards/res/Hearts_Nine.bmp new file mode 100644 index 00000000000..8d1ddb840f0 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Nine.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Queen.bmp b/reactos/lib/cards/res/Hearts_Queen.bmp new file mode 100644 index 00000000000..71746cb983a Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Queen.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Seven.bmp b/reactos/lib/cards/res/Hearts_Seven.bmp new file mode 100644 index 00000000000..c068878f614 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Seven.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Six.bmp b/reactos/lib/cards/res/Hearts_Six.bmp new file mode 100644 index 00000000000..c45367ec601 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Six.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Ten.bmp b/reactos/lib/cards/res/Hearts_Ten.bmp new file mode 100644 index 00000000000..1b3e44d19f0 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Ten.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Three.bmp b/reactos/lib/cards/res/Hearts_Three.bmp new file mode 100644 index 00000000000..cef34609e93 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Three.bmp differ diff --git a/reactos/lib/cards/res/Hearts_Two.bmp b/reactos/lib/cards/res/Hearts_Two.bmp new file mode 100644 index 00000000000..9342a9c4d03 Binary files /dev/null and b/reactos/lib/cards/res/Hearts_Two.bmp differ diff --git a/reactos/lib/cards/res/Joker.bmp b/reactos/lib/cards/res/Joker.bmp new file mode 100644 index 00000000000..1e2b495866b Binary files /dev/null and b/reactos/lib/cards/res/Joker.bmp differ diff --git a/reactos/lib/cards/res/OSign.bmp b/reactos/lib/cards/res/OSign.bmp new file mode 100644 index 00000000000..e1da1378bdb Binary files /dev/null and b/reactos/lib/cards/res/OSign.bmp differ diff --git a/reactos/lib/cards/res/Spades_Ace.bmp b/reactos/lib/cards/res/Spades_Ace.bmp new file mode 100644 index 00000000000..be1f61afd57 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Ace.bmp differ diff --git a/reactos/lib/cards/res/Spades_Eight.bmp b/reactos/lib/cards/res/Spades_Eight.bmp new file mode 100644 index 00000000000..46dbf26a8ac Binary files /dev/null and b/reactos/lib/cards/res/Spades_Eight.bmp differ diff --git a/reactos/lib/cards/res/Spades_Five.bmp b/reactos/lib/cards/res/Spades_Five.bmp new file mode 100644 index 00000000000..3778d09b037 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Five.bmp differ diff --git a/reactos/lib/cards/res/Spades_Four.bmp b/reactos/lib/cards/res/Spades_Four.bmp new file mode 100644 index 00000000000..17c9385b2f8 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Four.bmp differ diff --git a/reactos/lib/cards/res/Spades_Jack.bmp b/reactos/lib/cards/res/Spades_Jack.bmp new file mode 100644 index 00000000000..508be3d5575 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Jack.bmp differ diff --git a/reactos/lib/cards/res/Spades_King.bmp b/reactos/lib/cards/res/Spades_King.bmp new file mode 100644 index 00000000000..d0992ad8a53 Binary files /dev/null and b/reactos/lib/cards/res/Spades_King.bmp differ diff --git a/reactos/lib/cards/res/Spades_Nine.bmp b/reactos/lib/cards/res/Spades_Nine.bmp new file mode 100644 index 00000000000..72a19bc86cc Binary files /dev/null and b/reactos/lib/cards/res/Spades_Nine.bmp differ diff --git a/reactos/lib/cards/res/Spades_Queen.bmp b/reactos/lib/cards/res/Spades_Queen.bmp new file mode 100644 index 00000000000..a5627f8c49e Binary files /dev/null and b/reactos/lib/cards/res/Spades_Queen.bmp differ diff --git a/reactos/lib/cards/res/Spades_Seven.bmp b/reactos/lib/cards/res/Spades_Seven.bmp new file mode 100644 index 00000000000..3afe69e63f5 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Seven.bmp differ diff --git a/reactos/lib/cards/res/Spades_Six.bmp b/reactos/lib/cards/res/Spades_Six.bmp new file mode 100644 index 00000000000..7f9c489d471 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Six.bmp differ diff --git a/reactos/lib/cards/res/Spades_Ten.bmp b/reactos/lib/cards/res/Spades_Ten.bmp new file mode 100644 index 00000000000..06d3ff30138 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Ten.bmp differ diff --git a/reactos/lib/cards/res/Spades_Three.bmp b/reactos/lib/cards/res/Spades_Three.bmp new file mode 100644 index 00000000000..f2f8328f10d Binary files /dev/null and b/reactos/lib/cards/res/Spades_Three.bmp differ diff --git a/reactos/lib/cards/res/Spades_Two.bmp b/reactos/lib/cards/res/Spades_Two.bmp new file mode 100644 index 00000000000..a271ccf5ff8 Binary files /dev/null and b/reactos/lib/cards/res/Spades_Two.bmp differ diff --git a/reactos/lib/cards/res/XSign.bmp b/reactos/lib/cards/res/XSign.bmp new file mode 100644 index 00000000000..3e1eb3b1690 Binary files /dev/null and b/reactos/lib/cards/res/XSign.bmp differ