From e824805f4217a4a6b702a5845c6e25422984e9b5 Mon Sep 17 00:00:00 2001 From: Adam Boot Date: Wed, 15 Feb 2006 22:32:57 +0000 Subject: [PATCH] Bejeweled: speed fixes, graphics enhancements, and use external bitmaps git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8697 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/bitmaps/native/SOURCES | 17 + .../bitmaps/native/jewels.112x64x1.bmp | Bin 0 -> 318 bytes .../bitmaps/native/jewels.160x128x1.bmp | Bin 0 -> 574 bytes .../bitmaps/native/jewels.160x128x16.bmp | Bin 0 -> 6200 bytes .../bitmaps/native/jewels.220x176x16.bmp | Bin 0 -> 12024 bytes .../bitmaps/native/jewels.320x240x16.bmp | Bin 0 -> 22136 bytes apps/plugins/jewels.c | 1894 +++-------------- 7 files changed, 333 insertions(+), 1578 deletions(-) create mode 100644 apps/plugins/bitmaps/native/jewels.112x64x1.bmp create mode 100644 apps/plugins/bitmaps/native/jewels.160x128x1.bmp create mode 100644 apps/plugins/bitmaps/native/jewels.160x128x16.bmp create mode 100644 apps/plugins/bitmaps/native/jewels.220x176x16.bmp create mode 100644 apps/plugins/bitmaps/native/jewels.320x240x16.bmp diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES index 163482a6ae..5e35666a32 100644 --- a/apps/plugins/bitmaps/native/SOURCES +++ b/apps/plugins/bitmaps/native/SOURCES @@ -1,5 +1,22 @@ #ifdef HAVE_LCD_BITMAP +/* Bejeweled */ +#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) +bejeweled_jewels.112x64x1.bmp +#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64) +bejeweled_jewels.112x64x1.bmp +#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR) +bejeweled_jewels.160x128x1.bmp +#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && defined(HAVE_LCD_COLOR) +bejeweled_jewels.160x128x16.bmp +#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132) +bejeweled_jewels.160x128x16.bmp +#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) +bejeweled_jewels.220x176x16.bmp +#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) +bejeweled_jewels.320x240x16.bmp +#endif + /* Solitaire */ #ifdef HAVE_LCD_COLOR solitaire_cardback.220x176x16.bmp diff --git a/apps/plugins/bitmaps/native/jewels.112x64x1.bmp b/apps/plugins/bitmaps/native/jewels.112x64x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..447df6d1da4372ce3ef1ced77f6d788ccc2d6be1 GIT binary patch literal 318 zcmajZu?@m75J1sOhnR#ZEQ>xnc>qR0tU@S}SRqJ=nu>yg!u%g%r9r~c^WFL6oVR`I zVp@rPgEcZbzG=@v jUc2kLedi@OZ^RkC$9J{)5At1(IKpV%<`?o`y!+1wX!&1& literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/jewels.160x128x1.bmp b/apps/plugins/bitmaps/native/jewels.160x128x1.bmp new file mode 100644 index 0000000000000000000000000000000000000000..0417362a8bbf828c29f4db2fd729fe4ce725948e GIT binary patch literal 574 zcmbu5Jr06E5Jo?>u+$sadJ0VJJ(F5das;koVnN9jOeiSP&}d>@=dny6#>Tktc6XTh z=7;SrnW|ff?Q3Ic9E^!Q-Rk|(81@i??Cp5j`P@tQjdWc}mxXkiM-DT~*K@S*v3hj?n!n?tWK)??(^6Xh8a%u`2%C^Kle923$?%i literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/jewels.160x128x16.bmp b/apps/plugins/bitmaps/native/jewels.160x128x16.bmp new file mode 100644 index 0000000000000000000000000000000000000000..5d9606d012713fe91ab89b0e2d034336bb2ade48 GIT binary patch literal 6200 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 mlP5kg_kelHlQ?= 176) && (LCD_WIDTH >= 220) && \ - (LCD_PIXELFORMAT == RGB565SWAPPED) -/* size of a tile */ -#define TILE_WIDTH 22 -#define TILE_HEIGHT 22 - -/* playboard offset from top */ -#define YOFS 0 - -/* number of high scores to save */ -#define NUM_SCORES 10 - -/* bitmaps for the jewels */ -static unsigned short jewel[8][484] = { - /* empty */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* white jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf7bd, 0xe739, 0xe739, 0xf7bd, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xd7bd, 0xc739, 0x4108, 0x1084, - 0x2c63, 0x4108, 0xc739, 0xf7bd, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xd7bd, 0xa631, 0x6108, 0x1084, 0x59ce, 0x79ce, 0x718c, 0x9294, - 0x4d6b, 0x4108, 0xa631, 0xd7bd, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xbef7, 0xa631, 0x6108, 0x1084, - 0x59ce, 0x79ce, 0x79ce, 0x79ce, 0x718c, 0x718c, 0x718c, 0x9294, - 0x6d6b, 0x6108, 0xe739, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xf39c, 0x6529, 0x59ce, 0xbad6, 0xbad6, 0xbad6, - 0xbad6, 0xbad6, 0xb294, 0xd39c, 0x14a5, 0x55ad, 0x96b5, 0x55ad, - 0x6108, 0x96b5, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x4529, 0xd39c, 0x1ce7, 0x1ce7, 0x1ce7, 0x1ce7, 0x1ce7, 0x1ce7, - 0x14a5, 0xd39c, 0xd39c, 0x34a5, 0x96b5, 0xf7bd, 0xcb5a, 0xe739, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, 0x6108, 0xfbde, - 0x3ce7, 0x5def, 0x5def, 0x5def, 0x3ce7, 0x3ce7, 0x75ad, 0x34a5, - 0xf39c, 0xf39c, 0x55ad, 0xb6b5, 0x75ad, 0x2000, 0x79ce, 0xffff, - 0xffff, 0xffff, 0xffff, 0x8a52, 0xcf7b, 0x5def, 0x3ce7, 0x3ce7, - 0x3ce7, 0x3ce7, 0x3ce7, 0x5def, 0xd7bd, 0x96b5, 0x34a5, 0xd39c, - 0xf39c, 0x75ad, 0xd7bd, 0xcb5a, 0xeb5a, 0xffff, 0xffff, 0xffff, - 0x1ce7, 0x2000, 0x9ad6, 0x3ce7, 0x1ce7, 0x1ce7, 0xfbde, 0x1ce7, - 0x1ce7, 0x3ce7, 0xf7bd, 0xd7bd, 0x75ad, 0x14a5, 0xd39c, 0x34a5, - 0xb6b5, 0x95b5, 0x2000, 0x5def, 0xffff, 0xffff, 0xcf7b, 0x8a52, - 0x3ce7, 0x1ce7, 0xfbde, 0xfbde, 0xdbde, 0xdbde, 0xfbde, 0x1ce7, - 0xb6b5, 0x18c6, 0xb6b5, 0x55ad, 0xf7bd, 0x34a5, 0xb6b5, 0xb6b5, - 0x694a, 0xef7b, 0xffff, 0xffff, 0xc318, 0xb294, 0x9ad6, 0x59ce, - 0x18c6, 0x38c6, 0x38c6, 0x38c6, 0x18c6, 0x38c6, 0x18c6, 0x59ce, - 0x79ce, 0x18c6, 0xdbde, 0x38c6, 0x95b5, 0xd6b5, 0x518c, 0xc318, - 0xffff, 0xffff, 0x2c63, 0x0842, 0x75ad, 0xf39c, 0xf39c, 0x55ad, - 0x96b5, 0x75ad, 0x14a5, 0xd39c, 0xfbde, 0x3ce7, 0x5def, 0x1ce7, - 0x9def, 0xdbde, 0x96b5, 0xd7bd, 0x2842, 0x0c63, 0xffff, 0xffff, - 0xdbde, 0x2000, 0x9294, 0xd39c, 0x14a5, 0x96b5, 0xf7bd, 0xb6b5, - 0x34a5, 0xb294, 0xfbde, 0x3ce7, 0x5def, 0x3ce7, 0x5def, 0xdad6, - 0x58c6, 0x34a5, 0x2000, 0x9ad6, 0xffff, 0xffff, 0xffff, 0x8a52, - 0x2842, 0xf39c, 0xf39c, 0x75ad, 0xb6b5, 0x96b5, 0x34a5, 0xb294, - 0xfbde, 0x3ce7, 0x5def, 0x5def, 0xfbde, 0xdad6, 0xdad6, 0xae73, - 0x0842, 0xffff, 0xffff, 0xffff, 0xffff, 0x38c6, 0x2000, 0xb294, - 0xd39c, 0x14a5, 0x55ad, 0x34a5, 0xf39c, 0xf39c, 0xfbde, 0x3ce7, - 0x3ce7, 0x3ce7, 0xdad6, 0xdad6, 0xbad6, 0xc318, 0xb6b5, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xc739, 0x8a52, 0xf39c, 0xb294, - 0xd39c, 0xd39c, 0xf39c, 0x34a5, 0xfbde, 0x5def, 0x3ce7, 0xfbde, - 0xdad6, 0xdad6, 0x34a5, 0x2421, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x96b5, 0x6108, 0xb294, 0x34a5, 0x14a5, 0x14a5, - 0x55ad, 0x96b5, 0xbad6, 0xdbde, 0xbad6, 0xdad6, 0xdad6, 0x99ce, - 0xa631, 0xb294, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x694a, 0x2000, 0x2842, 0xb294, 0x96b5, 0xb6b5, 0xf7bd, - 0xf7bd, 0x18c6, 0xbad6, 0x99ce, 0x718c, 0x8210, 0xa631, 0xbef7, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x59ce, 0x494a, 0x0000, 0x2842, 0x14a5, 0xd7bd, 0xb6b5, 0x99ce, - 0x718c, 0x8210, 0x8631, 0xb6b5, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x59ce, 0x494a, 0x0000, 0xc739, 0x694a, 0x6108, 0x8631, 0x96b5, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x79ce, 0x694a, 0x6529, 0x96b5, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* blue jewel */ - {0xffff, 0xffff, 0xffff, 0xdfff, 0x8a4a, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0xa629, 0x9ef7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xdfff, 0x6a4a, 0xa801, 0x5e3e, 0xbf66, 0xdf6e, 0xdf76, 0xff7e, - 0xff86, 0x1f8f, 0x1f97, 0x3f9f, 0x3f9f, 0x1f97, 0x2f1b, 0xc731, - 0xbef7, 0xffff, 0xffff, 0xffff, 0xffff, 0xdfff, 0x694a, 0xc901, - 0xdf66, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xfff7, 0xdfe7, 0xbfd7, 0x9fc7, 0x1f97, 0x8c0a, 0x083a, 0xbef7, - 0xffff, 0xffff, 0xdfff, 0x4942, 0xe901, 0xff7e, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdfef, 0xbfdf, 0x9fcf, - 0x7fbf, 0x5faf, 0x5f9f, 0xbf5e, 0x0a02, 0x4942, 0xdfff, 0xffff, - 0x694a, 0xc901, 0x3f26, 0x1f87, 0x1f8f, 0x1f8f, 0x3f97, 0x3f9f, - 0x3f9f, 0x3f9f, 0x3f97, 0x1f97, 0x1f8f, 0xff86, 0xff7e, 0xff76, - 0xdf66, 0xbf5e, 0x3f1e, 0xc909, 0x8a52, 0xffff, 0x3084, 0x4701, - 0xde05, 0x1f06, 0x1f06, 0x1f06, 0x1f06, 0x1f06, 0x1f06, 0x1f06, - 0xbe05, 0x7603, 0x7603, 0x7603, 0x3814, 0x5e66, 0xbe7e, 0x1f9f, - 0x5fb7, 0x4b22, 0xaf73, 0xffff, 0xffff, 0xe731, 0x7103, 0xde05, - 0xff05, 0x3f0e, 0x1f87, 0x1f06, 0x1f06, 0x1f06, 0xbe05, 0x7603, - 0x7603, 0x7603, 0x5c2d, 0xdf66, 0xff7e, 0x3f97, 0xf74c, 0x6521, - 0xdfff, 0xffff, 0xffff, 0xfbde, 0x6208, 0xfa04, 0xbe05, 0xff86, - 0x9fc7, 0x5f1e, 0x1f06, 0x1f06, 0xbe05, 0x7603, 0x7603, 0x7603, - 0x3f2e, 0xbf4e, 0xdf66, 0x3d5e, 0x2100, 0x79ce, 0xffff, 0xffff, - 0xffff, 0xffff, 0x14a5, 0xa300, 0x3d56, 0x9fcf, 0x9fbf, 0x9f5e, - 0x1f06, 0x1f06, 0xbe05, 0x7603, 0x7603, 0x1904, 0x5f1e, 0x7f36, - 0x7f46, 0xe911, 0x107c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x8a4a, 0x502b, 0x7fc7, 0x7fbf, 0x1f97, 0xbe05, 0xff05, - 0xbe05, 0x7603, 0x7603, 0xfb04, 0x3f06, 0x5f1e, 0x5614, 0x8629, - 0xdfff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7def, - 0xc310, 0xba5d, 0x7fb7, 0x5fa7, 0xbd1d, 0x9d05, 0x9d05, 0x7603, - 0x7603, 0xde05, 0x1f06, 0x7d05, 0x4100, 0xbad6, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7bd, 0x4100, - 0xde86, 0x5fa7, 0x3e4e, 0x5c05, 0x5d05, 0x7603, 0x1804, 0x1f06, - 0xff05, 0x8801, 0x518c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6d6b, 0x4b1a, 0x1f97, - 0xdf7e, 0x1b05, 0x3c05, 0x7603, 0xfb04, 0x1f06, 0xf503, 0xc731, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xbef7, 0x4521, 0xd73c, 0x1f8f, 0x3b15, - 0x1b05, 0x7603, 0xde05, 0x5c05, 0x4100, 0xdbde, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x79ce, 0x2100, 0x3d5e, 0xdc3d, 0xdb04, 0xf803, - 0xff05, 0x4701, 0xb294, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x518c, 0x6709, 0x5e5e, 0x9a04, 0xdb04, 0xb403, 0x083a, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xe839, 0xd323, 0xfa14, 0xda04, 0x6208, 0x1ce7, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x1ce7, 0x6208, - 0xf50b, 0x0501, 0xf39c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x14a5, 0x0000, 0x4942, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x4d6b, 0x3ce7, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* orange jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xbef7, 0x718c, 0xe320, 0x2c63, 0x1ce7, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0x518c, 0x8210, 0xe120, - 0x0493, 0x0041, 0x2000, 0x2c63, 0xfbde, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x9ef7, 0x3084, 0x8110, 0x0229, 0xeabc, 0x32ef, 0x67cc, 0xe0a9, - 0x20a2, 0x0041, 0x2000, 0x0c63, 0xfbde, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x7def, 0xef7b, 0x6110, 0x2231, - 0x0abd, 0x52ef, 0x73ef, 0x73ef, 0x46cc, 0xe0a9, 0xe0a9, 0xe0a9, - 0x20a2, 0x0041, 0x2000, 0x0c63, 0xfbde, 0xffff, 0xffff, 0xffff, - 0x7def, 0xcf7b, 0x6108, 0x4231, 0x2ac5, 0x52ef, 0x73ef, 0x73ef, - 0x73ef, 0x73ef, 0x26cc, 0xe0a9, 0xe0a9, 0xe0a9, 0x40b2, 0xc0a9, - 0xc0b2, 0xa059, 0x2000, 0x0b63, 0xfbde, 0xffff, 0xa218, 0x6339, - 0x4bc5, 0x53ef, 0x73ef, 0x73ef, 0x73ef, 0x73ef, 0x11ef, 0xe7dc, - 0x20cb, 0xc0c2, 0x40b2, 0xe0a9, 0xe0b1, 0xe0b1, 0xc0d3, 0xc0ec, - 0x20d4, 0xc059, 0x2000, 0xffff, 0x6108, 0x42a3, 0x4de6, 0x73ef, - 0x73ef, 0x73ef, 0x11ef, 0x06e5, 0x60d3, 0xc0c2, 0x60ba, 0x00b2, - 0x20b2, 0xa0c2, 0x60ba, 0xe0c2, 0xc0ec, 0xc0ec, 0xc0ec, 0x20d4, - 0x0000, 0xffff, 0x4108, 0xa09a, 0xc0db, 0xa4dc, 0x6eee, 0x06e5, - 0xa0d3, 0x40cb, 0xe0c2, 0x60ba, 0x00b2, 0xe0a9, 0xe0a9, 0xe0a9, - 0x00b2, 0xc0c2, 0xe0db, 0xa0d3, 0x80cb, 0x20bb, 0x2000, 0xffff, - 0x4108, 0xa09a, 0xc0db, 0xc0db, 0xc0db, 0xa0db, 0x40cb, 0xe0c2, - 0x80ba, 0x00b2, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, - 0x60b2, 0xa099, 0xa099, 0x009a, 0x2000, 0xffff, 0x4008, 0xc09a, - 0xc0db, 0xc0db, 0xc0db, 0x40cb, 0xe0c2, 0x80ba, 0x20b2, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0x60b2, 0xa099, - 0xa099, 0xe099, 0x2000, 0xffff, 0x2008, 0xc09a, 0xc0db, 0xc0db, - 0xc0db, 0xe0c2, 0x80ba, 0x20b2, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0x60b2, 0xa099, 0xa099, 0xe099, - 0x4008, 0xffff, 0x2000, 0xc09a, 0xc0db, 0xc0db, 0xa0db, 0x80ba, - 0x20b2, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0x60b2, 0xa099, 0xa099, 0xe099, 0x4008, 0xffff, - 0x2000, 0xc0a2, 0xc0db, 0xc0db, 0xa0d3, 0x20b2, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, - 0x60b2, 0xa099, 0xa099, 0xe099, 0x4108, 0xffff, 0x2000, 0xc0a2, - 0xc0db, 0xa0d3, 0xc0c2, 0xa0ba, 0x00b2, 0xe0a9, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, 0x00b2, 0xc0c2, 0x60ba, 0x20b2, - 0x80ba, 0x80aa, 0x4108, 0xffff, 0x0000, 0xa0a2, 0x80ba, 0xe0a9, - 0xc0a9, 0xc0a9, 0x40b2, 0xa0ba, 0x00b2, 0xe0a9, 0xe0a9, 0xe0a9, - 0x00b2, 0xe0c2, 0x40cb, 0xe0c2, 0x60ba, 0x00b2, 0x00b2, 0x60aa, - 0x6108, 0xffff, 0x8110, 0xc028, 0x009a, 0xe0a9, 0xc0a9, 0xc0a9, - 0xc0a9, 0xc0a9, 0x60b2, 0xa0ba, 0x00b2, 0xe0c2, 0x20dc, 0x20dc, - 0xa0d3, 0x40cb, 0xc0c2, 0x60ba, 0x20a2, 0xe030, 0xa218, 0xffff, - 0x9ef7, 0x1084, 0x6110, 0xc028, 0x009a, 0xe0a9, 0xc0a9, 0xc0a9, - 0xc0a9, 0xc0a9, 0x20cb, 0x20e4, 0xa0ec, 0x60e4, 0x00dc, 0x80d3, - 0xe0b2, 0xe030, 0x4108, 0xcf7b, 0x5def, 0xffff, 0xffff, 0xffff, - 0x9ef7, 0x1084, 0x8110, 0xa028, 0x009a, 0xe0a9, 0xc0a9, 0xc0a9, - 0x60cb, 0xe0db, 0x40e4, 0xa0ec, 0x80bb, 0x0031, 0x4108, 0xcf7b, - 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x9ef7, 0x3084, 0x8110, 0xa028, 0x009a, 0x00aa, 0xc0db, 0x80d3, - 0x40bb, 0x0031, 0x4108, 0xcf7b, 0x5def, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x9ef7, 0x3084, 0x8110, 0x8020, 0xe069, 0xc028, 0x4108, 0xcf7b, - 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x9ef7, 0x518c, 0xe320, 0xcf7b, 0x5def, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* purple jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x1084, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, - 0x0000, 0x18c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe739, 0x0000, 0xe739, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x18c6, 0x0000, 0xb4a0, 0x0000, 0x18c6, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xe739, 0xee70, 0xb9c8, 0x0b58, 0xe739, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, 0x0000, 0x5ce2, - 0xb8c0, 0x14a0, 0x0000, 0x18c6, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xe739, 0x0e71, 0xdef2, 0xb8c0, 0x14a0, - 0x0a50, 0xe739, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x18c6, 0x0000, 0x5ce2, 0xdef2, 0xb8b8, 0x1398, 0x1288, 0x0000, - 0x18c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe739, 0x0e71, - 0xdef2, 0x9ef2, 0x56b0, 0x1390, 0x1188, 0x0948, 0xe739, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0x18c6, 0x0000, 0x5ce2, 0xdef2, 0x5ad1, - 0x36b0, 0x14a0, 0x1080, 0x0f78, 0x0000, 0x18c6, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xe739, 0x0e71, 0xdef2, 0x7dea, 0x36b0, 0x36b0, 0x36b0, - 0x1080, 0x0e68, 0x0948, 0xe739, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, 0x0000, - 0x5ce2, 0xdef2, 0x39c9, 0x36b0, 0x36b0, 0x36b0, 0x1398, 0x0f70, - 0x1080, 0x0000, 0x18c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xe739, 0x0e71, 0xdef2, 0x5dea, - 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x1080, 0x1188, 0x0a50, - 0xe739, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x18c6, 0x0000, 0x5ce2, 0xdef2, 0xf9c0, 0x36b0, 0x36b0, - 0x36b0, 0x36b0, 0x36b0, 0x14a0, 0x1288, 0x1390, 0x0000, 0x18c6, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe739, - 0x0e71, 0xdef2, 0x3ce2, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, - 0x36b0, 0x36b0, 0x1398, 0x15a0, 0x0a50, 0xe739, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, 0x0000, 0x5ce2, 0xdef2, - 0xd8c0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, - 0x16b0, 0x16a8, 0x15a8, 0x0000, 0x18c6, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xe739, 0x0e71, 0xdef2, 0x1ce2, 0x36b0, 0x36b0, - 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x36b0, 0x16b0, - 0x18b8, 0x0c60, 0xe739, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, - 0x0000, 0x5ce2, 0xdef2, 0x97b8, 0x35a8, 0x35a8, 0x36a8, 0x36b0, - 0x36b0, 0x36b0, 0x37b8, 0x37b8, 0x37b8, 0x17b8, 0x19c8, 0x19c8, - 0x0000, 0x18c6, 0xffff, 0xffff, 0xffff, 0xe739, 0x0e71, 0xdad1, - 0x3078, 0x0e68, 0x0e68, 0x0e68, 0x1078, 0x1290, 0x14a0, 0x17b8, - 0x19c8, 0x1ad0, 0x1ad0, 0x1ad0, 0x19c8, 0x1ad0, 0x0c60, 0xe739, - 0xffff, 0xffff, 0x18c6, 0x0000, 0x8f78, 0x0f70, 0x0f70, 0x0f70, - 0x0f70, 0x0f70, 0x0f70, 0x1080, 0x1290, 0x1398, 0x15a8, 0x17b8, - 0x17b8, 0x17b8, 0x17b8, 0x17b8, 0x1290, 0x0000, 0x18c6, 0xffff, - 0x0842, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0842, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* red jewel */ - {0xffff, 0xffff, 0x59ce, 0x6110, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x4108, 0x18c6, 0xffff, 0xffff, 0xffff, 0xffff, 0x59ce, - 0x6108, 0x2010, 0x00a0, 0x0098, 0x0090, 0x2090, 0x2088, 0x2080, - 0x2078, 0x2078, 0x2070, 0x2070, 0x4068, 0x4068, 0x4060, 0x0018, - 0x4108, 0x18c6, 0xffff, 0xffff, 0x38c6, 0x4108, 0x2010, 0x2090, - 0x00f8, 0x00f0, 0x00d8, 0x20c8, 0x20b0, 0x40a0, 0x4090, 0x6078, - 0x6078, 0x6078, 0x6078, 0x6078, 0x6078, 0x4078, 0x2018, 0x4108, - 0x18c6, 0xffff, 0x4108, 0x0018, 0x2098, 0x20b8, 0x00f8, 0x00f8, - 0x00f0, 0x00e0, 0x20c8, 0x20b8, 0x40a8, 0x4090, 0x6080, 0x6080, - 0x6080, 0x6078, 0x6078, 0x4098, 0x20a0, 0x0020, 0x4108, 0xffff, - 0x0000, 0x2098, 0x40e0, 0x40e0, 0xa8e1, 0x4bea, 0x4bf2, 0x4bf2, - 0x4bea, 0x6be2, 0x66c9, 0x40b0, 0x81c0, 0x81b8, 0x81b0, 0x81b0, - 0x81b8, 0x00e8, 0x00e8, 0x00a8, 0x0000, 0xffff, 0x0000, 0x20a0, - 0x40e0, 0x40e0, 0x09ea, 0xeef2, 0xeeea, 0xeeea, 0xeee2, 0xeeda, - 0xc8c1, 0x40a0, 0xa2c0, 0xa2c0, 0xa2c0, 0x82c8, 0x82d0, 0x00d8, - 0x00d8, 0x00a0, 0x0000, 0xffff, 0x0000, 0x20a0, 0x40e0, 0x40e0, - 0x09f2, 0xeeea, 0xeeea, 0xeee2, 0xeeda, 0xeeda, 0xc8b9, 0x6098, - 0xa2c0, 0xa2c0, 0x82c8, 0x82d0, 0x82d8, 0x20d0, 0x20d0, 0x00a0, - 0x0000, 0xffff, 0x0000, 0x20a8, 0x40e0, 0x40e0, 0x09f2, 0xeeea, - 0xeee2, 0xeeda, 0xeeda, 0x0ed3, 0xc8b1, 0x6088, 0xa2c0, 0x82c8, - 0x82d0, 0x82d8, 0x82d8, 0x20c0, 0x20c0, 0x00a0, 0x0000, 0xffff, - 0x0000, 0x20a8, 0x40e0, 0x40e0, 0x09e2, 0xeee2, 0xeeda, 0xeeda, - 0x0ed3, 0x0ecb, 0xc8a1, 0x6090, 0x82c8, 0x82d0, 0x82d8, 0x82d8, - 0x82e0, 0x20b8, 0x20b0, 0x2090, 0x0000, 0xffff, 0x0000, 0x20b0, - 0x40e0, 0x40e0, 0x09da, 0xeeda, 0xeed2, 0x0ed3, 0x0ecb, 0x0ec3, - 0xc8b1, 0x40a0, 0x82d0, 0x82d8, 0x82d8, 0x82e0, 0x82e8, 0x20a8, - 0x40a8, 0x2088, 0x0000, 0xffff, 0x0000, 0x20a8, 0x40e0, 0x40e0, - 0x45c9, 0xc8c1, 0xc8b9, 0xc8b1, 0xc8a1, 0xc8b1, 0xc7b9, 0xc8c1, - 0x66d9, 0x66d9, 0x66e1, 0x66e9, 0x66f1, 0x4098, 0x4098, 0x2078, - 0x0000, 0xffff, 0x0000, 0x20a8, 0x40e0, 0x40e0, 0x40a8, 0x40a0, - 0x6090, 0x6080, 0x6090, 0x40a0, 0xe9c9, 0xd3e3, 0xd3eb, 0xd3eb, - 0xd3eb, 0xd3eb, 0xd3eb, 0x4090, 0x4088, 0x2070, 0x0000, 0xffff, - 0x0000, 0x20a0, 0x40e0, 0x40e0, 0x61b0, 0x82b8, 0x82b8, 0x82c0, - 0x82c8, 0x82d0, 0xa8d9, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, - 0xd3eb, 0x6080, 0x6078, 0x4068, 0x0000, 0xffff, 0x0000, 0x20a0, - 0x40e0, 0x40e0, 0x81a8, 0x82b8, 0x82c0, 0x82c8, 0x82d0, 0x82d8, - 0xa8e1, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, 0x4088, - 0x4088, 0x2068, 0x0000, 0xffff, 0x0000, 0x2098, 0x40e0, 0x40e0, - 0x81a0, 0x82c0, 0x82c8, 0x82d0, 0x82d8, 0x62e0, 0xa8e9, 0xd3eb, - 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3e3, 0x4098, 0x4098, 0x2068, - 0x0000, 0xffff, 0x0000, 0x2098, 0x40e0, 0x40e0, 0x61a8, 0x82c8, - 0x82d0, 0x82d8, 0x62e0, 0x62e8, 0xa8f1, 0xd3eb, 0xd3eb, 0xd3eb, - 0xd3eb, 0xd3e3, 0xd3e3, 0x40a0, 0x40a8, 0x2070, 0x0000, 0xffff, - 0x0000, 0x2090, 0x40e0, 0x40e0, 0x61b8, 0x82d0, 0x82d8, 0x62e0, - 0x62e8, 0x62f0, 0xa8f1, 0xd3eb, 0xd3eb, 0xd3eb, 0xd3e3, 0xd3e3, - 0xd3e3, 0x40b0, 0x20b0, 0x2078, 0x0000, 0xffff, 0x8210, 0x2010, - 0x4080, 0x40a0, 0x00f8, 0x00f8, 0x00f8, 0x20d0, 0x40a8, 0x6080, - 0x6078, 0x6078, 0x6078, 0x6078, 0x6078, 0x6078, 0x6078, 0x6080, - 0x4080, 0x0010, 0x6110, 0xffff, 0x79ce, 0x6110, 0x2010, 0x2098, - 0x00f8, 0x00f8, 0x00f8, 0x00e8, 0x20c0, 0x4090, 0x6078, 0x6078, - 0x6078, 0x6078, 0x6078, 0x6078, 0x6078, 0x4080, 0x0018, 0x6108, - 0x59ce, 0xffff, 0xffff, 0x79ce, 0x6110, 0x0018, 0x00b0, 0x00b8, - 0x00b8, 0x00b8, 0x00a0, 0x2088, 0x2070, 0x4068, 0x4068, 0x4060, - 0x4060, 0x4060, 0x4060, 0x0018, 0x4108, 0x59ce, 0xffff, 0xffff, - 0xffff, 0xffff, 0x79ce, 0x8210, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x4108, 0x38c6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* yellow jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xfbde, 0xe739, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xe318, - 0xe018, 0xe318, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xfbde, 0xe318, 0x2463, 0x46ad, 0xc039, - 0xe318, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xfbde, 0xe318, 0x8573, 0xedde, 0x87b5, 0xe083, 0xc039, 0xe318, - 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xe318, 0x8573, - 0x4de7, 0x2de7, 0xe7bd, 0x408c, 0xe07b, 0xc039, 0xe318, 0xfbde, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xfbde, 0xc318, 0x456b, 0x0ddf, 0x2de7, 0x4de7, - 0x47c6, 0xc09c, 0x408c, 0xe07b, 0xc039, 0xe318, 0xfbde, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, - 0xe318, 0x456b, 0x4ee7, 0x6eef, 0x6eef, 0x6eef, 0x28df, 0xa1d6, - 0x20a5, 0x408c, 0xe07b, 0xc039, 0xe318, 0xfbde, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xe318, 0xa573, 0x0ddf, - 0x6eef, 0x8eef, 0x8eef, 0x8eef, 0x48e7, 0x20c6, 0x40ad, 0xc09c, - 0x408c, 0x8094, 0x2063, 0xe318, 0xfbde, 0xffff, 0xffff, 0xffff, - 0xffff, 0xfbde, 0xe318, 0xa573, 0x4de7, 0x2de7, 0x6eef, 0x8eef, - 0x8eef, 0x8eef, 0xc4b5, 0x60ad, 0xe0bd, 0x40ad, 0x40ad, 0x80d6, - 0x80d6, 0x406b, 0xe318, 0xfbde, 0xffff, 0xffff, 0xfbde, 0xe318, - 0x656b, 0x0ddf, 0x2de7, 0x4de7, 0x6eef, 0x8eef, 0x8eef, 0xc4b5, - 0x8094, 0x8094, 0x60ad, 0x20c6, 0xe0de, 0xe0de, 0xa0d6, 0xa0d6, - 0x406b, 0xe318, 0xfbde, 0xffff, 0xc739, 0x0121, 0x47ad, 0xa7b5, - 0xe7bd, 0x47ce, 0x28e7, 0x48e7, 0xe4bd, 0x8094, 0x8094, 0x8094, - 0x20a5, 0xc0d6, 0xe0de, 0xc0de, 0xc0d6, 0xa0d6, 0x80ce, 0x8031, - 0xe739, 0xffff, 0xbad6, 0xa210, 0xc039, 0xc07b, 0x408c, 0xc09c, - 0xc1d6, 0x20c6, 0x60ad, 0x8094, 0x8094, 0xe09c, 0xa0d6, 0xe0de, - 0x00df, 0x00e7, 0x00df, 0xc0de, 0x406b, 0xe318, 0xfbde, 0xffff, - 0xffff, 0xdbde, 0xa210, 0xc039, 0xc07b, 0x408c, 0x40ad, 0x60ad, - 0xe0bd, 0x60ad, 0x00a5, 0xa0d6, 0xa0d6, 0xc0d6, 0xe0de, 0x00df, - 0x20e7, 0x8073, 0xe318, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xdbde, 0xa210, 0xc039, 0xc07b, 0x408c, 0xc09c, 0x40ad, 0xe0bd, - 0xe0bd, 0x60ce, 0xc0d6, 0xa0d6, 0xc0d6, 0xc0de, 0x8073, 0xe318, - 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdbde, - 0xc218, 0xc039, 0xc07b, 0x408c, 0x00a5, 0xc0bd, 0xe0bd, 0xe0bd, - 0x60ce, 0xc0d6, 0x80d6, 0x406b, 0xe318, 0xfbde, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdbde, 0xc218, - 0xc039, 0x208c, 0x60ad, 0xa0b5, 0xc0bd, 0xe0bd, 0xe0bd, 0x60ce, - 0x2063, 0xc318, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xc218, 0xc05a, - 0x60ad, 0x80b5, 0xa0b5, 0xc0bd, 0xe0bd, 0x0063, 0xe318, 0xfbde, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xc218, 0xc05a, 0x60ad, - 0x80b5, 0xa0b5, 0x0063, 0xe318, 0xfbde, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xfbde, 0xc218, 0xe05a, 0x60ad, 0xe05a, - 0xe318, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xfbde, 0xe218, 0x2021, 0xe318, 0xfbde, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xfbde, 0xe739, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* green jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0xc631, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2421, - 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x9ef7, 0xc631, 0xa63a, 0x6756, 0x4546, 0x4546, 0x4546, - 0x4546, 0x4546, 0x4546, 0x4546, 0x4546, 0x0533, 0x4421, 0x5def, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0xc631, - 0xa63a, 0xb9d7, 0x4967, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, - 0x254f, 0x254f, 0x254f, 0x4c77, 0x063b, 0x4421, 0x5def, 0xffff, - 0xffff, 0xffff, 0xffff, 0x9ef7, 0xc631, 0xa63a, 0xb9d7, 0xdadf, - 0x485f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, - 0x254f, 0x485f, 0x4d87, 0x063b, 0x6421, 0x7def, 0xffff, 0xffff, - 0x9ef7, 0xc631, 0xa63a, 0xb9d7, 0xdadf, 0xb5bf, 0x4757, 0x254f, - 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, - 0x4a67, 0x6f8f, 0x063b, 0x6529, 0x7def, 0xffff, 0xc631, 0xa63a, - 0xb9d7, 0xdadf, 0xb6bf, 0x9097, 0x2657, 0x254f, 0x254f, 0x254f, - 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x254f, 0x6b77, - 0x7197, 0x073b, 0x8529, 0xffff, 0x0000, 0x4756, 0x4967, 0x485f, - 0x475f, 0x2657, 0x0116, 0xc00d, 0xc00d, 0xa00d, 0x800d, 0x600d, - 0x400d, 0x000d, 0x010d, 0x0116, 0xc00d, 0xa00d, 0x6115, 0x4225, - 0x0000, 0xffff, 0x0000, 0x4446, 0x254f, 0x254f, 0x254f, 0x254f, - 0xc00d, 0xa005, 0x6005, 0x4005, 0x2005, 0x0005, 0xc004, 0xa004, - 0xa004, 0xc00d, 0xa005, 0x4005, 0xe004, 0xe00c, 0x0000, 0xffff, - 0x0000, 0x243e, 0x254f, 0x254f, 0x254f, 0x254f, 0xc00d, 0x8005, - 0x4005, 0x2005, 0x0005, 0xc004, 0xa004, 0x8004, 0x8004, 0xc00d, - 0x6005, 0x0005, 0xc004, 0xc00c, 0x0000, 0xffff, 0x2000, 0x243e, - 0x254f, 0x254f, 0x254f, 0x254f, 0xa00d, 0x4005, 0x2005, 0x0005, - 0xc004, 0xa004, 0x8004, 0x6004, 0x6004, 0xc00d, 0x4005, 0xe004, - 0x8004, 0x800c, 0x0000, 0xffff, 0x2000, 0x043e, 0x254f, 0x254f, - 0x254f, 0x254f, 0x800d, 0x2005, 0x0005, 0xe004, 0xa004, 0x8004, - 0x6004, 0x2004, 0x4004, 0x800d, 0x0005, 0xa004, 0x4004, 0x600c, - 0x0000, 0xffff, 0x4000, 0x043e, 0x254f, 0x254f, 0x254f, 0x254f, - 0x600d, 0x0005, 0xe004, 0xa004, 0x8004, 0x6004, 0x2004, 0x0004, - 0x0004, 0x600d, 0xe004, 0x8004, 0x2004, 0x400c, 0x0000, 0xffff, - 0x4000, 0x043e, 0x254f, 0x254f, 0x254f, 0x254f, 0x400d, 0xe004, - 0xa004, 0x8004, 0x6004, 0x4004, 0x0004, 0xe003, 0xe003, 0x400d, - 0xa004, 0x4004, 0xe003, 0x200c, 0x0000, 0xffff, 0x4108, 0xe43d, - 0x254f, 0x254f, 0x254f, 0x254f, 0x200d, 0xa004, 0x8004, 0x6004, - 0x4004, 0x0004, 0xe003, 0xc003, 0xc003, 0x000d, 0x6004, 0x2004, - 0xc003, 0xe00b, 0x0000, 0xffff, 0x6108, 0xc545, 0x264f, 0x254f, - 0x254f, 0x254f, 0x611d, 0x010d, 0xe10c, 0xc10c, 0xa10c, 0x810c, - 0x610c, 0x410c, 0x4114, 0x6115, 0xc10c, 0x8114, 0x621c, 0x8324, - 0x0000, 0xffff, 0x4842, 0x252a, 0x2e87, 0x4a6f, 0x254f, 0x254f, - 0xe115, 0xc00d, 0xc00d, 0xc00d, 0x600d, 0x400d, 0x000d, 0xc004, - 0xa00c, 0x254f, 0x4657, 0x6b77, 0x4f8f, 0x6532, 0xc631, 0xffff, - 0xbef7, 0x073a, 0x6532, 0x4f8f, 0x4a6f, 0x254f, 0xc00d, 0xa005, - 0xa005, 0x6005, 0x2005, 0xe004, 0xa004, 0x6004, 0x4004, 0x254f, - 0x4a6f, 0x4e87, 0x8532, 0xa631, 0x9ef7, 0xffff, 0xffff, 0xbef7, - 0xe639, 0x8632, 0x5097, 0x6b77, 0xc00d, 0xa005, 0x6005, 0x2005, - 0xe004, 0xa004, 0x4004, 0x0004, 0x0004, 0x4967, 0x4d7f, 0xa532, - 0x8529, 0x9ef7, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0xc631, - 0xa63a, 0x7197, 0xc115, 0x6005, 0x2005, 0xe004, 0xa004, 0x4004, - 0x0004, 0xc003, 0xc003, 0x4c7f, 0xc532, 0x6529, 0x7def, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0xa531, 0xe73a, - 0xa225, 0x4015, 0x200d, 0xe00c, 0xa00c, 0x800c, 0x400c, 0x000c, - 0x2114, 0xe532, 0x4421, 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x7def, 0x8529, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4421, - 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff} -}; - -/* use 22x22 tiles */ -#elif (LCD_HEIGHT >= 176) && (LCD_WIDTH >= 220) && \ - (LCD_PIXELFORMAT == RGB565) -/* size of a tile */ -#define TILE_WIDTH 22 -#define TILE_HEIGHT 22 - -/* playboard offset from top */ -#define YOFS 0 - -/* number of high scores to save */ -#define NUM_SCORES 10 - -/* bitmaps for the jewels */ -static unsigned short jewel[8][506] = { - /* empty */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* white jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xbdf7, 0x39e7, 0x39e7, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x39c7, 0x0841, 0x8410, - 0x632c, 0x0841, 0x39c7, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xbdd7, 0x31a6, 0x0861, 0x8410, 0xce59, 0xce79, 0x8c71, 0x9492, - 0x6b4d, 0x0841, 0x31a6, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x31a6, 0x0861, 0x8410, - 0xce59, 0xce79, 0xce79, 0xce79, 0x8c71, 0x8c71, 0x8c71, 0x9492, - 0x6b6d, 0x0861, 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x9cf3, 0x2965, 0xce59, 0xd6ba, 0xd6ba, 0xd6ba, - 0xd6ba, 0xd6ba, 0x94b2, 0x9cd3, 0xa514, 0xad55, 0xb596, 0xad55, - 0x0861, 0xb596, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x2945, 0x9cd3, 0xe71c, 0xe71c, 0xe71c, 0xe71c, 0xe71c, 0xe71c, - 0xa514, 0x9cd3, 0x9cd3, 0xa534, 0xb596, 0xbdf7, 0x5acb, 0x39e7, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0861, 0xdefb, - 0xe73c, 0xef5d, 0xef5d, 0xef5d, 0xe73c, 0xe73c, 0xad75, 0xa534, - 0x9cf3, 0x9cf3, 0xad55, 0xb5b6, 0xad75, 0x0020, 0xce79, 0xffff, - 0xffff, 0xffff, 0xffff, 0x528a, 0x7bcf, 0xef5d, 0xe73c, 0xe73c, - 0xe73c, 0xe73c, 0xe73c, 0xef5d, 0xbdd7, 0xb596, 0xa534, 0x9cd3, - 0x9cf3, 0xad75, 0xbdd7, 0x5acb, 0x5aeb, 0xffff, 0xffff, 0xffff, - 0xe71c, 0x0020, 0xd69a, 0xe73c, 0xe71c, 0xe71c, 0xdefb, 0xe71c, - 0xe71c, 0xe73c, 0xbdf7, 0xbdd7, 0xad75, 0xa514, 0x9cd3, 0xa534, - 0xb5b6, 0xb595, 0x0020, 0xef5d, 0xffff, 0xffff, 0x7bcf, 0x528a, - 0xe73c, 0xe71c, 0xdefb, 0xdefb, 0xdedb, 0xdedb, 0xdefb, 0xe71c, - 0xb5b6, 0xc618, 0xb5b6, 0xad55, 0xbdf7, 0xa534, 0xb5b6, 0xb5b6, - 0x4a69, 0x7bef, 0xffff, 0xffff, 0x18c3, 0x94b2, 0xd69a, 0xce59, - 0xc618, 0xc638, 0xc638, 0xc638, 0xc618, 0xc638, 0xc618, 0xce59, - 0xce79, 0xc618, 0xdedb, 0xc638, 0xb595, 0xb5d6, 0x8c51, 0x18c3, - 0xffff, 0xffff, 0x632c, 0x4208, 0xad75, 0x9cf3, 0x9cf3, 0xad55, - 0xb596, 0xad75, 0xa514, 0x9cd3, 0xdefb, 0xe73c, 0xef5d, 0xe71c, - 0xef9d, 0xdedb, 0xb596, 0xbdd7, 0x4228, 0x630c, 0xffff, 0xffff, - 0xdedb, 0x0020, 0x9492, 0x9cd3, 0xa514, 0xb596, 0xbdf7, 0xb5b6, - 0xa534, 0x94b2, 0xdefb, 0xe73c, 0xef5d, 0xe73c, 0xef5d, 0xd6da, - 0xc658, 0xa534, 0x0020, 0xd69a, 0xffff, 0xffff, 0xffff, 0x528a, - 0x4228, 0x9cf3, 0x9cf3, 0xad75, 0xb5b6, 0xb596, 0xa534, 0x94b2, - 0xdefb, 0xe73c, 0xef5d, 0xef5d, 0xdefb, 0xd6da, 0xd6da, 0x73ae, - 0x4208, 0xffff, 0xffff, 0xffff, 0xffff, 0xc638, 0x0020, 0x94b2, - 0x9cd3, 0xa514, 0xad55, 0xa534, 0x9cf3, 0x9cf3, 0xdefb, 0xe73c, - 0xe73c, 0xe73c, 0xd6da, 0xd6da, 0xd6ba, 0x18c3, 0xb5b6, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x39c7, 0x528a, 0x9cf3, 0x94b2, - 0x9cd3, 0x9cd3, 0x9cf3, 0xa534, 0xdefb, 0xef5d, 0xe73c, 0xdefb, - 0xd6da, 0xd6da, 0xa534, 0x2124, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xb596, 0x0861, 0x94b2, 0xa534, 0xa514, 0xa514, - 0xad55, 0xb596, 0xd6ba, 0xdedb, 0xd6ba, 0xd6da, 0xd6da, 0xce99, - 0x31a6, 0x94b2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x4a69, 0x0020, 0x4228, 0x94b2, 0xb596, 0xb5b6, 0xbdf7, - 0xbdf7, 0xc618, 0xd6ba, 0xce99, 0x8c71, 0x1082, 0x31a6, 0xf7be, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xce59, 0x4a49, 0x0000, 0x4228, 0xa514, 0xbdd7, 0xb5b6, 0xce99, - 0x8c71, 0x1082, 0x3186, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xce59, 0x4a49, 0x0000, 0x39c7, 0x4a69, 0x0861, 0x3186, 0xb596, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xce79, 0x4a69, 0x2965, 0xb596, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* blue jewel */ - {0xffff, 0xffff, 0xffff, 0xffdf, 0x4a8a, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x29a6, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffdf, 0x4a6a, 0x01a8, 0x3e5e, 0x66bf, 0x6edf, 0x76df, 0x7eff, - 0x86ff, 0x8f1f, 0x971f, 0x9f3f, 0x9f3f, 0x971f, 0x1b2f, 0x31c7, - 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x4a69, 0x01c9, - 0x66df, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf7ff, 0xe7df, 0xd7bf, 0xc79f, 0x971f, 0x0a8c, 0x3a08, 0xf7be, - 0xffff, 0xffff, 0xffdf, 0x4249, 0x01e9, 0x7eff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xefdf, 0xdfbf, 0xcf9f, - 0xbf7f, 0xaf5f, 0x9f5f, 0x5ebf, 0x020a, 0x4249, 0xffdf, 0xffff, - 0x4a69, 0x01c9, 0x263f, 0x871f, 0x8f1f, 0x8f1f, 0x973f, 0x9f3f, - 0x9f3f, 0x9f3f, 0x973f, 0x971f, 0x8f1f, 0x86ff, 0x7eff, 0x76ff, - 0x66df, 0x5ebf, 0x1e3f, 0x09c9, 0x528a, 0xffff, 0x8430, 0x0147, - 0x05de, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, 0x061f, - 0x05be, 0x0376, 0x0376, 0x0376, 0x1438, 0x665e, 0x7ebe, 0x9f1f, - 0xb75f, 0x224b, 0x73af, 0xffff, 0xffff, 0x31e7, 0x0371, 0x05de, - 0x05ff, 0x0e3f, 0x871f, 0x061f, 0x061f, 0x061f, 0x05be, 0x0376, - 0x0376, 0x0376, 0x2d5c, 0x66df, 0x7eff, 0x973f, 0x4cf7, 0x2165, - 0xffdf, 0xffff, 0xffff, 0xdefb, 0x0862, 0x04fa, 0x05be, 0x86ff, - 0xc79f, 0x1e5f, 0x061f, 0x061f, 0x05be, 0x0376, 0x0376, 0x0376, - 0x2e3f, 0x4ebf, 0x66df, 0x5e3d, 0x0021, 0xce79, 0xffff, 0xffff, - 0xffff, 0xffff, 0xa514, 0x00a3, 0x563d, 0xcf9f, 0xbf9f, 0x5e9f, - 0x061f, 0x061f, 0x05be, 0x0376, 0x0376, 0x0419, 0x1e5f, 0x367f, - 0x467f, 0x11e9, 0x7c10, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x4a8a, 0x2b50, 0xc77f, 0xbf7f, 0x971f, 0x05be, 0x05ff, - 0x05be, 0x0376, 0x0376, 0x04fb, 0x063f, 0x1e5f, 0x1456, 0x2986, - 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, - 0x10c3, 0x5dba, 0xb77f, 0xa75f, 0x1dbd, 0x059d, 0x059d, 0x0376, - 0x0376, 0x05de, 0x061f, 0x057d, 0x0041, 0xd6ba, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x0041, - 0x86de, 0xa75f, 0x4e3e, 0x055c, 0x055d, 0x0376, 0x0418, 0x061f, - 0x05ff, 0x0188, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b6d, 0x1a4b, 0x971f, - 0x7edf, 0x051b, 0x053c, 0x0376, 0x04fb, 0x061f, 0x03f5, 0x31c7, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xf7be, 0x2145, 0x3cd7, 0x8f1f, 0x153b, - 0x051b, 0x0376, 0x05de, 0x055c, 0x0041, 0xdedb, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xce79, 0x0021, 0x5e3d, 0x3ddc, 0x04db, 0x03f8, - 0x05ff, 0x0147, 0x94b2, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x8c51, 0x0967, 0x5e5e, 0x049a, 0x04db, 0x03b4, 0x3a08, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x39e8, 0x23d3, 0x14fa, 0x04da, 0x0862, 0xe71c, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0862, - 0x0bf5, 0x0105, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xa514, 0x0000, 0x4249, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x6b4d, 0xe73c, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* orange jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf7be, 0x8c71, 0x20e3, 0x632c, 0xe71c, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x8c51, 0x1082, 0x20e1, - 0x9304, 0x4100, 0x0020, 0x632c, 0xdefb, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf79e, 0x8430, 0x1081, 0x2902, 0xbcea, 0xef32, 0xcc67, 0xa9e0, - 0xa220, 0x4100, 0x0020, 0x630c, 0xdefb, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x7bef, 0x1061, 0x3122, - 0xbd0a, 0xef52, 0xef73, 0xef73, 0xcc46, 0xa9e0, 0xa9e0, 0xa9e0, - 0xa220, 0x4100, 0x0020, 0x630c, 0xdefb, 0xffff, 0xffff, 0xffff, - 0xef7d, 0x7bcf, 0x0861, 0x3142, 0xc52a, 0xef52, 0xef73, 0xef73, - 0xef73, 0xef73, 0xcc26, 0xa9e0, 0xa9e0, 0xa9e0, 0xb240, 0xa9c0, - 0xb2c0, 0x59a0, 0x0020, 0x630b, 0xdefb, 0xffff, 0x18a2, 0x3963, - 0xc54b, 0xef53, 0xef73, 0xef73, 0xef73, 0xef73, 0xef11, 0xdce7, - 0xcb20, 0xc2c0, 0xb240, 0xa9e0, 0xb1e0, 0xb1e0, 0xd3c0, 0xecc0, - 0xd420, 0x59c0, 0x0020, 0xffff, 0x0861, 0xa342, 0xe64d, 0xef73, - 0xef73, 0xef73, 0xef11, 0xe506, 0xd360, 0xc2c0, 0xba60, 0xb200, - 0xb220, 0xc2a0, 0xba60, 0xc2e0, 0xecc0, 0xecc0, 0xecc0, 0xd420, - 0x0000, 0xffff, 0x0841, 0x9aa0, 0xdbc0, 0xdca4, 0xee6e, 0xe506, - 0xd3a0, 0xcb40, 0xc2e0, 0xba60, 0xb200, 0xa9e0, 0xa9e0, 0xa9e0, - 0xb200, 0xc2c0, 0xdbe0, 0xd3a0, 0xcb80, 0xbb20, 0x0020, 0xffff, - 0x0841, 0x9aa0, 0xdbc0, 0xdbc0, 0xdbc0, 0xdba0, 0xcb40, 0xc2e0, - 0xba80, 0xb200, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, - 0xb260, 0x99a0, 0x99a0, 0x9a00, 0x0020, 0xffff, 0x0840, 0x9ac0, - 0xdbc0, 0xdbc0, 0xdbc0, 0xcb40, 0xc2e0, 0xba80, 0xb220, 0xa9e0, - 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xb260, 0x99a0, - 0x99a0, 0x99e0, 0x0020, 0xffff, 0x0820, 0x9ac0, 0xdbc0, 0xdbc0, - 0xdbc0, 0xc2e0, 0xba80, 0xb220, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, - 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xb260, 0x99a0, 0x99a0, 0x99e0, - 0x0840, 0xffff, 0x0020, 0x9ac0, 0xdbc0, 0xdbc0, 0xdba0, 0xba80, - 0xb220, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, - 0xa9e0, 0xa9e0, 0xb260, 0x99a0, 0x99a0, 0x99e0, 0x0840, 0xffff, - 0x0020, 0xa2c0, 0xdbc0, 0xdbc0, 0xd3a0, 0xb220, 0xa9e0, 0xa9e0, - 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, - 0xb260, 0x99a0, 0x99a0, 0x99e0, 0x0841, 0xffff, 0x0020, 0xa2c0, - 0xdbc0, 0xd3a0, 0xc2c0, 0xbaa0, 0xb200, 0xa9e0, 0xa9e0, 0xa9e0, - 0xa9e0, 0xa9e0, 0xa9e0, 0xa9e0, 0xb200, 0xc2c0, 0xba60, 0xb220, - 0xba80, 0xaa80, 0x0841, 0xffff, 0x0000, 0xa2a0, 0xba80, 0xa9e0, - 0xa9c0, 0xa9c0, 0xb240, 0xbaa0, 0xb200, 0xa9e0, 0xa9e0, 0xa9e0, - 0xb200, 0xc2e0, 0xcb40, 0xc2e0, 0xba60, 0xb200, 0xb200, 0xaa60, - 0x0861, 0xffff, 0x1081, 0x28c0, 0x9a00, 0xa9e0, 0xa9c0, 0xa9c0, - 0xa9c0, 0xa9c0, 0xb260, 0xbaa0, 0xb200, 0xc2e0, 0xdc20, 0xdc20, - 0xd3a0, 0xcb40, 0xc2c0, 0xba60, 0xa220, 0x30e0, 0x18a2, 0xffff, - 0xf79e, 0x8410, 0x1061, 0x28c0, 0x9a00, 0xa9e0, 0xa9c0, 0xa9c0, - 0xa9c0, 0xa9c0, 0xcb20, 0xe420, 0xeca0, 0xe460, 0xdc00, 0xd380, - 0xb2e0, 0x30e0, 0x0841, 0x7bcf, 0xef5d, 0xffff, 0xffff, 0xffff, - 0xf79e, 0x8410, 0x1081, 0x28a0, 0x9a00, 0xa9e0, 0xa9c0, 0xa9c0, - 0xcb60, 0xdbe0, 0xe440, 0xeca0, 0xbb80, 0x3100, 0x0841, 0x7bcf, - 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf79e, 0x8430, 0x1081, 0x28a0, 0x9a00, 0xaa00, 0xdbc0, 0xd380, - 0xbb40, 0x3100, 0x0841, 0x7bcf, 0xef5d, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf79e, 0x8430, 0x1081, 0x2080, 0x69e0, 0x28c0, 0x0841, 0x7bcf, - 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xf79e, 0x8c51, 0x20e3, 0x7bcf, 0xef5d, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* purple jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x8410, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, - 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x39e7, 0x0000, 0x39e7, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xc618, 0x0000, 0xa0b4, 0x0000, 0xc618, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0x39e7, 0x70ee, 0xc8b9, 0x580b, 0x39e7, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, 0xe25c, - 0xc0b8, 0xa014, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0x39e7, 0x710e, 0xf2de, 0xc0b8, 0xa014, - 0x500a, 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xc618, 0x0000, 0xe25c, 0xf2de, 0xb8b8, 0x9813, 0x8812, 0x0000, - 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x39e7, 0x710e, - 0xf2de, 0xf29e, 0xb056, 0x9013, 0x8811, 0x4809, 0x39e7, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, 0xe25c, 0xf2de, 0xd15a, - 0xb036, 0xa014, 0x8010, 0x780f, 0x0000, 0xc618, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x39e7, 0x710e, 0xf2de, 0xea7d, 0xb036, 0xb036, 0xb036, - 0x8010, 0x680e, 0x4809, 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, - 0xe25c, 0xf2de, 0xc939, 0xb036, 0xb036, 0xb036, 0x9813, 0x700f, - 0x8010, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x39e7, 0x710e, 0xf2de, 0xea5d, - 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, 0x8010, 0x8811, 0x500a, - 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xc618, 0x0000, 0xe25c, 0xf2de, 0xc0f9, 0xb036, 0xb036, - 0xb036, 0xb036, 0xb036, 0xa014, 0x8812, 0x9013, 0x0000, 0xc618, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x39e7, - 0x710e, 0xf2de, 0xe23c, 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, - 0xb036, 0xb036, 0x9813, 0xa015, 0x500a, 0x39e7, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, 0xe25c, 0xf2de, - 0xc0d8, 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, - 0xb016, 0xa816, 0xa815, 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x39e7, 0x710e, 0xf2de, 0xe21c, 0xb036, 0xb036, - 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, 0xb036, 0xb016, - 0xb818, 0x600c, 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, - 0x0000, 0xe25c, 0xf2de, 0xb897, 0xa835, 0xa835, 0xa836, 0xb036, - 0xb036, 0xb036, 0xb837, 0xb837, 0xb837, 0xb817, 0xc819, 0xc819, - 0x0000, 0xc618, 0xffff, 0xffff, 0xffff, 0x39e7, 0x710e, 0xd1da, - 0x7830, 0x680e, 0x680e, 0x680e, 0x7810, 0x9012, 0xa014, 0xb817, - 0xc819, 0xd01a, 0xd01a, 0xd01a, 0xc819, 0xd01a, 0x600c, 0x39e7, - 0xffff, 0xffff, 0xc618, 0x0000, 0x788f, 0x700f, 0x700f, 0x700f, - 0x700f, 0x700f, 0x700f, 0x8010, 0x9012, 0x9813, 0xa815, 0xb817, - 0xb817, 0xb817, 0xb817, 0xb817, 0x9012, 0x0000, 0xc618, 0xffff, - 0x4208, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x4208, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* red jewel */ - {0xffff, 0xffff, 0xce59, 0x1061, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0841, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xce59, - 0x0861, 0x1020, 0xa000, 0x9800, 0x9000, 0x9020, 0x8820, 0x8020, - 0x7820, 0x7820, 0x7020, 0x7020, 0x6840, 0x6840, 0x6040, 0x1800, - 0x0841, 0xc618, 0xffff, 0xffff, 0xc638, 0x0841, 0x1020, 0x9020, - 0xf800, 0xf000, 0xd800, 0xc820, 0xb020, 0xa040, 0x9040, 0x7860, - 0x7860, 0x7860, 0x7860, 0x7860, 0x7860, 0x7840, 0x1820, 0x0841, - 0xc618, 0xffff, 0x0841, 0x1800, 0x9820, 0xb820, 0xf800, 0xf800, - 0xf000, 0xe000, 0xc820, 0xb820, 0xa840, 0x9040, 0x8060, 0x8060, - 0x8060, 0x7860, 0x7860, 0x9840, 0xa020, 0x2000, 0x0841, 0xffff, - 0x0000, 0x9820, 0xe040, 0xe040, 0xe1a8, 0xea4b, 0xf24b, 0xf24b, - 0xea4b, 0xe26b, 0xc966, 0xb040, 0xc081, 0xb881, 0xb081, 0xb081, - 0xb881, 0xe800, 0xe800, 0xa800, 0x0000, 0xffff, 0x0000, 0xa020, - 0xe040, 0xe040, 0xea09, 0xf2ee, 0xeaee, 0xeaee, 0xe2ee, 0xdaee, - 0xc1c8, 0xa040, 0xc0a2, 0xc0a2, 0xc0a2, 0xc882, 0xd082, 0xd800, - 0xd800, 0xa000, 0x0000, 0xffff, 0x0000, 0xa020, 0xe040, 0xe040, - 0xf209, 0xeaee, 0xeaee, 0xe2ee, 0xdaee, 0xdaee, 0xb9c8, 0x9860, - 0xc0a2, 0xc0a2, 0xc882, 0xd082, 0xd882, 0xd020, 0xd020, 0xa000, - 0x0000, 0xffff, 0x0000, 0xa820, 0xe040, 0xe040, 0xf209, 0xeaee, - 0xe2ee, 0xdaee, 0xdaee, 0xd30e, 0xb1c8, 0x8860, 0xc0a2, 0xc882, - 0xd082, 0xd882, 0xd882, 0xc020, 0xc020, 0xa000, 0x0000, 0xffff, - 0x0000, 0xa820, 0xe040, 0xe040, 0xe209, 0xe2ee, 0xdaee, 0xdaee, - 0xd30e, 0xcb0e, 0xa1c8, 0x9060, 0xc882, 0xd082, 0xd882, 0xd882, - 0xe082, 0xb820, 0xb020, 0x9020, 0x0000, 0xffff, 0x0000, 0xb020, - 0xe040, 0xe040, 0xda09, 0xdaee, 0xd2ee, 0xd30e, 0xcb0e, 0xc30e, - 0xb1c8, 0xa040, 0xd082, 0xd882, 0xd882, 0xe082, 0xe882, 0xa820, - 0xa840, 0x8820, 0x0000, 0xffff, 0x0000, 0xa820, 0xe040, 0xe040, - 0xc945, 0xc1c8, 0xb9c8, 0xb1c8, 0xa1c8, 0xb1c8, 0xb9c7, 0xc1c8, - 0xd966, 0xd966, 0xe166, 0xe966, 0xf166, 0x9840, 0x9840, 0x7820, - 0x0000, 0xffff, 0x0000, 0xa820, 0xe040, 0xe040, 0xa840, 0xa040, - 0x9060, 0x8060, 0x9060, 0xa040, 0xc9e9, 0xe3d3, 0xebd3, 0xebd3, - 0xebd3, 0xebd3, 0xebd3, 0x9040, 0x8840, 0x7020, 0x0000, 0xffff, - 0x0000, 0xa020, 0xe040, 0xe040, 0xb061, 0xb882, 0xb882, 0xc082, - 0xc882, 0xd082, 0xd9a8, 0xebd3, 0xebd3, 0xebd3, 0xebd3, 0xebd3, - 0xebd3, 0x8060, 0x7860, 0x6840, 0x0000, 0xffff, 0x0000, 0xa020, - 0xe040, 0xe040, 0xa881, 0xb882, 0xc082, 0xc882, 0xd082, 0xd882, - 0xe1a8, 0xebd3, 0xebd3, 0xebd3, 0xebd3, 0xebd3, 0xebd3, 0x8840, - 0x8840, 0x6820, 0x0000, 0xffff, 0x0000, 0x9820, 0xe040, 0xe040, - 0xa081, 0xc082, 0xc882, 0xd082, 0xd882, 0xe062, 0xe9a8, 0xebd3, - 0xebd3, 0xebd3, 0xebd3, 0xebd3, 0xe3d3, 0x9840, 0x9840, 0x6820, - 0x0000, 0xffff, 0x0000, 0x9820, 0xe040, 0xe040, 0xa861, 0xc882, - 0xd082, 0xd882, 0xe062, 0xe862, 0xf1a8, 0xebd3, 0xebd3, 0xebd3, - 0xebd3, 0xe3d3, 0xe3d3, 0xa040, 0xa840, 0x7020, 0x0000, 0xffff, - 0x0000, 0x9020, 0xe040, 0xe040, 0xb861, 0xd082, 0xd882, 0xe062, - 0xe862, 0xf062, 0xf1a8, 0xebd3, 0xebd3, 0xebd3, 0xe3d3, 0xe3d3, - 0xe3d3, 0xb040, 0xb020, 0x7820, 0x0000, 0xffff, 0x1082, 0x1020, - 0x8040, 0xa040, 0xf800, 0xf800, 0xf800, 0xd020, 0xa840, 0x8060, - 0x7860, 0x7860, 0x7860, 0x7860, 0x7860, 0x7860, 0x7860, 0x8060, - 0x8040, 0x1000, 0x1061, 0xffff, 0xce79, 0x1061, 0x1020, 0x9820, - 0xf800, 0xf800, 0xf800, 0xe800, 0xc020, 0x9040, 0x7860, 0x7860, - 0x7860, 0x7860, 0x7860, 0x7860, 0x7860, 0x8040, 0x1800, 0x0861, - 0xce59, 0xffff, 0xffff, 0xce79, 0x1061, 0x1800, 0xb000, 0xb800, - 0xb800, 0xb800, 0xa000, 0x8820, 0x7020, 0x6840, 0x6840, 0x6040, - 0x6040, 0x6040, 0x6040, 0x1800, 0x0841, 0xce59, 0xffff, 0xffff, - 0xffff, 0xffff, 0xce79, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0841, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* yellow jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xdefb, 0x39e7, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x18e3, - 0x18e0, 0x18e3, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xdefb, 0x18e3, 0x6324, 0xad46, 0x39c0, - 0x18e3, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xdefb, 0x18e3, 0x7385, 0xdeed, 0xb587, 0x83e0, 0x39c0, 0x18e3, - 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x18e3, 0x7385, - 0xe74d, 0xe72d, 0xbde7, 0x8c40, 0x7be0, 0x39c0, 0x18e3, 0xdefb, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xdefb, 0x18c3, 0x6b45, 0xdf0d, 0xe72d, 0xe74d, - 0xc647, 0x9cc0, 0x8c40, 0x7be0, 0x39c0, 0x18e3, 0xdefb, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, - 0x18e3, 0x6b45, 0xe74e, 0xef6e, 0xef6e, 0xef6e, 0xdf28, 0xd6a1, - 0xa520, 0x8c40, 0x7be0, 0x39c0, 0x18e3, 0xdefb, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x18e3, 0x73a5, 0xdf0d, - 0xef6e, 0xef8e, 0xef8e, 0xef8e, 0xe748, 0xc620, 0xad40, 0x9cc0, - 0x8c40, 0x9480, 0x6320, 0x18e3, 0xdefb, 0xffff, 0xffff, 0xffff, - 0xffff, 0xdefb, 0x18e3, 0x73a5, 0xe74d, 0xe72d, 0xef6e, 0xef8e, - 0xef8e, 0xef8e, 0xb5c4, 0xad60, 0xbde0, 0xad40, 0xad40, 0xd680, - 0xd680, 0x6b40, 0x18e3, 0xdefb, 0xffff, 0xffff, 0xdefb, 0x18e3, - 0x6b65, 0xdf0d, 0xe72d, 0xe74d, 0xef6e, 0xef8e, 0xef8e, 0xb5c4, - 0x9480, 0x9480, 0xad60, 0xc620, 0xdee0, 0xdee0, 0xd6a0, 0xd6a0, - 0x6b40, 0x18e3, 0xdefb, 0xffff, 0x39c7, 0x2101, 0xad47, 0xb5a7, - 0xbde7, 0xce47, 0xe728, 0xe748, 0xbde4, 0x9480, 0x9480, 0x9480, - 0xa520, 0xd6c0, 0xdee0, 0xdec0, 0xd6c0, 0xd6a0, 0xce80, 0x3180, - 0x39e7, 0xffff, 0xd6ba, 0x10a2, 0x39c0, 0x7bc0, 0x8c40, 0x9cc0, - 0xd6c1, 0xc620, 0xad60, 0x9480, 0x9480, 0x9ce0, 0xd6a0, 0xdee0, - 0xdf00, 0xe700, 0xdf00, 0xdec0, 0x6b40, 0x18e3, 0xdefb, 0xffff, - 0xffff, 0xdedb, 0x10a2, 0x39c0, 0x7bc0, 0x8c40, 0xad40, 0xad60, - 0xbde0, 0xad60, 0xa500, 0xd6a0, 0xd6a0, 0xd6c0, 0xdee0, 0xdf00, - 0xe720, 0x7380, 0x18e3, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, - 0xdedb, 0x10a2, 0x39c0, 0x7bc0, 0x8c40, 0x9cc0, 0xad40, 0xbde0, - 0xbde0, 0xce60, 0xd6c0, 0xd6a0, 0xd6c0, 0xdec0, 0x7380, 0x18e3, - 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, - 0x18c2, 0x39c0, 0x7bc0, 0x8c40, 0xa500, 0xbdc0, 0xbde0, 0xbde0, - 0xce60, 0xd6c0, 0xd680, 0x6b40, 0x18e3, 0xdefb, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x18c2, - 0x39c0, 0x8c20, 0xad60, 0xb5a0, 0xbdc0, 0xbde0, 0xbde0, 0xce60, - 0x6320, 0x18c3, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x18c2, 0x5ac0, - 0xad60, 0xb580, 0xb5a0, 0xbdc0, 0xbde0, 0x6300, 0x18e3, 0xdefb, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x18c2, 0x5ac0, 0xad60, - 0xb580, 0xb5a0, 0x6300, 0x18e3, 0xdefb, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xdefb, 0x18c2, 0x5ae0, 0xad60, 0x5ae0, - 0x18e3, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xdefb, 0x18e2, 0x2120, 0x18e3, 0xdefb, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xdefb, 0x39e7, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff}, - /* green jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x31c6, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2124, - 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xf79e, 0x31c6, 0x3aa6, 0x5667, 0x4645, 0x4645, 0x4645, - 0x4645, 0x4645, 0x4645, 0x4645, 0x4645, 0x3305, 0x2144, 0xef5d, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x31c6, - 0x3aa6, 0xd7b9, 0x6749, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, - 0x4f25, 0x4f25, 0x4f25, 0x774c, 0x3b06, 0x2144, 0xef5d, 0xffff, - 0xffff, 0xffff, 0xffff, 0xf79e, 0x31c6, 0x3aa6, 0xd7b9, 0xdfda, - 0x5f48, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, - 0x4f25, 0x5f48, 0x874d, 0x3b06, 0x2164, 0xef7d, 0xffff, 0xffff, - 0xf79e, 0x31c6, 0x3aa6, 0xd7b9, 0xdfda, 0xbfb5, 0x5747, 0x4f25, - 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, - 0x674a, 0x8f6f, 0x3b06, 0x2965, 0xef7d, 0xffff, 0x31c6, 0x3aa6, - 0xd7b9, 0xdfda, 0xbfb6, 0x9790, 0x5726, 0x4f25, 0x4f25, 0x4f25, - 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x776b, - 0x9771, 0x3b07, 0x2985, 0xffff, 0x0000, 0x5647, 0x6749, 0x5f48, - 0x5f47, 0x5726, 0x1601, 0x0dc0, 0x0dc0, 0x0da0, 0x0d80, 0x0d60, - 0x0d40, 0x0d00, 0x0d01, 0x1601, 0x0dc0, 0x0da0, 0x1561, 0x2542, - 0x0000, 0xffff, 0x0000, 0x4644, 0x4f25, 0x4f25, 0x4f25, 0x4f25, - 0x0dc0, 0x05a0, 0x0560, 0x0540, 0x0520, 0x0500, 0x04c0, 0x04a0, - 0x04a0, 0x0dc0, 0x05a0, 0x0540, 0x04e0, 0x0ce0, 0x0000, 0xffff, - 0x0000, 0x3e24, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x0dc0, 0x0580, - 0x0540, 0x0520, 0x0500, 0x04c0, 0x04a0, 0x0480, 0x0480, 0x0dc0, - 0x0560, 0x0500, 0x04c0, 0x0cc0, 0x0000, 0xffff, 0x0020, 0x3e24, - 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x0da0, 0x0540, 0x0520, 0x0500, - 0x04c0, 0x04a0, 0x0480, 0x0460, 0x0460, 0x0dc0, 0x0540, 0x04e0, - 0x0480, 0x0c80, 0x0000, 0xffff, 0x0020, 0x3e04, 0x4f25, 0x4f25, - 0x4f25, 0x4f25, 0x0d80, 0x0520, 0x0500, 0x04e0, 0x04a0, 0x0480, - 0x0460, 0x0420, 0x0440, 0x0d80, 0x0500, 0x04a0, 0x0440, 0x0c60, - 0x0000, 0xffff, 0x0040, 0x3e04, 0x4f25, 0x4f25, 0x4f25, 0x4f25, - 0x0d60, 0x0500, 0x04e0, 0x04a0, 0x0480, 0x0460, 0x0420, 0x0400, - 0x0400, 0x0d60, 0x04e0, 0x0480, 0x0420, 0x0c40, 0x0000, 0xffff, - 0x0040, 0x3e04, 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x0d40, 0x04e0, - 0x04a0, 0x0480, 0x0460, 0x0440, 0x0400, 0x03e0, 0x03e0, 0x0d40, - 0x04a0, 0x0440, 0x03e0, 0x0c20, 0x0000, 0xffff, 0x0841, 0x3de4, - 0x4f25, 0x4f25, 0x4f25, 0x4f25, 0x0d20, 0x04a0, 0x0480, 0x0460, - 0x0440, 0x0400, 0x03e0, 0x03c0, 0x03c0, 0x0d00, 0x0460, 0x0420, - 0x03c0, 0x0be0, 0x0000, 0xffff, 0x0861, 0x45c5, 0x4f26, 0x4f25, - 0x4f25, 0x4f25, 0x1d61, 0x0d01, 0x0ce1, 0x0cc1, 0x0ca1, 0x0c81, - 0x0c61, 0x0c41, 0x1441, 0x1561, 0x0cc1, 0x1481, 0x1c62, 0x2483, - 0x0000, 0xffff, 0x4248, 0x2a25, 0x872e, 0x6f4a, 0x4f25, 0x4f25, - 0x15e1, 0x0dc0, 0x0dc0, 0x0dc0, 0x0d60, 0x0d40, 0x0d00, 0x04c0, - 0x0ca0, 0x4f25, 0x5746, 0x776b, 0x8f4f, 0x3265, 0x31c6, 0xffff, - 0xf7be, 0x3a07, 0x3265, 0x8f4f, 0x6f4a, 0x4f25, 0x0dc0, 0x05a0, - 0x05a0, 0x0560, 0x0520, 0x04e0, 0x04a0, 0x0460, 0x0440, 0x4f25, - 0x6f4a, 0x874e, 0x3285, 0x31a6, 0xf79e, 0xffff, 0xffff, 0xf7be, - 0x39e6, 0x3286, 0x9750, 0x776b, 0x0dc0, 0x05a0, 0x0560, 0x0520, - 0x04e0, 0x04a0, 0x0440, 0x0400, 0x0400, 0x6749, 0x7f4d, 0x32a5, - 0x2985, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x31c6, - 0x3aa6, 0x9771, 0x15c1, 0x0560, 0x0520, 0x04e0, 0x04a0, 0x0440, - 0x0400, 0x03c0, 0x03c0, 0x7f4c, 0x32c5, 0x2965, 0xef7d, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x31a5, 0x3ae7, - 0x25a2, 0x1540, 0x0d20, 0x0ce0, 0x0ca0, 0x0c80, 0x0c40, 0x0c00, - 0x1421, 0x32e5, 0x2144, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xef7d, 0x2985, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2144, - 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff} -}; - -/* use 16x16 tiles */ -#elif (LCD_HEIGHT == 132) && (LCD_WIDTH == 176) && \ - (LCD_PIXELFORMAT == RGB565SWAPPED) -/* size of a tile */ -#define TILE_WIDTH 16 -#define TILE_HEIGHT 16 - -/* playboard offset from top */ -#define YOFS 4 - -/* number of high scores to save */ -#define NUM_SCORES 10 - -/* bitmaps for the jewels */ -static unsigned short jewel[8][256] = { - /* empty */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* white jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5def, 0xae73, 0xe318, - 0xef7b, 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xfbde, 0x0c63, 0xa631, 0x14a5, 0x14a5, - 0xef7b, 0x8631, 0x2c63, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x4d6b, 0x2842, 0x55ad, 0x79ce, 0x79ce, 0x34a5, - 0x9294, 0x9294, 0x518c, 0xe739, 0xae73, 0xffff, 0xffff, 0xffff, - 0xffff, 0xbad6, 0x494a, 0xdbde, 0xfbde, 0xfbde, 0xfbde, 0xf7bd, - 0xd39c, 0x34a5, 0x96b5, 0xf7bd, 0x2421, 0x1ce7, 0xffff, 0xffff, - 0xffff, 0xcb5a, 0x75ad, 0x3ce7, 0x3ce7, 0x3ce7, 0x3ce7, 0x59ce, - 0x34a5, 0xd39c, 0x14a5, 0x96b5, 0xae73, 0x6d6b, 0xffff, 0xffff, - 0x3ce7, 0x8631, 0x3ce7, 0x3ce7, 0x3ce7, 0x3ce7, 0x3ce7, 0xbad6, - 0xb6b5, 0x34a5, 0xb294, 0x55ad, 0x96b5, 0x4529, 0x7def, 0xffff, - 0xae73, 0xf39c, 0x3ce7, 0x1ce7, 0xfbde, 0xfbde, 0x1ce7, 0x59ce, - 0x18c6, 0x96b5, 0x34a5, 0x34a5, 0xb6b5, 0x918c, 0xef7b, 0xffff, - 0xc318, 0x38c6, 0x59ce, 0xf7bd, 0x18c6, 0x18c6, 0xf7bd, 0xf7bd, - 0x59ce, 0x79ce, 0x79ce, 0x79ce, 0x95b5, 0x95ad, 0xc318, 0xffff, - 0x8e73, 0x2c63, 0x14a5, 0xf39c, 0x75ad, 0x96b5, 0x14a5, 0xd7bd, - 0x1ce7, 0x5def, 0x5def, 0xfbde, 0xd6b5, 0x6d6b, 0x4d6b, 0xffff, - 0x5def, 0xe318, 0xf39c, 0x14a5, 0xb6b5, 0xd7bd, 0x34a5, 0xd7bd, - 0x1ce7, 0x5def, 0x5ce7, 0xdad6, 0x99ce, 0x0421, 0x1ce7, 0xffff, - 0xffff, 0x4d6b, 0x2c63, 0xd39c, 0x34a5, 0x34a5, 0xf39c, 0xf7bd, - 0x3ce7, 0x5def, 0xfbde, 0xdad6, 0xf7bd, 0xaa52, 0xffff, 0xffff, - 0xffff, 0x3ce7, 0x2421, 0x14a5, 0xd39c, 0xd39c, 0x14a5, 0x18c6, - 0x1ce7, 0xfbde, 0xdad6, 0xdad6, 0xeb5a, 0x9ad6, 0xffff, 0xffff, - 0xffff, 0xffff, 0x3084, 0x2421, 0x2c63, 0x34a5, 0x96b5, 0xf7bd, - 0x38c6, 0xbad6, 0x96b5, 0x694a, 0x4d6b, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0x5def, 0xae73, 0xe318, 0xeb5a, 0x14a5, - 0xf39c, 0xe739, 0xeb5a, 0xdbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0x3084, 0xc318, - 0x2c63, 0x1ce7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* blue jewel */ - {0xffff, 0xffff, 0x9ef7, 0xc729, 0x6709, 0x8709, 0x8709, 0x8709, - 0x8709, 0x8709, 0x8709, 0x8709, 0x6619, 0x3ce7, 0xffff, 0xffff, - 0xffff, 0x7def, 0xa729, 0x7b2d, 0x7fbf, 0x9fcf, 0x9fd7, 0xbfdf, - 0xbfe7, 0xdfef, 0xfff7, 0xffff, 0x9e76, 0x6619, 0x3ce7, 0xffff, - 0x5def, 0x8621, 0xdc3d, 0xdfef, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xfff7, 0xbfdf, 0x9fcf, 0x1d3e, 0x6619, 0x3ce7, - 0xc731, 0xb804, 0xbf5e, 0xdf6e, 0xdf6e, 0xff76, 0xff76, 0xff7e, - 0xff86, 0xdf7e, 0xdf76, 0xbf6e, 0xbf66, 0x9f5e, 0x1a25, 0xa729, - 0x55a5, 0xce0a, 0xbe05, 0xde05, 0x3f1e, 0x3f16, 0x1f06, 0x1f06, - 0xf803, 0x7603, 0x7603, 0xbf66, 0x3f8f, 0x5faf, 0x1344, 0x34a5, - 0xffff, 0xec52, 0x7704, 0x9d05, 0x5faf, 0x9f5e, 0x1f06, 0x1f06, - 0xf803, 0x7603, 0x390c, 0xbf4e, 0xff6e, 0xdc55, 0x8a42, 0xffff, - 0xffff, 0x9ef7, 0x4619, 0x7d76, 0xbfd7, 0x1f97, 0xbe05, 0xff05, - 0xf803, 0x7603, 0x1c0d, 0x7f2e, 0x5e46, 0x8711, 0x7def, 0xffff, - 0xffff, 0xffff, 0x38c6, 0x8c2a, 0x7fc7, 0x7fbf, 0x9d15, 0x9d05, - 0xf803, 0x7603, 0xdf05, 0x3f16, 0x3013, 0xb6b5, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xf07b, 0xf74c, 0x7fb7, 0x1d4e, 0x3c05, - 0xf803, 0x1904, 0x1f06, 0xfa04, 0x0c5b, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xc729, 0x5d76, 0xbe7e, 0xda04, - 0xd803, 0xfc04, 0xbe05, 0x6619, 0x9ef7, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xa719, 0xdf86, 0xda14, - 0xd803, 0xde05, 0x8e0a, 0x38c6, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x14a5, 0x912b, 0x7b3d, - 0x5904, 0x9904, 0xaf6b, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xab4a, 0xd82c, - 0x9a04, 0x8621, 0xdfff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0x4619, - 0x8809, 0x9ad6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c6, - 0x5184, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* orange jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9ef7, 0x0f84, 0xc218, - 0x4c6b, 0x3ce7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0x7def, 0xef83, 0x0321, 0x89a4, 0xe5c3, - 0x0092, 0xc120, 0x2c6b, 0x1ce7, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0x7def, 0xce7b, 0x0321, 0xaaac, 0x32ef, 0x73ef, 0x06cc, - 0xe0a9, 0xe0a9, 0xe091, 0xc128, 0x0b63, 0xfbde, 0xffff, 0xffff, - 0xce7b, 0x2329, 0xcaac, 0x32ef, 0x73ef, 0x73ef, 0x53ef, 0x04cc, - 0x00b2, 0xe0a9, 0x20b2, 0x60cb, 0xa0bb, 0x2131, 0xea62, 0xffff, - 0xa118, 0x8add, 0x53ef, 0x73ef, 0x52ef, 0x48e5, 0x20cb, 0x20b2, - 0x20b2, 0x80ba, 0x80ba, 0xc0ec, 0xc0ec, 0xc0ec, 0xc120, 0xffff, - 0xc218, 0xc0db, 0x63dc, 0x27e5, 0x80d3, 0xc0c2, 0x40b2, 0xe0a9, - 0xe0a9, 0xe0a9, 0x20b2, 0x20cb, 0xe0c2, 0xc0ba, 0xe128, 0xffff, - 0xc118, 0xc0db, 0xc0db, 0x80d3, 0xc0c2, 0x40b2, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0x60ba, 0xa099, 0xa099, 0xc120, 0xffff, - 0xa118, 0xc0db, 0xc0db, 0x40cb, 0x40b2, 0xe0a9, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0x60ba, 0xa099, 0xa099, 0xc120, 0xffff, - 0xc118, 0xc0db, 0xc0db, 0x00cb, 0xe0a9, 0xe0a9, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0xe0a9, 0x60ba, 0xa099, 0xa099, 0xc120, 0xffff, - 0xc118, 0xc0db, 0xa0d3, 0xc0c2, 0x20b2, 0xe0a9, 0xe0a9, 0xe0a9, - 0xe0a9, 0xe0a9, 0x20b2, 0xa0ba, 0x60ba, 0xa0ba, 0xc120, 0xffff, - 0x8110, 0xa0ba, 0xe0a9, 0xc0a9, 0x00aa, 0x80ba, 0x20b2, 0xe0a9, - 0x20b2, 0x00c3, 0x40cb, 0xa0c2, 0x00b2, 0x20b2, 0xa120, 0xffff, - 0x718c, 0xe228, 0xe089, 0xe0a9, 0xc0a9, 0xc0a9, 0x20b2, 0xc0c2, - 0x60e4, 0x40e4, 0xc0d3, 0x20cb, 0x4092, 0xa120, 0xce7b, 0xffff, - 0xffff, 0xbef7, 0x508c, 0xe228, 0xe081, 0x00aa, 0xc0a9, 0x20cb, - 0x20dc, 0xa0ec, 0x20ab, 0xc120, 0xae73, 0x5def, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xbef7, 0x508c, 0xe220, 0xe081, 0x20bb, - 0xc0a2, 0xe128, 0xae73, 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbef7, 0x308c, 0xc220, - 0xad73, 0x5def, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* purple jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x8e73, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7bd, 0x0000, - 0xd7bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6631, 0x9080, - 0x6631, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xd7bd, 0xeb50, 0xd9c8, - 0x4948, 0xd7bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6631, 0x1ad2, 0xb8c0, - 0x1398, 0x6631, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xd7bd, 0xea50, 0xdef2, 0xd8c0, - 0x1398, 0x4838, 0xd7bd, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0x6739, 0x1ad2, 0x7dea, 0x36b0, - 0x1390, 0x1080, 0x6739, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xf7bd, 0xea50, 0xdef2, 0x19c9, 0x36b0, - 0x14a0, 0x0f70, 0x4738, 0xf7bd, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0x6739, 0x1ad2, 0x5dea, 0x36b0, 0x36b0, - 0x36b0, 0x1078, 0x1078, 0x6739, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xf7bd, 0xea50, 0xdef2, 0xf8c0, 0x36b0, 0x36b0, - 0x36b0, 0x34a0, 0x1188, 0x4840, 0xf7bd, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x8739, 0x1ad2, 0x3ce2, 0x36b0, 0x36b0, 0x36b0, - 0x36b0, 0x36b0, 0x1498, 0x1398, 0x8739, 0xffff, 0xffff, 0xffff, - 0xffff, 0xf7bd, 0xea50, 0xdef2, 0xb8c0, 0x36b0, 0x36b0, 0x36b0, - 0x36b0, 0x36b0, 0x36b0, 0x18c0, 0x4948, 0xf7bd, 0xffff, 0xffff, - 0xffff, 0x8739, 0x1ad2, 0xbad1, 0x34a0, 0x35a0, 0x35a8, 0x36b0, - 0x37b8, 0x37b8, 0x37b8, 0x19c8, 0x17b8, 0x8739, 0xffff, 0xffff, - 0x18c6, 0xc948, 0x9398, 0x0e70, 0x0e68, 0x0e68, 0x1180, 0x1498, - 0x17b8, 0x1ad0, 0x1ad0, 0x1ad0, 0x19c8, 0x4948, 0x18c6, 0xffff, - 0xe739, 0x2210, 0x6420, 0x6420, 0x6420, 0x6420, 0x6420, 0x6420, - 0x6420, 0x6420, 0x6420, 0x6420, 0x6420, 0x2210, 0xe739, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* red jewel */ - {0xffff, 0x79ce, 0x8210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x8210, 0x79ce, 0xffff, 0xffff, - 0x18c6, 0x4108, 0x2070, 0x00e0, 0x20c8, 0x20b0, 0x4098, 0x6080, - 0x6080, 0x6080, 0x6078, 0x6078, 0x2050, 0x4108, 0x18c6, 0xffff, - 0x2000, 0x2078, 0x20c8, 0x00f0, 0x00e8, 0x00d0, 0x20b8, 0x40a0, - 0x6088, 0x6080, 0x6078, 0x6080, 0x20a8, 0x0088, 0x2000, 0xffff, - 0x0000, 0x40e0, 0x40e0, 0x8cf2, 0xeeea, 0xeee2, 0xeeda, 0xa7c1, - 0x61b0, 0xa2c0, 0xa2c0, 0x82c8, 0x20d8, 0x00d8, 0x0000, 0xffff, - 0x0000, 0x40e0, 0x40e0, 0x8cea, 0xeee2, 0xeeda, 0xeed2, 0xa7b1, - 0x81a0, 0x82c0, 0x82d0, 0x82d8, 0x20c8, 0x20c8, 0x0000, 0xffff, - 0x0000, 0x40e0, 0x40e0, 0x8ce2, 0xeeda, 0xeed2, 0x0ecb, 0xa7a1, - 0x61b0, 0x82d0, 0x82d8, 0x82e0, 0x20c0, 0x20b8, 0x0000, 0xffff, - 0x0000, 0x40e0, 0x40e0, 0x8cda, 0xeed2, 0x0ecb, 0x0ec3, 0xa7b1, - 0x61c0, 0x82d8, 0x82e0, 0x82e8, 0x40b0, 0x40a8, 0x0000, 0xffff, - 0x0000, 0x40e0, 0x40e0, 0x87b9, 0xc8b1, 0xc8a1, 0xc8b1, 0xa7c1, - 0x87d1, 0x66e1, 0x66e9, 0x66e9, 0x40a0, 0x4090, 0x0000, 0xffff, - 0x0000, 0x40e0, 0x40d8, 0x60a0, 0x6198, 0x61a8, 0x61b8, 0xc8d9, - 0xd3eb, 0xd3eb, 0xd3eb, 0xd3eb, 0x8088, 0x6080, 0x0000, 0xffff, - 0x0000, 0x40e0, 0x40d8, 0x81b0, 0x82c0, 0x82c8, 0x82d8, 0xa8e1, - 0xd3eb, 0xd3eb, 0xd3eb, 0xd3e3, 0x6098, 0x4090, 0x0000, 0xffff, - 0x0000, 0x40d8, 0x40d8, 0x81b8, 0x82c8, 0x82d8, 0x62e0, 0xa8f1, - 0xd3eb, 0xd3eb, 0xd3e3, 0xd3e3, 0x60a0, 0x40a0, 0x0000, 0xffff, - 0x0000, 0x40d8, 0x40d8, 0x61c8, 0x82d8, 0x62e0, 0x62f0, 0xa8e9, - 0xd3eb, 0xd3e3, 0xd3e3, 0xd3e3, 0x60b0, 0x20b0, 0x0000, 0xffff, - 0x4108, 0x2068, 0x20c0, 0x00f0, 0x00f8, 0x00d8, 0x20a8, 0x6090, - 0x6088, 0x6088, 0x6080, 0x6080, 0x4098, 0x2068, 0x4108, 0xffff, - 0x59ce, 0x4110, 0x0078, 0x00f8, 0x00f8, 0x00f0, 0x20b8, 0x6080, - 0x6080, 0x6078, 0x6078, 0x6078, 0x2060, 0x4110, 0x59ce, 0xffff, - 0xffff, 0x9ad6, 0x8210, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x8210, 0x9ad6, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* yellow jewel */ - {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xc639, - 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0x6429, 0xa373, - 0x4329, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0x8431, 0x2ac6, 0x87b5, - 0x406b, 0x4329, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xfbde, 0x6429, 0x4ac6, 0x4de7, 0x07c6, - 0x408c, 0x406b, 0x4329, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xfbde, 0x6429, 0x4ace, 0x4ee7, 0x6eef, 0xe7de, - 0xc0bd, 0x408c, 0x406b, 0x4329, 0xfbde, 0xffff, 0xffff, 0xffff, - 0xffff, 0xfbde, 0x8431, 0x4ac6, 0x4ee7, 0x8eef, 0x8eef, 0x07df, - 0xe0bd, 0x00a5, 0x408c, 0x00a5, 0x8331, 0xfbde, 0xffff, 0xffff, - 0xfbde, 0x6429, 0x2ac6, 0x4de7, 0x6eef, 0x8eef, 0x2be7, 0xc19c, - 0x20a5, 0xc0bd, 0x80ce, 0xa0d6, 0xa0b5, 0x8331, 0xfbde, 0xffff, - 0xa531, 0xa373, 0x87b5, 0x07c6, 0x07df, 0x07df, 0xc19c, 0x8094, - 0xa094, 0x80ce, 0xe0de, 0xc0d6, 0xa0d6, 0xc09c, 0xc639, 0xffff, - 0xdbde, 0x0321, 0x406b, 0x408c, 0xe1bd, 0xe0bd, 0x20a5, 0xa094, - 0x00c6, 0xc0d6, 0xe0de, 0x00df, 0x00c6, 0x6329, 0xfbde, 0xffff, - 0xffff, 0xdbde, 0x2321, 0x406b, 0x408c, 0x00a5, 0xc0bd, 0xc0bd, - 0xa0d6, 0xa0d6, 0xc0d6, 0x20c6, 0x8331, 0xfbde, 0xffff, 0xffff, - 0xffff, 0xffff, 0xdbde, 0x2321, 0x406b, 0x408c, 0x80b5, 0xe0bd, - 0x00be, 0xa0d6, 0xa0b5, 0x6329, 0xfbde, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xdbde, 0x2321, 0x608c, 0x80b5, 0xc0b5, - 0xe0bd, 0x40ad, 0x6329, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0x4329, 0xc09c, 0x80b5, - 0x20a5, 0x8331, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0x4329, 0xe083, - 0x6329, 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xfbde, 0xc639, - 0xfbde, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff}, - /* green jewel */ - {0xffff, 0xffff, 0xffff, 0x718c, 0xa108, 0xe210, 0xe210, 0xe210, - 0xe210, 0xe210, 0xa108, 0x8d6b, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0x718c, 0x4a53, 0x2d7f, 0x254f, 0x254f, 0x254f, - 0x254f, 0x254f, 0x264f, 0x4843, 0xad6b, 0xffff, 0xffff, 0xffff, - 0xffff, 0x718c, 0x4953, 0xbadf, 0x6d87, 0x254f, 0x254f, 0x254f, - 0x254f, 0x254f, 0x254f, 0x4b77, 0x484b, 0xce73, 0xffff, 0xffff, - 0x718c, 0x2953, 0xbad7, 0xdadf, 0x6b77, 0x254f, 0x254f, 0x254f, - 0x254f, 0x254f, 0x254f, 0x254f, 0x4d87, 0x6953, 0xee73, 0xffff, - 0xa108, 0x2e87, 0x6e8f, 0x6c7f, 0xa43e, 0x221e, 0x221e, 0x021e, - 0xe21d, 0xc21d, 0x0226, 0x221e, 0x0326, 0x063e, 0x2109, 0xffff, - 0xe210, 0x254f, 0x254f, 0x254f, 0x221e, 0xa005, 0x6005, 0x2005, - 0xe004, 0xc004, 0x6115, 0xa005, 0x2005, 0xa004, 0x8109, 0xffff, - 0xe210, 0x254f, 0x254f, 0x254f, 0x221e, 0x6005, 0x2005, 0xe004, - 0xc004, 0x8004, 0x4115, 0x6005, 0xe004, 0x6004, 0x8109, 0xffff, - 0xe210, 0x254f, 0x254f, 0x254f, 0x021e, 0x2005, 0x0005, 0xc004, - 0x8004, 0x4004, 0x2115, 0x0005, 0x8004, 0x2004, 0x6109, 0xffff, - 0xe210, 0x254f, 0x254f, 0x254f, 0xe21d, 0x0005, 0xc004, 0x8004, - 0x4004, 0x0004, 0xe114, 0xc004, 0x4004, 0xc003, 0x6109, 0xffff, - 0xe210, 0x254f, 0x254f, 0x254f, 0xc21d, 0xc004, 0x8004, 0x4004, - 0x2004, 0xe003, 0xc114, 0x8004, 0x0004, 0x8003, 0x6109, 0xffff, - 0x8108, 0xe756, 0x254f, 0x254f, 0x2226, 0x8115, 0x6115, 0x4115, - 0x2115, 0x0115, 0x421d, 0x421d, 0x0225, 0x0535, 0xe108, 0xffff, - 0x5084, 0x863a, 0x2b77, 0x254f, 0x221e, 0xa005, 0xa005, 0xa005, - 0x4005, 0xe004, 0x611d, 0x254f, 0x2c77, 0xc73a, 0x5084, 0xffff, - 0xffff, 0x3084, 0xc742, 0x2c7f, 0x221e, 0xa005, 0xa005, 0x4005, - 0xe004, 0x8004, 0x211d, 0x2a6f, 0xc73a, 0x3084, 0xffff, 0xffff, - 0xffff, 0xffff, 0x0f7c, 0x0843, 0x4536, 0xa005, 0x4005, 0xe004, - 0x8004, 0x2004, 0xe224, 0xc63a, 0x0f7c, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xef7b, 0x2109, 0xc111, 0xa111, 0x8111, - 0x8109, 0x6109, 0xe108, 0xef7b, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, - 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff} -}; - -/* use 16x16 tiles */ -#elif (LCD_HEIGHT == 128) && (LCD_WIDTH == 160) && (LCD_DEPTH == 2) -/* size of a tile */ -#define TILE_WIDTH 16 -#define TILE_HEIGHT 16 - -/* playboard offset from top */ -#define YOFS 0 - -/* number of high scores to save */ -#define NUM_SCORES 10 - -/* bitmaps for the jewels */ -static unsigned char jewel[8][32] = { - /* empty */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - /* square */ - {0x00, 0x00, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, - 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0xfc, 0x00, 0x00, - 0x00, 0x00, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, - 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x00, 0x00}, - /* plus */ - {0x00, 0xe0, 0xe0, 0x60, 0x60, 0x7e, 0x7e, 0x06, - 0x7e, 0x7e, 0x60, 0x60, 0xe0, 0xe0, 0x00, 0x00, - 0x00, 0x03, 0x03, 0x03, 0x03, 0x3f, 0x3f, 0x30, - 0x3f, 0x3f, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00}, - /* triangle */ - {0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x7c, 0x1e, - 0x7c, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x30, 0x3c, 0x3f, 0x37, 0x31, 0x30, 0x30, - 0x30, 0x31, 0x37, 0x3f, 0x3c, 0x30, 0x00, 0x00}, - /* diamond */ - {0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, - 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, - 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00}, - /* star */ - {0x00, 0x40, 0xc0, 0xc0, 0xc0, 0xc0, 0xf8, 0xfe, - 0xf8, 0xc0, 0xc0, 0xc0, 0xc0, 0x40, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x30, 0x1f, 0x1f, 0x0f, 0x07, - 0x0f, 0x1f, 0x1f, 0x30, 0x00, 0x00, 0x00, 0x00}, - /* circle */ - {0x00, 0xe0, 0xf8, 0xfc, 0x3c, 0x1e, 0x0e, 0x0e, - 0x0e, 0x1e, 0x3c, 0xfc, 0xf8, 0xe0, 0x00, 0x00, - 0x00, 0x03, 0x0f, 0x1f, 0x1e, 0x3c, 0x38, 0x38, - 0x38, 0x3c, 0x1e, 0x1f, 0x0f, 0x03, 0x00, 0x00}, - /* heart */ - {0x00, 0x78, 0xfc, 0xfe, 0xfe, 0xfc, 0xf8, 0xf0, - 0xf8, 0xfc, 0xfe, 0xfe, 0xfc, 0x78, 0x00, 0x00, - 0x00, 0x00, 0x01, 0x03, 0x07, 0x0f, 0x1f, 0x3f, - 0x1f, 0x0f, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00} -}; - -/* use 10x8 tiles */ -#elif (LCD_HEIGHT == 64) && (LCD_WIDTH == 112) -/* size of a tile */ -#define TILE_WIDTH 10 -#define TILE_HEIGHT 8 - -/* playboard offset from top */ -#define YOFS 0 - -/* number of high scores to save */ -#define NUM_SCORES 8 - -/* bitmaps for the jewels */ -static unsigned char jewel[8][10] = { - /* empty */ - {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, - /* square */ - {0x00, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x00, 0x00}, - /* plus */ - {0x00, 0x1c, 0x14, 0x77, 0x41, 0x41, 0x77, 0x14, 0x1c, 0x00}, - /* triangle */ - {0x60, 0x70, 0x5c, 0x46, 0x43, 0x46, 0x5c, 0x70, 0x60, 0x00}, - /* diamond */ - {0x00, 0x08, 0x1c, 0x3e, 0x7f, 0x7f, 0x3e, 0x1c, 0x08, 0x00}, - /* star */ - {0x00, 0x04, 0x6c, 0x3c, 0x1c, 0x1f, 0x3c, 0x6c, 0x04, 0x00}, - /* circle */ - {0x00, 0x1c, 0x3e, 0x63, 0x63, 0x63, 0x63, 0x3e, 0x1c, 0x00}, - /* heart */ - {0x06, 0x0f, 0x1f, 0x3e, 0x7c, 0x3e, 0x1f, 0x0f, 0x06, 0x00} -}; - -#else - #error BEJEWELED: Unsupported LCD type -#endif +/* animation frame rate */ +#define FPS 20 /* global rockbox api */ static struct plugin_api* rb; +/* external bitmaps */ +extern const fb_data bejeweled_jewels[]; + /* the tile struct * type is the jewel number 0-7 * falling if the jewel is falling @@ -1548,7 +208,7 @@ struct game_context { unsigned short highscores[NUM_SCORES]; bool resume; bool dirty; - struct tile playboard[BJ_WIDTH][BJ_HEIGHT]; + struct tile playboard[BJ_HEIGHT][BJ_WIDTH]; }; /***************************************************************************** @@ -1573,6 +233,16 @@ static void bejeweled_init(struct game_context* bj) { rb->memset(bj->playboard, 0, sizeof(bj->playboard)); } +/***************************************************************************** +* bejeweled_setcolors() set the foreground and background colors. +******************************************************************************/ +static inline void bejeweled_setcolors(void) { +#ifdef HAVE_LCD_COLOR + rb->lcd_set_background(LCD_RGBPACK(49, 26, 26)); + rb->lcd_set_foreground(LCD_RGBPACK(210, 181, 181)); +#endif +} + /***************************************************************************** * bejeweled_drawboard() redraws the entire game board. ******************************************************************************/ @@ -1593,9 +263,29 @@ static void bejeweled_drawboard(struct game_context* bj) { rb->lcd_hline(BJ_WIDTH*TILE_WIDTH, LCD_WIDTH, 18); rb->lcd_hline(BJ_WIDTH*TILE_WIDTH, LCD_WIDTH, LCD_HEIGHT-10); + /* dispay playing board */ + for(i=0; ilcd_set_foreground(bejeweled_bkgd[(i+j)%2]); + rb->lcd_fillrect(j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + rb->lcd_bitmap_transparent_part(bejeweled_jewels, + 0, TILE_HEIGHT*(bj->playboard[i+1][j].type), + TILE_WIDTH, j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); +#else + rb->lcd_bitmap_part(bejeweled_jewels, + 0, TILE_HEIGHT*(bj->playboard[i+1][j].type), + TILE_WIDTH, j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); +#endif + } + } + /* draw progress bar */ #ifdef HAVE_LCD_COLOR - rb->lcd_set_foreground(LCD_RGBPACK(64, 64, 255)); + rb->lcd_set_foreground(LCD_RGBPACK(104, 63, 63)); #endif rb->lcd_fillrect(BJ_WIDTH*TILE_WIDTH+(LCD_WIDTH-BJ_WIDTH*TILE_WIDTH)/4, (LCD_HEIGHT-10)-(((LCD_HEIGHT-10)-18)* @@ -1603,13 +293,13 @@ static void bejeweled_drawboard(struct game_context* bj) { (LCD_WIDTH-BJ_WIDTH*TILE_WIDTH)/2, ((LCD_HEIGHT-10)-18)*tempscore/LEVEL_PTS); #ifdef HAVE_LCD_COLOR - rb->lcd_set_foreground(LCD_RGBPACK(0, 128, 255)); + rb->lcd_set_foreground(LCD_RGBPACK(83, 44, 44)); rb->lcd_drawrect(BJ_WIDTH*TILE_WIDTH+(LCD_WIDTH-BJ_WIDTH*TILE_WIDTH)/4+1, (LCD_HEIGHT-10)-(((LCD_HEIGHT-10)-18)* tempscore/LEVEL_PTS)+1, (LCD_WIDTH-BJ_WIDTH*TILE_WIDTH)/2-2, ((LCD_HEIGHT-10)-18)*tempscore/LEVEL_PTS-1); - rb->lcd_set_foreground(LCD_BLACK); + bejeweled_setcolors(); rb->lcd_drawrect(BJ_WIDTH*TILE_WIDTH+(LCD_WIDTH-BJ_WIDTH*TILE_WIDTH)/4, (LCD_HEIGHT-10)-(((LCD_HEIGHT-10)-18)* tempscore/LEVEL_PTS), @@ -1617,21 +307,6 @@ static void bejeweled_drawboard(struct game_context* bj) { ((LCD_HEIGHT-10)-18)*tempscore/LEVEL_PTS+1); #endif - /* dispay playing board */ - for(i=0; ilcd_bitmap(jewel[bj->playboard[j][i+1].type], - j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, - TILE_WIDTH, TILE_HEIGHT); -#else - rb->lcd_mono_bitmap(jewel[bj->playboard[j][i+1].type], - j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, - TILE_WIDTH, TILE_HEIGHT); -#endif - } - } - /* print text */ rb->lcd_getstringsize(title, &w, &h); rb->lcd_putsxy(LCD_WIDTH-(LCD_WIDTH-BJ_WIDTH*TILE_WIDTH)/2-w/2, 1, title); @@ -1656,6 +331,7 @@ static void bejeweled_drawboard(struct game_context* bj) { static void bejeweled_putjewels(struct game_context* bj){ int i, j, k; bool mark, done; + long lasttick, currenttick; /* loop to make all the jewels fall */ while(true) { @@ -1663,15 +339,15 @@ static void bejeweled_putjewels(struct game_context* bj){ mark = false; done = true; for(j=0; jplayboard[j][1].type == 0) { - bj->playboard[j][0].type = rb->rand()%7+1; + if(bj->playboard[1][j].type == 0) { + bj->playboard[0][j].type = rb->rand()%7+1; } for(i=BJ_HEIGHT-2; i>=0; i--) { - if(!mark && bj->playboard[j][i+1].type == 0) { + if(!mark && bj->playboard[i+1][j].type == 0) { mark = true; done = false; } - if(mark) bj->playboard[j][i].falling = true; + if(mark) bj->playboard[i][j].falling = true; } /*if(bj->playboard[1][j].falling) { bj->playboard[0][j].type = rb->rand()%7+1; @@ -1684,60 +360,87 @@ static void bejeweled_putjewels(struct game_context* bj){ if(done) break; /* animate falling jewels */ - for(k=TILE_HEIGHT/8; k<=TILE_HEIGHT; k+=TILE_HEIGHT/8) { - rb->sleep(HZ/FALL_TIMER); - for(i=0; icurrent_tick; + + for(k=1; k<=8; k++) { + for(i=BJ_HEIGHT-2; i>=0; i--) { for(j=0; jplayboard[j][i].falling && - bj->playboard[j][i].type != 0) { + if(bj->playboard[i][j].falling && + bj->playboard[i][j].type != 0) { /* clear old position */ #ifdef HAVE_LCD_COLOR - rb->lcd_bitmap(jewel[0], - j*TILE_WIDTH, - (i-1)*TILE_HEIGHT+k-TILE_HEIGHT/8+YOFS, - TILE_WIDTH, TILE_HEIGHT); + if(i == 0 && YOFS) { + rb->lcd_set_foreground(rb->lcd_get_background()); + } else { + rb->lcd_set_foreground(bejeweled_bkgd[(i-1+j)%2]); + } + rb->lcd_fillrect(j*TILE_WIDTH, (i-1)*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + if(bj->playboard[i+1][j].type == 0) { + rb->lcd_set_foreground(bejeweled_bkgd[(i+j)%2]); + rb->lcd_fillrect(j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + } #else - rb->lcd_mono_bitmap(jewel[0], - j*TILE_WIDTH, - (i-1)*TILE_HEIGHT+k-TILE_HEIGHT/8+YOFS, - TILE_WIDTH, TILE_HEIGHT); + rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); + rb->lcd_fillrect(j*TILE_WIDTH, (i-1)*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + if(bj->playboard[i+1][j].type == 0) { + rb->lcd_fillrect(j*TILE_WIDTH, i*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + } + rb->lcd_set_drawmode(DRMODE_SOLID); #endif + /* draw new position */ #ifdef HAVE_LCD_COLOR - rb->lcd_bitmap(jewel[bj->playboard[j][i].type], - j*TILE_WIDTH, - (i-1)*TILE_HEIGHT+k+YOFS, + rb->lcd_bitmap_transparent_part(bejeweled_jewels, 0, + TILE_HEIGHT*(bj->playboard[i][j].type), + TILE_WIDTH, j*TILE_WIDTH, + (i-1)*TILE_HEIGHT+YOFS+ + ((((TILE_HEIGHT<<10)*k)/8)>>10), TILE_WIDTH, TILE_HEIGHT); #else - rb->lcd_mono_bitmap(jewel[bj->playboard[j][i].type], - j*TILE_WIDTH, - (i-1)*TILE_HEIGHT+k+YOFS, - TILE_WIDTH, TILE_HEIGHT); + rb->lcd_bitmap_part(bejeweled_jewels, 0, + TILE_HEIGHT*(bj->playboard[i][j].type), + TILE_WIDTH, j*TILE_WIDTH, + (i-1)*TILE_HEIGHT+YOFS+ + ((((TILE_HEIGHT<<10)*k)/8)>>10), + TILE_WIDTH, TILE_HEIGHT); #endif } } } + rb->lcd_update(); + bejeweled_setcolors(); + + /* framerate limiting */ + currenttick = *rb->current_tick; + if(currenttick-lasttick < HZ/FPS) { + rb->sleep((HZ/FPS)-(currenttick-lasttick)); + } + lasttick = currenttick; } /* shift jewels down */ for(j=0; j=1; i--) { - if(bj->playboard[j][i-1].falling) { - bj->playboard[j][i].type = bj->playboard[j][i-1].type; + if(bj->playboard[i-1][j].falling) { + bj->playboard[i][j].type = bj->playboard[i-1][j].type; } } } /* clear out top row */ for(j=0; jplayboard[j][0].type = 0; + bj->playboard[0][j].type = 0; } /* mark everything not falling */ for(i=0; iplayboard[j][i].falling = false; + bj->playboard[i][j].falling = false; } } } @@ -1757,23 +460,23 @@ static unsigned int bejeweled_clearjewels(struct game_context* bj) { last = 0; run = 1; for(j=0; jplayboard[j][i].type == last && - bj->playboard[j][i].type != 0) { + if(bj->playboard[i][j].type == last && + bj->playboard[i][j].type != 0) { run++; if(run == 3) { bj->segments++; points += bj->segments; - bj->playboard[j][i].delete = true; - bj->playboard[j-1][i].delete = true; - bj->playboard[j-2][i].delete = true; + bj->playboard[i][j].delete = true; + bj->playboard[i][j-1].delete = true; + bj->playboard[i][j-2].delete = true; } else if(run > 3) { points++; - bj->playboard[j][i].delete = true; + bj->playboard[i][j].delete = true; } } else { run = 1; - last = bj->playboard[j][i].type; + last = bj->playboard[i][j].type; } } } @@ -1783,23 +486,23 @@ static unsigned int bejeweled_clearjewels(struct game_context* bj) { last = 0; run = 1; for(i=1; iplayboard[j][i].type != 0 && - bj->playboard[j][i].type == last) { + if(bj->playboard[i][j].type != 0 && + bj->playboard[i][j].type == last) { run++; if(run == 3) { bj->segments++; points += bj->segments; - bj->playboard[j][i].delete = true; - bj->playboard[j][i-1].delete = true; - bj->playboard[j][i-2].delete = true; + bj->playboard[i][j].delete = true; + bj->playboard[i-1][j].delete = true; + bj->playboard[i-2][j].delete = true; } else if(run > 3) { points++; - bj->playboard[j][i].delete = true; + bj->playboard[i][j].delete = true; } } else { run = 1; - last = bj->playboard[j][i].type; + last = bj->playboard[i][j].type; } } } @@ -1807,9 +510,9 @@ static unsigned int bejeweled_clearjewels(struct game_context* bj) { /* clear deleted jewels */ for(i=1; iplayboard[j][i].delete) { - bj->playboard[j][i].delete = false; - bj->playboard[j][i].type = 0; + if(bj->playboard[i][j].delete) { + bj->playboard[i][j].delete = false; + bj->playboard[i][j].type = 0; } } } @@ -1847,10 +550,13 @@ static unsigned int bejeweled_swapjewels(struct game_context* bj, int movelen = 0; bool undo = false; unsigned int points = 0; + long lasttick, currenttick; /* check for invalid parameters */ if(x < 0 || x >= BJ_WIDTH || y < 0 || y >= BJ_HEIGHT-1 || - direc < SWAP_UP || direc > SWAP_LEFT) return 0; + direc < SWAP_UP || direc > SWAP_LEFT) { + return 0; + } /* check for invalid directions */ if((x == 0 && direc == SWAP_LEFT) || @@ -1883,67 +589,92 @@ static unsigned int bejeweled_swapjewels(struct game_context* bj, } while(true) { + lasttick = *rb->current_tick; + /* animate swapping jewels */ - for(k=TILE_HEIGHT/8; k<=movelen;k+=TILE_HEIGHT/8) { - rb->sleep(HZ/SWAP_TIMER); + for(k=0; k<=8; k++) { /* clear old position */ #ifdef HAVE_LCD_COLOR - rb->lcd_bitmap(jewel[0], - x*TILE_WIDTH+horzmod*(k-TILE_WIDTH/8), - y*TILE_HEIGHT+vertmod*(k-TILE_HEIGHT/8)+YOFS, - TILE_WIDTH, TILE_HEIGHT); - rb->lcd_bitmap(jewel[0], - (x+horzmod)*TILE_WIDTH-horzmod*(k-TILE_WIDTH/8), - (y+vertmod)*TILE_HEIGHT-vertmod*(k-TILE_HEIGHT/8)+YOFS, - TILE_WIDTH, TILE_HEIGHT); + rb->lcd_set_foreground(bejeweled_bkgd[(x+y)%2]); + rb->lcd_fillrect(x*TILE_WIDTH, + y*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + rb->lcd_set_foreground(bejeweled_bkgd[(x+horzmod+y+vertmod)%2]); + rb->lcd_fillrect((x+horzmod)*TILE_WIDTH, + (y+vertmod)*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); #else - rb->lcd_mono_bitmap(jewel[0], - x*TILE_WIDTH+horzmod*(k-TILE_WIDTH/8), - y*TILE_HEIGHT+vertmod*(k-TILE_HEIGHT/8)+YOFS, - TILE_WIDTH, TILE_HEIGHT); - rb->lcd_mono_bitmap(jewel[0], - (x+horzmod)*TILE_WIDTH-horzmod*(k-TILE_WIDTH/8), - (y+vertmod)*TILE_HEIGHT-vertmod*(k-TILE_HEIGHT/8)+YOFS, - TILE_WIDTH, TILE_HEIGHT); + rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); + rb->lcd_fillrect(x*TILE_WIDTH, + y*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + rb->lcd_fillrect((x+horzmod)*TILE_WIDTH, + (y+vertmod)*TILE_HEIGHT+YOFS, + TILE_WIDTH, TILE_HEIGHT); + rb->lcd_set_drawmode(DRMODE_SOLID); #endif /* draw new position */ #ifdef HAVE_LCD_COLOR - rb->lcd_bitmap(jewel[bj->playboard[x][y+1].type], - x*TILE_WIDTH+horzmod*k, - y*TILE_HEIGHT+vertmod*k+YOFS, + rb->lcd_bitmap_transparent_part(bejeweled_jewels, + 0, TILE_HEIGHT*(bj->playboard + [y+1+vertmod][x+horzmod].type), TILE_WIDTH, + (x+horzmod)*TILE_WIDTH-horzmod* + ((((movelen<<10)*k)/8)>>10), + (y+vertmod)*TILE_HEIGHT-vertmod* + ((((movelen<<10)*k)/8)>>10)+YOFS, TILE_WIDTH, TILE_HEIGHT); - rb->lcd_bitmap(jewel[bj->playboard - [x+horzmod][y+1+vertmod].type], - (x+horzmod)*TILE_WIDTH-horzmod*k, - (y+vertmod)*TILE_HEIGHT-vertmod*k+YOFS, + rb->lcd_bitmap_transparent_part(bejeweled_jewels, + 0, TILE_HEIGHT*(bj->playboard[y+1][x].type), + TILE_WIDTH, x*TILE_WIDTH+horzmod* + ((((movelen<<10)*k)/8)>>10), + y*TILE_HEIGHT+vertmod* + ((((movelen<<10)*k)/8)>>10)+YOFS, TILE_WIDTH, TILE_HEIGHT); #else - rb->lcd_mono_bitmap(jewel[bj->playboard[x][y+1].type], - x*TILE_WIDTH+horzmod*k, - y*TILE_HEIGHT+vertmod*k+YOFS, - TILE_WIDTH, TILE_HEIGHT); + rb->lcd_bitmap_part(bejeweled_jewels, + 0, TILE_HEIGHT*(bj->playboard + [y+1+vertmod][x+horzmod].type), TILE_WIDTH, + (x+horzmod)*TILE_WIDTH-horzmod* + ((((movelen<<10)*k)/8)>>10), + (y+vertmod)*TILE_HEIGHT-vertmod* + ((((movelen<<10)*k)/8)>>10)+YOFS, + TILE_WIDTH, TILE_HEIGHT); rb->lcd_set_drawmode(DRMODE_FG); - rb->lcd_mono_bitmap(jewel[bj->playboard - [x+horzmod][y+1+vertmod].type], - (x+horzmod)*TILE_WIDTH-horzmod*k, - (y+vertmod)*TILE_HEIGHT-vertmod*k+YOFS, - TILE_WIDTH, TILE_HEIGHT); + rb->lcd_bitmap_part(bejeweled_jewels, + 0, TILE_HEIGHT*(bj->playboard[y+1][x].type), + TILE_WIDTH, x*TILE_WIDTH+horzmod* + ((((movelen<<10)*k)/8)>>10), + y*TILE_HEIGHT+vertmod* + ((((movelen<<10)*k)/8)>>10)+YOFS, + TILE_WIDTH, TILE_HEIGHT); rb->lcd_set_drawmode(DRMODE_SOLID); #endif rb->lcd_update(); + bejeweled_setcolors(); + + /* framerate limiting */ + currenttick = *rb->current_tick; + if(currenttick-lasttick < HZ/FPS) { + rb->sleep((HZ/FPS)-(currenttick-lasttick)); + } + lasttick = currenttick; } /* swap jewels */ - int temp = bj->playboard[x][y+1].type; - bj->playboard[x][y+1].type = - bj->playboard[x+horzmod][y+1+vertmod].type; - bj->playboard[x+horzmod][y+1+vertmod].type = temp; + int temp = bj->playboard[y+1][x].type; + bj->playboard[y+1][x].type = + bj->playboard[y+1+vertmod][x+horzmod].type; + bj->playboard[y+1+vertmod][x+horzmod].type = temp; if(undo) break; points = bejeweled_runboard(bj); - if(points == 0) {undo = true;} else {break;} + if(points == 0) { + undo = true; + } else { + break; + } } return points; @@ -1960,41 +691,41 @@ static bool bejeweled_movesavail(struct game_context* bj) { for(i=1; iplayboard[j][i].type; + mytype = bj->playboard[i][j].type; /* check horizontal patterns */ if(j <= BJ_WIDTH-3) { if(i > 1) { - if(bj->playboard[j+1][i-1].type == mytype) { - if(bj->playboard[j+2][i-1].type == mytype) + if(bj->playboard[i-1][j+1].type == mytype) { + if(bj->playboard[i-1][j+2].type == mytype) {moves = true; break;} - if(bj->playboard[j+2][i].type == mytype) + if(bj->playboard[i][j+2].type == mytype) {moves = true; break;} } - if(bj->playboard[j+1][i].type == mytype) { - if(bj->playboard[j+2][i-1].type == mytype) + if(bj->playboard[i][j+1].type == mytype) { + if(bj->playboard[i-1][j+2].type == mytype) {moves = true; break;} } } if(j <= BJ_WIDTH-4) { - if(bj->playboard[j+3][i].type == mytype) { - if(bj->playboard[j+1][i].type == mytype) + if(bj->playboard[i][j+3].type == mytype) { + if(bj->playboard[i][j+1].type == mytype) {moves = true; break;} - if(bj->playboard[j+2][i].type == mytype) + if(bj->playboard[i][j+2].type == mytype) {moves = true; break;} } } if(i < BJ_HEIGHT-1) { - if(bj->playboard[j+1][i].type == mytype) { - if(bj->playboard[j+2][i+1].type == mytype) + if(bj->playboard[i][j+1].type == mytype) { + if(bj->playboard[i+1][j+2].type == mytype) {moves = true; break;} } - if(bj->playboard[j+1][i+1].type == mytype) { - if(bj->playboard[j+2][i].type == mytype) + if(bj->playboard[i+1][j+1].type == mytype) { + if(bj->playboard[i][j+2].type == mytype) {moves = true; break;} - if(bj->playboard[j+2][i+1].type == mytype) + if(bj->playboard[i+1][j+2].type == mytype) {moves = true; break;} } } @@ -2003,36 +734,36 @@ static bool bejeweled_movesavail(struct game_context* bj) { /* check vertical patterns */ if(i <= BJ_HEIGHT-3) { if(j > 0) { - if(bj->playboard[j-1][i+1].type == mytype) { - if(bj->playboard[j-1][i+2].type == mytype) + if(bj->playboard[i+1][j-1].type == mytype) { + if(bj->playboard[i+2][j-1].type == mytype) {moves = true; break;} - if(bj->playboard[j][i+2].type == mytype) + if(bj->playboard[i+2][j].type == mytype) {moves = true; break;} } - if(bj->playboard[j][i+1].type == mytype) { - if(bj->playboard[j-1][i+2].type == mytype) + if(bj->playboard[i+1][j].type == mytype) { + if(bj->playboard[i+2][j-1].type == mytype) {moves = true; break;} } } if(i <= BJ_HEIGHT-4) { - if(bj->playboard[j][i+3].type == mytype) { - if(bj->playboard[j][i+1].type == mytype) + if(bj->playboard[i+3][j].type == mytype) { + if(bj->playboard[i+1][j].type == mytype) {moves = true; break;} - if(bj->playboard[j][i+2].type == mytype) + if(bj->playboard[i+2][j].type == mytype) {moves = true; break;} } } if(j < BJ_WIDTH-1) { - if(bj->playboard[j][i+1].type == mytype) { - if(bj->playboard[j+1][i+2].type == mytype) + if(bj->playboard[i+1][j].type == mytype) { + if(bj->playboard[i+2][j+1].type == mytype) {moves = true; break;} } - if(bj->playboard[j+1][i+1].type == mytype) { - if(bj->playboard[j][i+2].type == mytype) + if(bj->playboard[i+1][j+1].type == mytype) { + if(bj->playboard[i+2][j].type == mytype) {moves = true; break;} - if (bj->playboard[j+1][i+2].type == mytype) + if (bj->playboard[i+2][j+1].type == mytype) {moves = true; break;} } } @@ -2066,9 +797,9 @@ static unsigned int bejeweled_nextlevel(struct game_context* bj) { x = rb->rand()%8; y = rb->rand()%8; - if(bj->playboard[x][y].type != 0) { + if(bj->playboard[y][x].type != 0) { points++; - bj->playboard[x][y].type = 0; + bj->playboard[y][x].type = 0; } } bejeweled_drawboard(bj); @@ -2211,7 +942,7 @@ static int bejeweled(struct game_context* bj) { int lastbutton = BUTTON_NONE; char str[18]; char *title = "Bejeweled"; - bool breakout = false; + bool startgame = false; bool showscores = false; bool selected = false; @@ -2224,7 +955,7 @@ static int bejeweled(struct game_context* bj) { /******************** * menu * ********************/ - while(true){ + while(!startgame){ rb->lcd_clear_display(); if(!showscores) { @@ -2258,16 +989,33 @@ static int bejeweled(struct game_context* bj) { rb->lcd_puts(0, 7, "Directions to move"); rb->snprintf(str, 18, "High Score: %d", bj->highscores[0]); rb->lcd_puts(0, 9, str); -#elif (CONFIG_KEYPAD == IPOD_4G_PAD) +#elif (CONFIG_KEYPAD == IPOD_3G_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) rb->lcd_puts(0, 2, "PLAY to start"); rb->lcd_puts(0, 3, "SELECT+PLAY to save/resume"); rb->lcd_puts(0, 4, "SELECT+MENU to exit"); rb->lcd_puts(0, 5, "SELECT to select"); rb->lcd_puts(0, 6, " and show high scores"); - rb->lcd_puts(0, 7, "Scroll to move"); + rb->lcd_puts(0, 7, "Scroll or Directions to move"); rb->lcd_puts(0, 8, "Directions to swap"); rb->snprintf(str, 18, "High Score: %d", bj->highscores[0]); rb->lcd_puts(0, 10, str); +#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD + rb->lcd_puts(0, 1, "MODE to start"); + rb->lcd_puts(0, 2, "EQ to save/resume"); + rb->lcd_puts(0, 3, "PLAY to exit"); + rb->lcd_puts(0, 4, "SELECT to select"); + rb->lcd_puts(0, 5, "& show high scores"); + rb->lcd_puts(0, 6, "Directions to move"); + rb->snprintf(str, 18, "High Score: %d", bj->highscores[0]); + rb->lcd_puts(0, 7, str); +#elif CONFIG_KEYPAD == IAUDIO_X5_PAD + rb->lcd_puts(0, 2, "PLAY to start"); + rb->lcd_puts(0, 3, "REC to save/resume"); + rb->lcd_puts(0, 4, "POWER to exit"); + rb->lcd_puts(0, 5, "MENU to select"); + rb->lcd_puts(0, 6, " and show high scores"); + rb->lcd_puts(0, 7, "Directions to move"); + rb->snprintf(str, 18, "High Score: %d", bj->highscores[0]); #endif } else { /* room for a title? */ @@ -2276,7 +1024,7 @@ static int bejeweled(struct game_context* bj) { rb->snprintf(str, 12, "%s", "High Scores"); rb->lcd_getstringsize(str, &w, &h); rb->lcd_putsxy((LCD_WIDTH-w)/2, 0, str); - j = 1; + j = 2; } /* print high scores */ @@ -2292,7 +1040,7 @@ static int bejeweled(struct game_context* bj) { button = rb->button_get(true); switch(button){ case BEJEWELED_START: /* start playing */ - breakout = true; + startgame = true; break; case BEJEWELED_QUIT: /* quit program */ @@ -2306,7 +1054,7 @@ static int bejeweled(struct game_context* bj) { if(!bejeweled_loadgame(bj)) { rb->splash(HZ*2, true, "Nothing to resume"); } else { - breakout = true; + startgame = true; } break; @@ -2324,7 +1072,6 @@ static int bejeweled(struct game_context* bj) { break; } - if(breakout) break; if(button != BUTTON_NONE) lastbutton = button; } @@ -2369,7 +1116,7 @@ static int bejeweled(struct game_context* bj) { case BEJEWELED_RESUME: /* save and end game */ rb->splash(HZ, true, "Saving game..."); bejeweled_savegame(bj); - /* fall through to BEJEWELED_QUIT */ + return BJ_END; case BEJEWELED_QUIT: /* end game */ return BJ_END; @@ -2380,10 +1127,8 @@ static int bejeweled(struct game_context* bj) { bj->score += bejeweled_swapjewels(bj, x, y, SWAP_LEFT); selected = false; if (!bejeweled_movesavail(bj)) return BJ_LOSE; -#ifndef BEJEWELED_SCROLLWHEEL } else { x = (x+BJ_WIDTH-1)%BJ_WIDTH; -#endif } break; @@ -2393,10 +1138,8 @@ static int bejeweled(struct game_context* bj) { bj->score += bejeweled_swapjewels(bj, x, y, SWAP_RIGHT); selected = false; if (!bejeweled_movesavail(bj)) return BJ_LOSE; -#ifndef BEJEWELED_SCROLLWHEEL } else { x = (x+1)%BJ_WIDTH; -#endif } break; @@ -2406,10 +1149,8 @@ static int bejeweled(struct game_context* bj) { bj->score += bejeweled_swapjewels(bj, x, y, SWAP_DOWN); selected = false; if (!bejeweled_movesavail(bj)) return BJ_LOSE; -#ifndef BEJEWELED_SCROLLWHEEL } else { y = (y+1)%(BJ_HEIGHT-1); -#endif } break; @@ -2419,10 +1160,8 @@ static int bejeweled(struct game_context* bj) { bj->score += bejeweled_swapjewels(bj, x, y, SWAP_UP); selected = false; if (!bejeweled_movesavail(bj)) return BJ_LOSE; -#ifndef BEJEWELED_SCROLLWHEEL } else { y = (y+(BJ_HEIGHT-1)-1)%(BJ_HEIGHT-1); -#endif } break; @@ -2485,6 +1224,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { bejeweled_loadscores(&bj); rb->lcd_setfont(FONT_SYSFIXED); + bejeweled_setcolors(); while(!exit) { switch(bejeweled(&bj)){ @@ -2522,6 +1262,4 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { return PLUGIN_OK; } -#endif /* width 160, depth 16 bits */ #endif /* HAVE_LCD_BITMAP */ -