From dce2ef805c17a124548c95c52237af6cc4726a86 Mon Sep 17 00:00:00 2001 From: Marianne Arnold Date: Sat, 2 Feb 2008 12:10:42 +0000 Subject: [PATCH] Small improvements to sliding puzzle. (1) Don't draw the 'Moves' box at fixed size, and display 'Moves:' and number of moves on one line for square and portrait screens. (2) Use 4x4 spots on Archos too, to make the spots look square on the Archos display - change the default 80x64 image accordingly. (3) Replace the 110x110 images with 108x108 so that the width is evenly divisible by 4 (number of spots) as mentioned in the comment. (4) Make the greyscale images look a little less broken, could be even better though. -- The code could be made simpler and more flexible but one step at a time. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16200 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/bitmaps/native/SOURCES | 8 +-- .../native/sliding_puzzle.108x108x16.bmp | Bin 0 -> 35046 bytes .../native/sliding_puzzle.108x108x2.bmp | Bin 0 -> 11734 bytes .../native/sliding_puzzle.110x110x16.bmp | Bin 36574 -> 0 bytes .../native/sliding_puzzle.110x110x2.bmp | Bin 13398 -> 0 bytes .../native/sliding_puzzle.128x128x2.bmp | Bin 17462 -> 16454 bytes .../bitmaps/native/sliding_puzzle.80x64x1.bmp | Bin 830 -> 830 bytes apps/plugins/sliding_puzzle.c | 49 ++++++++---------- 8 files changed, 26 insertions(+), 31 deletions(-) create mode 100644 apps/plugins/bitmaps/native/sliding_puzzle.108x108x16.bmp create mode 100644 apps/plugins/bitmaps/native/sliding_puzzle.108x108x2.bmp delete mode 100644 apps/plugins/bitmaps/native/sliding_puzzle.110x110x16.bmp delete mode 100644 apps/plugins/bitmaps/native/sliding_puzzle.110x110x2.bmp diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES index 2c667c10e8..2f6c7d344f 100644 --- a/apps/plugins/bitmaps/native/SOURCES +++ b/apps/plugins/bitmaps/native/SOURCES @@ -550,14 +550,14 @@ matrix_normal.bmp #if (LCD_WIDTH != LCD_HEIGHT) #define SMALLER_DIMENSION ((LCD_WIDTH < LCD_HEIGHT) ? LCD_WIDTH : LCD_HEIGHT) #else /* 5/6GB H10 with square display */ -#define SMALLER_DIMENSION (LCD_HEIGHT - 18) +#define SMALLER_DIMENSION (LCD_HEIGHT - 20) #endif #if defined HAVE_LCD_COLOR #if SMALLER_DIMENSION <= 80 sliding_puzzle.80x80x16.bmp -#elif SMALLER_DIMENSION <= 112 - sliding_puzzle.110x110x16.bmp +#elif SMALLER_DIMENSION <= 108 + sliding_puzzle.108x108x16.bmp #elif SMALLER_DIMENSION <= 128 sliding_puzzle.128x128x16.bmp #elif SMALLER_DIMENSION <= 132 @@ -569,7 +569,7 @@ matrix_normal.bmp #endif #elif (LCD_DEPTH > 1) #if SMALLER_DIMENSION <= 110 - sliding_puzzle.110x110x2.bmp + sliding_puzzle.108x108x2.bmp #elif SMALLER_DIMENSION <= 128 sliding_puzzle.128x128x2.bmp #endif diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.108x108x16.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.108x108x16.bmp new file mode 100644 index 0000000000000000000000000000000000000000..50b997223b14718c9447467f86c8eba9b60d2fe3 GIT binary patch literal 35046 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 Vs}g7qKCGc3`B7+aOkWdG`9F)>a|r+d literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.108x108x2.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.108x108x2.bmp new file mode 100644 index 0000000000000000000000000000000000000000..25e7e41df884e0f3e1df16cd8b44b96fdb8b9c72 GIT binary patch literal 11734 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 diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.110x110x2.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.110x110x2.bmp deleted file mode 100644 index e21531ec704d983edd436305bd6ba6cf9af715ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13398 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 diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.128x128x2.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.128x128x2.bmp index e8ef4eead8f602e2d7c6459bc5ca9573a46c5a46..1a8317c4bafa147d67967f4612d5ba6a1ad7a79b 100644 GIT binary patch literal 16454 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 UFK6#7w1S*$O2BQ3$~5`^53BTDivR!s literal 17462 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 diff --git a/apps/plugins/bitmaps/native/sliding_puzzle.80x64x1.bmp b/apps/plugins/bitmaps/native/sliding_puzzle.80x64x1.bmp index a394e8eba3a5ed2595a8981ce4c28048c6b16a17..6624bd7987816010e6f11feef82262963aac9b1e 100644 GIT binary patch delta 224 zcmdnTwvTOsTK!=@1_lsjVnBfZ|Nk=p@%tUjAEZ{TVqo~dUcdX}pZCv!!VK>}9{hiR z-Gl%CKL&>TKWzTne{BB_65s!)zV82@^Z!BOvNiwfKJaI-gT$HdJ>PqP`S5#?IQu{D z*!B_G-)r+z;1|NohAkOf-WpI_C;UjREOEA{Y834Qsm8-KYl0RZK)cmDtY delta 224 zcmdnTwvTOsTKyG11_lsjVt`;E#qj_Ce-M7ZgZYE}s#OdOAK2@6fBf_Qef@t1hW8&2 z{y)I(!T$dr1H=6vHvjEEw*Lf)@BdR@_y5oNe;{$$n*Vhl_%rxG;>`D+?>)eL_$f%7 z{U3L1`-k(NLE`7XrFP5zi4Xk^l9&^11{CB68)UrqdD{Q~^Z$ax^RMyq{r}(p2c$vg v_4D5U|F7AC#IsXBpZNd(OcY35OZ)Sy8u<$>An~l!!!ITD<$rAa<-!C2r0aB? diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index ce2ae810d5..f1119614ea 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c @@ -102,20 +102,14 @@ PLUGIN_HEADER #define IMAGE_SIZE IMAGE_WIDTH static struct plugin_api* rb; -#if LCD_DEPTH==1 -/* for Archos, use rectangular image, 5x4 puzzle */ -#define SPOTS_X 5 -#define SPOTS_Y 4 -#else -/* for other targets, use a square image, 4x4 puzzle + +/* use a square image, (the default Archos bitmap looks square on its display) Puzzle image dimension is min(lcd_height,lcd_width) - 4x4 is more convenient than 5x4 for square puzzles + 4x4 is more convenient for square puzzles Note: sliding_puzzle.bmp should be evenly divisible by SPOTS_X and SPOTS_Y, otherwise lcd_bitmap_part stride won't be correct */ #define SPOTS_X 4 #define SPOTS_Y 4 -#endif - #define SPOTS_WIDTH (IMAGE_WIDTH / SPOTS_X) #define SPOTS_HEIGHT (IMAGE_HEIGHT / SPOTS_Y) #define NUM_SPOTS (SPOTS_X*SPOTS_Y) @@ -321,12 +315,11 @@ static void move_spot(int x, int y) moves++; rb->snprintf(s, sizeof(s), "%d", moves); s[sizeof(s)-1] = '\0'; -#if (LCD_WIDTH>IMAGE_SIZE) +#if ((LCD_WIDTH - IMAGE_SIZE) > (LCD_HEIGHT - IMAGE_HEIGHT)) rb->lcd_putsxy(IMAGE_WIDTH+5, 20, (unsigned char *)s); #else - rb->lcd_putsxy(5, IMAGE_HEIGHT+20, (unsigned char *)s); + rb->lcd_putsxy(40, IMAGE_HEIGHT+7, (unsigned char *)s); #endif - for(i=1;i<=4;i++) { draw_spot(HOLE_ID, @@ -358,14 +351,15 @@ static void puzzle_init(void) rb->lcd_clear_display(); rb->snprintf(s, sizeof(s), "%d", moves); -#if (LCD_WIDTH>IMAGE_SIZE) - rb->lcd_drawrect(IMAGE_WIDTH, 0, 32, 64); +#if ((LCD_WIDTH - IMAGE_SIZE) > (LCD_HEIGHT - IMAGE_HEIGHT)) + rb->lcd_drawrect(IMAGE_WIDTH, 0, LCD_WIDTH-IMAGE_WIDTH, IMAGE_HEIGHT); rb->lcd_putsxy(IMAGE_WIDTH+1, 10, (unsigned char *)"Moves"); rb->lcd_putsxy(IMAGE_WIDTH+5, 20, (unsigned char *)s); #else - rb->lcd_drawrect(0, IMAGE_HEIGHT, 32, 64); - rb->lcd_putsxy(1, IMAGE_HEIGHT+10, (unsigned char *)"Moves"); - rb->lcd_putsxy(5, IMAGE_HEIGHT+20, (unsigned char *)s); + rb->lcd_drawrect(0, IMAGE_HEIGHT, IMAGE_WIDTH, + (LCD_HEIGHT-IMAGE_HEIGHT)); + rb->lcd_putsxy(3, IMAGE_HEIGHT+7, (unsigned char *)"Moves: "); + rb->lcd_putsxy(40, IMAGE_HEIGHT+7, (unsigned char *)s); #endif /* shuffle spots */ @@ -468,14 +462,15 @@ static int puzzle_loop(void) /* tell the user what mode we picked in the end! */ rb->splash(HZ,picmode_descriptions[ picmode ] ); rb->lcd_clear_display(); -#if (LCD_WIDTH>IMAGE_SIZE) - rb->lcd_drawrect(IMAGE_WIDTH, 0, 32, 64); +#if ((LCD_WIDTH - IMAGE_SIZE) > (LCD_HEIGHT - IMAGE_HEIGHT)) + rb->lcd_drawrect(IMAGE_WIDTH, 0, LCD_WIDTH-IMAGE_WIDTH, + IMAGE_HEIGHT); rb->lcd_putsxy(IMAGE_WIDTH+1, 10, (unsigned char *)"Moves"); #else - rb->lcd_drawrect(0,IMAGE_HEIGHT,32,64); - rb->lcd_putsxy(1,IMAGE_HEIGHT+10, (unsigned char *)"Moves"); + rb->lcd_drawrect(0, IMAGE_HEIGHT, IMAGE_WIDTH, + (LCD_HEIGHT-IMAGE_HEIGHT)); + rb->lcd_putsxy(3, IMAGE_HEIGHT+7, (unsigned char *)"Moves: "); #endif - for (i=0; ilcd_clear_display(); -#if (LCD_WIDTH>IMAGE_SIZE) - rb->lcd_drawrect(IMAGE_WIDTH, 0, 32, 64); +#if ((LCD_WIDTH - IMAGE_SIZE) > (LCD_HEIGHT - IMAGE_HEIGHT)) + rb->lcd_drawrect(IMAGE_WIDTH, 0, LCD_WIDTH-IMAGE_WIDTH, IMAGE_HEIGHT); rb->lcd_putsxy(IMAGE_WIDTH+1, 10, (unsigned char *)"Moves"); #else - rb->lcd_drawrect(0,IMAGE_HEIGHT,32,64); - rb->lcd_putsxy(1,IMAGE_HEIGHT+10, (unsigned char *)"Moves"); + rb->lcd_drawrect(0, IMAGE_HEIGHT, IMAGE_WIDTH, + (LCD_HEIGHT-IMAGE_HEIGHT)); + rb->lcd_putsxy(3, IMAGE_HEIGHT+7, (unsigned char *)"Moves: "); #endif - for (i=0; i