summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2006-02-05 01:58:10 +0000
committerDave Chapman <dave@dchapman.com>2006-02-05 01:58:10 +0000
commitf9df934d9066488357c2020f0fda3a659b4b0a3b (patch)
tree8000bf0d76d6cc175a31857871c20358aa888fd7
parentf3857abf6bdc9b2d570150b98c56e239ac4ebd1b (diff)
downloadrockbox-f9df934d9066488357c2020f0fda3a659b4b0a3b.tar.gz
rockbox-f9df934d9066488357c2020f0fda3a659b4b0a3b.zip
Minor cleaning - move card back bitmap to external bmp file, and define card size based on LCD size, not keypad type
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8576 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/bitmaps/native/SOURCES5
-rw-r--r--apps/plugins/bitmaps/native/solitaire_cardback.220x176x16.bmpbin0 -> 2694 bytes
-rw-r--r--apps/plugins/solitaire.c121
3 files changed, 19 insertions, 107 deletions
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 15b1c46237..163482a6ae 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -1,5 +1,10 @@
1#ifdef HAVE_LCD_BITMAP 1#ifdef HAVE_LCD_BITMAP
2 2
3/* Solitaire */
4#ifdef HAVE_LCD_COLOR
5solitaire_cardback.220x176x16.bmp
6#endif
7
3/* Sudoku */ 8/* Sudoku */
4#if (LCD_WIDTH == 112) && (LCD_HEIGHT==64) && (LCD_DEPTH == 1) 9#if (LCD_WIDTH == 112) && (LCD_HEIGHT==64) && (LCD_DEPTH == 1)
5sudoku_start.112x64x1.bmp 10sudoku_start.112x64x1.bmp
diff --git a/apps/plugins/bitmaps/native/solitaire_cardback.220x176x16.bmp b/apps/plugins/bitmaps/native/solitaire_cardback.220x176x16.bmp
new file mode 100644
index 0000000000..1810d18ce3
--- /dev/null
+++ b/apps/plugins/bitmaps/native/solitaire_cardback.220x176x16.bmp
Binary files differ
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 33ac536267..83f203c4aa 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -196,109 +196,13 @@ static const unsigned colors[4] = {
196 196
197#define BMPHEIGHT_c 10 197#define BMPHEIGHT_c 10
198#define BMPWIDTH_c 8 198#define BMPWIDTH_c 8
199#define BMPHEIGHT_BACKSIDE 33 199
200#define BMPWIDTH_BACKSIDE 26 200#ifdef HAVE_LCD_COLOR
201 201#define BMPHEIGHT_CARDBACK 33
202static const unsigned short backside[33*26] = { 202#define BMPWIDTH_CARDBACK 26
2030x9572, 0xdf3a, 0xdf3a, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 203
2040xdf3a, 0xdf3a, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 0xdf39, 204extern const fb_data solitaire_cardback[];
2050xdf39, 0xdf39, 0xdf39, 0xdf3a, 0xdf3a, 0x9572, 205#endif
2060xe77b, 0xfffc, 0xffbc, 0xfffd, 0xfffd, 0xfffc, 0xfffc, 0xfffd, 0xfffd, 0xfffc,
2070xfffc, 0xfffc, 0xfffd, 0xfffc, 0xfffc, 0xfffd, 0xfffc, 0xfffc, 0xfffc, 0xfffd,
2080xfffd, 0xfffd, 0xfffd, 0xffbc, 0xfffc, 0xe73a,
2090xdf3a, 0xfffb, 0xf7bc, 0xc639, 0xbdf9, 0xc63a, 0xc67a, 0xc67b, 0xc63a, 0xbe3a,
2100xc639, 0xbe39, 0xbe3a, 0xbe3a, 0xbe3a, 0xc63b, 0xbe3a, 0xc63a, 0xc63a, 0xb5fa,
2110xb5f9, 0xb5f9, 0xc63b, 0xf77c, 0xf7fc, 0xe6fa,
2120xdefa, 0xfffc, 0xc679, 0x6bd4, 0x5b54, 0x6394, 0x5b54, 0x6c34, 0x7433, 0x7435,
2130x7c34, 0x9536, 0x7c35, 0x7c35, 0x8cb5, 0x7434, 0x8474, 0x7c74, 0x8cf5, 0x7434,
2140x8475, 0x7c75, 0x6b93, 0xc63a, 0xfffc, 0xe6f9,
2150xdefa, 0xfffd, 0xc6ba, 0x6395, 0x42d3, 0x7c77, 0x7436, 0x73d5, 0x5b11, 0x8cb6,
2160xa578, 0x7c35, 0xadb9, 0xadb8, 0x6bd4, 0x9537, 0x84b6, 0x5312, 0x5b53, 0x7436,
2170x9538, 0x7436, 0x5b94, 0xc67b, 0xfffd, 0xdefa,
2180xdefa, 0xfffc, 0xce7a, 0x6bd5, 0x5311, 0x73d4, 0x94f7, 0xa5b8, 0x7435, 0x9538,
2190x84b6, 0x190d, 0x7c35, 0x94f7, 0x088d, 0x7c76, 0x84b7, 0x7c75, 0x8cb6, 0xadb9,
2200x7c35, 0x7436, 0x6bd3, 0xce7b, 0xfffd, 0xdefa,
2210xdf39, 0xfffd, 0xceba, 0x63d5, 0x6bd5, 0x31cf, 0x8476, 0xa577, 0x84b7, 0x5b54,
2220x7436, 0x6b94, 0x84b5, 0x9d38, 0x7394, 0x7c37, 0x84b7, 0x84b7, 0xa578, 0x9d77,
2230x31cf, 0x6bd5, 0x6bd4, 0xcebb, 0xfffc, 0xdefa,
2240xdf3a, 0xfffc, 0xce7a, 0x6c35, 0x7c76, 0x9537, 0xa5b9, 0x6b94, 0x5291, 0x4ad2,
2250x7c35, 0x9537, 0x6394, 0x5353, 0x9578, 0x8cb6, 0x5b13, 0x3a11, 0x5b13, 0x9538,
2260x9539, 0x7434, 0x7434, 0xce7a, 0xfffc, 0xe6fa,
2270xdf3a, 0xfffd, 0xc67a, 0x6394, 0x84b7, 0x7c75, 0xa578, 0x94f7, 0x8cb6, 0x94f6,
2280xa5b8, 0x5b12, 0x4b13, 0x4b13, 0x4291, 0xa5b9, 0x6bd4, 0x73d5, 0x7c34, 0xa578,
2290x6bd5, 0x7c75, 0x6b94, 0xc67a, 0xfffd, 0xdefa,
2300xdf3a, 0xfffd, 0xc67a, 0x63d4, 0x7c76, 0x320f, 0xc67b, 0xadf9, 0x5b52, 0xadba,
2310x5b53, 0x6bd4, 0x4b13, 0x6bd5, 0x6bd5, 0x52d2, 0xbe7b, 0x4a91, 0x94f7, 0xbe7b,
2320x320f, 0x7c35, 0x6b94, 0xc67a, 0xfffd, 0xdefa,
2330xdf3a, 0xfffd, 0xbe39, 0x6bd5, 0x84b7, 0x9537, 0xb5f9, 0x6352, 0xbe3b, 0x6393,
2340x4ad4, 0x73d5, 0x6395, 0x6bd5, 0x84b6, 0x52d3, 0x7c76, 0xbe3a, 0x5ad2, 0x8477,
2350x6bd5, 0x84b6, 0x73d5, 0xbe39, 0xfffd, 0xdefa,
2360xdf3a, 0xfffc, 0xc639, 0x7cb6, 0x8cf6, 0xa578, 0x4ad0, 0xc63a, 0x7c74, 0x7475,
2370x84b8, 0x3a51, 0x3210, 0x4292, 0x4250, 0x9d79, 0x7c77, 0x7435, 0xbe3a, 0x424f,
2380x84b8, 0x84b6, 0x84b6, 0xc63a, 0xfffd, 0xdefb,
2390xdf3a, 0xfffd, 0xc63a, 0x6bd5, 0x7c75, 0x4ad0, 0xb5fa, 0x9d38, 0x8cf6, 0x6353,
2400x5313, 0x6395, 0x7c77, 0x7c76, 0x7436, 0x6bd4, 0x5b52, 0xa5b9, 0xb5fa, 0xbdf9,
2410x4a91, 0x7435, 0x6c34, 0xc63a, 0xfffe, 0xdefb,
2420xdf3a, 0xfffd, 0xbe39, 0x7c76, 0x8cb6, 0xb639, 0x9d78, 0x7c35, 0x52d2, 0x2990,
2430x9538, 0xbe3b, 0x9d78, 0xadfa, 0xb63c, 0xadb9, 0x73d5, 0x5b13, 0x6353, 0x9d38,
2440xadf9, 0x8cb5, 0x7c75, 0xbe39, 0xfffd, 0xdefb,
2450xdf3b, 0xfffe, 0xbdf9, 0x5312, 0xadfa, 0x9d78, 0x3a51, 0x9d78, 0x4251, 0x84b8,
2460x7c75, 0x8d37, 0x7cb7, 0x7476, 0x84f7, 0x9d37, 0xcebc, 0x6bd4, 0x94f7, 0x5b53,
2470x94f6, 0xadf8, 0x5b13, 0xb5f9, 0xfffd, 0xdefa,
2480xdf3b, 0xffff, 0xb5f9, 0x63d5, 0x8cf8, 0x4ad2, 0x4ad4, 0x6c35, 0x4293, 0x9d78,
2490x7cb7, 0x6435, 0x5b55, 0x4b13, 0x63d4, 0x9537, 0x9d37, 0x84b7, 0x63d4, 0x84b7,
2500x4292, 0x8cb6, 0x6bd4, 0xb5f9, 0xfffd, 0xdefa,
2510xdf3b, 0xffff, 0xadf9, 0x5b54, 0x7c77, 0x6c35, 0x42d4, 0x218f, 0x4292, 0x9537,
2520x8d38, 0x5354, 0x7475, 0x9538, 0x5b94, 0x7c76, 0x9537, 0x84b8, 0x114e, 0x4b13,
2530x5315, 0x7c76, 0x6353, 0xb5b9, 0xfffd, 0xdefa,
2540xdf3b, 0xffff, 0xb5f9, 0x6395, 0x8cf8, 0x6bd4, 0x5313, 0x7cb6, 0x4ad3, 0xb63b,
2550x8cf7, 0x7436, 0x6c35, 0x6bd6, 0x7cb7, 0xadba, 0xadb8, 0x8477, 0x7435, 0x7435,
2560x4ad2, 0x7cb6, 0x6b95, 0xb5fa, 0xfffc, 0xdefa,
2570xdf3b, 0xffff, 0xadb8, 0x5b53, 0xadfa, 0xb63a, 0x42d2, 0x8cf7, 0x29cf, 0x7c77,
2580x8cb6, 0x7cb6, 0x7436, 0x7435, 0x9538, 0x84b6, 0xa5ba, 0x4a91, 0x84b7, 0x4b12,
2590x8cf7, 0xb63a, 0x5b53, 0xadb8, 0xfffd, 0xdefa,
2600xdf3b, 0xffff, 0xadf9, 0x5353, 0x7cb6, 0x9d36, 0xadfa, 0x6393, 0x5b53, 0x194f,
2610x6395, 0x8d38, 0x9538, 0x9537, 0xa5b9, 0x9539, 0x4a92, 0x4291, 0x6352, 0x8476,
2620xa578, 0x7435, 0x5b53, 0xadb9, 0xfffd, 0xdefa,
2630xdf3b, 0xffff, 0xb5f9, 0x6394, 0x8cf7, 0x4ad1, 0xadb9, 0xa5f9, 0x84b6, 0x6b94,
2640x4a92, 0x31d0, 0x5b55, 0x5314, 0x4252, 0x4a92, 0x52d2, 0x94f8, 0x9d78, 0xb5f9,
2650x5ad2, 0x8477, 0x6b95, 0xb5b9, 0xfffc, 0xdefa,
2660xdf3b, 0xffff, 0xadb9, 0x5354, 0x84f8, 0x7435, 0x4292, 0xadb8, 0x8475, 0x5b53,
2670x7c77, 0x3a93, 0x29d1, 0x4b13, 0x3a51, 0x6bd5, 0x6355, 0x5312, 0xa5b8, 0x4a91,
2680x84b7, 0x7cb6, 0x5b54, 0xadb9, 0xfffc, 0xdefa,
2690xdf3b, 0xffff, 0xadb8, 0x6394, 0x8cf8, 0x6393, 0xa57a, 0x6352, 0xbe7b, 0x7c75,
2700x2a10, 0x5b54, 0x4ad4, 0x5353, 0x5b54, 0x4292, 0x6354, 0xadb9, 0x5b12, 0xa5b9,
2710x6394, 0x7c76, 0x6394, 0xadb8, 0xfffd, 0xdefa,
2720xdf3b, 0xffff, 0xb5f9, 0x6c35, 0x8cf7, 0x31cf, 0x9578, 0x84b7, 0x4a91, 0xadf9,
2730x5b53, 0x5b94, 0x4293, 0x4b53, 0x5b55, 0x4291, 0xa5b8, 0x6352, 0x7c36, 0xc6bb,
2740x4a91, 0x6b95, 0x7436, 0xb5b9, 0xfffd, 0xdefa,
2750xdf3b, 0xffff, 0xb5f8, 0x5b53, 0x9539, 0x7435, 0x6bd5, 0x6bd5, 0x7c75, 0x6b94,
2760xadb9, 0x6bd4, 0x2a11, 0x2a11, 0x3a51, 0x84b6, 0x7434, 0x8476, 0x73d4, 0xa5b9,
2770x7435, 0x7476, 0x6394, 0xadb9, 0xfffd, 0xdefa,
2780xdf3b, 0xffff, 0xb5f9, 0x6bd4, 0x9539, 0x9d38, 0x6bd6, 0x5313, 0x4291, 0x4ad2,
2790x94f6, 0xd6fd, 0x5b52, 0x5353, 0x8cb7, 0x9538, 0x5b53, 0x4292, 0x5b52, 0x9537,
2800xb5fa, 0x7c36, 0x6c35, 0xb5f9, 0xfffd, 0xdefa,
2810xdf3b, 0xffff, 0xb5f8, 0x7434, 0x84b7, 0x298e, 0x8cf6, 0xadf9, 0x9538, 0xadf9,
2820x9d78, 0x5312, 0xadb9, 0xadf9, 0x6bd4, 0x6395, 0x8cf7, 0x7435, 0x9d77, 0xa578,
2830x3a10, 0x6394, 0x7c75, 0xb5f9, 0xfffd, 0xdefa,
2840xdf3b, 0xffff, 0xbe39, 0x63d5, 0x6394, 0x84b6, 0xa5b8, 0x84b7, 0x6353, 0xa5b8,
2850x8cf7, 0x008c, 0x6b93, 0xadb9, 0x190d, 0x7476, 0xadfa, 0x6c35, 0x8cf7, 0xbe3a,
2860x6393, 0x7c75, 0x63d5, 0xb63a, 0xfffd, 0xdefa,
2870xdf3b, 0xffff, 0xb5f9, 0x5354, 0x6354, 0x94f8, 0x5b54, 0x63d4, 0x5b93, 0x84b7,
2880xa578, 0x7434, 0xadb9, 0xb5f9, 0x8cb6, 0x9d78, 0x9537, 0x5b93, 0x6bd5, 0x84b6,
2890x8cf7, 0x84b6, 0x5353, 0xb639, 0xfffd, 0xdefa,
2900xdf3a, 0xfffe, 0xbdf8, 0x63d4, 0x5b53, 0x6394, 0x6354, 0x7434, 0x7433, 0x7435,
2910x7433, 0x9537, 0x7c35, 0x7c34, 0x84b4, 0x7433, 0x7c74, 0x7474, 0x84b5, 0x73d4,
2920x8476, 0x7c35, 0x6393, 0xbe38, 0xfffd, 0xdefa,
2930xdf3a, 0xffbc, 0xf7bc, 0xc67a, 0xbe3a, 0xc67a, 0xc67b, 0xce7a, 0xc67a, 0xc63a,
2940xc67a, 0xc67a, 0xc63a, 0xc63b, 0xc67a, 0xc67a, 0xc63a, 0xc67a, 0xc63a, 0xbdf9,
2950xbdf9, 0xb5f9, 0xc67a, 0xf7bc, 0xfffc, 0xdefa,
2960xdf7b, 0xfffc, 0xffbc, 0xfffc, 0xfffd, 0xfffc, 0xfffc, 0xfffc, 0xfffd, 0xfffd,
2970xfffd, 0xfffc, 0xfffc, 0xfffc, 0xfffc, 0xfffd, 0xfffc, 0xfffb, 0xfffd, 0xfffd,
2980xfffc, 0xfffc, 0xfffd, 0xfffc, 0xfffc, 0xdefa,
2990x9572, 0xe73b, 0xdefa, 0xdefa, 0xdefa, 0xdefa, 0xdefa, 0xdefa, 0xdefa, 0xdefa,
3000xdefa, 0xdefa, 0xe6fa, 0xe6fa, 0xdefa, 0xdefa, 0xdefa, 0xdefa, 0xdefa, 0xdefa,
3010xdefa, 0xdefa, 0xdefa, 0xdefa, 0xe73a, 0xd6b9};
302 206
303static const unsigned char suitsi[4][30] = { 207static const unsigned char suitsi[4][30] = {
304 {0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x7f, 0x7f, 0x7f, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x00}, 208 {0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x07, 0x0f, 0x1f, 0x1f, 0x0f, 0x7f, 0x7f, 0x7f, 0x0f, 0x1f, 0x1f, 0x0f, 0x07, 0x00},
@@ -371,7 +275,7 @@ static unsigned char numbers[13][16] = {
371 275
372 276
373/* size of a card on the screen */ 277/* size of a card on the screen */
374#if (CONFIG_KEYPAD == IRIVER_H300_PAD) 278#if (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176)
375#define CARD_WIDTH 26 279#define CARD_WIDTH 26
376#define CARD_HEIGHT 34 280#define CARD_HEIGHT 34
377#else 281#else
@@ -382,7 +286,7 @@ static unsigned char numbers[13][16] = {
382/* where the cards start */ 286/* where the cards start */
383#define CARD_START CARD_HEIGHT +4 287#define CARD_START CARD_HEIGHT +4
384 288
385#if (CONFIG_KEYPAD == IRIVER_H300_PAD) 289#if (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176)
386#define KNOWN_CARD 23 290#define KNOWN_CARD 23
387#define NOT_KNOWN_CARD 30 291#define NOT_KNOWN_CARD 30
388#else 292#else
@@ -1061,7 +965,9 @@ int solitaire(void){
1061#endif 965#endif
1062 } else { 966 } else {
1063#ifdef HAVE_LCD_COLOR 967#ifdef HAVE_LCD_COLOR
1064 rb->lcd_bitmap(backside, 1+i*(LCD_WIDTH - 2)/COL_NUM+1, j+1, BMPWIDTH_BACKSIDE, BMPHEIGHT_BACKSIDE); 968 rb->lcd_bitmap(solitaire_cardback,
969 1+i*(LCD_WIDTH - 2)/COL_NUM+1, j+1,
970 BMPWIDTH_CARDBACK, BMPHEIGHT_CARDBACK);
1065#endif 971#endif
1066 } 972 }
1067 /* draw top line of the card */ 973 /* draw top line of the card */
@@ -1276,7 +1182,8 @@ int solitaire(void){
1276 } 1182 }
1277 if(rem != NOT_A_CARD){ 1183 if(rem != NOT_A_CARD){
1278#ifdef HAVE_LCD_COLOR 1184#ifdef HAVE_LCD_COLOR
1279 rb->lcd_bitmap(backside, 2, 2, BMPWIDTH_BACKSIDE, BMPHEIGHT_BACKSIDE); 1185 rb->lcd_bitmap(solitaire_cardback, 2, 2,
1186 BMPWIDTH_CARDBACK, BMPHEIGHT_CARDBACK);
1280#endif 1187#endif
1281 } 1188 }
1282 } 1189 }