Pokitto-Raycasting/demo2.cpp
2018-09-18 14:47:42 +02:00

1088 lines
59 KiB
C++

/**
Raycasting demo 2 for Pokitto.
This demo shows a simple version (wolf3D-like) raycasting. It has a fairly
high FPS.
There is a number of compile-time settings you can try! Look at the defines
below.
Don't forget to compile with -O3!
author: Miloslav "drummyfish" Ciz
license: CC0 1.0
*/
// settings:
//#define SUBSAMPLE 1
/* ^ Turns high resolution in X direction on, which means twice as many rays
that will be cast. The result looks beautiful but dramatically decreases
FPS. */
//#define RENDER_PRECISE
/* ^ Turns on rendering using a more precise but slower algorithm. This can
be seen at less shaky head bobbing when moving. However the latter
algorithm doesn't support some features (rooling doors, floor textures,
...). */
//#define NO_TEXTURES
/* ^ Turns off textures and only uses colors, which increases FPS. */
#define RCL_COMPUTE_FLOOR_TEXCOORDS 1
/* ^ Turns on computation of texture coordinates for the floor in raycastlib
and makes this demo render the textures. */
#define FLOOR_TEXTURE_SCALE 2
/* ^ Scales the floor texture if RCL_COMPUTE_FLOOR_TEXCOORDS is on. */
//#define HEAD_BOB
/* ^ Turns on head bobbing. */
//#define NO_SHADING
/* ^ Turns off shading (fog) which increases FPS. */
//#define NO_MIRROR
/* ^ Turns off the floor mirror effect, which should increase FPS. */
//#define RCL_USE_DIST_APPROX 1
/* ^ Turns on distance approximation, which won't compute exact distances but
only approximations - this should increase performance a little, but
results in slightly distorted walls. */
//#define RCL_USE_COS_LUT 2
/* ^ Turns on cos look up tables (128 items, USE_COS_LUT 1 will use only 64
items), which should theoretically be faster, but will take additional
memory and turning can be less precise (can be seen a lot with 64 item
LUT). */
#define DOOR_ROLL_SIGN -1
/* ^ Defines how the door roll: -1 opens the door to the left, 1 to the
right, 0 to both. */
#ifdef NO_TEXTURES
#define RCL_COMPUTE_WALL_TEXCOORDS 0
#endif
#define FPS 255
#define HEAD_BOB_HEIGHT 200
#define HEAD_BOB_STEP 20
#define PLAYER_SPEED (5 * RCL_UNITS_PER_SQUARE)
#define TEXTURE_W 32 // for the sake of performance we require prespecified sizes
#define TEXTURE_H 32
#include "general.hpp"
#define LEVEL_X_RES 32
#define LEVEL_Y_RES 16
Player player;
#define SHOT_SPEED 10 * RCL_UNITS_PER_SQUARE
#define INFO_BAR_START 70
#define TEXTURE_MAX_DISTANCE (RCL_UNITS_PER_SQUARE * 6)
// temporary defines for better visibility of walls and floors below
#define D 6
#define o 0
const unsigned char level[] =
{
/* 10 12 14 16 18 20 22 24 26 28 30
0 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 */
4,o,o,4,o,o,4,o,o,4,o,o,2,4,o,4,4,o,o,o,o,D,o,2,o,o,o,o,o,o,o,2, // 0 15
o,o,o,o,o,o,o,o,o,o,o,o,3,4,o,o,o,o,1,3,2,4,o,4,o,o,o,o,o,o,o,o, // 1 14
o,o,o,o,o,o,o,o,o,o,o,o,2,4,o,o,o,o,1,o,o,o,o,3,o,o,o,o,o,o,o,o, // 2 13
o,o,5,o,o,o,o,o,o,o,o,o,2,4,4,o,3,1,1,o,2,1,2,3,o,o,1,o,1,o,o,2, // 3 12
o,o,o,o,o,o,o,o,o,o,o,o,2,o,o,o,o,2,o,o,o,2,o,o,o,o,o,o,o,o,o,2, // 4 11
o,o,o,o,o,o,o,o,o,o,o,o,2,o,o,o,o,2,3,o,2,2,o,o,o,o,o,o,o,o,o,2, // 5 10
4,o,3,1,3,1,o,2,2,2,3,2,2,2,o,o,3,2,o,o,o,o,o,o,o,o,o,o,o,o,o,o, // 6 9
o,o,2,o,o,o,o,o,o,5,o,o,o,o,o,o,o,5,o,o,o,o,1,2,o,5,5,o,o,o,o,o, // 7 8
o,o,1,o,o,o,o,o,o,5,o,o,o,o,o,o,o,D,o,o,o,o,4,o,o,o,5,o,o,2,o,o, // 8 7
o,o,2,o,o,o,o,o,o,2,3,2,4,o,o,o,2,2,4,1,4,o,4,4,4,3,2,o,o,4,2,2, // 9 6
o,o,4,4,4,o,o,o,o,o,o,o,o,o,o,3,3,4,o,o,o,o,o,1,o,o,o,o,o,o,o,4, // 10 5
2,o,o,o,3,o,o,o,o,o,o,o,o,o,3,3,2,4,o,o,o,o,o,1,o,o,4,o,o,3,o,1, // 11 4
1,3,1,o,4,4,4,2,2,1,2,D,2,2,3,o,o,1,4,o,o,o,3,3,3,5,2,o,o,o,o,2, // 12 3
o,o,o,o,o,o,o,o,o,4,o,o,o,o,2,o,o,o,o,o,o,o,o,o,o,o,o,o,o,3,o,1, // 13 2
o,o,o,3,o,5,o,3,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,4, // 14 1
o,o,o,o,o,o,o,o,o,4,o,o,o,o,2,o,o,5,o,o,4,o,o,1,o,3,o,3,o,3,o,1 // 15 0
};
#undef D
#undef o
const unsigned char texture1[] =
{ 32, 32 // width, height
,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x12,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x0a,0x0a,0x09,0x09,0x09
,0x09,0x09,0x09,0x0a,0x0a,0x12,0x12,0x12,0x0a,0x12,0x0a,0x09,0x12,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x01,0x01,0x12,0x12,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x12,0x12,0x12,0x12,0x12,0x12,0x0a
,0x09,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x09,0x01,0x01,0x12
,0x0a,0x12,0x09,0x12,0x09,0x12,0x0a,0x09,0x12,0x09,0x12,0x12,0x12,0x1a
,0x1b,0x1b,0x12,0x12,0x09,0x09,0x12,0x09,0x09,0x12,0x09,0x09,0x09,0x09
,0x09,0x01,0x01,0x12,0x09,0x0a,0x12,0x00,0x09,0x09,0x00,0x09,0x09,0x09
,0x09,0x12,0x12,0x1a,0x1b,0x1a,0x12,0x09,0x09,0x08,0x09,0x01,0x09,0x09
,0x09,0x0a,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x00,0x00
,0x00,0x00,0x09,0x09,0x09,0x1b,0x23,0x2c,0x7e,0x2c,0x1a,0x11,0x09,0x09
,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x0a,0x09
,0x09,0x00,0x00,0x12,0x52,0x52,0x5b,0x09,0x11,0x1b,0x24,0x34,0x7e,0x35
,0x1b,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01
,0x01,0x12,0x0a,0x09,0x0a,0x00,0x00,0x12,0x53,0x09,0x12,0x09,0x09,0x1a
,0x1b,0x23,0x64,0x63,0x1a,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x0a,0x09
,0x0a,0x0a,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x00,0x52,0x53,0x09
,0x12,0x09,0x09,0x12,0x1b,0x63,0x64,0x63,0x12,0x11,0x09,0x09,0x09,0x01
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00
,0x00,0x12,0x53,0x09,0x09,0x09,0x12,0x1b,0x2c,0x34,0x7e,0x35,0x1b,0x12
,0x09,0x09,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12
,0x09,0x09,0x09,0x00,0x00,0x12,0x53,0x09,0x12,0x09,0x12,0x1b,0x2c,0x35
,0x7e,0x35,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x01,0x01,0x12,0x0a,0x0a,0x09,0x00,0x00,0x53,0x12,0x52,0x53,0x09
,0x09,0x1a,0x1b,0x63,0x64,0x63,0x12,0x12,0x09,0x09,0x09,0x09,0x09,0x09
,0x0a,0x0a,0x09,0x09,0x09,0x01,0x01,0x12,0x0a,0x09,0x09,0x00,0x09,0x09
,0x00,0x09,0x09,0x09,0x09,0x12,0x1b,0x63,0x64,0x63,0x1a,0x09,0x09,0x09
,0x09,0x01,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09
,0x09,0x00,0x09,0x09,0x00,0x09,0x09,0x09,0x12,0x1b,0x2c,0x35,0x7e,0x35
,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01
,0x01,0x12,0x09,0x0a,0x09,0x00,0x09,0x09,0x00,0x09,0x09,0x09,0x12,0x1b
,0x2c,0x35,0x7e,0x35,0x23,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x0a
,0x09,0x0a,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x01,0x09
,0x09,0x09,0x12,0x1a,0x1b,0x23,0x64,0x63,0x12,0x09,0x09,0x09,0x09,0x00
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00
,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x12,0x1b,0x63,0x64,0x63,0x12,0x12
,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12
,0x0a,0x0a,0x0a,0x00,0x09,0x09,0x01,0x09,0x09,0x09,0x12,0x1b,0x2c,0x35
,0x7e,0x35,0x1b,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x0a,0x0a,0x0a,0x09
,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x00,0x09,0x09,0x09
,0x12,0x1b,0x24,0x35,0x7e,0x35,0x23,0x12,0x09,0x09,0x09,0x00,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09
,0x01,0x09,0x00,0x09,0x09,0x1a,0x1b,0x63,0x64,0x63,0x12,0x09,0x09,0x09
,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09
,0x12,0x01,0x09,0x12,0x52,0x52,0x5b,0x09,0x12,0x1a,0x1b,0x23,0x64,0x63
,0x12,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x01
,0x01,0x12,0x0a,0x09,0x09,0x09,0x09,0x12,0x53,0x09,0x12,0x09,0x12,0x1b
,0x24,0x35,0x7e,0x35,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x0a,0x09
,0x09,0x09,0x09,0x01,0x01,0x12,0x0a,0x09,0x09,0x01,0x09,0x52,0x53,0x09
,0x12,0x09,0x12,0x23,0x2c,0x35,0x7e,0x35,0x23,0x12,0x09,0x09,0x09,0x01
,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x0a,0x09,0x0a,0x01
,0x09,0x12,0x53,0x09,0x09,0x09,0x11,0x1a,0x1b,0x63,0x64,0x63,0x12,0x09
,0x09,0x09,0x09,0x01,0x09,0x09,0x0a,0x09,0x0a,0x09,0x09,0x01,0x01,0x12
,0x12,0x09,0x0a,0x01,0x09,0x12,0x53,0x09,0x12,0x09,0x11,0x12,0x1b,0x63
,0x64,0x63,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x12,0x09,0x0a,0x09
,0x09,0x01,0x01,0x12,0x09,0x09,0x12,0x01,0x09,0x53,0x12,0x52,0x53,0x09
,0x12,0x1b,0x23,0x34,0x7e,0x2c,0x1b,0x12,0x09,0x09,0x09,0x01,0x09,0x09
,0x09,0x09,0x12,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x0a,0x01,0x09,0x09
,0x00,0x09,0x09,0x09,0x09,0x1a,0x23,0x2c,0x7e,0x2c,0x1b,0x12,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x09,0x09,0x01,0x01,0x12,0x0a,0x09
,0x12,0x00,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x12,0x12,0x1a,0x1b,0x1b
,0x12,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x0a,0x09,0x12,0x09,0x09,0x01
,0x01,0x12,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x12
,0x12,0x12,0x1b,0x1b,0x12,0x12,0x09,0x0a,0x09,0x09,0x09,0x12,0x09,0x09
,0x09,0x09,0x09,0x01,0x01,0x12,0x12,0x09,0x09,0x0a,0x09,0x09,0x0a,0x09
,0x12,0x09,0x09,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x09,0x09,0x09,0x09
,0x09,0x09,0x12,0x09,0x09,0x09,0x09,0x01,0x01,0x12,0x09,0x09,0x09,0x12
,0x0a,0x0a,0x12,0x0a,0x12,0x0a,0x0a,0x12,0x12,0x12,0x12,0x12,0x12,0x12
,0x0a,0x0a,0x12,0x0a,0x0a,0x0a,0x0a,0x12,0x09,0x09,0x09,0x01,0x01,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x12,0x09
,0x09,0x01
};
const unsigned char texture2[] =
{ 32, 32 // width, height
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x11,0x09,0x11,0x11,0x11,0x11,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x59,0x09,0x09,0x00,0x00,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x51,0x51,0x59,0x51,0x19,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x00,0x09,0x09,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0xb2,0x09,0x09,0x09,0x09,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xb3,0x19,0x19
,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xb3
,0x09,0x09,0x08,0x00,0x09,0x09,0x11,0x11,0x59,0x59,0x59,0x59,0x59,0x59
,0x11,0xb3,0x29,0x28,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x09,0x09,0x59,0x09,0x09,0x08,0x00,0x09,0x09,0x11,0x11,0x59,0x59
,0x59,0x59,0x59,0x09,0x11,0xb2,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x08,0x00,0x09,0x09
,0x11,0x59,0x59,0x59,0x59,0x59,0x59,0x11,0x11,0x61,0x61,0x59,0x59,0x59
,0x59,0x19,0x11,0x11,0x09,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09
,0x08,0x00,0x09,0x09,0x11,0x11,0x09,0x09,0x09,0x09,0x11,0x11,0x11,0x09
,0x09,0x51,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x00,0x00
,0x00,0xb3,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x59,0x59,0x11,0x11
,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x11,0x09,0x09,0x09,0x08,0x09,0x11,0x59,0x09
,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08
,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x59,0x09,0x09,0x09,0x09
,0x11,0x51,0xad,0x09,0xb2,0xac,0x72,0x72,0x71,0x69,0x61,0x61,0x59,0x19
,0x19,0x19,0x19,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59
,0x09,0x09,0x09,0x09,0x51,0x59,0xa5,0xa0,0x72,0xb4,0xb4,0xb3,0x71,0x69
,0x61,0x61,0x59,0x59,0x59,0x19,0x19,0x19,0x19,0x11,0x19,0x11,0x11,0x11
,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x51,0x59,0xad,0x60,0x71,0xb4
,0xb4,0xab,0x72,0x69,0x61,0x61,0x59,0x59,0x59,0x19,0x19,0x19,0x19,0x19
,0x19,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x51,0x59
,0xae,0xa9,0xb3,0xad,0xb4,0xab,0x72,0x69,0x69,0x61,0x59,0x59,0x59,0x19
,0x19,0x19,0x19,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09
,0x09,0x09,0x51,0x61,0xae,0xa9,0xb4,0xad,0xb4,0xab,0x72,0x69,0x09,0x09
,0x09,0x09,0x09,0x19,0x19,0x19,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11
,0x09,0x59,0x09,0x09,0x09,0x09,0x51,0x61,0xae,0xa9,0xb4,0xad,0xb4,0xac
,0x72,0x69,0x11,0x61,0x59,0x59,0x09,0x19,0x19,0x19,0x09,0x11,0x11,0x11
,0x11,0x11,0x09,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x51,0x61,0xae,0xa9
,0x72,0x72,0x72,0x69,0x69,0x61,0x11,0x61,0x59,0x59,0x09,0x09,0x09,0x09
,0x09,0x19,0x19,0x11,0x11,0x11,0x09,0x09,0x09,0x59,0x09,0x09,0x09,0x09
,0x51,0x59,0xae,0xa9,0xb4,0xac,0xb4,0xab,0x72,0x69,0x69,0x61,0x59,0x11
,0x19,0x28,0x11,0x11,0x19,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x09,0x59
,0x09,0x09,0x09,0x09,0x51,0x59,0xad,0xa9,0xab,0xac,0xab,0xab,0x72,0x69
,0x69,0x61,0x59,0x11,0x19,0x28,0x11,0x11,0x19,0x19,0x19,0x11,0x11,0x11
,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x11,0x59,0xad,0xa0,0xb1,0xb4
,0xb4,0x72,0x69,0x69,0x61,0x61,0x19,0x19,0x61,0x59,0x59,0x11,0x19,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x11,0x59
,0xa5,0x60,0x71,0xb4,0xab,0x72,0x69,0x69,0x61,0x59,0x19,0x19,0x19,0x19
,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09
,0x09,0x09,0x11,0x51,0xad,0x09,0xb2,0xb4,0xab,0x71,0x71,0x69,0x61,0x59
,0x19,0x19,0x19,0x19,0x19,0x11,0x11,0x19,0x11,0x11,0x11,0x11,0x11,0x11
,0x09,0x59,0x09,0x09,0x09,0x08,0x09,0x11,0x51,0x09,0x08,0x08,0x08,0x08
,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08
,0x08,0x08,0x08,0x08,0x08,0x59,0x09,0x09,0x09,0x00,0x09,0x09,0x11,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x00,0x59,0x09,0x09,0x08,0x00
,0x09,0x09,0x11,0x59,0x59,0x59,0x59,0x19,0x59,0x59,0x59,0x49,0x49,0x51
,0x51,0x19,0x19,0x59,0x59,0x11,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x59
,0x09,0x09,0x08,0x00,0x09,0x09,0x11,0x11,0x11,0x59,0x59,0x59,0x59,0x59
,0x59,0x09,0x09,0x51,0x51,0x19,0x11,0x19,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x59
,0x59,0x59,0x59,0x59,0x59,0x09,0x09,0x51,0x09,0x11,0x11,0x19,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x00,0x09,0x09
,0x11,0x11,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x09,0x11,0x09,0x19
,0x11,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0xb3,0x09,0x09,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x19,0x19,0x19
,0x11,0x59,0x11,0x09,0x09,0x11,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x00,0x09,0x09,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x11,0x09,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x00
,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x09
,0x09,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x59
,0x09,0x09
};
const unsigned char texture3[] =
{ 32, 32 // width, height
,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x64,0x5b,0x09
,0x09,0x09,0x09,0x09,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64
,0x64,0x5b,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x6d,0x64,0x64,0x64,0x64,0x5b,0x5b,0x09,0x09,0x09,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x64,0x5b,0x00,0x09,0x00
,0x09,0x11,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x64
,0x5b,0x00,0x00,0x00,0x09,0x09,0x08,0x64,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d
,0x64,0x64,0x64,0x64,0x5b,0x00,0x09,0x00,0x09,0x09,0x08,0x64,0x09,0x09
,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb6,0xb6,0xad,0xad,0xad
,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b,0x00,0x09,0x00,0x09,0x09
,0x08,0x64,0x64,0x64,0x12,0x12,0x12,0x12,0x52,0x52,0x52,0x12,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b,0x00
,0x09,0x00,0x09,0x09,0x08,0x64,0x09,0x52,0x64,0x64,0x5b,0x5b,0x5b,0x52
,0x5b,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64
,0x64,0x64,0x5b,0x00,0x00,0x00,0x09,0x09,0x09,0x64,0x09,0x12,0x64,0x12
,0x12,0x52,0x5b,0x12,0x52,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x00,0x09,0x09,0x09,0x11,0x08,0x64
,0x64,0x64,0x64,0x64,0x12,0x12,0x12,0x5b,0x52,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09
,0x09,0x09,0x09,0x64,0x09,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b,0x52,0x12,0xb6
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64
,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x12,0x52,0x12,0x52,0x52
,0x5b,0x12,0x5b,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d
,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x64
,0x5b,0x5b,0x12,0x52,0x64,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x11
,0x08,0x64,0x09,0x12,0x52,0x5b,0x12,0x12,0x64,0x12,0x12,0x12,0x12,0xb6
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x5b,0x09
,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x12,0x12,0x5b,0x64,0x12,0x52,0x5b
,0x5b,0x5b,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64
,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x12,0x12,0x12
,0x64,0x12,0x52,0x52,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x64
,0x09,0x5b,0x5b,0x5b,0x64,0x12,0x52,0x12,0x12,0x12,0x12,0xb6,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09
,0x09,0x09,0x09,0x64,0x09,0x5a,0x62,0x5a,0x64,0x52,0x52,0x5b,0x12,0x12
,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64
,0x52,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x62,0xb3,0x63,0x52,0x64
,0x5b,0x5b,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d
,0x6d,0x6d,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x11,0x08,0x64,0x09,0x5a
,0x63,0x63,0x5b,0x64,0x52,0x52,0x52,0x12,0x12,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x08,0x64,0x09,0x12,0x09,0x09,0x5b,0x64,0x09,0x12,0x5b,0x12,0x12,0xb6
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x12,0x09,0x00,0x64,0x09,0x00,0x12
,0x52,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64
,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0x09,0x12,0x00,0x00
,0x52,0x00,0x00,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0x6d,0x6d,0x64,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x64
,0x09,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x12,0x12,0x12,0xb6,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x08,0x64,0x09,0x12,0x12,0x52,0x52,0x52,0x52,0x52,0x12,0x12
,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09
,0x12,0x09,0x09,0x09,0x09,0x11,0x09,0x64,0x12,0x12,0x12,0x12,0x12,0x12
,0x12,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d
,0x6d,0x6d,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xad,0xad,0xad
,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09
,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64
,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x64,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0x6d,0x6d,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09
,0x09,0x11
};
const unsigned char texture4[] =
{ 32, 32 // width, height
,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x11,0x11,0x11,0x11
,0x11,0x11,0x09,0x09,0x11,0x11,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x09
,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x00,0x00
,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x00,0x00,0x00,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11,0x09,0x09
,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x6c,0x63
,0x63,0x63,0x63,0x5a,0x5a,0x1a,0x12,0x09,0x52,0x09,0x08,0x08,0x08,0x5a
,0x0a,0x0a,0x00,0x09,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x00,0x00,0x09
,0x09,0x5a,0x19,0x63,0x63,0x63,0x5b,0x5b,0x1a,0x10,0x10,0x09,0x52,0x09
,0x09,0x09,0x09,0x08,0x0a,0x0a,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09
,0x00,0x00,0x00,0x09,0x09,0x62,0x19,0x63,0x63,0x63,0x5b,0x5a,0x1a,0x10
,0x10,0x09,0x52,0x09,0x11,0x09,0x09,0x08,0x0a,0x0a,0x00,0x09,0x59,0x11
,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x62,0x5a,0x19,0x63,0x63
,0x5a,0x1a,0x10,0x11,0x11,0x09,0x52,0x09,0x11,0x11,0x09,0x09,0x08,0x0a
,0x08,0x09,0x59,0x11,0x09,0x09,0x11,0x09,0x00,0x00,0x08,0x09,0x09,0x5a
,0x5a,0x19,0x63,0x22,0x1a,0x1a,0x10,0x11,0x11,0x09,0x52,0x09,0x11,0x09
,0x09,0x09,0x08,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00
,0x00,0x09,0x09,0x62,0x62,0x61,0x19,0x19,0x10,0x10,0x11,0x5a,0x52,0x09
,0x52,0x09,0x11,0x09,0x09,0x09,0x0a,0x08,0x08,0x09,0x59,0x11,0x09,0x09
,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x62,0x21,0x19,0x6c,0x6c,0x64,0x5a
,0x10,0x5a,0x52,0x09,0x52,0x09,0x11,0x09,0x09,0x0a,0x08,0x08,0x08,0x09
,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x61,0x19,0x6c
,0x63,0x63,0x5a,0x5a,0x10,0x52,0x12,0x09,0x52,0x09,0x11,0x09,0x09,0x12
,0x08,0x09,0x09,0x09,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x00,0x00,0x09
,0x09,0x09,0x09,0x6c,0x63,0x63,0x5a,0x5a,0x5a,0x10,0x10,0x09,0x52,0x09
,0x09,0x09,0x12,0x08,0x08,0x09,0x09,0x09,0x59,0x11,0x11,0x09,0x59,0x09
,0x00,0x00,0x00,0x09,0x09,0x52,0x52,0x09,0x63,0x63,0x5a,0x5a,0x5a,0x10
,0x10,0x12,0x09,0x52,0x52,0x52,0x09,0x08,0x09,0x09,0x09,0x09,0x59,0x11
,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x52,0x09,0x63
,0x5b,0x5a,0x5a,0x52,0x52,0x08,0x08,0x09,0x09,0x09,0x52,0x09,0x09,0x09
,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x19
,0x63,0x09,0x52,0x09,0x5b,0x5a,0x5a,0x12,0x12,0x08,0x11,0x09,0x09,0x09
,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00
,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x5a,0x5a,0x1a,0x10,0x08,0x11
,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09
,0x11,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x5a,0x5a
,0x1a,0x10,0x10,0x11,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09
,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09
,0x52,0x09,0x5b,0x1a,0x10,0x11,0x11,0x12,0x12,0x11,0x11,0x09,0x09,0x52
,0x09,0x09,0x09,0x09,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x00,0x00,0x09
,0x09,0x63,0x63,0x09,0x52,0x09,0x1a,0x1a,0x10,0x11,0x11,0x12,0x11,0x11
,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09
,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09,0x52,0x09,0x11,0x11,0x11,0x52
,0x12,0x12,0x11,0x11,0x11,0x09,0x09,0x52,0x09,0x08,0x08,0x09,0x59,0x11
,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09,0x52,0x09
,0x64,0x5a,0x10,0x52,0x12,0x12,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x5a
,0x5a,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x63
,0x19,0x09,0x52,0x09,0x5a,0x5a,0x10,0x52,0x12,0x12,0x11,0x11,0x11,0x09
,0x09,0x52,0x09,0x09,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00
,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x5a,0x5a,0x5a,0x10,0x10,0x12
,0x52,0x12,0x12,0x12,0x09,0x52,0x09,0x09,0x00,0x09,0x59,0x11,0x09,0x09
,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x6c,0x09,0x52,0x09,0x5b,0x5a
,0x5a,0x12,0x12,0x08,0x08,0x08,0x08,0x08,0x09,0x52,0x09,0x09,0x00,0x09
,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x63,0x09
,0x52,0x09,0x5a,0x5a,0x1a,0x10,0x08,0x63,0x63,0x63,0x5b,0x12,0x09,0x52
,0x09,0x09,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11,0x09,0x59,0x09
,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x00,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11
,0x11,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x09,0x09,0x11,0x11,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x00,0x00,0x09,0x09,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x11,0x11,0x09,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x00
,0x00,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x09,0x09
,0x09,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x59,0x09
};
const unsigned char texture5[] =
{ 32, 32 // width, height
,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00
,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x07,0x07,0x07
,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00
,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x00
,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x07,0x03,0x00,0x03,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00
,0x07,0x00,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00
,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00
,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x03
,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09
,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00
,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00
,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x03,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00
,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x03,0x07,0x00,0x07,0x03
,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07
,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00
,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09
,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x07,0x07,0x07,0x07,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00
,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00
,0x07,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00
,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00
,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x03,0x07
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09
,0x00,0x00,0x07,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x00,0x00
,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00
,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00
,0x03,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00
,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07
,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03
,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00
,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x09,0x09
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x00
,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x09,0x09,0x09,0x09,0x12
,0x09,0x09
};
const unsigned char texture6[] =
{ 32, 32 // width, height
,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,0x00,0x74,0x1a,0x1a,0x63,0x6c,0xb5,0xb6,0xb6,0xac
,0xac,0xac,0xab,0xac,0xa3,0x9e,0x9d,0xa5,0x9c,0x5b,0x5a,0x5a,0xa3,0x5a
,0xa3,0xa3,0xa3,0x5a,0x63,0x9a,0x5a,0x00,0x00,0xbf,0x1a,0x1a,0x63,0xbd
,0xb5,0xb6,0xad,0xad,0xa3,0xa3,0xa3,0xac,0xac,0x9d,0x9c,0xa4,0x9c,0xa3
,0xa3,0x5a,0x5a,0x5a,0x5a,0xa3,0x5a,0x52,0x5a,0x9a,0x11,0x00,0x00,0xbd
,0x09,0x11,0x11,0x11,0x5a,0x11,0x11,0x11,0x09,0x11,0x12,0x11,0x09,0x08
,0x09,0x08,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x52,0x52,0x51,0x09,0x51
,0x09,0x00,0x00,0x63,0x09,0x08,0x09,0x09,0x51,0x51,0x51,0x51,0x51,0x5a
,0x51,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x51,0x51,0x51,0x51,0x5a,0x5a,0x11
,0x51,0x51,0x51,0x52,0x09,0x00,0x00,0x6b,0x09,0x08,0x09,0x08,0x09,0x51
,0x51,0x51,0x51,0x51,0x51,0x52,0x51,0x4a,0x4a,0x4a,0x4a,0x5a,0x5a,0x51
,0x51,0x51,0x51,0x11,0x52,0x51,0x51,0x51,0x09,0x00,0x00,0x63,0x08,0x08
,0x08,0x08,0x09,0x09,0x09,0x09,0x49,0x49,0x49,0x49,0x49,0x01,0x02,0x09
,0x09,0x49,0x51,0x49,0x51,0x49,0x49,0x09,0x51,0x51,0x51,0x51,0x09,0x00
,0x00,0x63,0x00,0x00,0x08,0x08,0x09,0x08,0x09,0x49,0x49,0x49,0x49,0x49
,0x49,0x02,0x02,0x09,0x09,0x49,0x49,0x51,0x49,0x51,0x51,0x11,0xa3,0x51
,0x52,0x51,0x09,0x00,0x00,0x7d,0x00,0x08,0x09,0x08,0x09,0x51,0x51,0x51
,0x51,0x51,0x51,0x51,0x51,0x4a,0x4a,0x49,0x4a,0x51,0x51,0x51,0x51,0x51
,0x51,0x63,0xac,0x52,0x09,0x51,0x09,0x00,0x00,0x74,0x00,0x08,0x09,0x08
,0x09,0x51,0x51,0x1b,0x13,0x1b,0x13,0x51,0x13,0x4a,0x13,0x4a,0x13,0x5a
,0x13,0x1b,0x13,0x13,0x51,0x63,0xac,0x52,0x51,0x51,0x09,0x00,0x00,0x1a
,0x00,0x09,0x09,0x00,0x09,0x51,0x51,0x1b,0x1b,0x13,0x51,0x5a,0x51,0x4a
,0x4a,0x52,0x4a,0x5a,0x51,0x13,0x1b,0x13,0x5a,0x5a,0xac,0x51,0x51,0x51
,0x09,0x00,0x00,0x1a,0x08,0x09,0x09,0x08,0x09,0x51,0x51,0x1b,0x13,0x5a
,0x51,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x5a,0x5a,0x5a,0x13,0x13,0x51,0x63
,0xac,0x52,0x09,0x51,0x09,0x00,0x00,0x6b,0x00,0x08,0x09,0x08,0x09,0x51
,0x5a,0x13,0x5a,0x51,0x51,0x51,0x51,0x4a,0x4a,0x4a,0x4a,0x51,0x5a,0x51
,0x51,0x13,0x51,0x5a,0xa3,0x51,0x52,0x51,0x09,0x00,0x00,0x5a,0x08,0x08
,0x09,0x08,0x09,0x51,0x52,0x51,0x51,0x51,0x5a,0x51,0x5a,0x4a,0x4b,0x4a
,0x4a,0x51,0x51,0x5a,0x5a,0x5a,0x5a,0x63,0xac,0x51,0x51,0x51,0x09,0x00
,0x00,0x63,0x08,0x08,0x08,0x08,0x09,0x51,0x51,0x5a,0x51,0x5a,0x51,0x5a
,0x51,0x4b,0x4a,0x52,0x4a,0x51,0x51,0x51,0x51,0x5a,0x51,0x63,0x5a,0x52
,0x09,0x51,0x08,0x00,0x00,0x1a,0x08,0x08,0x09,0x00,0x08,0x51,0x52,0x5a
,0x52,0x5a,0x51,0x52,0x51,0x53,0x4a,0x52,0x4a,0x51,0x5a,0x51,0x52,0x5a
,0x52,0x63,0xa3,0x51,0x52,0x51,0x09,0x00,0x00,0x11,0x00,0x08,0x09,0x08
,0x09,0x51,0x51,0x5a,0x51,0x5a,0x51,0x51,0x51,0x4b,0x4a,0x4a,0x4a,0x51
,0x5a,0x5a,0x51,0x51,0x52,0xac,0xb6,0x51,0x51,0x51,0x09,0x00,0x00,0x1a
,0x08,0x08,0x09,0x08,0x09,0x51,0x5a,0x51,0x51,0x51,0x51,0x5a,0x5a,0x4a
,0x4a,0x52,0x4a,0x51,0x51,0x5a,0x5a,0x51,0x51,0x6c,0xb6,0x52,0x52,0x52
,0x08,0x00,0x00,0x1a,0x00,0x08,0x09,0x08,0x09,0x51,0x5a,0x5a,0x51,0x5a
,0x5a,0x5a,0x51,0x4b,0x4b,0x52,0x4a,0x5a,0x5a,0x5a,0x51,0x5a,0x5a,0x6c
,0xb6,0x52,0x09,0x51,0x08,0x00,0x00,0x5a,0x00,0x08,0x09,0x08,0x09,0x51
,0x5a,0x13,0x51,0x51,0x51,0x51,0x51,0x4a,0x4a,0x49,0x49,0x5a,0x51,0x5a
,0x51,0x1b,0x5a,0xb5,0xad,0x52,0x52,0x51,0x09,0x00,0x00,0x12,0x00,0x08
,0x11,0x08,0x09,0x51,0x51,0x13,0x13,0x5a,0x51,0x51,0x51,0x53,0x4a,0x4a
,0x49,0x51,0x51,0x5a,0x1b,0x1b,0x5a,0xbe,0xb6,0x52,0x51,0x51,0x08,0x00
,0x00,0x5a,0x00,0x08,0x09,0x08,0x09,0x51,0x51,0x13,0x13,0x13,0x51,0x5a
,0x5a,0x4a,0x4a,0x52,0x52,0x51,0x5a,0x13,0x1b,0x1b,0x51,0x6c,0xbf,0x52
,0x09,0x51,0x09,0x00,0x00,0x5a,0x00,0x08,0x09,0x08,0x09,0x51,0x51,0x13
,0x1b,0x13,0x1b,0x51,0x13,0x4a,0x13,0x4a,0x13,0x51,0x13,0x1b,0x13,0x1b
,0x5a,0x63,0xac,0x52,0x11,0x51,0x09,0x00,0x00,0x5a,0x00,0x09,0x09,0x08
,0x09,0x51,0x5a,0x51,0x51,0x5a,0x51,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x51
,0x5a,0x51,0x51,0x5a,0x5a,0xbd,0xb6,0x52,0x51,0x51,0x09,0x00,0x00,0x1a
,0x08,0x08,0x11,0x08,0x52,0x5a,0xa3,0x5a,0xa3,0xac,0xab,0xac,0xa3,0x9e
,0x9d,0x9c,0x9b,0xac,0xa3,0xa3,0xac,0xac,0xb5,0xac,0xbf,0x52,0x51,0x51
,0x09,0x00,0x00,0x5a,0x08,0x08,0x09,0x09,0x5a,0xa3,0xac,0x9a,0x5a,0xa3
,0xac,0xab,0xa3,0x54,0x9e,0x9c,0x9c,0xa3,0xbf,0xab,0xac,0xab,0xbf,0xbd
,0xac,0x52,0x52,0x51,0x09,0x00,0x00,0x1a,0x00,0x08,0x11,0x09,0x11,0x51
,0x5a,0x51,0x51,0x51,0x51,0x5a,0x51,0x4a,0x4a,0x52,0x4a,0x51,0x5a,0x52
,0x52,0x52,0x5a,0x11,0x49,0x51,0x51,0x51,0x09,0x00,0x00,0x1a,0x00,0x09
,0x09,0x09,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x4a,0x4a,0x49
,0x4a,0x5a,0x51,0x51,0x5a,0x51,0x51,0x11,0x51,0x51,0x52,0x51,0x09,0x00
,0x00,0x11,0x00,0x08,0x09,0x09,0x09,0x11,0x09,0x11,0x11,0x11,0x09,0x09
,0x08,0x08,0x08,0x08,0x08,0x11,0x09,0x11,0x11,0x11,0x11,0x52,0x51,0x51
,0x09,0x51,0x09,0x00,0x00,0x5a,0x08,0x08,0x09,0x11,0x51,0x51,0x51,0x5a
,0x51,0x52,0x52,0x51,0x51,0x4a,0x4a,0x49,0x09,0x51,0x51,0x51,0x51,0x51
,0x51,0x51,0x51,0x51,0x11,0x51,0x09,0x00,0x00,0x1a,0x00,0x00,0x08,0x09
,0x09,0x51,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x02,0x02,0x09,0x09,0x49
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x49,0x09,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,0x00
};
const unsigned char imageBar[] =
{ 110, 21 // width, height
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x64,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64,0xad
,0xad,0x09,0x09,0x09,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0x09,0x09
,0x09,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0xad
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0x00,0xb6,0xb6,0xad,0xad,0x09,0x09
,0x09,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64,0xad
,0xad,0x09,0x09,0x09,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x64,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x64,0xad,0xad,0x64,0x09,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x64,0xad,0xad,0x64,0x09,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0xad,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x09,0xad,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x00,0xb6,0xb6,0xb6,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64
,0x09,0x09,0x64,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0x09,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0x09,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0xad,0x64,0x09,0x09,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0x64,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0xad,0xad,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0xad,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0x09,0x64,0x09
,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09
,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
};
const unsigned char spritePlasma[] =
{ 32, 32 // width, height
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07
,0x07,0x07,0x07,0x07,0x08,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x07,0x58,0x58,0x07,0x10,0x07,0x07,0x07,0x07,0x07,0x07
,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x48,0x48,0x58,0x10,0x58,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x60,0x58,0x58,0x07,0x48,0x07
,0x07,0x07,0x07,0x07,0x48,0x07,0x07,0x07,0x07,0x10,0x60,0x60,0x58,0x58
,0x58,0x60,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x58
,0x58,0x60,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x58,0x58
,0xa8,0x58,0x58,0x58,0x60,0xb0,0xa9,0x58,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x58,0x58,0x60,0xb0,0xb0,0x60,0x58,0x10,0x07,0x07,0x48,0x48
,0x10,0x07,0x58,0x60,0x60,0xa8,0x07,0x10,0x07,0x60,0x60,0x60,0x07,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x48,0x60,0x60,0x60,0x60,0x58,0x58,0x07
,0x07,0x07,0x10,0x07,0x58,0x58,0x60,0x60,0xa8,0x58,0x10,0x07,0x08,0x07
,0x60,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x10,0x58,0x58
,0x48,0x07,0x07,0x10,0x07,0x07,0x07,0x58,0x58,0xa8,0x60,0xb1,0x58,0x59
,0x07,0x07,0x07,0x07,0x10,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x48,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x60,0xa8,0xb0
,0xb1,0xb1,0xb1,0x58,0x10,0x07,0x07,0x10,0x58,0x60,0x07,0x58,0x58,0x07
,0x07,0x07,0x07,0x07,0x07,0x10,0x58,0x10,0x07,0x07,0x07,0x07,0x58,0x07
,0x07,0x58,0x58,0xa8,0xb1,0xbb,0xb1,0xa9,0x60,0x58,0x07,0x58,0x60,0x60
,0xa8,0x60,0x60,0x07,0x07,0x07,0x07,0x07,0x07,0x10,0x58,0x07,0x07,0x07
,0x07,0x58,0x58,0x58,0x07,0x58,0x60,0xa8,0xb1,0xbb,0xb1,0x69,0xa8,0xa8
,0x60,0x61,0x60,0xa9,0x58,0xa8,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x48,0x07,0x07,0x07,0x58,0x07,0x07,0x58,0x60,0x60,0x69,0xb1,0xb1
,0xb1,0x69,0xb1,0x69,0x69,0x60,0xa8,0x60,0x58,0x10,0x58,0x07,0x07,0x07
,0x07,0x07,0x48,0x07,0x07,0x07,0x07,0x07,0x48,0x10,0x07,0x08,0x60,0xb0
,0xb1,0xb1,0xb1,0xb1,0xa8,0x69,0xb1,0xb1,0xb0,0xa8,0x58,0x60,0x07,0x07
,0x58,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07
,0x48,0xa8,0xb1,0xb1,0xb1,0xb3,0xb1,0xb1,0xb1,0xb0,0xb1,0xb1,0xb1,0x60
,0x60,0x07,0x07,0x58,0x58,0x58,0x07,0x07,0x07,0x48,0x58,0x07,0x07,0x07
,0x08,0x07,0x58,0x58,0x60,0xb1,0xb2,0xb1,0xb1,0xb1,0xbb,0xbb,0xb1,0xb1
,0xb1,0x69,0xb1,0x60,0x58,0x07,0x07,0x58,0xa9,0x61,0x48,0x07,0x07,0x58
,0x10,0x58,0x60,0x07,0x07,0x58,0x58,0x60,0x69,0xb1,0xb1,0xb1,0xb1,0xb9
,0xbc,0xbc,0xbb,0xb1,0xb1,0xb1,0x69,0xb1,0x60,0x58,0x58,0xa8,0x69,0xb1
,0x58,0x58,0x58,0x58,0x07,0x60,0xb0,0x58,0x10,0x48,0x60,0x60,0xb1,0xb1
,0xb1,0xb1,0xb2,0xbb,0xbc,0xbd,0xbb,0xbb,0xb1,0xb1,0xb1,0xb1,0x60,0x60
,0x58,0x58,0xb1,0x69,0x69,0x58,0xa8,0x60,0x58,0x58,0xa8,0x58,0x07,0x58
,0x60,0xb0,0xb1,0xb2,0xb9,0xb1,0xbb,0xbb,0xbe,0xbc,0xbe,0xbc,0xb9,0xb1
,0xb1,0x69,0xb1,0x60,0x58,0x60,0xb0,0xb1,0xb0,0xb1,0xb0,0xa9,0x07,0x60
,0x58,0x58,0x07,0x07,0x48,0x58,0xa8,0xb1,0xb1,0xb1,0xb1,0xb1,0xb9,0xbc
,0xbc,0xb9,0xb1,0xb1,0x69,0xb1,0x69,0x60,0x58,0x60,0xa8,0x60,0x61,0x60
,0x60,0x58,0x07,0x48,0xa8,0x58,0x58,0x58,0x07,0x07,0x58,0x69,0xb1,0xb1
,0xb1,0xb1,0xbb,0xb9,0xbb,0xbb,0xb2,0xb1,0x69,0x69,0xa9,0x58,0x58,0x48
,0x58,0x60,0x60,0x60,0x48,0x58,0x07,0x07,0x48,0x58,0x58,0x58,0x07,0x07
,0x10,0x60,0xb1,0xb1,0xb1,0xb1,0xb9,0xbb,0xbb,0xb1,0xb9,0xb1,0x69,0xb1
,0x60,0x58,0x07,0x48,0x60,0x58,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07
,0x58,0x58,0x07,0x07,0x48,0xa8,0xb1,0xb1,0xb1,0x69,0xbb,0xbb,0xb1,0xb1
,0xb1,0xb1,0xb1,0xa9,0x69,0x58,0x07,0x07,0x48,0x58,0x58,0x58,0x07,0x07
,0x07,0x07,0x07,0x07,0x48,0x07,0x07,0x07,0x58,0xb0,0xb1,0xa9,0x69,0xb1
,0xb9,0xbb,0xb2,0xb1,0xb1,0xb1,0xb1,0x69,0x69,0x48,0x07,0x48,0x07,0x60
,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0x10,0x07,0x07,0x48,0x60
,0x60,0xb0,0xb1,0x69,0xb1,0xb1,0xb1,0xb1,0x69,0xb0,0xb0,0x69,0xb0,0x58
,0x07,0x07,0x58,0x60,0x60,0x58,0x07,0x07,0x07,0x07,0x48,0xa8,0x58,0x58
,0x07,0x07,0x58,0x60,0x60,0xa8,0xb0,0xb1,0xb1,0xb1,0xb1,0xb0,0xa8,0x58
,0x58,0x60,0xa8,0x58,0x07,0x07,0x58,0x58,0x60,0x58,0x07,0x07,0x07,0x07
,0x60,0xa8,0x60,0x10,0x07,0x07,0x07,0x58,0x58,0x58,0x60,0xb1,0x69,0x69
,0xb1,0x69,0x58,0x07,0x07,0x58,0x48,0x07,0x07,0x07,0x60,0x58,0x58,0x07
,0x07,0x07,0x07,0x58,0x60,0x60,0x60,0x58,0x07,0x07,0x48,0x58,0x58,0x10
,0x60,0x69,0xb0,0xb0,0xb1,0x69,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58
,0x58,0xa8,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0xa8,0x58,0x07,0x07
,0x10,0x58,0x07,0x10,0x60,0xa8,0x60,0x69,0xa9,0xb0,0x58,0x10,0x58,0x58
,0x07,0x07,0x10,0x60,0xa8,0x60,0x58,0x58,0x58,0x07,0x07,0x07,0x07,0x60
,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0x59,0x60,0x60,0x60
,0x58,0x07,0x58,0x58,0x58,0x58,0x07,0x60,0x58,0x10,0x48,0x58,0x58,0x07
,0x07,0x07,0x07,0x48,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x48,0x60
,0x58,0x58,0x58,0x10,0x07,0x07,0x58,0x58,0x58,0x60,0x58,0x48,0x10,0x07
,0x07,0x07,0x07,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x10,0x07,0x60,0x10,0x48,0x07,0x07,0x07,0x07,0x07,0x58,0x58
,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x10,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0x60,0x07,0x07,0x07,0x07
,0x07,0x07,0x58,0x58,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x60
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x10,0x07,0x07,0x07,0x07,0x07
,0x48,0x07
};
#define TEXTURES 6
const unsigned char *textures[TEXTURES] =
{texture1, texture2, texture3, texture4, texture5, texture6};
unsigned char textureAverageColors[TEXTURES];
RCL_Unit floorHeightAt(int16_t x, int16_t y)
{
if (x < 0 || x >= LEVEL_X_RES || y < 0 || y >= LEVEL_Y_RES)
return RCL_UNITS_PER_SQUARE * 2;
RCL_Unit square = level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x];
#ifdef RENDER_PRECISE
/* algorithm used with this version doesn't support rolling doors, so give
door square zero height */
return square == 0 || square == 6 ? 0 : RCL_UNITS_PER_SQUARE * 2;
#else
return square == 0 ? 0 : RCL_UNITS_PER_SQUARE * 2;
#endif
}
RCL_Unit collisionAt(int16_t x, int16_t y)
{
if (x < 0 || x >= LEVEL_X_RES || y < 0 || y >= LEVEL_Y_RES)
return RCL_UNITS_PER_SQUARE;
RCL_Unit square = level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x];
return square == 0 || square == 6 ? 0 : RCL_UNITS_PER_SQUARE;
}
RCL_Unit textureAt(int16_t x, int16_t y)
{
RCL_Unit t = 0;
if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES)
t = max(level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x] - 1,0);
return t;
}
RCL_Unit rollAt(int16_t x, int16_t y)
{
if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES &&
level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x] == 6)
return RCL_sinInt(pokitto.frameCount * 10) + DOOR_ROLL_SIGN * RCL_UNITS_PER_SQUARE;
return 0;
}
uint8_t cFloor, cCeiling;
RCL_Vector2D shotPosition;
RCL_Vector2D shotDirection;
bool shotFired = false;
uint8_t previousColumn = 255; ///< Helper for pixelIntensity.
int8_t pixelIntensity = 0; ///< Precomputed column intensity addition.
int16_t mirror = 0;
/**
Function for drawing a single pixel (like fragment shader).
*/
inline void pixelFunc(RCL_PixelInfo *pixel)
{
if (pixel->position.y == MIDDLE_ROW)
zBuffer[pixel->position.x] = pixel->depth;
uint8_t c = 0;
#ifndef NO_MIRROR
if (pixel->position.y == 0)
mirror = 0;
#endif
if (!pixel->isWall)
{
#if RCL_COMPUTE_FLOOR_TEXCOORDS == 1
if (pixel->isFloor)
{
if (pixel->texCoords.y > 3 * RCL_UNITS_PER_SQUARE) // leave astrip of untextured floor
c = pixel->depth > RCL_UNITS_PER_SQUARE * 5 ?
textureAverageColors[1] :
sampleImage(textures[1],pixel->texCoords.x / FLOOR_TEXTURE_SCALE,pixel->texCoords.y / FLOOR_TEXTURE_SCALE);
else
c = cFloor;
}
else
c = 0; // looks better :)
#else
c = pixel->isFloor ? cFloor: cCeiling;
#endif
#ifndef NO_MIRROR
int16_t intensity = pixel->isFloor ?
-1 * (pixel->depth - mirror * 64) / RCL_UNITS_PER_SQUARE : 0;
#else
int16_t intensity = -1 * pixel->depth / (RCL_UNITS_PER_SQUARE * 2);
#endif
c = addIntensity(c,intensity);
mirror++;
}
else
{
RCL_Unit textureScroll = pixel->hit.type != 4 ? 0 : 16 * pokitto.frameCount;
#ifdef NO_TEXTURES
c = textureAverageColors[pixel->hit.type];
#else
c = pixel->depth < TEXTURE_MAX_DISTANCE ?
sampleImage(textures[pixel->hit.type],pixel->texCoords.x + textureScroll,pixel->texCoords.y) :
textureAverageColors[pixel->hit.type];
#endif
#ifndef NO_SHADING
if (previousColumn == pixel->position.x)
{
c = addIntensity(c,pixelIntensity);
}
else
{
// optimization: precompute intensity for the whole column
pixelIntensity = 1 - pixel->depth / (RCL_UNITS_PER_SQUARE * 2) + (pixel->hit.direction % 2 == 0 ? 2 : 0);
previousColumn = pixel->position.x;
c = addIntensity(c,pixelIntensity);
}
#endif
}
putSubsampledPixel // macro
}
void draw()
{
RCL_RayConstraints c;
c.maxHits = 1;
c.maxSteps = 20;
#ifdef HEAD_BOB
player.mCamera.height += player.mHeadBob;
#endif
#ifdef RENDER_PRECISE
RCL_render(player.mCamera,floorHeightAt,0,textureAt,c);
#else
RCL_renderSimple(player.mCamera,floorHeightAt,textureAt,rollAt,c);
#endif
#ifdef HEAD_BOB
player.mCamera.height -= player.mHeadBob;
#endif
if (shotFired)
{
RCL_PixelInfo pos = RCL_mapToScreen(shotPosition,RCL_UNITS_PER_SQUARE,player.mCamera);
drawSpriteSquare(spritePlasma,pos.position.x * SUBSAMPLE,
pos.position.y,pos.depth,
RCL_perspectiveScale(64,pos.depth));
}
drawImage(imageBar,0,INFO_BAR_START - 3);
}
int main()
{
initGeneral();
for (uint8_t i = 0; i < TEXTURES; ++i)
textureAverageColors[i] = computeAverageColor(textures[i]);
cFloor = rgbToIndex(3,3,2);
cCeiling = rgbToIndex(3,2,0);
player.setPositionSquare(6,5);
player.mCamera.height = RCL_CAMERA_COLL_HEIGHT_BELOW;
player.mCamera.resolution.y = INFO_BAR_START + 2;
uint32_t previousTime = 0;
uint32_t dt;
int16_t moveDirection;
int16_t rotationDirection;
while (pokitto.isRunning())
{
if (pokitto.update())
{
draw();
uint32_t timeNow = pokitto.getTime();
dt = timeNow - previousTime;
previousTime = timeNow;
moveDirection = 0;
rotationDirection = 0;
if (shotFired)
{
// update the shot
RCL_Unit shotStep = (dt * SHOT_SPEED) / 1000;
shotPosition.x += (shotStep * shotDirection.x) / RCL_UNITS_PER_SQUARE;
shotPosition.y += (shotStep * shotDirection.y) / RCL_UNITS_PER_SQUARE;
if (
RCL_absVal(shotPosition.x - player.mCamera.position.x) > RCL_UNITS_PER_SQUARE * 5 ||
RCL_absVal(shotPosition.y - player.mCamera.position.y) > RCL_UNITS_PER_SQUARE * 5 ||
(textureAt(shotPosition.x / RCL_UNITS_PER_SQUARE,shotPosition.y / RCL_UNITS_PER_SQUARE) != 0)
)
shotFired = false;
}
else if (pokitto.bBtn())
{
shotPosition = player.mCamera.position;
shotDirection = RCL_angleToDirection(player.mCamera.direction);
shotFired = true;
}
bool strafe = pokitto.aBtn();
if (!strafe)
{
if (pokitto.upBtn())
moveDirection = 1;
else if (pokitto.downBtn())
moveDirection = -1;
}
if (pokitto.rightBtn())
{
if (!strafe)
rotationDirection = 1;
else
moveDirection = 1;
}
else if (pokitto.leftBtn())
{
if (!strafe)
rotationDirection = -1;
else
moveDirection = -1;
}
player.update(moveDirection,strafe,rotationDirection,false,0,
collisionAt,0,false,dt);
}
}
return 0;
}