rockbox/apps/plugins/bitmaps/native/SOURCES
Franklin Wei e8e85c5762 puzzles: resync with upstream; add Loopy and Palisade, mouse mode
This brings a various small changes to the drawing and input code,
as well as a brand new "mouse mode", where input goes to a virtual
mouse cursor. Only Loopy has this mouse mode enabled by default,
while other games have it hidden away under the debug menu. Some
changes by me to Palisade were required to make it playable; those
are included here as well. Right now, sgt-net is pushing the c200v2's
upper limit on size and may have to be dropped in a future commit.

Change-Id: I495d2a2125462c2985aec1ffbc54bbe3fe5133bd
2017-11-21 19:29:45 -05:00

1008 lines
30 KiB
Text

#ifdef HAVE_LCD_BITMAP
/* 2048 */
#define MIN(x,y) ((x<y)?x:y)
#if MIN(LCD_WIDTH, LCD_HEIGHT)>=240
_2048_tiles.48x48x24.bmp
_2048_background.224x224x24.bmp
#elif MIN(LCD_WIDTH, LCD_HEIGHT)>=176
_2048_tiles.36x36x24.bmp
_2048_background.168x168x24.bmp
#elif MIN(LCD_WIDTH, LCD_HEIGHT)>=132 || MIN(LCD_WIDTH, LCD_HEIGHT)>=128
_2048_tiles.26x26x24.bmp
_2048_background.121x121x24.bmp
#elif MIN(LCD_WIDTH, LCD_HEIGHT)>=110
_2048_tiles.22x22x24.bmp
_2048_background.103x103x24.bmp
#elif LCD_HEIGHT>=96 && LCD_WIDTH>=128
_2048_tiles.19x19x24.bmp
_2048_background.88x88x24.bmp
#else
/* default to smallest bitmaps */
_2048_tiles.12x12x24.bmp
_2048_background.56x56x24.bmp
#endif
#undef MIN
/* Brickmania */
#ifdef HAVE_LCD_COLOR
#if LCD_WIDTH >= 112
brickmania_gameover.112x54x16.bmp
#elif LCD_WIDTH >= 56
brickmania_gameover.56x27x24.bmp
#endif
#if LCD_WIDTH >= 640 /* M:Robe 500 */
brickmania_ball.15x15x16.bmp
brickmania_bricks.640x480x16.bmp
brickmania_pads.640x480x16.bmp
brickmania_short_pads.640x480x16.bmp
brickmania_long_pads.640x480x16.bmp
brickmania_break.640x480x16.bmp
brickmania_powerups.640x480x16.bmp
#elif LCD_WIDTH >= 480 /* M:Robe 500 */
brickmania_ball.11x11x16.bmp
brickmania_bricks.480x640x16.bmp
brickmania_pads.480x640x16.bmp
brickmania_short_pads.480x640x16.bmp
brickmania_long_pads.480x640x16.bmp
brickmania_break.480x640x16.bmp
brickmania_powerups.480x640x16.bmp
#elif LCD_WIDTH >= 320 /* Ipod Video */
brickmania_ball.5x5x16.bmp
brickmania_bricks.320x240x16.bmp
brickmania_pads.320x240x16.bmp
brickmania_short_pads.320x240x16.bmp
brickmania_long_pads.320x240x16.bmp
brickmania_break.320x240x16.bmp
brickmania_powerups.320x240x16.bmp
#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320) /* Gigabeat F/X/S */
brickmania_ball.7x7x16.bmp
brickmania_bricks.240x320x16.bmp
brickmania_break.240x320x16.bmp
brickmania_pads.240x320x16.bmp
brickmania_short_pads.240x320x16.bmp
brickmania_long_pads.240x320x16.bmp
brickmania_powerups.240x320x16.bmp
#elif LCD_WIDTH >= 220
brickmania_ball.5x5x16.bmp
brickmania_bricks.220x176x16.bmp
brickmania_pads.220x176x16.bmp
brickmania_short_pads.220x176x16.bmp
brickmania_long_pads.220x176x16.bmp
brickmania_break.220x176x16.bmp
brickmania_powerups.220x176x16.bmp
#elif LCD_WIDTH >= 176
brickmania_ball.5x5x16.bmp
brickmania_bricks.176x132x16.bmp
brickmania_pads.176x132x16.bmp
brickmania_short_pads.176x132x16.bmp
brickmania_long_pads.176x132x16.bmp
brickmania_powerups.176x132x16.bmp
brickmania_break.176x132x16.bmp
#elif LCD_WIDTH >= 160
brickmania_ball.5x5x16.bmp
brickmania_bricks.160x128x16.bmp
brickmania_pads.160x128x16.bmp
brickmania_short_pads.160x128x16.bmp
brickmania_long_pads.160x128x16.bmp
brickmania_powerups.160x128x16.bmp
brickmania_break.160x128x16.bmp
#elif LCD_WIDTH >= 132
brickmania_ball.4x4x16.bmp
brickmania_bricks.132x80x16.bmp
brickmania_pads.132x80x16.bmp
brickmania_short_pads.132x80x16.bmp
brickmania_long_pads.132x80x16.bmp
brickmania_powerups.132x80x16.bmp
brickmania_break.132x80x16.bmp
#elif LCD_WIDTH >= 128
brickmania_ball.4x4x16.bmp
brickmania_bricks.128x128x16.bmp
brickmania_pads.132x80x16.bmp
brickmania_short_pads.132x80x16.bmp
brickmania_long_pads.132x80x16.bmp
brickmania_powerups.132x80x16.bmp
brickmania_break.132x80x16.bmp
#elif LCD_WIDTH >= 96
brickmania_ball.4x4x16.bmp
brickmania_bricks.96x96x16.bmp
brickmania_pads.96x96x16.bmp
brickmania_short_pads.96x96x16.bmp
brickmania_long_pads.96x96x16.bmp
brickmania_powerups.132x80x16.bmp
brickmania_break.96x96x16.bmp
#endif /* different colour displays */
#elif LCD_DEPTH > 1
brickmania_gameover.86x43x2.bmp
brickmania_pads.160x128x2.bmp
brickmania_short_pads.160x128x2.bmp
brickmania_long_pads.160x128x2.bmp
brickmania_powerups.160x128x2.bmp
#if (LCD_WIDTH >= 160)
brickmania_ball.5x5x2.bmp
brickmania_bricks.160x128x2.bmp
#elif LCD_WIDTH >= 138
brickmania_ball.5x5x2.bmp
brickmania_bricks.138x110x2.bmp
#else /* M3, HD200 */
brickmania_ball.4x4x2.bmp
brickmania_bricks.128x96x2.bmp
#endif
#else /* mono */
brickmania_gameover.59x30x1.bmp
brickmania_bricks.112x64x1.bmp
brickmania_ball.3x3x1.bmp
brickmania_pads.112x64x1.bmp
brickmania_short_pads.112x64x1.bmp
brickmania_long_pads.112x64x1.bmp
brickmania_powerups.112x64x1.bmp
#endif
/* Jackpot */
jackpot_slots.30x420x1.bmp
/* Bubbles */
#ifdef HAVE_LCD_COLOR
#if ((LCD_WIDTH >= 640) && (LCD_HEIGHT >= 480)) || \
((LCD_WIDTH >= 480) && (LCD_HEIGHT >= 640))
bubbles_emblem.640x480x16.bmp
bubbles_background.640x480x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
bubbles_emblem.320x240x16.bmp
bubbles_background.320x240x16.bmp
#elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320)
bubbles_emblem.320x240x16.bmp
bubbles_background.240x320x16.bmp
#elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176)
bubbles_emblem.220x176x16.bmp
bubbles_background.220x176x16.bmp
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 220)
bubbles_emblem.220x176x16.bmp
bubbles_background.176x220x16.bmp
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132)
bubbles_emblem.160x128x16.bmp
bubbles_background.176x132x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128)
bubbles_emblem.160x128x16.bmp
bubbles_background.160x128x16.bmp
#elif (LCD_WIDTH >= 132) && (LCD_HEIGHT >= 80)
bubbles_emblem.132x80x16.bmp
bubbles_background.132x80x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 160)
bubbles_emblem.160x128x16.bmp
bubbles_background.128x160x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128)
bubbles_emblem.160x128x16.bmp
bubbles_background.128x128x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96)
bubbles_emblem.128x96x16.bmp
bubbles_background.128x96x16.bmp
#elif (LCD_WIDTH >= 96) && (LCD_HEIGHT >= 96)
bubbles_emblem.132x80x16.bmp
bubbles_background.96x96x16.bmp
#endif
#elif LCD_DEPTH <= 2 /* greyscale, mono */
#if (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128)
bubbles_emblem.160x128x2.bmp
#elif (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110)
bubbles_emblem.138x110x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96)
bubbles_emblem.128x96x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 64)
bubbles_emblem.112x64x1.bmp /* use the same emblems than Archos */
#elif (LCD_WIDTH >= 112) && (LCD_HEIGHT >= 64)
bubbles_emblem.112x64x1.bmp
#endif
#endif
/* ChessBox */
#if (LCD_WIDTH >= 480)
chessbox_pieces.480x480x16.bmp
#elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
chessbox_pieces.240x240x16.bmp
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 176) && (LCD_DEPTH >= 16)
chessbox_pieces.176x176x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) && (LCD_DEPTH > 1)
chessbox_pieces.128x128x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) && (LCD_DEPTH == 1)
chessbox_pieces.128x128x1.bmp
#elif (LCD_WIDTH >= 104) && (LCD_HEIGHT >= 104) && (LCD_DEPTH > 1)
chessbox_pieces.104x104x2.bmp
#elif (LCD_WIDTH >= 96) && (LCD_HEIGHT >= 96) && (LCD_DEPTH > 1)
chessbox_pieces.96x96x2.bmp
#elif (LCD_WIDTH >= 80) && (LCD_HEIGHT >= 80) && (LCD_DEPTH > 1)
chessbox_pieces.80x80x16.bmp
#elif (LCD_WIDTH == 112) && (LCD_HEIGHT == 64) && (LCD_DEPTH == 1)
chessbox_pieces.80x64x1.bmp
#elif (LCD_WIDTH >= 64) && (LCD_HEIGHT >= 64)
chessbox_pieces.64x64x1.bmp
#endif
/* Clock */
#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
clock_binary.320x240x16.bmp
clock_digits.320x240x16.bmp
clock_smalldigits.320x240x16.bmp
clock_segments.320x240x16.bmp
clock_smallsegments.320x240x16.bmp
clock_logo.320x240x16.bmp
clock_messages.320x240x16.bmp
#elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) && (LCD_DEPTH >= 16)
clock_binary.220x176x16.bmp
clock_digits.220x176x16.bmp
clock_smalldigits.220x176x16.bmp
clock_segments.220x176x16.bmp
clock_smallsegments.220x176x16.bmp
clock_logo.220x176x16.bmp
clock_messages.220x176x16.bmp
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH >= 16)
clock_binary.160x128x16.bmp
clock_digits.160x128x16.bmp
clock_smalldigits.160x128x16.bmp
clock_segments.160x128x16.bmp
clock_smallsegments.160x128x16.bmp
clock_logo.176x132x16.bmp
clock_messages.176x132x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 16)
clock_binary.160x128x16.bmp
clock_digits.160x128x16.bmp
clock_smalldigits.160x128x16.bmp
clock_segments.160x128x16.bmp
clock_smallsegments.160x128x16.bmp
clock_logo.160x128x16.bmp
clock_messages.160x128x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 16)
clock_binary.128x128x16.bmp
clock_digits.128x128x16.bmp
clock_smalldigits.128x128x16.bmp
clock_segments.128x128x16.bmp
clock_smallsegments.128x128x16.bmp
clock_logo.128x128x16.bmp
clock_messages.128x128x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 2)
clock_binary.160x128x2.bmp
clock_digits.160x128x2.bmp
clock_smalldigits.160x128x2.bmp
clock_segments.160x128x2.bmp
clock_smallsegments.160x128x2.bmp
clock_logo.160x128x2.bmp
clock_messages.160x128x2.bmp
#elif (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110) && (LCD_DEPTH >= 2)
clock_binary.138x110x2.bmp
clock_digits.138x110x2.bmp
clock_smalldigits.160x128x2.bmp
clock_segments.138x110x2.bmp
clock_smallsegments.160x128x2.bmp
clock_logo.138x110x2.bmp
clock_messages.138x110x2.bmp
#elif (LCD_WIDTH >= 132) && (LCD_HEIGHT >= 80) && (LCD_DEPTH >= 16)
clock_binary.132x80x16.bmp
clock_digits.132x80x16.bmp
clock_smalldigits.132x80x16.bmp
clock_segments.132x80x16.bmp
clock_smallsegments.132x80x16.bmp
clock_logo.132x80x16.bmp
clock_messages.132x80x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 2)
clock_binary.128x128x2.bmp
clock_digits.128x128x2.bmp
clock_smalldigits.128x128x2.bmp
clock_segments.128x128x2.bmp
clock_smallsegments.128x128x2.bmp
clock_logo.128x128x2.bmp
clock_messages.128x128x2.bmp
#elif (LCD_WIDTH >= 96) && (LCD_HEIGHT >= 96) && (LCD_DEPTH >= 16)
clock_binary.96x96x16.bmp
clock_digits.132x80x16.bmp
clock_smalldigits.128x128x16.bmp
clock_segments.132x80x16.bmp
clock_smallsegments.128x128x16.bmp
clock_logo.96x96x16.bmp
clock_messages.96x96x16.bmp
#elif (LCD_WIDTH >= 96) && (LCD_HEIGHT >= 64) && (LCD_DEPTH >= 1)
clock_binary.112x64x1.bmp
clock_digits.112x64x1.bmp
clock_smalldigits.112x64x1.bmp
clock_segments.112x64x1.bmp
clock_smallsegments.112x64x1.bmp
clock_logo.112x64x1.bmp
clock_messages.112x64x1.bmp
#endif
/* FFT only needs a bitmap with colors mapping to amplitude */
#ifdef HAVE_LCD_COLOR
fft_colors.16.bmp
#endif
/* Flipit */
#ifdef HAVE_LCD_COLOR
#if LCD_WIDTH >= 480
flipit_cursor.112x112x16.bmp
flipit_tokens.112x224x16.bmp
#elif LCD_WIDTH >= 280 && LCD_HEIGHT >= 234
flipit_cursor.56x56x16.bmp
flipit_tokens.56x112x16.bmp
#elif LCD_WIDTH >= 200 && LCD_HEIGHT >= 170
flipit_cursor.40x40x16.bmp
flipit_tokens.40x80x16.bmp
#elif LCD_WIDTH >= 140 && LCD_HEIGHT >= 122
flipit_cursor.28x28x16.bmp
flipit_tokens.28x56x16.bmp
#elif LCD_WIDTH >= 125 && LCD_HEIGHT >= 110
flipit_cursor.25x25x16.bmp
flipit_tokens.25x50x16.bmp
#elif LCD_WIDTH >= 85 && LCD_HEIGHT >= 78
flipit_cursor.17x17x16.bmp
flipit_tokens.17x34x16.bmp
#endif
#elif LCD_DEPTH > 1 /* greyscale */
#if LCD_WIDTH >= 140 && LCD_HEIGHT >= 122
flipit_tokens.28x56x2.bmp
#elif LCD_WIDTH >= 125 && LCD_HEIGHT >= 110
flipit_tokens.25x50x2.bmp
#elif LCD_WIDTH >= 105 && LCD_HEIGHT >= 96
flipit_tokens.21x42x2.bmp
#endif
#else /* monochrome */
#if LCD_WIDTH >= 140 && LCD_HEIGHT >= 122
flipit_tokens.28x56x1.bmp
#elif LCD_WIDTH >= 80 && LCD_HEIGHT >= 62
flipit_tokens.16x26x1.bmp
#endif
#endif
/* Invadrox */
#if defined HAVE_LCD_COLOR
#if LCD_WIDTH >= 640
invadrox_alien_explode.37x20x16.bmp
invadrox_aliens.68x68x16.bmp
invadrox_ships.46x69x16.bmp
invadrox_bombs.27x126x16.bmp
invadrox_shield.64x47x16.bmp
invadrox_ufo.46x20x16.bmp
invadrox_ufo_explode.61x23x16.bmp
invadrox_numbers.140x19x16.bmp
#if LCD_WIDTH == 480
invadrox_background.480x640x16.bmp
#elif LCD_WIDTH == 640
invadrox_background.640x480x16.bmp
#endif
#elif LCD_WIDTH >= 220
invadrox_aliens.24x24x16.bmp
invadrox_alien_explode.13x7x16.bmp
invadrox_ships.16x24x16.bmp
invadrox_bombs.9x42x16.bmp
invadrox_shield.22x16x16.bmp
invadrox_ufo.16x7x16.bmp
invadrox_ufo_explode.21x8x16.bmp
invadrox_numbers.50x7x16.bmp
#if LCD_WIDTH == 320
invadrox_background.320x240x16.bmp
#elif LCD_WIDTH == 240
invadrox_background.240x320x16.bmp
#elif LCD_WIDTH == 220
invadrox_background.220x176x16.bmp
#endif
#elif LCD_WIDTH >= 160
invadrox_aliens.16x15x16.bmp
invadrox_alien_explode.10x5x16.bmp
invadrox_ships.10x15x16.bmp
invadrox_bombs.9x30x16.bmp
invadrox_shield.15x10x16.bmp
invadrox_ufo.11x5x16.bmp
invadrox_ufo_explode.14x5x16.bmp
invadrox_numbers.40x5x16.bmp
#if LCD_WIDTH == 176 && LCD_HEIGHT == 220
invadrox_background.176x220x16.bmp
#elif LCD_WIDTH == 176 && LCD_HEIGHT == 132
invadrox_background.176x132x16.bmp
#elif LCD_WIDTH == 160 && LCD_HEIGHT == 128
invadrox_background.160x128x16.bmp
#endif
#endif /* LCD_WIDTH */
#elif LCD_DEPTH == 2 /* Greyscale */
invadrox_aliens.16x15x16.bmp
invadrox_alien_explode.10x5x16.bmp
invadrox_ships.10x15x2.bmp
invadrox_bombs.9x30x16.bmp
invadrox_shield.15x10x2.bmp
invadrox_ufo.11x5x2.bmp
invadrox_ufo_explode.14x5x2.bmp
invadrox_numbers.40x5x16.bmp
invadrox_background.160x128x16.bmp
#endif /* colour depth */
/* Jewels */
#if (LCD_WIDTH == 112) && (LCD_HEIGHT == 64)
jewels.112x64x1.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
jewels.112x64x1.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128)
jewels.128x128x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 160)
jewels.128x128x16.bmp
#elif ((LCD_WIDTH == 132) && (LCD_HEIGHT == 80)) || \
((LCD_WIDTH == 96) && (LCD_HEIGHT == 96))
jewels.132x80x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) && !defined(HAVE_LCD_COLOR)
jewels.128x96x2.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) && defined(HAVE_LCD_COLOR)
jewels.128x96x16.bmp
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
jewels.138x110x2.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && !defined(HAVE_LCD_COLOR)
jewels.160x128x2.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && defined(HAVE_LCD_COLOR)
jewels.160x128x16.bmp
#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132)
jewels.160x128x16.bmp
#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176)
jewels.220x176x16.bmp
#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220)
jewels.220x176x16.bmp
#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
jewels.320x240x16.bmp
#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
jewels.320x240x16.bmp
#elif ((LCD_WIDTH == 640) && (LCD_HEIGHT == 480)) || \
((LCD_WIDTH == 480) && (LCD_HEIGHT == 640))
jewels.640x480x16.bmp
#endif
/* Minesweeper */
#ifdef HAVE_LCD_COLOR
#if ( LCD_HEIGHT * LCD_WIDTH ) / ( 16 * 16 ) >= 130
minesweeper_tiles.16x16x24.bmp
#elif ( LCD_HEIGHT * LCD_WIDTH ) / ( 12 * 12 ) >= 130
minesweeper_tiles.12x12x24.bmp
#else
minesweeper_tiles.10x10x24.bmp
#endif
#elif LCD_DEPTH > 1
minesweeper_tiles.12x12x2.bmp
#else
minesweeper_tiles.8x8x1.bmp
#endif
/* PegBox */
#ifdef HAVE_LCD_COLOR
/* for most targets only LCD_WIDTH is important, e.g. Nano and e200 use the same set */
#if LCD_WIDTH >= 640
pegbox_pieces.48x48x16.bmp
pegbox_header.640x80x16.bmp
#elif LCD_WIDTH >= 320
pegbox_pieces.24x24x16.bmp
pegbox_header.320x40x16.bmp
#elif LCD_WIDTH >= 240
pegbox_pieces.16x16x16.bmp
pegbox_header.240x40x16.bmp
#elif LCD_WIDTH >= 220
pegbox_pieces.16x16x16.bmp
pegbox_header.220x40x16.bmp
#elif LCD_WIDTH >= 176
pegbox_pieces.12x12x16.bmp
pegbox_header.176x28x16.bmp
#elif LCD_WIDTH >= 160
pegbox_pieces.12x12x16.bmp
pegbox_header.160x24x16.bmp
#elif LCD_WIDTH >= 132
pegbox_pieces.9x9x16.bmp
pegbox_header.22x80x16.bmp
#elif LCD_WIDTH >= 128
pegbox_pieces.10x10x16.bmp
# if LCD_HEIGHT > 96
pegbox_header.128x42x16.bmp
# else
pegbox_header.128x16x16.bmp
# endif
#elif LCD_WIDTH >= 96
pegbox_pieces.8x8x16.bmp
pegbox_header.96x32x16.bmp
#endif /* different colour displays */
#elif LCD_DEPTH > 1
#if LCD_WIDTH >= 160
pegbox_pieces.12x12x2.bmp
pegbox_header.160x24x2.bmp
#elif LCD_WIDTH >= 138
pegbox_pieces.10x10x2.bmp
pegbox_header.138x26x2.bmp
#elif LCD_WIDTH >= 128
pegbox_pieces.10x10x2.bmp
pegbox_header.128x16x2.bmp
#endif /* different greyscale displays */
#else /* mono */
#if LCD_WIDTH >= 160
pegbox_pieces.12x12x1.bmp
pegbox_header.160x24x1.bmp
#elif LCD_WIDTH >= 128
pegbox_header.20x64x1.bmp
pegbox_pieces.9x7x1.bmp
#elif LCD_WIDTH >= 112
pegbox_header.112x8x1.bmp
pegbox_pieces.9x7x1.bmp
#endif
#endif
/* Puzzles */
#if defined(HAVE_LCD_COLOR) && \
(!defined(LCD_STRIDEFORMAT) || (LCD_STRIDEFORMAT != VERTICAL_STRIDE))
puzzles_cursor.11x16x24.bmp
#endif
/* Rockblox */
#if LCD_DEPTH >= 16 /* colour versions*/
#if (LCD_WIDTH == 640) && (LCD_HEIGHT == 480)
rockblox_background.640x480x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
rockblox_background.320x240x16.bmp
#elif (LCD_WIDTH == 240) && (LCD_HEIGHT >= 320)
rockblox_background.240x320x16.bmp
#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176)
rockblox_background.220x176x16.bmp
#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220)
rockblox_background.176x220x16.bmp
#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132)
rockblox_background.176x132x16.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128)
rockblox_background.160x128x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 160)
rockblox_background.128x160x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT >= 128)
rockblox_background.128x128x16.bmp
#elif (LCD_WIDTH == 132) && (LCD_HEIGHT == 80)
rockblox_background.132x80x16.bmp
#elif (LCD_WIDTH == 128 && LCD_HEIGHT == 96)
rockblox_background.128x96x2.bmp
#elif (LCD_WIDTH == 96 && LCD_HEIGHT == 96)
rockblox_background.96x96x16.bmp
#endif
#elif LCD_DEPTH == 2 /* greyscale versions */
#if (LCD_WIDTH == 160) && (LCD_HEIGHT == 128)
rockblox_background.160x128x2.bmp
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110)
rockblox_background.138x110x2.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128)
rockblox_background.128x128x2.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96)
rockblox_background.128x96x2.bmp
#endif
#elif LCD_DEPTH == 1 /* monochrome versions */
#if (LCD_WIDTH == 160) && (LCD_HEIGHT == 128)
rockblox_background.160x128x1.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 64)
rockblox_background.128x64x1.bmp
#elif (LCD_WIDTH == 112) && (LCD_HEIGHT == 64)
rockblox_background.112x64x1.bmp
#endif
#endif /* LCD_DEPTH */
/* Rockpaint */
#ifdef HAVE_LCD_COLOR
rockpaint.8x8x24.bmp
rockpaint_hsvrgb.8x10x24.bmp
#endif
/* Snake2 */
#if (LCD_WIDTH >= 640) && (LCD_HEIGHT >= 480) && (LCD_DEPTH >= 16)
snake2_header1.640x480x16.bmp
snake2_header2.640x480x16.bmp
snake2_left.640x480x16.bmp
snake2_right.640x480x16.bmp
snake2_bottom.640x480x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
snake2_header1.320x240x16.bmp
snake2_header2.320x240x16.bmp
snake2_left.320x240x16.bmp
snake2_right.320x240x16.bmp
snake2_bottom.320x240x16.bmp
#elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 192) && (LCD_DEPTH >= 16)
snake2_header1.240x320x16.bmp
snake2_header2.240x320x16.bmp
snake2_left.240x320x16.bmp
snake2_right.240x320x16.bmp
snake2_bottom.240x320x16.bmp
#elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) && (LCD_DEPTH >= 16)
snake2_header1.220x176x16.bmp
snake2_header2.220x176x16.bmp
snake2_left.220x176x16.bmp
snake2_right.220x176x16.bmp
snake2_bottom.220x176x16.bmp
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH >= 16)
snake2_header1.176x132x16.bmp
snake2_header2.176x132x16.bmp
snake2_left.176x132x16.bmp
snake2_right.176x132x16.bmp
snake2_bottom.176x132x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 16)
snake2_header1.160x128x16.bmp
snake2_header2.160x128x16.bmp
snake2_left.160x128x16.bmp
snake2_right.160x128x16.bmp
snake2_bottom.160x128x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 1)
snake2_header1.160x128x2.bmp
snake2_header2.160x128x2.bmp
snake2_left.160x128x2.bmp
snake2_right.160x128x2.bmp
snake2_bottom.160x128x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96) && (LCD_DEPTH >= 16)
snake2_header1.128x96x16.bmp
snake2_header2.128x96x16.bmp
snake2_left.128x96x16.bmp
snake2_right.128x96x16.bmp
snake2_bottom.128x96x16.bmp
#endif
/* Sokoban*/
/* biggest tilesize: 20 columns x 16 rows + stat box need to fit (minimum)
* allow clipping of up to 4 pixels in favour of using a bigger tilesize
* stat box width of 32 in horizontal & height of 25 pixels in vertical layout
* currently the horizontal layout fits best on all wider than high displays
*/
#if LCD_WIDTH > LCD_HEIGHT
#define SOKOBAN_TILESIZE ((LCD_WIDTH + 4 -32)/20)
#else
#define SOKOBAN_TILESIZE ((LCD_WIDTH + 4)/20)
#endif
#ifdef HAVE_LCD_COLOR
#if SOKOBAN_TILESIZE >= 28
sokoban_tiles.28x28x16.bmp
#elif SOKOBAN_TILESIZE >= 14
sokoban_tiles.14x14x16.bmp
#elif SOKOBAN_TILESIZE >= 12
sokoban_tiles.12x12x16.bmp
#elif SOKOBAN_TILESIZE >= 9
sokoban_tiles.9x9x16.bmp
#elif SOKOBAN_TILESIZE >= 7
sokoban_tiles.7x7x16.bmp
#elif SOKOBAN_TILESIZE >= 6
sokoban_tiles.6x6x16.bmp
#elif SOKOBAN_TILESIZE >= 5
sokoban_tiles.5x5x16.bmp
#endif /* tilesize */
#elif LCD_DEPTH > 1 /*greyscale */
#if SOKOBAN_TILESIZE >= 6
sokoban_tiles.6x6x2.bmp
#elif SOKOBAN_TILESIZE >= 5
sokoban_tiles.5x5x2.bmp
#endif /* tilesize */
#else /* mono */
#if SOKOBAN_TILESIZE >= 6
sokoban_tiles.6x6x1.bmp
#elif SOKOBAN_TILESIZE >= 4
sokoban_tiles.4x4x1.bmp
#endif /* tilesize */
#endif /* HAVE_COLOR */
/* Solitaire and Blackjack */
#ifdef HAVE_LCD_COLOR
#if LCD_WIDTH >= 640
card_back.74x98x16.bmp
card_deck.962x392x16.bmp
solitaire_suitsi.74x392x16.bmp
#elif LCD_WIDTH >= 480
card_back.55x73x16.bmp
card_deck.715x291x16.bmp
solitaire_suitsi.55x291x16.bmp
#elif LCD_WIDTH >= 320
card_back.37x49x16.bmp
card_deck.481x196x16.bmp
solitaire_suitsi.37x196x16.bmp
#elif LCD_WIDTH >= 220
card_back.26x33x16.bmp
card_deck.338x132x16.bmp
solitaire_suitsi.26x132x16.bmp
#elif LCD_WIDTH >= 160
card_back.18x23x16.bmp
card_deck.234x92x16.bmp
solitaire_suitsi.18x92x16.bmp
#elif LCD_WIDTH >= 128
card_back.15x20x16.bmp
card_deck.195x80x16.bmp
solitaire_suitsi.15x80x16.bmp
#elif LCD_WIDTH >= 96
card_back.11x15x16.bmp
card_deck.143x60x16.bmp
solitaire_suitsi.11x60x16.bmp
#endif
#elif LCD_DEPTH > 1 /* greyscale */
#if LCD_WIDTH >= 160
card_back.18x23x2.bmp
card_deck.234x92x2.bmp
solitaire_suitsi.18x92x2.bmp
#elif LCD_WIDTH >= 128
card_back.15x20x2.bmp
card_deck.195x80x2.bmp
solitaire_suitsi.15x80x2.bmp
#endif
#else /* monochrome */
#if LCD_WIDTH >= 160
card_back.18x23x1.bmp
card_deck.234x92x1.bmp
solitaire_suitsi.18x92x1.bmp
#elif LCD_WIDTH >= 112
card_back.13x13x1.bmp
card_deck.169x52x1.bmp
solitaire_suitsi.13x52x1.bmp
#endif
#endif
#if (LCD_HEIGHT/10) < (LCD_WIDTH/16)
#define STAR_TILESIZE (LCD_HEIGHT/10)
#else
#define STAR_TILESIZE (LCD_WIDTH/16)
#endif
/* Star */
#ifdef HAVE_LCD_COLOR
#if (STAR_TILESIZE >= 40)
star_tiles.40x40.bmp
#elif (STAR_TILESIZE >= 20)
star_tiles.20x20.bmp
#elif (STAR_TILESIZE >= 15)
star_tiles.15x15.bmp
#elif (STAR_TILESIZE >= 13)
star_tiles.13x13.bmp
#elif (STAR_TILESIZE >= 11)
star_tiles.11x11.bmp
#elif (STAR_TILESIZE >= 10)
star_tiles.10x10.bmp
#elif (STAR_TILESIZE >= 8)
star_tiles.8x8.bmp
#elif (STAR_TILESIZE >= 6)
star_tiles.6x6.bmp
#endif
#elif LCD_DEPTH > 1 /* grey */
#if LCD_WIDTH >= 160 && LCD_HEIGHT >= 98
star_tiles.10x10x2.bmp
#elif LCD_WIDTH >= 128 && LCD_HEIGHT >= 80
star_tiles.8x8x2.bmp
#endif
#else /* monochrome */
#if LCD_WIDTH >= 112 && LCD_HEIGHT >= 62
star_tiles.6x7x1.bmp
#endif
#endif
/* Sudoku */
#if LCD_WIDTH >= LCD_HEIGHT
#if (LCD_WIDTH == 112 || LCD_WIDTH == 128) && (LCD_HEIGHT == 64) && (LCD_DEPTH == 1)
sudoku_start.112x64x1.bmp
sudoku_normal.112x64x1.bmp
sudoku_inverse.112x64x1.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) && (LCD_DEPTH == 2)
sudoku_start.128x96x2.bmp
sudoku_normal.128x96x2.bmp
sudoku_inverse.128x96x2.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 96) && (LCD_DEPTH >= 16)
sudoku_start.128x96x16.bmp
sudoku_normal.128x96x16.bmp
sudoku_inverse.128x96x16.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 2)
sudoku_start.128x128x2.bmp
sudoku_normal.128x128x2.bmp
sudoku_inverse.128x128x2.bmp
#elif (LCD_WIDTH == 138) && (LCD_HEIGHT == 110) && (LCD_DEPTH >= 2)
sudoku_start.138x110x2.bmp
sudoku_normal.138x110x2.bmp
sudoku_inverse.138x110x2.bmp
#elif (LCD_WIDTH == 132 && LCD_HEIGHT == 80) && (LCD_DEPTH >= 16)
sudoku_start.132x80x16.bmp
sudoku_normal.132x80x16.bmp
sudoku_inverse.132x80x16.bmp
#elif (LCD_WIDTH == 96 && LCD_HEIGHT == 96) && (LCD_DEPTH >= 16)
sudoku_start.96x70x14.bmp
sudoku_normal.96x70x14.bmp
sudoku_inverse.96x70x14.bmp
#elif (LCD_WIDTH == 128) && (LCD_HEIGHT == 128) && (LCD_DEPTH >= 16)
sudoku_start.128x128x16.bmp
sudoku_normal.128x128x16.bmp
sudoku_inverse.128x128x16.bmp
#elif ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH >= 16)) || \
((LCD_WIDTH == 176) && (LCD_HEIGHT == 132) && (LCD_DEPTH >= 16))
sudoku_start.160x128x16.bmp
sudoku_normal.160x128x16.bmp
sudoku_inverse.160x128x16.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH >= 2)
sudoku_start.160x128x2.bmp
sudoku_normal.160x128x2.bmp
sudoku_inverse.160x128x2.bmp
#elif (LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH == 1)
sudoku_start.160x128x1.bmp
sudoku_normal.160x128x1.bmp
sudoku_inverse.160x128x1.bmp
#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) && (LCD_DEPTH >= 16)
sudoku_start.220x176x16.bmp
sudoku_normal.220x176x16.bmp
sudoku_inverse.220x176x16.bmp
#elif (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH == 2)
/* Temporary bitmaps for Archos AV300 */
sudoku_start.320x240x16.bmp
sudoku_normal.320x240x16.bmp
sudoku_inverse.320x240x16.bmp
#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) && (LCD_DEPTH >= 16)
sudoku_start.320x240x16.bmp
sudoku_normal.320x240x16.bmp
sudoku_inverse.320x240x16.bmp
#elif (LCD_WIDTH == 640) && (LCD_HEIGHT == 480) && (LCD_DEPTH >= 16)
sudoku_start.640x480x16.bmp
sudoku_normal.640x480x16.bmp
sudoku_inverse.640x480x16.bmp
#endif
#else /* LCD_WIDTH < LCD_HEIGHT */
#if ((LCD_WIDTH == 128) && (LCD_HEIGHT == 160) && (LCD_DEPTH >= 16))
sudoku_start.128x128x16.bmp
sudoku_normal.128x128x16.bmp
sudoku_inverse.128x128x16.bmp
#elif ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220) && (LCD_DEPTH >= 16))
sudoku_start.220x176x16.bmp
sudoku_normal.220x176x16.bmp
sudoku_inverse.220x176x16.bmp
#elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320) && (LCD_DEPTH >= 16)
sudoku_start.320x240x16.bmp
sudoku_normal.320x240x16.bmp
sudoku_inverse.320x240x16.bmp
#endif
#endif
/* Superdom */
#if LCD_DEPTH >= 16
#if ((LCD_WIDTH == 220) && (LCD_HEIGHT == 176))
superdom_boarditems.220x176x16.bmp
#elif ((LCD_WIDTH == 176) && (LCD_HEIGHT == 132)) || \
((LCD_WIDTH == 160) && (LCD_HEIGHT == 128)) || \
((LCD_WIDTH == 176) && (LCD_HEIGHT == 220))
superdom_boarditems.176x132x16.bmp
#elif (LCD_WIDTH == 320 && LCD_HEIGHT == 240)
superdom_boarditems.320x240x16.bmp
#elif ((LCD_WIDTH == 240) && (LCD_HEIGHT == 320)) || \
((LCD_WIDTH == 240) && (LCD_HEIGHT == 400))
superdom_boarditems.240x320x16.bmp
#elif (LCD_WIDTH == 480 && LCD_HEIGHT == 640)
superdom_boarditems.480x640x16.bmp
#elif (LCD_WIDTH == 640 && LCD_HEIGHT == 480)
superdom_boarditems.640x480x16.bmp
#endif
#endif
/* Matrix */
#if LCD_DEPTH > 1
matrix_bold.bmp
matrix_normal.bmp
#endif
/* Sliding puzzle */
#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 - 20)
#endif
#if defined HAVE_LCD_COLOR
#if SMALLER_DIMENSION <= 80
sliding_puzzle.80x80x16.bmp
#elif SMALLER_DIMENSION <= 96
sliding_puzzle.96x96x16.bmp
#elif SMALLER_DIMENSION <= 108
sliding_puzzle.108x108x16.bmp
#elif SMALLER_DIMENSION <= 128
sliding_puzzle.128x128x16.bmp
#elif SMALLER_DIMENSION <= 132
sliding_puzzle.132x132x16.bmp
#elif SMALLER_DIMENSION <= 176
sliding_puzzle.176x176x16.bmp
#elif SMALLER_DIMENSION <= 240
sliding_puzzle.240x240x16.bmp
#elif SMALLER_DIMENSION <= 480
sliding_puzzle.480x480x16.bmp
#endif
#elif (LCD_DEPTH > 1)
#if SMALLER_DIMENSION <= 96
sliding_puzzle.96x96x2.bmp
#elif SMALLER_DIMENSION <= 110
sliding_puzzle.108x108x2.bmp
#elif SMALLER_DIMENSION <= 128
sliding_puzzle.128x128x2.bmp
#endif
#else /* mono targets, one size currently */
sliding_puzzle.80x64x1.bmp
#endif
/* Logo */
#if LCD_DEPTH >= 16
#if (LCD_WIDTH >= 320)
rockboxlogo.220x68x16.bmp
#elif (LCD_WIDTH > 160)
rockboxlogo.128x40x16.bmp
#else
rockboxlogo.90x28x16.bmp
#endif
#elif LCD_DEPTH == 2
#if (LCD_WIDTH > 138)
rockboxlogo.138x46x2.bmp
#else
rockboxlogo.91x32x2.bmp
#endif
#elif LCD_DEPTH == 1
#if (LCD_WIDTH > 112)
/* Such a screen isn't currently in any target */
rockboxlogo.112x30x1.bmp
#else
rockboxlogo.91x32x1.bmp
#endif
#endif
/* Pitch detector */
/* The following preprocessor condition must match the condition */
/* for pitch detector from plugins/SOURCES */
#if (CONFIG_CODEC == SWCODEC) && defined(HAVE_RECORDING) && \
(defined(HAVE_LINE_IN) || defined(HAVE_MIC_IN))
#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) && (LCD_DEPTH >= 16)
pitch_notes.320x240x16.bmp
#elif (LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) && (LCD_DEPTH >= 16)
pitch_notes.220x176x16.bmp
#elif (LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH >= 16)
pitch_notes.176x132x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 16)
pitch_notes.160x128x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 16)
pitch_notes.128x128x16.bmp
#elif (LCD_WIDTH >= 160) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 2)
pitch_notes.160x128x2.bmp
#elif (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110) && (LCD_DEPTH >= 2)
pitch_notes.160x128x2.bmp
#elif (LCD_WIDTH >= 132) && (LCD_HEIGHT >= 80) && (LCD_DEPTH >= 16)
pitch_notes.132x80x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 128) && (LCD_DEPTH >= 2)
pitch_notes.128x128x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96) && (LCD_DEPTH >= 2)
pitch_notes.128x96x2.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 64)
pitch_notes.128x64x1.bmp
#elif (LCD_WIDTH >= 96) && (LCD_HEIGHT >= 96)
pitch_notes.132x80x16.bmp
#else
#error Pitch Detector: unsupported LCD
#endif
#endif /* Complex condition for pitch detector */
/* Resistor Calculator */
#if (LCD_WIDTH >= 320)
resistor.320x240x16.bmp
#elif (LCD_WIDTH >= 240)
resistor.240x400x16.bmp
#elif (LCD_WIDTH >= 220)
resistor.220x176x16.bmp
#elif (LCD_WIDTH >= 176)
resistor.176x220x16.bmp
#elif (LCD_WIDTH >= 160)
resistor.160x128x16.bmp
#elif (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 96)
resistor.128x128x16.bmp
#else
resistor.68x20x16.bmp
#endif
#endif /* HAVE_LCD_BITMAP */