diff options
author | Karl Kurbjun <kkurbjun@gmail.com> | 2009-08-31 13:56:48 +0000 |
---|---|---|
committer | Karl Kurbjun <kkurbjun@gmail.com> | 2009-08-31 13:56:48 +0000 |
commit | cdafa3e49825c7eec278000fc097cd5e047249ec (patch) | |
tree | 3bf1212cad6a3a3c67c241e795e8cc09d05e8b12 | |
parent | 1baf5c946329d9d6ba69d27277cc59a4d6e29e16 (diff) | |
download | rockbox-cdafa3e49825c7eec278000fc097cd5e047249ec.tar.gz rockbox-cdafa3e49825c7eec278000fc097cd5e047249ec.zip |
pegbox, sliding_puzzle, sokoban, solitaire, sudoku, and superdom: Add support for vertical strides
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22573 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/plugins/pegbox.c | 7 | ||||
-rw-r--r-- | apps/plugins/sliding_puzzle.c | 10 | ||||
-rw-r--r-- | apps/plugins/sokoban.c | 28 | ||||
-rw-r--r-- | apps/plugins/solitaire.c | 15 | ||||
-rw-r--r-- | apps/plugins/sudoku/sudoku.c | 2 | ||||
-rw-r--r-- | apps/plugins/superdom.c | 2 |
6 files changed, 37 insertions, 27 deletions
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index d9c3d9870e..981d2d4fc6 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c | |||
@@ -745,9 +745,10 @@ static void pegbox_draw_board(struct game_context* pb) | |||
745 | 745 | ||
746 | if(type != SPACE) { | 746 | if(type != SPACE) { |
747 | rb->lcd_bitmap_part(pegbox_pieces, 0, (type-1)*PIECE_HEIGHT, | 747 | rb->lcd_bitmap_part(pegbox_pieces, 0, (type-1)*PIECE_HEIGHT, |
748 | PIECE_WIDTH, c * PIECE_WIDTH + BOARD_X, | 748 | STRIDE(BMPWIDTH_pegbox_pieces,BMPHEIGHT_pegbox_pieces), |
749 | r * PIECE_HEIGHT + BOARD_Y, PIECE_WIDTH, | 749 | c * PIECE_WIDTH + BOARD_X, |
750 | PIECE_HEIGHT); | 750 | r * PIECE_HEIGHT + BOARD_Y, PIECE_WIDTH, |
751 | PIECE_HEIGHT); | ||
751 | } | 752 | } |
752 | 753 | ||
753 | if(pb->playboard[r][c] == PLAYER) { | 754 | if(pb->playboard[r][c] == PLAYER) { |
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c index 78ec5aa5e5..af7fe83299 100644 --- a/apps/plugins/sliding_puzzle.c +++ b/apps/plugins/sliding_puzzle.c | |||
@@ -404,8 +404,9 @@ static void draw_spot(int p, int x, int y) | |||
404 | /* the bottom-right cell of the default sliding_puzzle image is | 404 | /* the bottom-right cell of the default sliding_puzzle image is |
405 | an appropriate hole graphic */ | 405 | an appropriate hole graphic */ |
406 | rb->lcd_bitmap_part(sliding_puzzle, ((p-1)%SPOTS_X)*SPOTS_WIDTH, | 406 | rb->lcd_bitmap_part(sliding_puzzle, ((p-1)%SPOTS_X)*SPOTS_WIDTH, |
407 | ((p-1)/SPOTS_X)*SPOTS_HEIGHT, | 407 | ((p-1)/SPOTS_X)*SPOTS_HEIGHT, |
408 | IMAGE_WIDTH, x, y, SPOTS_WIDTH, SPOTS_HEIGHT); | 408 | STRIDE(BMPWIDTH_sliding_puzzle, BMPHEIGHT_sliding_puzzle), |
409 | x, y, SPOTS_WIDTH, SPOTS_HEIGHT); | ||
409 | #else | 410 | #else |
410 | /* just draw a black rectangle */ | 411 | /* just draw a black rectangle */ |
411 | int old_fg = rb->lcd_get_foreground(); | 412 | int old_fg = rb->lcd_get_foreground(); |
@@ -417,8 +418,9 @@ static void draw_spot(int p, int x, int y) | |||
417 | else if (picmode != PICMODE_NUMERALS) | 418 | else if (picmode != PICMODE_NUMERALS) |
418 | { | 419 | { |
419 | rb->lcd_bitmap_part( puzzle_bmp_ptr, ((p-1)%SPOTS_X)*SPOTS_WIDTH, | 420 | rb->lcd_bitmap_part( puzzle_bmp_ptr, ((p-1)%SPOTS_X)*SPOTS_WIDTH, |
420 | ((p-1)/SPOTS_X)*SPOTS_HEIGHT, | 421 | ((p-1)/SPOTS_X)*SPOTS_HEIGHT, |
421 | IMAGE_WIDTH, x, y, SPOTS_WIDTH, SPOTS_HEIGHT); | 422 | STRIDE(BMPWIDTH_sliding_puzzle, BMPHEIGHT_sliding_puzzle), |
423 | x, y, SPOTS_WIDTH, SPOTS_HEIGHT); | ||
422 | } else { | 424 | } else { |
423 | rb->lcd_drawrect(x, y, SPOTS_WIDTH, SPOTS_HEIGHT); | 425 | rb->lcd_drawrect(x, y, SPOTS_WIDTH, SPOTS_HEIGHT); |
424 | rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); | 426 | rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); |
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 50410d29f6..2b90b93094 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c | |||
@@ -978,44 +978,44 @@ static void update_screen(void) | |||
978 | 978 | ||
979 | case ' ': /* floor */ | 979 | case ' ': /* floor */ |
980 | rb->lcd_bitmap_part(sokoban_tiles, 0, 0*SOKOBAN_TILESIZE, | 980 | rb->lcd_bitmap_part(sokoban_tiles, 0, 0*SOKOBAN_TILESIZE, |
981 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 981 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
982 | SOKOBAN_TILESIZE); | 982 | c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE); |
983 | break; | 983 | break; |
984 | 984 | ||
985 | case '#': /* wall */ | 985 | case '#': /* wall */ |
986 | rb->lcd_bitmap_part(sokoban_tiles, 0, 1*SOKOBAN_TILESIZE, | 986 | rb->lcd_bitmap_part(sokoban_tiles, 0, 1*SOKOBAN_TILESIZE, |
987 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 987 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
988 | SOKOBAN_TILESIZE); | 988 | c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE); |
989 | break; | 989 | break; |
990 | 990 | ||
991 | case '$': /* box */ | 991 | case '$': /* box */ |
992 | rb->lcd_bitmap_part(sokoban_tiles, 0, 2*SOKOBAN_TILESIZE, | 992 | rb->lcd_bitmap_part(sokoban_tiles, 0, 2*SOKOBAN_TILESIZE, |
993 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 993 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
994 | SOKOBAN_TILESIZE); | 994 | c, r, SOKOBAN_TILESIZE,SOKOBAN_TILESIZE); |
995 | break; | 995 | break; |
996 | 996 | ||
997 | case '*': /* box on goal */ | 997 | case '*': /* box on goal */ |
998 | rb->lcd_bitmap_part(sokoban_tiles, 0, 3*SOKOBAN_TILESIZE, | 998 | rb->lcd_bitmap_part(sokoban_tiles, 0, 3*SOKOBAN_TILESIZE, |
999 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 999 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
1000 | SOKOBAN_TILESIZE); | 1000 | c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE); |
1001 | break; | 1001 | break; |
1002 | 1002 | ||
1003 | case '.': /* goal */ | 1003 | case '.': /* goal */ |
1004 | rb->lcd_bitmap_part(sokoban_tiles, 0, 4*SOKOBAN_TILESIZE, | 1004 | rb->lcd_bitmap_part(sokoban_tiles, 0, 4*SOKOBAN_TILESIZE, |
1005 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 1005 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
1006 | SOKOBAN_TILESIZE); | 1006 | c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE); |
1007 | break; | 1007 | break; |
1008 | 1008 | ||
1009 | case '@': /* player */ | 1009 | case '@': /* player */ |
1010 | rb->lcd_bitmap_part(sokoban_tiles, 0, 5*SOKOBAN_TILESIZE, | 1010 | rb->lcd_bitmap_part(sokoban_tiles, 0, 5*SOKOBAN_TILESIZE, |
1011 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 1011 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
1012 | SOKOBAN_TILESIZE); | 1012 | c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE); |
1013 | break; | 1013 | break; |
1014 | 1014 | ||
1015 | case '+': /* player on goal */ | 1015 | case '+': /* player on goal */ |
1016 | rb->lcd_bitmap_part(sokoban_tiles, 0, 6*SOKOBAN_TILESIZE, | 1016 | rb->lcd_bitmap_part(sokoban_tiles, 0, 6*SOKOBAN_TILESIZE, |
1017 | SOKOBAN_TILESIZE, c, r, SOKOBAN_TILESIZE, | 1017 | STRIDE(BMPWIDTH_sokoban_tiles, BMPHEIGHT_sokoban_tiles), |
1018 | SOKOBAN_TILESIZE); | 1018 | c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE); |
1019 | break; | 1019 | break; |
1020 | } | 1020 | } |
1021 | } | 1021 | } |
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index 993ba47ec6..0b7d8ac3c7 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c | |||
@@ -482,7 +482,12 @@ PLUGIN_HEADER | |||
482 | #define CARD_WIDTH (BMPWIDTH_card_back+2) | 482 | #define CARD_WIDTH (BMPWIDTH_card_back+2) |
483 | #define CARD_HEIGHT (BMPHEIGHT_card_back+2) | 483 | #define CARD_HEIGHT (BMPHEIGHT_card_back+2) |
484 | 484 | ||
485 | #if LCD_WIDTH >= 320 | 485 | #if LCD_WIDTH >= 640 |
486 | # define MARGIN 4 | ||
487 | # define LARGE_CARD | ||
488 | # define SYMBOL_HEIGHT 24 | ||
489 | |||
490 | #elif LCD_WIDTH >= 320 | ||
486 | # define MARGIN 4 | 491 | # define MARGIN 4 |
487 | # define LARGE_CARD | 492 | # define LARGE_CARD |
488 | # define SYMBOL_HEIGHT 12 | 493 | # define SYMBOL_HEIGHT 12 |
@@ -615,7 +620,8 @@ static void draw_card( card_t *card, int x, int y, | |||
615 | if( card->known ) | 620 | if( card->known ) |
616 | { | 621 | { |
617 | rb->lcd_bitmap_part( card_deck, CARD_GFX_WIDTH * card->num, | 622 | rb->lcd_bitmap_part( card_deck, CARD_GFX_WIDTH * card->num, |
618 | CARD_GFX_HEIGHT * card->suit, BMPWIDTH_card_deck, | 623 | CARD_GFX_HEIGHT * card->suit, |
624 | STRIDE(BMPWIDTH_card_deck, BMPHEIGHT_card_deck), | ||
619 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); | 625 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); |
620 | } | 626 | } |
621 | else | 627 | else |
@@ -630,8 +636,9 @@ static void draw_card( card_t *card, int x, int y, | |||
630 | static void draw_empty_stack( int s, int x, int y, bool cursor ) | 636 | static void draw_empty_stack( int s, int x, int y, bool cursor ) |
631 | { | 637 | { |
632 | rb->lcd_bitmap_part( solitaire_suitsi, 0, | 638 | rb->lcd_bitmap_part( solitaire_suitsi, 0, |
633 | CARD_GFX_HEIGHT * s, BMPWIDTH_solitaire_suitsi, | 639 | CARD_GFX_HEIGHT * s, |
634 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); | 640 | STRIDE(BMPWIDTH_solitaire_suitsi, BMPHEIGHT_solitaire_suitsi), |
641 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); | ||
635 | 642 | ||
636 | draw_card_ext( x, y, false, cursor ); | 643 | draw_card_ext( x, y, false, cursor ); |
637 | } | 644 | } |
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c index eacb7438c6..3fac57b96a 100644 --- a/apps/plugins/sudoku/sudoku.c +++ b/apps/plugins/sudoku/sudoku.c | |||
@@ -73,7 +73,7 @@ Example ".ss" file, and one with a saved state: | |||
73 | #include "pluginbitmaps/sudoku_start.h" | 73 | #include "pluginbitmaps/sudoku_start.h" |
74 | 74 | ||
75 | #define BITMAP_HEIGHT (BMPHEIGHT_sudoku_normal/10) | 75 | #define BITMAP_HEIGHT (BMPHEIGHT_sudoku_normal/10) |
76 | #define BITMAP_STRIDE BMPWIDTH_sudoku_normal | 76 | #define BITMAP_STRIDE STRIDE(BMPWIDTH_sudoku_normal, BMPHEIGHT_sudoku_normal) |
77 | 77 | ||
78 | #if (LCD_DEPTH>2) | 78 | #if (LCD_DEPTH>2) |
79 | #define BITMAP_WIDTH (BMPWIDTH_sudoku_normal/2) | 79 | #define BITMAP_WIDTH (BMPWIDTH_sudoku_normal/2) |
diff --git a/apps/plugins/superdom.c b/apps/plugins/superdom.c index d9c857d0c0..225de80f11 100644 --- a/apps/plugins/superdom.c +++ b/apps/plugins/superdom.c | |||
@@ -62,7 +62,7 @@ char buf[255]; | |||
62 | /* These parameters define the piece image dimensions, Stride is the total width | 62 | /* These parameters define the piece image dimensions, Stride is the total width |
63 | * of the bitmap. | 63 | * of the bitmap. |
64 | */ | 64 | */ |
65 | #define ICON_STRIDE BMPWIDTH_superdom_boarditems | 65 | #define ICON_STRIDE STRIDE(BMPWIDTH_superdom_boarditems, BMPHEIGHT_superdom_boarditems) |
66 | #define ICON_HEIGHT (BMPHEIGHT_superdom_boarditems/6) | 66 | #define ICON_HEIGHT (BMPHEIGHT_superdom_boarditems/6) |
67 | #define ICON_WIDTH (BMPWIDTH_superdom_boarditems/2) | 67 | #define ICON_WIDTH (BMPWIDTH_superdom_boarditems/2) |
68 | 68 | ||