/** 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 rolling doors (these will be turned off). */ //#define NO_TEXTURES /* ^ Turns off textures and only uses colors, which increases FPS. */ //#define 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 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 COMPUTE_WALL_TEXCOORDS 0 #endif #define FPS 60 #define HEAD_BOB_HEIGHT 200 #define HEAD_BOB_STEP 20 #define PLAYER_SPEED (5 * UNITS_PER_SQUARE) #include "general.hpp" #define LEVEL_X_RES 32 #define LEVEL_Y_RES 16 Player player; #define SHOT_SPEED 10 * UNITS_PER_SQUARE #define INFO_BAR_START 70 #define TEXTURE_MAX_DISTANCE (UNITS_PER_SQUARE * 6) // temporary defines for better visibility of walls and floors below #define D 6 #define o 0 const unsigned char level[] = { /* 1o 12 14 16 18 2o 22 24 26 28 3o o 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, // o 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 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 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 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 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 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 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 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 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 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, // 1o 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 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 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 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 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 }; #undef D #undef o const unsigned char texture1[] = { 32, 36 // width, height ,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,0x09,0x09,0x09,0x12,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09 ,0x0a,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,0x12,0x12,0x12 ,0x0a,0x0a,0x12,0x0a,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09 ,0x09,0x01,0x01,0x01,0x12,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x09,0x0a,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0a,0x09,0x09,0x09 ,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a ,0x12,0x09,0x12,0x09,0x12,0x12,0x0a,0x09,0x12,0x09,0x12,0x12,0x12,0x1a ,0x1b,0x1b,0x12,0x12,0x12,0x09,0x09,0x12,0x09,0x09,0x12,0x12,0x09,0x09 ,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x0a,0x12,0x00,0x09,0x09,0x09 ,0x00,0x09,0x09,0x09,0x09,0x12,0x12,0x1a,0x1b,0x1a,0x12,0x12,0x09,0x09 ,0x08,0x09,0x01,0x09,0x09,0x09,0x09,0x0a,0x09,0x09,0x09,0x01,0x01,0x01 ,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x1b ,0x23,0x2c,0x7e,0x2c,0x23,0x1a,0x11,0x09,0x09,0x09,0x01,0x09,0x09,0x09 ,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x09,0x00,0x00 ,0x12,0x52,0x52,0x52,0x5b,0x09,0x11,0x1b,0x24,0x34,0x7e,0x35,0x24,0x1b ,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01 ,0x01,0x01,0x12,0x0a,0x09,0x0a,0x00,0x00,0x12,0x7e,0x53,0x09,0x12,0x09 ,0x09,0x1a,0x1b,0x23,0x64,0x63,0x1b,0x1a,0x12,0x09,0x09,0x09,0x01,0x09 ,0x09,0x09,0x0a,0x09,0x0a,0x0a,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09 ,0x00,0x00,0x52,0x52,0x53,0x09,0x12,0x09,0x09,0x12,0x1b,0x63,0x64,0x63 ,0x1b,0x12,0x11,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x00,0x12,0x7e,0x53,0x09 ,0x09,0x09,0x12,0x1b,0x2c,0x34,0x7e,0x35,0x2c,0x1b,0x12,0x09,0x09,0x00 ,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09 ,0x09,0x09,0x00,0x00,0x12,0x53,0x53,0x09,0x12,0x09,0x12,0x1b,0x2c,0x35 ,0x7e,0x35,0x2c,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09 ,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x0a,0x09,0x00,0x00,0x53,0x12 ,0x12,0x52,0x53,0x09,0x09,0x1a,0x1b,0x63,0x64,0x63,0x1b,0x12,0x12,0x09 ,0x09,0x09,0x09,0x09,0x08,0x09,0x0a,0x0a,0x09,0x09,0x09,0x01,0x01,0x01 ,0x12,0x0a,0x09,0x09,0x00,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x12 ,0x1b,0x63,0x64,0x63,0x1b,0x1a,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09 ,0x0a,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09 ,0x09,0x09,0x00,0x09,0x09,0x09,0x12,0x1b,0x2c,0x35,0x7e,0x35,0x2c,0x23 ,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01 ,0x01,0x01,0x12,0x09,0x0a,0x09,0x00,0x09,0x09,0x09,0x00,0x09,0x09,0x09 ,0x12,0x1b,0x2c,0x35,0x7e,0x35,0x2c,0x23,0x12,0x09,0x09,0x09,0x00,0x09 ,0x09,0x09,0x09,0x0a,0x09,0x0a,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09 ,0x00,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x12,0x1a,0x1b,0x23,0x64,0x63 ,0x1b,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x01,0x09 ,0x09,0x09,0x09,0x12,0x1b,0x63,0x64,0x63,0x1b,0x12,0x12,0x09,0x09,0x09 ,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a ,0x0a,0x0a,0x00,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x12,0x1b,0x2c,0x35 ,0x7e,0x35,0x2c,0x1b,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x0a,0x0a ,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09 ,0x00,0x09,0x09,0x09,0x12,0x1b,0x24,0x35,0x7e,0x35,0x2c,0x23,0x12,0x09 ,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01 ,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x01,0x09,0x00,0x09,0x09,0x1a ,0x1b,0x63,0x64,0x63,0x1b,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x09 ,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x12,0x01,0x09 ,0x12,0x52,0x52,0x52,0x5b,0x09,0x12,0x1a,0x1b,0x23,0x64,0x63,0x1b,0x12 ,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x01 ,0x01,0x01,0x12,0x0a,0x09,0x09,0x09,0x09,0x12,0x7e,0x53,0x09,0x12,0x09 ,0x12,0x1b,0x24,0x35,0x7e,0x35,0x2c,0x23,0x12,0x09,0x09,0x09,0x01,0x09 ,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x09 ,0x01,0x09,0x52,0x52,0x53,0x09,0x12,0x09,0x12,0x23,0x2c,0x35,0x7e,0x35 ,0x2c,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x0a,0x09,0x09,0x09 ,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x0a,0x01,0x09,0x12,0x7e,0x53,0x09 ,0x09,0x09,0x11,0x1a,0x1b,0x63,0x64,0x63,0x1b,0x12,0x09,0x09,0x09,0x09 ,0x01,0x09,0x09,0x09,0x0a,0x09,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x12 ,0x09,0x0a,0x01,0x09,0x12,0x53,0x53,0x09,0x12,0x09,0x11,0x12,0x1b,0x63 ,0x64,0x63,0x1b,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x12,0x09 ,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x12,0x01,0x09,0x53,0x12 ,0x12,0x52,0x53,0x09,0x12,0x1b,0x23,0x34,0x7e,0x2c,0x23,0x1b,0x12,0x09 ,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x01,0x01,0x01 ,0x12,0x09,0x09,0x0a,0x01,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x1a ,0x23,0x2c,0x7e,0x2c,0x23,0x1b,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x09,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x12,0x00,0x09 ,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x12,0x12,0x1a,0x1b,0x1b,0x12,0x12 ,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x0a,0x09,0x12,0x09,0x09,0x01 ,0x01,0x01,0x12,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x12,0x12,0x12,0x1b,0x1b,0x12,0x12,0x12,0x09,0x0a,0x09,0x09,0x09 ,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x12,0x09,0x09 ,0x0a,0x09,0x09,0x09,0x0a,0x09,0x12,0x09,0x09,0x12,0x12,0x12,0x12,0x12 ,0x12,0x12,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09 ,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x12,0x0a,0x0a,0x12,0x12,0x0a ,0x12,0x0a,0x0a,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0a,0x0a,0x12 ,0x0a,0x0a,0x0a,0x0a,0x0a,0x12,0x09,0x09,0x09,0x01,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,0x09,0x09,0x09 ,0x12,0x09,0x09,0x01 }; const unsigned char texture2[] = { 32, 36 // width, height ,0x00,0x09,0x08,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,0x09,0x59,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x09,0x59 ,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09,0x00,0x09,0x08,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 ,0x09,0xb3,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09 ,0x08,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,0x11,0x09,0x59,0x09,0x09,0x08,0x09,0x08,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,0x11,0x09,0x09,0x59,0x09,0x09 ,0x00,0x09,0x08,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,0x00,0xb3,0x09,0x09,0x08,0x09,0x08,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,0x09,0x11 ,0x09,0x09,0x09,0x09,0x08,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,0x08,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11 ,0x09,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09,0x09,0x09 ,0x08,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,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09 ,0x09,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11,0x09,0x59 ,0x09,0x09,0x09,0x09,0x08,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,0x09,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11 ,0x09,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09,0x09,0x09 ,0x08,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,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09 ,0x09,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09,0x08,0x09,0x08,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,0x08,0x59 ,0x09,0x09,0x08,0x09,0x08,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,0x08,0x00,0x59,0x09,0x09,0x08,0x09,0x08,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 ,0x09,0x59,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09 ,0x08,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 ,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x59,0x09,0x09 ,0x00,0x09,0x08,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,0x09,0xb3,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x09,0x59 ,0x09,0x09,0x00,0x09,0x08,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,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09,0x08,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 ,0x09,0x59,0x09,0x09 }; const unsigned char texture3[] = { 32, 36 // width, height ,0x08,0x08,0x64,0xad,0xad,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,0x08,0x08,0x64,0xad,0xad,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,0x08,0x08,0x64,0xad,0xad,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,0x08,0x09,0x64,0xad ,0xad,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,0x08,0x08,0x64,0xad,0xad,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,0x08,0x08 ,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b ,0x00,0x09,0x00,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x09,0x12,0x12,0x12 ,0x12,0x12,0x12,0x12,0x12,0x12,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b,0x00,0x09,0x00,0x09,0x09,0x08 ,0x08,0x08,0x64,0x64,0x64,0x12,0x12,0x12,0x12,0x52,0x52,0x52,0x12,0xb6 ,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64 ,0x64,0x5b,0x00,0x09,0x00,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x52,0x64 ,0x64,0x5b,0x5b,0x5b,0x52,0x5b,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x00,0x00,0x00,0x09 ,0x09,0x08,0x08,0x09,0x64,0x09,0x12,0x64,0x12,0x12,0x52,0x5b,0x12,0x52 ,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d ,0x64,0x64,0x64,0x5b,0x00,0x09,0x09,0x09,0x11,0x08,0x08,0x08,0x64,0x64 ,0x64,0x64,0x64,0x12,0x12,0x12,0x5b,0x52,0xb6,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09 ,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0x09,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b ,0x52,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad ,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08 ,0x64,0x09,0x12,0x52,0x12,0x52,0x52,0x5b,0x12,0x5b,0x12,0xb6,0xad,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b ,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x64,0x5b,0x5b,0x12 ,0x52,0x64,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x11,0x08 ,0x08,0x08,0x64,0x09,0x12,0x52,0x5b,0x12,0x12,0x64,0x12,0x12,0x12,0x12 ,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64 ,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x12 ,0x5b,0x64,0x12,0x52,0x5b,0x5b,0x5b,0x12,0xb6,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09 ,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x12,0x12,0x64,0x12,0x52,0x52,0x12 ,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d ,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09 ,0x5b,0x5b,0x5b,0x64,0x12,0x52,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09 ,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0x09,0x5a,0x62,0x5a,0x64,0x52,0x52 ,0x5b,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad ,0xad,0x6d,0x6d,0x64,0x64,0x52,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08 ,0x64,0x09,0x62,0xb3,0x63,0x52,0x64,0x5b,0x5b,0x12,0x12,0x12,0xb6,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x5b,0x09 ,0x09,0x09,0x09,0x09,0x11,0x08,0x08,0x08,0x64,0x09,0x5a,0x63,0x63,0x5b ,0x64,0x52,0x52,0x52,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08 ,0x08,0x08,0x64,0x09,0x12,0x09,0x09,0x5b,0x64,0x09,0x12,0x5b,0x12,0x12 ,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64 ,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x09 ,0x00,0x64,0x09,0x00,0x12,0x52,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x00,0x00,0x52,0x00,0x00,0x12,0x12 ,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d ,0x64,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0x09 ,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x12,0x12,0x12,0xb6,0xad,0xad,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09,0x09 ,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x12,0x52,0x52,0x52,0x52 ,0x52,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad ,0x6d,0x6d,0x64,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x11,0x08,0x08,0x09 ,0x64,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb6,0xad ,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x12 ,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0xb6,0xb6,0xb6,0xb6,0xb6 ,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad ,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x08 ,0x08,0x08,0x64,0xad,0xad,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,0x08,0x08,0x64,0xad,0xad,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,0x08,0x08,0x64,0xad,0xad,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,0x08,0x08,0x64,0xad ,0xad,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,0x08 }; const unsigned char texture4[] = { 32, 36 // width, height ,0x00,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 ,0x09,0x09,0x09,0x09,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x09,0x11,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,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x11,0x11,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,0x09,0x00,0x00 ,0x00,0x09,0x09,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,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,0x09,0x09,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x08 ,0x00,0x00,0x00,0x09,0x09,0x19,0x6c,0x63,0x63,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,0x09,0x00,0x00,0x00,0x09,0x09,0x5a ,0x19,0x63,0x63,0x63,0x63,0x5b,0x5b,0x5b,0x1a,0x10,0x10,0x09,0x52,0x09 ,0x09,0x09,0x09,0x08,0x0a,0x0a,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09 ,0x00,0x08,0x00,0x00,0x00,0x09,0x09,0x62,0x19,0x63,0x63,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,0x09,0x00,0x00,0x00,0x09 ,0x09,0x62,0x5a,0x19,0x63,0x63,0x63,0x5b,0x5a,0x1a,0x10,0x11,0x11,0x09 ,0x52,0x09,0x11,0x11,0x09,0x09,0x08,0x0a,0x08,0x09,0x59,0x11,0x09,0x09 ,0x11,0x09,0x00,0x09,0x00,0x00,0x08,0x09,0x09,0x5a,0x5a,0x19,0x63,0x22 ,0x1a,0x1a,0x1a,0x1a,0x10,0x11,0x11,0x09,0x52,0x09,0x11,0x09,0x09,0x09 ,0x08,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x62,0x62,0x61,0x19,0x19,0x11,0x11,0x10,0x10,0x11,0x5a ,0x52,0x09,0x52,0x09,0x11,0x09,0x09,0x09,0x0a,0x08,0x08,0x09,0x59,0x11 ,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x62,0x21,0x19 ,0x6c,0x6c,0x64,0x64,0x64,0x5a,0x10,0x5a,0x52,0x09,0x52,0x09,0x11,0x09 ,0x09,0x0a,0x08,0x08,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x61,0x19,0x6c,0x63,0x63,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,0x09,0x00,0x00,0x00,0x09,0x09,0x09 ,0x09,0x6c,0x63,0x63,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,0x09,0x00,0x00,0x00,0x09,0x09,0x52,0x52,0x09,0x63,0x63,0x63,0x5b ,0x5a,0x5a,0x5a,0x10,0x10,0x12,0x09,0x52,0x52,0x52,0x09,0x08,0x09,0x09 ,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x09,0x09,0x52,0x09,0x63,0x63,0x5b,0x5b,0x5a,0x5a,0x52,0x52,0x08 ,0x08,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09 ,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x63,0x09,0x52,0x09 ,0x5b,0x63,0x5b,0x5a,0x5a,0x12,0x12,0x08,0x11,0x09,0x09,0x09,0x09,0x52 ,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x63,0x5b,0x5a,0x5a,0x1a,0x10 ,0x08,0x11,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11 ,0x09,0x09,0x11,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x19,0x09 ,0x52,0x09,0x63,0x63,0x5a,0x5a,0x1a,0x10,0x10,0x11,0x12,0x11,0x09,0x09 ,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09,0x52,0x09,0x63,0x5b,0x5b,0x1a ,0x10,0x11,0x11,0x12,0x12,0x11,0x11,0x09,0x09,0x52,0x09,0x09,0x09,0x09 ,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x08,0x00,0x00,0x00,0x09,0x09,0x63 ,0x63,0x09,0x52,0x09,0x1a,0x1a,0x1a,0x1a,0x10,0x11,0x11,0x12,0x11,0x11 ,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09 ,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09,0x52,0x09,0x11,0x10 ,0x11,0x11,0x11,0x52,0x12,0x12,0x11,0x11,0x11,0x09,0x09,0x52,0x09,0x08 ,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x08,0x00,0x00,0x00,0x09 ,0x09,0x63,0x63,0x09,0x52,0x09,0x64,0x64,0x64,0x5a,0x10,0x52,0x12,0x12 ,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x5a,0x5a,0x09,0x59,0x11,0x09,0x09 ,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09 ,0x63,0x5b,0x5a,0x5a,0x10,0x52,0x12,0x12,0x11,0x11,0x11,0x09,0x09,0x52 ,0x09,0x09,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x63,0x63,0x5a,0x5a,0x5a,0x10 ,0x10,0x12,0x52,0x12,0x12,0x12,0x09,0x52,0x09,0x09,0x00,0x09,0x59,0x11 ,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x6c,0x09 ,0x52,0x09,0x63,0x5b,0x5b,0x5a,0x5a,0x12,0x12,0x08,0x08,0x08,0x08,0x08 ,0x09,0x52,0x09,0x09,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x19,0x63,0x09,0x52,0x09,0x63,0x63,0x5a,0x5a ,0x1a,0x10,0x08,0x63,0x63,0x63,0x5b,0x12,0x09,0x52,0x09,0x09,0x00,0x09 ,0x59,0x11,0x09,0x09,0x59,0x09,0x00,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,0x09,0x09,0x11,0x11,0x11,0x09,0x59,0x09 ,0x00,0x09,0x00,0x00,0x00,0x09,0x09,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,0x09,0x00,0x00,0x00,0x09 ,0x09,0x11,0x11,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,0x09,0x00,0x00,0x00,0x09,0x09,0x11,0x11,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,0x09,0x00,0x00 ,0x00,0x09,0x09,0x09,0x11,0x11,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, 36 // width, height ,0x00,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,0x00,0x00 ,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12 ,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00 ,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00 ,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09 ,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x03 ,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09 ,0x09,0x09,0x09,0x12,0x09,0x09,0x00,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,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09 ,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00 ,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00 ,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12 ,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00 ,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00 ,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,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,0x00,0x00,0x09,0x09,0x09,0x09 ,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07 ,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00 ,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x03,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09 ,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00 ,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x00,0x07,0x03,0x00,0x00 ,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09 ,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12 ,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00 ,0x00,0x07,0x00,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09 ,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x07,0x07 ,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09 ,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x03,0x07,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09 ,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00 ,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12 ,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00 ,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00 ,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00 ,0x03,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09 ,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09 ,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03 ,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09 ,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00 ,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07,0x00,0x00 ,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09 ,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09 ,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12 ,0x09,0x09,0x00,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 ,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00 ,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09 ,0x09,0x12,0x09,0x09 }; const unsigned char texture6[] = { 32, 36 // 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,0x00,0x00,0x00,0x00,0x74,0x63,0x1a,0x1a,0x63 ,0x6c,0xb5,0xb6,0xb6,0xac,0xac,0xac,0xab,0xac,0xa3,0x9e,0x9d,0xa5,0x9c ,0x5b,0x5a,0xa3,0x5a,0x5a,0xa3,0x5a,0xa3,0xa3,0xa3,0x5a,0x63,0x5b,0x9a ,0x5a,0x00,0x00,0xbf,0x74,0x1a,0x1a,0x63,0xbd,0xb5,0xb6,0xad,0xad,0xa3 ,0xa3,0xa3,0xac,0xac,0x9d,0x9c,0xa4,0x9c,0xa3,0x5a,0x5a,0xa3,0x5a,0x5a ,0x5a,0x5a,0xa3,0x5a,0x52,0x5a,0x5b,0x9a,0x11,0x00,0x00,0xbd,0x73,0x09 ,0x11,0x11,0x11,0x5a,0x11,0x11,0x11,0x09,0x11,0x12,0x11,0x09,0x08,0x09 ,0x08,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x52,0x52,0x51,0x09 ,0x11,0x51,0x09,0x00,0x00,0x63,0x5a,0x09,0x08,0x09,0x09,0x51,0x51,0x51 ,0x51,0x51,0x5a,0x51,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x51,0x5a,0x5a,0x51 ,0x51,0x51,0x5a,0x5a,0x11,0x51,0x51,0x51,0x09,0x52,0x09,0x00,0x00,0x6b ,0x63,0x09,0x08,0x09,0x08,0x09,0x51,0x51,0x51,0x51,0x51,0x51,0x52,0x51 ,0x4a,0x4a,0x4a,0x4a,0x5a,0x5a,0x5a,0x5a,0x51,0x51,0x51,0x51,0x11,0x52 ,0x51,0x51,0x09,0x51,0x09,0x00,0x00,0x63,0x1a,0x08,0x08,0x08,0x08,0x09 ,0x09,0x09,0x09,0x49,0x49,0x49,0x49,0x49,0x01,0x02,0x09,0x09,0x49,0x49 ,0x49,0x51,0x49,0x51,0x49,0x49,0x09,0x51,0x51,0x51,0x09,0x51,0x09,0x00 ,0x00,0x63,0x1a,0x00,0x00,0x08,0x08,0x09,0x08,0x09,0x49,0x49,0x49,0x49 ,0x49,0x49,0x02,0x02,0x09,0x09,0x49,0x51,0x49,0x49,0x51,0x49,0x51,0x51 ,0x11,0xa3,0x51,0x52,0x09,0x51,0x09,0x00,0x00,0x7d,0x62,0x00,0x08,0x09 ,0x08,0x09,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x4a,0x4a,0x49,0x4a ,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x63,0xac,0x52,0x09,0x09,0x51 ,0x09,0x00,0x00,0x74,0x11,0x00,0x08,0x09,0x08,0x09,0x51,0x51,0x1b,0x13 ,0x1b,0x13,0x51,0x13,0x4a,0x13,0x4a,0x13,0x5a,0x13,0x5a,0x13,0x1b,0x13 ,0x13,0x51,0x63,0xac,0x52,0x51,0x09,0x51,0x09,0x00,0x00,0x1a,0x1a,0x00 ,0x09,0x09,0x00,0x09,0x51,0x51,0x1b,0x1b,0x13,0x51,0x5a,0x51,0x4a,0x4a ,0x52,0x4a,0x5a,0x5a,0x51,0x51,0x13,0x1b,0x13,0x5a,0x5a,0xac,0x51,0x51 ,0x09,0x51,0x09,0x00,0x00,0x1a,0x62,0x08,0x09,0x09,0x08,0x09,0x51,0x51 ,0x1b,0x13,0x5a,0x51,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x5a,0x51,0x51,0x5a ,0x5a,0x13,0x13,0x51,0x63,0xac,0x52,0x09,0x09,0x51,0x09,0x00,0x00,0x6b ,0x1a,0x00,0x08,0x09,0x08,0x09,0x51,0x5a,0x13,0x5a,0x51,0x51,0x51,0x51 ,0x4a,0x4a,0x4a,0x4a,0x51,0x5a,0x5a,0x5a,0x51,0x51,0x13,0x51,0x5a,0xa3 ,0x51,0x52,0x09,0x51,0x09,0x00,0x00,0x5a,0x11,0x08,0x08,0x09,0x08,0x09 ,0x51,0x52,0x51,0x51,0x51,0x5a,0x51,0x5a,0x4a,0x4b,0x4a,0x4a,0x51,0x5a ,0x51,0x51,0x5a,0x5a,0x5a,0x5a,0x63,0xac,0x51,0x51,0x11,0x51,0x09,0x00 ,0x00,0x63,0x11,0x08,0x08,0x08,0x08,0x09,0x51,0x51,0x5a,0x51,0x5a,0x51 ,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x51,0x5a,0x51,0x51,0x51,0x51,0x5a,0x51 ,0x63,0x5a,0x52,0x09,0x09,0x51,0x08,0x00,0x00,0x1a,0x1a,0x08,0x08,0x09 ,0x00,0x08,0x51,0x52,0x5a,0x52,0x5a,0x51,0x52,0x51,0x53,0x4a,0x52,0x4a ,0x51,0x52,0x52,0x5a,0x51,0x52,0x5a,0x52,0x63,0xa3,0x51,0x52,0x09,0x51 ,0x09,0x00,0x00,0x11,0x11,0x00,0x08,0x09,0x08,0x09,0x51,0x51,0x5a,0x51 ,0x5a,0x51,0x51,0x51,0x4b,0x4a,0x4a,0x4a,0x51,0x51,0x51,0x5a,0x5a,0x51 ,0x51,0x52,0xac,0xb6,0x51,0x51,0x11,0x51,0x09,0x00,0x00,0x1a,0x09,0x08 ,0x08,0x09,0x08,0x09,0x51,0x5a,0x51,0x51,0x51,0x51,0x5a,0x5a,0x4a,0x4a ,0x52,0x4a,0x51,0x5a,0x5a,0x51,0x5a,0x5a,0x51,0x51,0x6c,0xb6,0x52,0x52 ,0x09,0x52,0x08,0x00,0x00,0x1a,0x11,0x00,0x08,0x09,0x08,0x09,0x51,0x5a ,0x5a,0x51,0x5a,0x5a,0x5a,0x51,0x4b,0x4b,0x52,0x4a,0x5a,0x51,0x51,0x5a ,0x5a,0x51,0x5a,0x5a,0x6c,0xb6,0x52,0x09,0x09,0x51,0x08,0x00,0x00,0x5a ,0x11,0x00,0x08,0x09,0x08,0x09,0x51,0x5a,0x13,0x51,0x51,0x51,0x51,0x51 ,0x4a,0x4a,0x49,0x49,0x5a,0x51,0x5a,0x51,0x5a,0x51,0x1b,0x5a,0xb5,0xad ,0x52,0x52,0x09,0x51,0x09,0x00,0x00,0x12,0x1a,0x00,0x08,0x11,0x08,0x09 ,0x51,0x51,0x13,0x13,0x5a,0x51,0x51,0x51,0x53,0x4a,0x4a,0x49,0x51,0x5a ,0x5a,0x51,0x5a,0x1b,0x1b,0x5a,0xbe,0xb6,0x52,0x51,0x09,0x51,0x08,0x00 ,0x00,0x5a,0x09,0x00,0x08,0x09,0x08,0x09,0x51,0x51,0x13,0x13,0x13,0x51 ,0x5a,0x5a,0x4a,0x4a,0x52,0x52,0x51,0x51,0x51,0x5a,0x13,0x1b,0x1b,0x51 ,0x6c,0xbf,0x52,0x09,0x11,0x51,0x09,0x00,0x00,0x5a,0x09,0x00,0x08,0x09 ,0x08,0x09,0x51,0x51,0x13,0x1b,0x13,0x1b,0x51,0x13,0x4a,0x13,0x4a,0x13 ,0x51,0x13,0x51,0x13,0x1b,0x13,0x1b,0x5a,0x63,0xac,0x52,0x11,0x09,0x51 ,0x09,0x00,0x00,0x5a,0x11,0x00,0x09,0x09,0x08,0x09,0x51,0x5a,0x51,0x51 ,0x5a,0x51,0x5a,0x51,0x4b,0x4a,0x52,0x4a,0x51,0x51,0x5a,0x5a,0x51,0x51 ,0x5a,0x5a,0xbd,0xb6,0x52,0x51,0x09,0x51,0x09,0x00,0x00,0x1a,0x1a,0x08 ,0x08,0x11,0x08,0x52,0x5a,0xa3,0x5a,0xa3,0xac,0xab,0xac,0xa3,0x9e,0x9d ,0x9c,0x9b,0xac,0xad,0xab,0xa3,0xa3,0xac,0xac,0xb5,0xac,0xbf,0x52,0x51 ,0x11,0x51,0x09,0x00,0x00,0x5a,0x11,0x08,0x08,0x09,0x09,0x5a,0xa3,0xac ,0x9a,0x5a,0xa3,0xac,0xab,0xa3,0x54,0x9e,0x9c,0x9c,0xa3,0xad,0xbf,0xbf ,0xab,0xac,0xab,0xbf,0xbd,0xac,0x52,0x52,0x09,0x51,0x09,0x00,0x00,0x1a ,0x09,0x00,0x08,0x11,0x09,0x11,0x51,0x5a,0x51,0x51,0x51,0x51,0x5a,0x51 ,0x4a,0x4a,0x52,0x4a,0x51,0x5a,0x5a,0x5a,0x52,0x52,0x52,0x5a,0x11,0x49 ,0x51,0x51,0x09,0x51,0x09,0x00,0x00,0x1a,0x09,0x00,0x09,0x09,0x09,0x51 ,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x4a,0x4a,0x49,0x4a,0x5a,0x51 ,0x51,0x51,0x51,0x5a,0x51,0x51,0x11,0x51,0x51,0x52,0x11,0x51,0x09,0x00 ,0x00,0x11,0x11,0x00,0x08,0x09,0x09,0x09,0x11,0x09,0x11,0x11,0x11,0x09 ,0x09,0x08,0x08,0x08,0x08,0x08,0x11,0x11,0x11,0x09,0x11,0x11,0x11,0x11 ,0x52,0x51,0x51,0x09,0x09,0x51,0x09,0x00,0x00,0x5a,0x11,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,0x51,0x51,0x11,0x11,0x51 ,0x09,0x00,0x00,0x1a,0x08,0x00,0x00,0x08,0x09,0x09,0x51,0x49,0x49,0x49 ,0x49,0x49,0x49,0x49,0x02,0x02,0x09,0x09,0x49,0x49,0x09,0x09,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 ,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]; Unit floorHeightAt(int16_t x, int16_t y) { if (x < 0 || x >= LEVEL_X_RES || y < 0 || y >= LEVEL_Y_RES) return UNITS_PER_SQUARE * 2; 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 : UNITS_PER_SQUARE * 2; #else return square == 0 ? 0 : UNITS_PER_SQUARE * 2; #endif } Unit collisionAt(int16_t x, int16_t y) { if (x < 0 || x >= LEVEL_X_RES || y < 0 || y >= LEVEL_Y_RES) return UNITS_PER_SQUARE; Unit square = level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x]; return square == 0 || square == 6 ? 0 : UNITS_PER_SQUARE; } Unit textureAt(int16_t x, int16_t y) { 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; } 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 sinInt(pokitto.frameCount * 10) + DOOR_ROLL_SIGN * UNITS_PER_SQUARE; return 0; } uint8_t cFloor, cCeiling; Vector2D shotPosition; Vector2D shotDirection; bool shotFired = false; uint8_t previousColumn = 255; ///< Helper for pixelIntensity. int8_t pixelIntensity = 0; ///< Precomputed column intensity addition. /** Function for drawing a single pixel (like fragment shader). */ inline void pixelFunc(PixelInfo *pixel) { if (pixel->position.y == MIDDLE_ROW) zBuffer[pixel->position.x] = pixel->depth; uint8_t c = 0; if (!pixel->isWall) { c = pixel->isFloor ? cFloor: cCeiling; } else { 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 if (previousColumn == pixel->position.x) { c = addIntensity(c,pixelIntensity); } else { // optimization: precompute intensity for the whole column pixelIntensity = 1 - pixel->depth / (UNITS_PER_SQUARE * 2) + (pixel->hit.direction % 2 == 0 ? 2 : 0); previousColumn = pixel->position.x; c = addIntensity(c,pixelIntensity); } } putSubsampledPixel // macro } void draw() { RayConstraints c; c.maxHits = 1; c.maxSteps = 20; player.mCamera.height += player.mHeadBob; #ifdef RENDER_PRECISE render(player.mCamera,floorHeightAt,0,textureAt,pixelFunc,c); #else renderSimple(player.mCamera,floorHeightAt,textureAt,pixelFunc,rollAt,c); #endif player.mCamera.height -= player.mHeadBob; if (shotFired) { PixelInfo pos = mapToScreen(shotPosition,UNITS_PER_SQUARE,player.mCamera); drawSpriteSquare(spritePlasma,pos.position.x * SUBSAMPLE, pos.position.y,pos.depth, 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(0,1,1); cCeiling = rgbToIndex(1,0,1); player.setPositionSquare(6,5); player.mCamera.height = CAMERA_COLL_HEIGHT_BELOW; player.mCamera.resolution.y = INFO_BAR_START + 1; 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 Unit shotStep = (dt * SHOT_SPEED) / 1000; shotPosition.x += (shotStep * shotDirection.x) / UNITS_PER_SQUARE; shotPosition.y += (shotStep * shotDirection.y) / UNITS_PER_SQUARE; if ( absVal(shotPosition.x - player.mCamera.position.x) > UNITS_PER_SQUARE * 5 || absVal(shotPosition.y - player.mCamera.position.y) > UNITS_PER_SQUARE * 5 || (textureAt(shotPosition.x / UNITS_PER_SQUARE,shotPosition.y / UNITS_PER_SQUARE) != 0) ) shotFired = false; } else if (pokitto.bBtn()) { shotPosition = player.mCamera.position; shotDirection = 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; }