/** Raycasting demo 1 for Pokitto. This demo is a showoff of various features (movement, textures, sprites, fog, ...). The performance can be lower with all the features on. Don't forget to compile with -O3! author: Miloslav "drummyfish" Ciz license: CC0 1.0 */ //#define COMPUTE_WALL_TEXCOORDS 0 // ^ this turns off wall textures //#define SUBSAMPLE 1 // ^ this turns on full X-resolution #define RCL_COMPUTE_FLOOR_TEXCOORDS 1 // ^ this turns on floor texture (a lot slower) // redefine some parameters #define FPS 255 #define PLAYER_SPEED (RCL_UNITS_PER_SQUARE * 2 * SPEED_MULTIPLIER) #define GRAVITY_ACCELERATION (RCL_UNITS_PER_SQUARE * SPEED_MULTIPLIER) #define PLAYER_JUMP_SPEED 400 #define RCL_CAMERA_COLL_HEIGHT_BELOW ((3 * RCL_UNITS_PER_SQUARE) / 2) #define RCL_HORIZONTAL_FOV (RCL_UNITS_PER_SQUARE / 5) #define TEXTURE_W 32 #define TEXTURE_H 32 #include "general.hpp" #define LEVEL_X_RES 29 #define LEVEL_Y_RES 21 Player player; #define SPRITES 17 #define SPRITE_MAX_DISTANCE (5 * RCL_UNITS_PER_SQUARE) Sprite sprites[SPRITES]; /// For each level square says the texture index. const unsigned char levelTexture[] = { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, 3, 3, 2, 2, 2, 2, // 0 20 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 2, // 1 19 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, // 2 18 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 2, // 3 17 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, // 4 16 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 2, // 5 15 1, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, // 6 14 1, 0, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, // 7 13 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, // 8 12 1, 1, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, // 9 11 1, 1, 1, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, // 10 10 1, 1, 1, 1, 0, 0, 3, 3, 3, 3, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, // 11 9 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, // 12 8 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, // 13 7 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, // 14 6 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, // 15 5 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, // 16 4 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, // 17 3 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, // 18 2 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, // 19 1 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 // 20 0 }; #define XX -15 /// For each level square says the floor height. const signed char levelFloor[] = { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 40,40,40,40,40,40,40,40,48,40,48,40,40,40,40,40,40,48,40,48,40,48,40,48,48,24,24,26,28, // 0 20 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,40, 2, 2, 2,40,32,32,32,32,32,32,32,48, 2, 2, 2,26, // 1 19 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,40, 2, 2, 2,40, 0, 0, 0, 0, 0,32,32,40, 2, 2, 2,26, // 2 18 40,16,12, 8, 4, 0,48, 0, 0, 0, 0, 0,24, 2,24, 8,24, 0, 0, 9, 9, 0,28,32,48, 2, 2, 2,24, // 3 17 40,20,48,48,48,48,48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0,24,32,40, 0, 0, 0,24, // 4 16 40,24,48,40,40,40,40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20,32,48, 0, 0, 0,24, // 5 15 40,28,32,32,32,32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 8,12,16,32,40, 0, 0, 0,24, // 6 14 40,32,32,32,32,32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,32,32,32,32,32,32,48, 0, 0, 0,24, // 7 13 40, 0,48,40,40,40,40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,32,-3,-8,-8,-5,-2, 0, 0, 0, 0,24, // 8 12 40, 0,-3,-8,-8,-8,32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,32,-3,-8,-8, 0, 0, 0, 0, 0, 0,24, // 9 11 40, 0,-6,-8,-8,-8,32, 0, 0, 0,48,48, 0,48,48, 0, 0,36,32,36,-8,-8, 0, 0, 0, 0, 0, 0,24, // 10 10 40, 0,48,-8,-8,-8,32,32,32,32,40, 1, 0, 1,40,32,32,32,32,32,-8,-8, 0, 0, 0, 0, 0, 0,24, // 11 9 40, 0,48,-8,-8,-8,-8,-8,XX,XX,XX, 0, 0, 0,XX,XX,-8,36,32,36,-8,-8, 0, 0, 0, 0, 0, 0,24, // 12 8 40, 0,48,-8,-8,-8,-8,-8,XX,XX,XX, 0, 0, 0,XX,XX,-8,-8,-8,-8,-8,-8, 0, 0, 0, 0, 0, 0,24, // 13 7 40, 0,48, 0,-2,-2, 0,-8,XX,XX,XX, 0, 0, 0,XX,XX, 0, 0, 0, 0, 0, 0, 0, 0,24,24,10,24,24, // 14 6 40, 0, 0, 0,-2,-2, 0, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0,24, 0, 0, 0,24, // 15 5 40, 0, 0, 0,-2,-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,24, 0, 0, 0,24, // 16 4 40,24,48,-2,-2,-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,24, // 17 3 0,24,48,48,-2,-2,-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,24, // 18 2 0,24,48,48,48,-2,-2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,24, 0, 0, 0,24, // 19 1 0,24,24,24,32,32,32,27,24,27,30,34,36,38,36,34,36,34,34,32,32,33,37,39,24,24,24,24,24 // 20 0 }; const unsigned char heightLevelColors[8] = {HUE(10),HUE(0) - 3,HUE(4),HUE(1)}; #undef XX #define XX 127 // helper to keep a big number two-characters, for formatting /// For each level square says the ceiling height. const signed char levelCeiling[] = { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 40,40,40,40,40,40,40,XX,XX,XX,XX,36,40,40,40,40,40,36,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 0 20 40,50,50,50,45,40,20,XX,XX,XX,XX,36,40,30,30,30,XX,36,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 1 19 40,50,50,50,45,40,20,XX,XX,XX,XX,36,40,30,30,30,XX,36,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 2 18 40,50,50,50,45,40,48,XX,XX,XX,XX,36,24,24,24,24,24,36,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 3 17 40,50,48,48,48,48,47,XX,XX,XX,XX,36,36,36,36,36,36,36,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 4 16 40,50,48,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 5 15 40,50,48,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 6 14 40,50,48,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 7 13 40,50,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 8 12 40,40,16,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 9 11 40,30,16,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 10 10 40,25,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 11 9 40,20,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX, // 12 8 40,18,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,24,24,24,24, // 13 7 40,18,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,24,24,24,24, // 14 6 40,18,16,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,25,27,29,24, // 15 5 40,18,16,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,25,27,29,24, // 16 4 40,24,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,25,27,29,24, // 17 3 XX,24,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,25,27,29,24, // 18 2 XX,24,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,25,27,29,24, // 19 1 XX,24,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,24,24,24,24,24,24 // 20 0 }; #undef XX const unsigned char texture1[] = { 32, 32 // width, height ,0x14,0x1a,0x1a,0x1a,0x19,0x07,0x07,0x04,0x04,0x08,0x07,0x06,0x05,0x04 ,0x05,0x54,0x61,0x19,0x1a,0x19,0x18,0x07,0x07,0x05,0x04,0x06,0x04,0x07 ,0x05,0x07,0x05,0x53,0x04,0x07,0x06,0x06,0x05,0x07,0x06,0x06,0x61,0x07 ,0x08,0x05,0x05,0x06,0x06,0x52,0x62,0x1a,0x06,0x06,0x07,0x06,0x06,0x44 ,0x04,0x08,0x06,0x06,0x07,0x05,0x06,0x52,0x14,0x19,0x06,0x07,0x06,0x07 ,0x64,0x04,0x52,0x08,0x07,0x07,0x06,0x55,0x54,0x53,0x02,0x07,0x07,0x06 ,0x06,0x08,0x05,0x44,0x61,0x07,0x07,0x06,0x05,0x04,0x04,0x53,0x14,0x19 ,0x06,0x06,0x04,0x06,0x05,0x54,0x52,0x06,0x05,0x54,0x04,0x53,0x53,0x53 ,0x61,0x18,0x06,0x06,0x06,0x44,0x05,0x53,0x62,0x19,0x07,0x65,0x06,0x05 ,0x04,0x53,0x14,0x08,0x06,0x04,0x04,0x04,0x05,0x53,0x61,0x04,0x61,0x04 ,0x52,0x52,0x52,0x02,0x62,0x08,0x06,0x44,0x05,0x04,0x05,0x53,0x62,0x08 ,0x06,0x07,0x05,0x05,0x04,0x02,0x04,0x1a,0x07,0x06,0x06,0x06,0x04,0x54 ,0x61,0x08,0x09,0x1b,0x07,0x1a,0x08,0x53,0x61,0x17,0x07,0x06,0x04,0x05 ,0x04,0x02,0x62,0x08,0x07,0x05,0x05,0x05,0x04,0x62,0x61,0x08,0x06,0x05 ,0x05,0x05,0x06,0x54,0x61,0x1a,0x07,0x07,0x05,0x07,0x04,0x53,0x02,0x06 ,0x06,0x05,0x05,0x05,0x04,0x54,0x04,0x06,0x04,0x03,0x04,0x53,0x53,0x53 ,0x04,0x07,0x55,0x53,0x53,0x53,0x54,0x53,0x14,0x1a,0x07,0x07,0x07,0x05 ,0x06,0x62,0x52,0x19,0x05,0x07,0x07,0x04,0x06,0x03,0x52,0x61,0x61,0x61 ,0x61,0x62,0x61,0x52,0x52,0x62,0x61,0x61,0x61,0x61,0x61,0x61,0x02,0x07 ,0x07,0x07,0x54,0x07,0x05,0x54,0x62,0x06,0x04,0x05,0x43,0x05,0x04,0x52 ,0x02,0x17,0x28,0x17,0x17,0x06,0x07,0x44,0x04,0x08,0x08,0x19,0x18,0x06 ,0x07,0x53,0x52,0x07,0x06,0x05,0x05,0x55,0x53,0x54,0x04,0x07,0x05,0x04 ,0x05,0x04,0x05,0x02,0x02,0x17,0x05,0x05,0x06,0x06,0x54,0x54,0x04,0x09 ,0x07,0x07,0x05,0x04,0x04,0x52,0x52,0x52,0x61,0x04,0x03,0x61,0x62,0x52 ,0x04,0x18,0x05,0x05,0x05,0x05,0x05,0x02,0x14,0x07,0x04,0x06,0x54,0x06 ,0x05,0x54,0x14,0x1b,0x07,0x05,0x06,0x05,0x43,0x04,0x14,0x19,0x07,0x1a ,0x1b,0x07,0x07,0x07,0x61,0x06,0x53,0x53,0x42,0x53,0x02,0x53,0x61,0x06 ,0x06,0x44,0x55,0x55,0x06,0x53,0x14,0x1b,0x06,0x06,0x05,0x04,0x05,0x04 ,0x61,0x1a,0x06,0x07,0x07,0x06,0x06,0x05,0x61,0x61,0x14,0x04,0x04,0x62 ,0x61,0x52,0x61,0x06,0x05,0x05,0x54,0x05,0x54,0x62,0x04,0x07,0x07,0x06 ,0x04,0x06,0x44,0x52,0x61,0x1a,0x07,0x07,0x05,0x07,0x05,0x04,0x02,0x1a ,0x1a,0x08,0x19,0x07,0x18,0x06,0x52,0x07,0x05,0x54,0x44,0x54,0x54,0x53 ,0x04,0x06,0x44,0x42,0x43,0x53,0x53,0x02,0x61,0x19,0x07,0x07,0x07,0x06 ,0x06,0x54,0x61,0x06,0x06,0x06,0x07,0x06,0x06,0x05,0x52,0x19,0x05,0x05 ,0x05,0x05,0x54,0x52,0x61,0x61,0x61,0x52,0x52,0x52,0x04,0x61,0x52,0x07 ,0x06,0x07,0x05,0x04,0x07,0x54,0x04,0x1a,0x07,0x07,0x06,0x04,0x06,0x04 ,0x52,0x07,0x06,0x55,0x44,0x55,0x06,0x02,0x14,0x19,0x18,0x1a,0x19,0x08 ,0x07,0x07,0x61,0x07,0x06,0x05,0x06,0x07,0x05,0x53,0x52,0x07,0x06,0x06 ,0x05,0x05,0x06,0x53,0x14,0x29,0x05,0x05,0x04,0x05,0x05,0x02,0x14,0x19 ,0x07,0x06,0x07,0x06,0x08,0x05,0x52,0x1b,0x07,0x05,0x07,0x05,0x05,0x52 ,0x61,0x07,0x06,0x65,0x05,0x07,0x05,0x53,0x61,0x28,0x05,0x44,0x06,0x05 ,0x54,0x53,0x14,0x19,0x06,0x07,0x06,0x07,0x06,0x04,0x03,0x1a,0x07,0x05 ,0x06,0x05,0x04,0x53,0x52,0x08,0x06,0x08,0x06,0x05,0x06,0x62,0x52,0x43 ,0x04,0x55,0x54,0x04,0x02,0x53,0x61,0x18,0x07,0x07,0x05,0x07,0x07,0x54 ,0x14,0x19,0x19,0x07,0x05,0x06,0x05,0x54,0x04,0x07,0x08,0x08,0x05,0x55 ,0x07,0x52,0x02,0x61,0x52,0x61,0x61,0x61,0x61,0x61,0x04,0x08,0x06,0x08 ,0x06,0x07,0x05,0x54,0x61,0x08,0x06,0x05,0x06,0x06,0x04,0x53,0x04,0x06 ,0x54,0x53,0x53,0x53,0x54,0x04,0x61,0x1a,0x19,0x1a,0x18,0x07,0x1a,0x06 ,0x52,0x08,0x07,0x07,0x07,0x05,0x04,0x62,0x04,0x08,0x06,0x06,0x04,0x04 ,0x06,0x53,0x52,0x61,0x61,0x61,0x61,0x61,0x61,0x62,0x14,0x1b,0x09,0x06 ,0x06,0x08,0x07,0x05,0x14,0x1b,0x07,0x06,0x06,0x06,0x06,0x54,0x52,0x07 ,0x04,0x06,0x06,0x06,0x06,0x54,0x61,0x07,0x06,0x29,0x06,0x18,0x05,0x52 ,0x14,0x1b,0x07,0x04,0x06,0x09,0x08,0x05,0x04,0x07,0x07,0x07,0x06,0x06 ,0x04,0x52,0x61,0x07,0x06,0x06,0x06,0x06,0x05,0x62,0x02,0x07,0x05,0x05 ,0x54,0x05,0x06,0x53,0x02,0x1b,0x04,0x04,0x04,0x06,0x05,0x54,0x04,0x08 ,0x06,0x07,0x05,0x06,0x06,0x62,0x52,0x07,0x04,0x54,0x55,0x55,0x54,0x53 ,0x62,0x29,0x05,0x54,0x04,0x54,0x05,0x02,0x52,0x07,0x06,0x65,0x05,0x07 ,0x06,0x53,0x52,0x09,0x06,0x07,0x06,0x05,0x04,0x53,0x04,0x61,0x52,0x02 ,0x61,0x04,0x61,0x02,0x61,0x07,0x05,0x55,0x54,0x54,0x54,0x53,0x52,0x07 ,0x06,0x05,0x04,0x55,0x06,0x62,0x14,0x1b,0x07,0x06,0x07,0x06,0x06,0x04 ,0x52,0x1b,0x1a,0x19,0x19,0x08,0x07,0x06,0x52,0x06,0x05,0x05,0x05,0x54 ,0x05,0x02,0x52,0x07,0x04,0x53,0x62,0x54,0x62,0x54,0x61,0x08,0x07,0x07 ,0x05,0x06,0x07,0x53,0x14,0x1a,0x08,0x06,0x06,0x06,0x07,0x06,0x02,0x06 ,0x04,0x05,0x54,0x05,0x54,0x53,0x62,0x61,0x61,0x61,0x61,0x14,0x14,0x04 ,0x04,0x08,0x05,0x07,0x06,0x06,0x07,0x54,0x04,0x1a,0x05,0x07,0x05,0x05 ,0x06,0x05,0x03,0x05,0x54,0x44,0x04,0x54,0x43,0x04,0x62,0x07,0x08,0x1a ,0x06,0x19,0x07,0x53,0x04,0x08,0x07,0x05,0x07,0x06,0x05,0x54,0x52,0x07 ,0x06,0x05,0x04,0x06,0x05,0x62,0x02,0x06,0x06,0x54,0x44,0x05,0x05,0x02 ,0x61,0x07,0x07,0x04,0x06,0x06,0x07,0x53,0x04,0x06,0x04,0x05,0x05,0x54 ,0x53,0x54,0x61,0x1c,0x06,0x05,0x05,0x05,0x05,0x53,0x02,0x44,0x52,0x54 ,0x54,0x61,0x62,0x52,0x61,0x1b,0x05,0x06,0x05,0x07,0x04,0x53,0x02,0x52 ,0x04,0x03,0x14,0x52,0x04,0x52,0x61,0x09,0x06,0x06,0x05,0x06,0x05,0x53 ,0x62,0x61,0x52,0x61,0x52,0x62,0x61,0x61,0x52,0x08,0x05,0x07,0x06,0x04 ,0x05,0x54 }; const unsigned char texture2[] = { 32, 32 // width, height ,0x19,0x9a,0x92,0x98,0x95,0x94,0x81,0x95,0x98,0x1a,0x1b,0x96,0x17,0x9a ,0x9c,0x9a,0x96,0x95,0x97,0x19,0x17,0x18,0x97,0x1a,0x1d,0x1c,0x18,0x1d ,0x1f,0x1f,0x1b,0x1c,0x18,0x98,0x96,0x1b,0x1a,0x1a,0x1f,0x1d,0x1d,0x1b ,0x19,0x19,0x97,0x18,0x95,0x91,0x1b,0x19,0x91,0x95,0x83,0x82,0x17,0x1b ,0x1e,0x1f,0x1e,0x1f,0x1d,0x1a,0x1c,0x1a,0x99,0x17,0x98,0x1e,0x1c,0x1d ,0x1c,0x1d,0x1a,0x1f,0x1f,0x19,0x97,0x95,0x98,0x1e,0x1b,0x1c,0x1f,0x1a ,0x17,0x97,0x1a,0x1e,0x1a,0x1f,0x1a,0x1f,0x1b,0x9d,0x1a,0x17,0x18,0x98 ,0x95,0x1b,0x1b,0x1c,0x1f,0x1f,0x1f,0x1e,0x1e,0x18,0x16,0x92,0x19,0x1d ,0x1f,0x1c,0x1c,0x19,0x1c,0x14,0x19,0x1a,0x1f,0x1b,0x1e,0x1c,0x17,0x9b ,0x18,0x19,0x18,0x19,0x97,0x9d,0x19,0x1e,0x1b,0x1b,0x1b,0x18,0x1c,0x18 ,0x18,0x95,0x18,0x1f,0x1b,0x1a,0x9b,0x1d,0x1b,0x99,0x95,0x1c,0x1c,0x1b ,0x19,0x1a,0x1a,0x19,0x1c,0x98,0x97,0x94,0x92,0x18,0x19,0x17,0x1c,0x1c ,0x1b,0x1a,0x1a,0x1a,0x98,0x97,0x19,0x1b,0x1c,0x1a,0x19,0x1a,0x19,0x98 ,0x93,0x9a,0x1e,0x1b,0x1f,0x1a,0x9b,0x97,0x18,0x18,0x95,0x98,0x85,0x15 ,0x1c,0x1a,0x17,0x19,0x9a,0x1a,0x16,0x1a,0x98,0x18,0x14,0x1b,0x1a,0x18 ,0x19,0x18,0x1a,0x18,0x95,0x1d,0x1b,0x1d,0x1c,0x18,0x97,0x18,0x18,0x82 ,0x95,0x9a,0x17,0x94,0x91,0x19,0x1b,0x19,0x9b,0x9a,0x17,0x1a,0x9a,0x97 ,0x98,0x18,0x19,0x17,0x97,0x16,0x97,0x96,0x82,0x9a,0x1b,0x9a,0x18,0x18 ,0x16,0x98,0x82,0x94,0x98,0x97,0x18,0x99,0x98,0x95,0x9a,0x19,0x98,0x1b ,0x16,0x18,0x18,0x17,0x95,0x82,0x98,0x98,0x19,0x85,0x91,0x95,0x98,0x96 ,0x83,0x99,0x98,0x1a,0x95,0x98,0x9b,0x98,0x9a,0x84,0x18,0x18,0x16,0x93 ,0x97,0x98,0x18,0x1a,0x17,0x98,0x95,0x14,0x95,0x19,0x9c,0x92,0x95,0x92 ,0x14,0x19,0x1c,0x19,0x1a,0x16,0x93,0x92,0x87,0x99,0x19,0x99,0x9a,0x18 ,0x19,0x19,0x19,0x1b,0x16,0x92,0x16,0x16,0x76,0x18,0x86,0x92,0x18,0x1b ,0x1f,0x1a,0x98,0x97,0x1c,0x1b,0x1c,0x1e,0x1f,0x1d,0x18,0x1b,0x1b,0x1a ,0x1d,0x1b,0x94,0x95,0x19,0x1a,0x1a,0x18,0x14,0x98,0x19,0x14,0x18,0x99 ,0x86,0x18,0x1b,0x1e,0x1f,0x1e,0x18,0x98,0x1a,0x1c,0x1f,0x1a,0x1c,0x1f ,0x1a,0x19,0x1d,0x1b,0x1a,0x9a,0x97,0x1c,0x1b,0x1e,0x1f,0x1d,0x1b,0x97 ,0x95,0x92,0x95,0x95,0x16,0x1a,0x1c,0x1a,0x18,0x1b,0x1a,0x9b,0x98,0x1a ,0x1a,0x1a,0x1a,0x17,0x1f,0x1c,0x19,0x1c,0x1a,0x97,0x95,0x1f,0x1c,0x1c ,0x1f,0x17,0x1c,0x16,0x19,0x1f,0x1d,0x1c,0x1e,0x1e,0x1c,0x19,0x1d,0x1e ,0x1b,0x1c,0x96,0x9a,0x9c,0x1a,0x19,0x18,0x1a,0x1c,0x1b,0x19,0x1a,0x16 ,0x92,0x1a,0x1c,0x1b,0x9f,0x1b,0x9c,0x17,0x1b,0x19,0x1c,0x1f,0x1a,0x1f ,0x1b,0x1e,0x1b,0x1b,0x19,0x1f,0x97,0x97,0x9a,0x19,0x18,0x19,0x1a,0x19 ,0x1b,0x9a,0x17,0x85,0x16,0x1d,0x1d,0x1d,0x1b,0x9a,0x97,0x95,0x1a,0x1b ,0x1c,0x1c,0x1f,0x1e,0x1f,0x1f,0x19,0x1c,0x1b,0x1b,0x19,0x97,0x92,0x94 ,0x92,0x95,0x96,0x98,0x16,0x95,0x98,0x95,0x19,0x1f,0x1c,0x1a,0x98,0x18 ,0x18,0x93,0x1c,0x17,0x1b,0x1b,0x1c,0x1f,0x1c,0x1e,0x1b,0x1c,0x1a,0x17 ,0x16,0x95,0x18,0x1c,0x19,0x1b,0x1b,0x1c,0x98,0x96,0x95,0x98,0x1b,0x1c ,0x1c,0x1a,0x19,0x94,0x97,0x95,0x1a,0x1c,0x1a,0x1c,0x1a,0x18,0x19,0x1a ,0x1a,0x19,0x1a,0x1a,0x95,0x91,0x1b,0x1e,0x1d,0x1d,0x1c,0x1b,0x1a,0x16 ,0x17,0x1b,0x97,0x19,0x17,0x98,0x17,0x98,0x92,0x19,0x18,0x1a,0x1c,0x1e ,0x16,0x1a,0x19,0x18,0x18,0x18,0x1b,0x17,0x88,0x1b,0x1e,0x1d,0x1f,0x1c ,0x1f,0x1f,0x1a,0x19,0x97,0x19,0x96,0x85,0x83,0x98,0x97,0x84,0x1b,0x93 ,0x16,0x1a,0x19,0x18,0x1a,0x1b,0x18,0x9b,0x19,0x1b,0x17,0x1a,0x96,0x1a ,0x1c,0x1f,0x19,0x1f,0x1b,0x1f,0x1b,0x1a,0x98,0x17,0x16,0x1a,0x1f,0x1b ,0x1f,0x1b,0x1a,0x95,0x98,0x17,0x18,0x1a,0x9a,0x1b,0x8b,0x18,0x19,0x18 ,0x19,0x97,0x9a,0x1d,0x1f,0x1c,0x1a,0x1a,0x1c,0x1f,0x1f,0x1c,0x95,0x97 ,0x1a,0x1d,0x1c,0x1d,0x1c,0x1f,0x18,0x1d,0x96,0x19,0x16,0x19,0x18,0x1a ,0x19,0x9a,0x16,0x18,0x85,0x16,0x1c,0x18,0x19,0x1d,0x19,0x17,0x19,0x1c ,0x1b,0x1d,0x1c,0x14,0x1f,0x1f,0x1b,0x1d,0x1f,0x1e,0x1b,0x1b,0x18,0x97 ,0x15,0x18,0x17,0x18,0x9a,0x98,0x17,0x95,0x92,0x98,0x1a,0x1c,0x1c,0x1a ,0x1c,0x16,0x1a,0x1a,0x1a,0x1b,0x17,0x93,0x1c,0x7d,0x1c,0x1f,0x1b,0x1e ,0x1c,0x1c,0x1a,0x85,0x92,0x97,0x9a,0x98,0x1a,0x97,0x84,0x92,0x18,0x99 ,0x96,0x19,0x1c,0x1c,0x1d,0x1a,0x16,0x9a,0x19,0x1b,0x94,0x97,0x1c,0x1a ,0x18,0x1a,0x1c,0x1d,0x1c,0x1c,0x18,0x1b,0x97,0x95,0x91,0x95,0x92,0x9a ,0x1a,0x1e,0x1a,0x19,0x16,0x88,0x19,0x18,0x19,0x18,0x9b,0x1a,0x1a,0x9a ,0x15,0x94,0x17,0x19,0x19,0x18,0x1d,0x1c,0x1b,0x1c,0x18,0x17,0x95,0x18 ,0x18,0x1c,0x1d,0x1d,0x1f,0x1c,0x1f,0x1f,0x1f,0x94,0x93,0x17,0x1b,0x1b ,0x16,0x9a,0x99,0x18,0x18,0x96,0x19,0x18,0x18,0x1c,0x1a,0x9c,0x19,0x18 ,0x9a,0x98,0x95,0x18,0x1d,0x1f,0x1b,0x1e,0x1b,0x19,0x1d,0x1f,0x1b,0x1a ,0x95,0x97,0x19,0x17,0x18,0x17,0x1a,0x14,0x95,0x17,0x19,0x1c,0x1a,0x1b ,0x9a,0x18,0x1c,0x18,0x97,0x9a,0x98,0x18,0x1d,0x9f,0x1f,0x1d,0x1f,0x1a ,0x18,0x18,0x18,0x9a,0x13,0x92,0x1d,0x18,0x9a,0x99,0x16,0x97,0x15,0x18 ,0x19,0x9b,0x18,0x9a,0x1a,0x1a,0x16,0x18,0x1a,0x18,0x93,0x16,0x1d,0x1c ,0x19,0x1c,0x1a,0x18,0x19,0x1a,0x1a,0x1a,0x19,0x98,0x9a,0x99,0x1a,0x98 ,0x16,0x9a,0x95,0x85,0x95,0x19,0x9a,0x1a,0x15,0x19,0x1a,0x1b,0x17,0x19 ,0x92,0x99,0x18,0x1f,0x1a,0x1b,0x1f,0x1e,0x9a,0x1c,0x18,0x9a,0x16,0x94 ,0x19,0x19,0x17,0x18,0x97,0x95,0x9a,0x98,0x17,0x97,0x17,0x98,0x19,0x1a ,0x1a,0x19,0x17,0x97,0x94,0x98,0x9a,0x18,0x1f,0x1e,0x1a,0x9a,0x17,0x17 ,0x16,0x1a,0x16,0x16,0x97,0x19,0x9a,0x17,0x95,0x94,0x18,0x17,0x18,0x13 ,0x98,0x16,0x16,0x18,0x18,0x16,0x88,0x92,0x98,0x85,0x9a,0x19,0x1c,0x17 ,0x19,0x18,0x1b,0x1a,0x15,0x14,0x84,0x94,0x97,0x95,0x98,0x95,0x88,0x1a ,0x18,0x19 }; const unsigned char texture3[] = { 32, 32 // width, height ,0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x50,0x3a,0x3c,0x3c,0xc5,0xb9,0xb9 ,0x3a,0xb9,0xc3,0xc3,0xc3,0x54,0x46,0x5b,0x45,0x45,0xc3,0x75,0x78,0x77 ,0x7a,0x79,0x65,0x54,0x50,0x50,0x50,0x50,0x50,0x50,0x2c,0xac,0x3c,0x3c ,0x3c,0xc5,0xb7,0x38,0xba,0xba,0xc5,0x45,0xc4,0x54,0xc3,0x5b,0x57,0x59 ,0xac,0xc3,0x77,0x1a,0x1c,0x7a,0x78,0x77,0x50,0x50,0x50,0x50,0x50,0xac ,0xac,0x43,0x3c,0x3c,0xc5,0xc5,0x43,0x3c,0xba,0xba,0x43,0x43,0x45,0x43 ,0x43,0x57,0x59,0x59,0xac,0xac,0xc3,0x79,0x7b,0x1c,0x19,0x1a,0x50,0x50 ,0x50,0x3c,0x3c,0xba,0xc5,0x43,0x3c,0x3c,0xc5,0xc5,0x3c,0x3c,0xba,0xba ,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x57,0x58,0x1e,0x1e,0xc3,0xc3,0x7a ,0x77,0x79,0x50,0x50,0x2d,0x3c,0x3c,0x3c,0xc5,0x43,0x3c,0x3c,0xba,0x3c ,0x3c,0x3c,0x43,0x43,0x43,0xc5,0xc5,0x43,0xc5,0xc5,0xc5,0x5a,0x54,0x1e ,0x1e,0xac,0xc3,0xc3,0xc3,0x54,0x50,0x50,0xac,0x3c,0xba,0x3c,0x43,0xc5 ,0xba,0x3c,0xc5,0xc5,0xc5,0x3c,0xc5,0x43,0x43,0xc5,0xc5,0xc5,0xc5,0xc5 ,0x43,0x5a,0x54,0x50,0xac,0xc3,0xc3,0xc3,0xc3,0x16,0x50,0xac,0xba,0x3c ,0xba,0xba,0xc5,0xc5,0x3c,0x3c,0x3c,0xba,0x3c,0x3c,0xc5,0x43,0x43,0x43 ,0xc5,0x43,0x43,0x43,0x43,0x5b,0x50,0x50,0xc3,0xc3,0xc3,0xc3,0x16,0x73 ,0x50,0xac,0xba,0x3c,0x3c,0xba,0xba,0x3c,0x3c,0x3c,0x3c,0xba,0x3c,0x3c ,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0xc5,0xc5,0x43,0xc3,0x50 ,0x50,0xc3,0x1a,0x73,0x50,0xac,0xc5,0xba,0x3c,0xba,0xba,0x3c,0x3c,0x3c ,0xba,0xba,0x3c,0x3c,0x43,0x43,0xc5,0xc5,0x3c,0x43,0x43,0x43,0xc5,0xc5 ,0xc5,0x43,0x50,0x50,0x50,0x50,0x1a,0x73,0xac,0x3a,0x43,0xc5,0xba,0xba ,0xba,0x3c,0x3c,0xba,0xba,0x3c,0x3c,0x43,0x43,0x43,0xc5,0xba,0xba,0xc5 ,0x43,0xc5,0xc5,0xc5,0x43,0x50,0x50,0x50,0xc3,0xc3,0x16,0x73,0x3c,0x3c ,0x43,0x43,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0x43,0x43,0x43 ,0xc5,0xba,0xba,0xc5,0x43,0x43,0x43,0x43,0x43,0x50,0x50,0xc3,0xc3,0x1a ,0x16,0x73,0x3c,0x3c,0x43,0xc5,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0x3c ,0x3c,0x43,0x43,0xc5,0xc5,0xc5,0xba,0x43,0x43,0x43,0x43,0x43,0x43,0x50 ,0x50,0x50,0x1a,0x1a,0x16,0x73,0x3c,0x3c,0x3c,0xba,0xba,0x3c,0x3c,0xc5 ,0xc5,0xba,0x3c,0x3c,0x3c,0xba,0x43,0x43,0xc5,0xc5,0xba,0x43,0x43,0x43 ,0x43,0x43,0x43,0x43,0x77,0x66,0x1a,0x16,0x73,0x16,0x3c,0x3c,0xba,0xba ,0xba,0xba,0x3c,0x3c,0xc5,0xc5,0x3c,0x3c,0xba,0xba,0x43,0x43,0x43,0x43 ,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x73,0x1a,0x16,0x16,0x1a,0x16 ,0x3c,0x3c,0xc5,0xc5,0xba,0x3c,0x3c,0x3c,0xc5,0xc5,0xc5,0xba,0xba,0xba ,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0xba,0xba,0x43,0x43,0x73,0x16 ,0x16,0x1a,0x1a,0x16,0x3c,0x3c,0x3c,0xc5,0xc5,0xba,0x3c,0x3c,0xc5,0xc5 ,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0xc5,0xba ,0xba,0xba,0x43,0x73,0x73,0x73,0x73,0x1a,0x43,0x3c,0x3c,0xc5,0xc5,0xba ,0xba,0xba,0xc5,0xc5,0xc5,0xc5,0xba,0x3c,0xba,0xc5,0x43,0x43,0x43,0x43 ,0x43,0xc5,0xba,0xba,0xba,0xba,0xba,0x73,0x16,0x1a,0x1a,0x1a,0xc5,0x3c ,0x3c,0x3c,0xc5,0xba,0xba,0xc5,0xc5,0xc5,0xc5,0xc5,0xba,0xba,0x3c,0xc5 ,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xba,0xba,0xba,0x73,0x73,0x16,0x16 ,0x16,0x73,0xc5,0x3c,0x3c,0xba,0xba,0xba,0xba,0xc5,0xc5,0xc5,0xc5,0xc5 ,0xba,0x3c,0x3c,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0x43,0x43 ,0x73,0x73,0x73,0x73,0x73,0x73,0xb9,0xba,0xba,0xba,0xba,0xba,0x3c,0xc5 ,0xc5,0xc5,0xc5,0xba,0x3c,0xba,0x43,0x43,0x43,0x43,0xba,0xba,0x43,0xc5 ,0xc5,0xba,0x43,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x43,0xba,0xc5,0xba ,0xba,0xba,0x3c,0x3c,0xba,0xba,0xc5,0x3c,0x3c,0x3c,0x43,0x43,0xc5,0xc5 ,0xba,0xc5,0xc5,0xc5,0xba,0xba,0xba,0x43,0x43,0x16,0x73,0x73,0x73,0x73 ,0x50,0x43,0x43,0xba,0xba,0xba,0xba,0x3c,0x3c,0xba,0xc5,0xba,0x3c,0x3c ,0xba,0x43,0x43,0xc5,0x3c,0x43,0xc5,0xc5,0xba,0xba,0xba,0x43,0x43,0x50 ,0x16,0x73,0x73,0x73,0x50,0x43,0xc5,0xba,0xba,0x3c,0x3c,0x3c,0x3c,0xba ,0xc5,0xc5,0xba,0xba,0xba,0x43,0x43,0x43,0xba,0x43,0x43,0xc5,0xc5,0xc5 ,0x43,0x43,0xc3,0xc3,0xc3,0x16,0x73,0x73,0x50,0x43,0xba,0x3c,0xba,0x3c ,0xba,0x3c,0x3c,0xc5,0x43,0x43,0x43,0x43,0xba,0x43,0x43,0x43,0xc5,0x43 ,0x43,0x43,0xc5,0x43,0x43,0x50,0x50,0xc3,0xc3,0x16,0x16,0x73,0x50,0x50 ,0xba,0x3c,0x3c,0x3c,0x43,0x43,0x43,0x43,0xc5,0xc5,0x43,0x43,0x43,0x43 ,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x43,0x50,0x50,0x50,0xc3 ,0x16,0x73,0x50,0x50,0x43,0x43,0x3c,0x3c,0xba,0x43,0x43,0x43,0x43,0xc5 ,0xc5,0x43,0x43,0xc5,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x43 ,0x50,0x50,0x50,0xc3,0x16,0x73,0x50,0x50,0x43,0x43,0x3c,0xba,0xba,0x43 ,0x43,0x43,0xc5,0xc5,0xc5,0x43,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43 ,0x43,0x43,0x50,0x50,0x50,0x50,0xc3,0xc3,0x16,0x73,0x50,0x50,0x50,0x43 ,0xba,0xba,0xba,0x43,0xc5,0x43,0x43,0x43,0x43,0xba,0xc5,0xc5,0xba,0xba ,0x43,0xc5,0x43,0x43,0x43,0x43,0x43,0x50,0xc3,0xc3,0xc3,0xc3,0x77,0x73 ,0x50,0x50,0x50,0x50,0x43,0xba,0xba,0x43,0xba,0xba,0x43,0xc5,0xba,0xba ,0xc5,0xc5,0xba,0xba,0xba,0xc5,0x43,0x43,0x43,0x43,0x43,0x77,0x77,0x77 ,0x66,0x7a,0x1a,0x77,0x50,0x50,0x50,0x50,0x43,0x43,0xc5,0xc5,0xba,0xba ,0x43,0xba,0xba,0xba,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0xc3,0x54 ,0x54,0x65,0x77,0x77,0x1a,0x77,0x77,0x78,0x50,0x50,0x50,0x50,0x50,0x43 ,0xc5,0x43,0xba,0xba,0x43,0x43,0xba,0xba,0x43,0x43,0x43,0x43,0x43,0x43 ,0x43,0x43,0x59,0x57,0x75,0x77,0x78,0x1a,0x1c,0x1a,0x1b,0x7b,0x50,0x50 ,0x50,0x50,0x50,0x50,0x50,0xba,0xba,0xc5,0xc5,0x43,0x37,0x37,0x43,0x43 ,0x43,0x43,0x43,0x45,0x59,0x57,0x56,0x59,0x59,0x78,0x79,0x1a,0x7b,0x7a ,0x1a,0x77 }; const unsigned char texture4[] = { 32, 32 // width, height ,0x14,0x17,0x09,0x09,0x09,0x09,0x17,0x17,0x17,0x17,0x17,0x16,0x16,0x16 ,0x15,0x10,0x06,0x07,0x0b,0x0b,0x0a,0x0a,0x07,0x71,0x09,0x0b,0x0b,0x09 ,0x08,0x09,0x07,0x21,0x17,0x16,0x16,0x16,0x15,0x15,0x14,0x15,0x14,0x14 ,0x14,0x14,0x13,0x13,0x12,0x00,0x06,0x07,0x0a,0x0a,0x0b,0x09,0x06,0x10 ,0x0b,0x09,0x09,0x08,0x08,0x08,0x07,0x21,0x09,0x16,0x16,0x15,0x15,0x14 ,0x13,0x13,0x14,0x13,0x13,0x13,0x13,0x12,0x12,0x10,0x07,0x06,0x0a,0x0b ,0x0a,0x09,0x07,0x20,0x0b,0x09,0x08,0x09,0x08,0x09,0x06,0x20,0x09,0x16 ,0x15,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x11,0x11,0x11,0x13,0x12,0x10 ,0x06,0x07,0x0b,0x0a,0x09,0x09,0x06,0x20,0x09,0x09,0x09,0x08,0x08,0x09 ,0x05,0x20,0x09,0x15,0x14,0x10,0x12,0x12,0x13,0x12,0x12,0x12,0x12,0x12 ,0x15,0x13,0x12,0x10,0x07,0x06,0x0a,0x09,0x08,0x07,0x06,0x21,0x09,0x08 ,0x09,0x09,0x09,0x08,0x06,0x20,0x09,0x15,0x14,0x10,0x12,0x13,0x14,0x14 ,0x13,0x14,0x14,0x13,0x16,0x13,0x12,0x00,0x07,0x06,0x09,0x08,0x07,0x09 ,0x07,0x70,0x09,0x09,0x09,0x08,0x08,0x08,0x07,0x20,0x09,0x14,0x15,0x10 ,0x12,0x14,0x13,0x13,0x14,0x13,0x13,0x13,0x17,0x12,0x13,0x00,0x07,0x06 ,0x09,0x08,0x08,0x08,0x06,0x70,0x07,0x07,0x06,0x05,0x06,0x05,0x06,0x21 ,0x09,0x15,0x14,0x10,0x12,0x14,0x13,0x13,0x13,0x12,0x13,0x12,0x17,0x13 ,0x13,0x10,0x06,0x06,0x0a,0x09,0x07,0x08,0x06,0x21,0x20,0x21,0x21,0x21 ,0x10,0x20,0x21,0x21,0x17,0x14,0x13,0x11,0x12,0x14,0x13,0x13,0x12,0x13 ,0x12,0x12,0x17,0x13,0x13,0x00,0x05,0x05,0x09,0x09,0x08,0x07,0x07,0x21 ,0x0a,0x0b,0x0a,0x0b,0x0b,0x0a,0x07,0x20,0x17,0x14,0x13,0x11,0x12,0x13 ,0x13,0x13,0x12,0x12,0x12,0x12,0x09,0x13,0x12,0x10,0x06,0x05,0x08,0x08 ,0x07,0x08,0x06,0x20,0x0b,0x0a,0x0b,0x0a,0x0a,0x09,0x06,0x20,0x16,0x13 ,0x14,0x11,0x12,0x13,0x12,0x12,0x13,0x13,0x12,0x12,0x09,0x12,0x11,0x00 ,0x06,0x06,0x07,0x09,0x07,0x07,0x06,0x21,0x0b,0x0b,0x0a,0x0b,0x0a,0x09 ,0x07,0x20,0x16,0x14,0x13,0x11,0x12,0x13,0x13,0x12,0x13,0x12,0x12,0x13 ,0x17,0x12,0x11,0x10,0x05,0x05,0x08,0x09,0x08,0x07,0x07,0x20,0x0a,0x0b ,0x0b,0x0a,0x09,0x08,0x07,0x21,0x16,0x13,0x12,0x11,0x15,0x16,0x17,0x17 ,0x09,0x09,0x17,0x17,0x16,0x12,0x11,0x10,0x06,0x05,0x09,0x08,0x08,0x07 ,0x05,0x10,0x0b,0x0a,0x0a,0x09,0x09,0x07,0x06,0x20,0x16,0x13,0x12,0x13 ,0x12,0x12,0x12,0x13,0x12,0x13,0x12,0x12,0x12,0x11,0x11,0x00,0x05,0x05 ,0x07,0x07,0x07,0x07,0x06,0x20,0x0a,0x0b,0x09,0x08,0x07,0x07,0x05,0x20 ,0x15,0x12,0x12,0x12,0x12,0x12,0x13,0x13,0x12,0x12,0x11,0x11,0x11,0x11 ,0x11,0x10,0x04,0x03,0x06,0x05,0x05,0x05,0x05,0x21,0x0b,0x0a,0x08,0x09 ,0x08,0x08,0x06,0x20,0x13,0x11,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x10 ,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00,0x20,0x20,0x20,0x21,0x20,0x21 ,0x0a,0x09,0x09,0x07,0x07,0x07,0x05,0x20,0x14,0x17,0x09,0x09,0x09,0x09 ,0x17,0x17,0x17,0x17,0x17,0x16,0x16,0x16,0x15,0x10,0x06,0x06,0x0a,0x09 ,0x0a,0x0a,0x07,0x10,0x09,0x09,0x08,0x07,0x07,0x08,0x07,0x21,0x17,0x16 ,0x16,0x16,0x16,0x15,0x14,0x15,0x14,0x14,0x14,0x14,0x13,0x13,0x12,0x00 ,0x06,0x06,0x0a,0x0a,0x0a,0x09,0x06,0x21,0x0a,0x08,0x07,0x07,0x07,0x07 ,0x07,0x20,0x09,0x16,0x16,0x15,0x15,0x14,0x13,0x13,0x14,0x13,0x13,0x13 ,0x13,0x12,0x12,0x10,0x06,0x06,0x0a,0x09,0x09,0x08,0x07,0x20,0x08,0x09 ,0x08,0x08,0x07,0x07,0x07,0x21,0x09,0x15,0x16,0x10,0x10,0x10,0x10,0x10 ,0x10,0x10,0x11,0x11,0x11,0x13,0x12,0x10,0x06,0x06,0x09,0x09,0x08,0x09 ,0x06,0x20,0x09,0x09,0x09,0x08,0x07,0x08,0x07,0x20,0x09,0x16,0x15,0x10 ,0x12,0x12,0x13,0x12,0x12,0x12,0x12,0x12,0x16,0x13,0x12,0x00,0x06,0x06 ,0x0a,0x08,0x07,0x09,0x07,0x20,0x09,0x08,0x08,0x09,0x07,0x07,0x06,0x21 ,0x09,0x15,0x14,0x10,0x12,0x13,0x14,0x14,0x13,0x14,0x14,0x14,0x16,0x13 ,0x12,0x00,0x06,0x05,0x09,0x09,0x07,0x07,0x06,0x21,0x09,0x08,0x09,0x08 ,0x07,0x07,0x05,0x21,0x09,0x14,0x15,0x10,0x12,0x14,0x13,0x13,0x13,0x13 ,0x13,0x13,0x17,0x12,0x13,0x00,0x06,0x06,0x08,0x09,0x07,0x08,0x06,0x70 ,0x07,0x07,0x06,0x06,0x06,0x05,0x06,0x20,0x09,0x15,0x14,0x10,0x12,0x14 ,0x13,0x13,0x13,0x12,0x13,0x12,0x17,0x13,0x13,0x10,0x06,0x05,0x09,0x07 ,0x08,0x07,0x07,0x21,0x20,0x21,0x21,0x20,0x10,0x20,0x20,0x21,0x17,0x14 ,0x13,0x11,0x12,0x14,0x13,0x13,0x12,0x13,0x12,0x12,0x17,0x13,0x13,0x00 ,0x05,0x06,0x08,0x08,0x07,0x07,0x06,0x20,0x0a,0x0b,0x0b,0x0b,0x0b,0x0a ,0x06,0x21,0x17,0x14,0x13,0x11,0x12,0x13,0x13,0x13,0x12,0x12,0x12,0x12 ,0x09,0x13,0x12,0x10,0x06,0x05,0x09,0x08,0x07,0x07,0x07,0x20,0x0b,0x0b ,0x0b,0x0a,0x0b,0x09,0x07,0x20,0x16,0x13,0x14,0x11,0x12,0x13,0x12,0x12 ,0x13,0x13,0x12,0x12,0x09,0x12,0x11,0x10,0x05,0x05,0x08,0x07,0x07,0x07 ,0x07,0x21,0x0b,0x0a,0x0b,0x0b,0x0a,0x09,0x06,0x21,0x16,0x14,0x13,0x11 ,0x12,0x13,0x13,0x12,0x13,0x12,0x12,0x13,0x17,0x12,0x11,0x10,0x05,0x05 ,0x07,0x07,0x07,0x08,0x07,0x21,0x0a,0x0b,0x0a,0x0b,0x09,0x09,0x07,0x21 ,0x16,0x13,0x12,0x11,0x15,0x16,0x17,0x17,0x09,0x09,0x17,0x17,0x16,0x12 ,0x11,0x10,0x05,0x05,0x07,0x07,0x07,0x07,0x06,0x10,0x0b,0x0a,0x0b,0x0a ,0x0b,0x08,0x07,0x20,0x16,0x13,0x12,0x13,0x13,0x12,0x12,0x12,0x11,0x11 ,0x12,0x12,0x12,0x11,0x11,0x00,0x04,0x04,0x07,0x07,0x07,0x07,0x05,0x21 ,0x0b,0x0b,0x0a,0x09,0x0a,0x09,0x06,0x21,0x15,0x12,0x13,0x12,0x12,0x11 ,0x11,0x11,0x11,0x12,0x11,0x11,0x11,0x11,0x11,0x00,0x03,0x04,0x07,0x06 ,0x06,0x05,0x06,0x20,0x0b,0x0a,0x09,0x09,0x0a,0x08,0x07,0x21,0x13,0x11 ,0x11,0x11,0x11,0x11,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00 ,0x10,0x00,0x21,0x20,0x20,0x20,0x21,0x21,0x0a,0x09,0x0a,0x09,0x0a,0x08 ,0x05,0x20 }; const unsigned char texture5[] = { 32, 32 // width, height ,0x29,0x35,0x34,0x34,0x34,0xa5,0xb7,0xb6,0xb8,0xa7,0xa6,0x33,0x35,0x33 ,0xa7,0x33,0xa8,0xa6,0xa8,0xb7,0x33,0xb5,0xb7,0x33,0x33,0x34,0x34,0xb5 ,0x33,0x33,0x34,0x34,0xb7,0xa7,0xa8,0x33,0x22,0x34,0x33,0xb6,0x33,0x35 ,0xb9,0xa9,0xa8,0xb5,0xb9,0xa6,0xa6,0xb6,0xa5,0x33,0x33,0x03,0x23,0xb6 ,0x35,0xa7,0xb6,0xa7,0xb5,0x35,0x03,0x34,0xa9,0xa7,0xb5,0xaa,0xa9,0x34 ,0x03,0xb7,0xa7,0x33,0x33,0xb8,0xb7,0xbb,0x35,0xa8,0xb6,0x22,0x03,0xa6 ,0x33,0xa7,0xa9,0x33,0x33,0xa6,0x33,0xa7,0x34,0x35,0x34,0x34,0xb5,0xb6 ,0x23,0x03,0x33,0xa7,0xb8,0xa9,0xa8,0xa7,0xa5,0x03,0x33,0x34,0x34,0x34 ,0xa5,0xb5,0xa8,0xb7,0x33,0x33,0x33,0x35,0xa5,0x33,0x34,0xa7,0x34,0x33 ,0xb5,0x34,0x34,0x35,0xb6,0xa7,0x35,0x33,0x33,0x33,0x35,0xa7,0x35,0xb6 ,0xa6,0x34,0x33,0x23,0xa5,0xa6,0x33,0xb6,0xb5,0xa6,0xa8,0x33,0x34,0x33 ,0x33,0x03,0x34,0x33,0x33,0x33,0xa9,0xb6,0xa7,0x35,0x38,0xb5,0xa5,0xb5 ,0x33,0x35,0x35,0x34,0x34,0xa6,0x33,0xb7,0xa6,0x34,0xb5,0x35,0xa7,0xa5 ,0x34,0xb5,0xb8,0x33,0x23,0xa8,0x34,0x23,0x34,0x35,0x34,0x33,0x36,0xa7 ,0xa8,0xab,0xa6,0xa6,0x33,0x33,0xb6,0xa8,0x34,0xa6,0x33,0xa9,0x34,0x36 ,0xb8,0x35,0x34,0xb7,0xb5,0xb5,0xb5,0xa9,0x36,0xa7,0xa7,0x34,0xa8,0x34 ,0xa7,0x33,0x26,0x23,0x03,0x35,0x36,0x35,0xa7,0xb5,0x35,0xb5,0xa7,0xa9 ,0xa9,0x34,0x33,0xa7,0xb8,0xa9,0xb7,0xa9,0xa8,0xb6,0xb7,0x33,0xa7,0x34 ,0x34,0x34,0x35,0x03,0x23,0x33,0xa8,0xaa,0xb5,0x33,0x35,0xb8,0x34,0x33 ,0x33,0x36,0xb6,0xb8,0x23,0x35,0x33,0x35,0xa9,0x36,0xb7,0x28,0xb5,0xa7 ,0xa7,0x33,0x34,0x33,0x33,0xa5,0x34,0x33,0x34,0x33,0xa8,0xb7,0xa6,0x35 ,0xb5,0xa6,0xa8,0xb5,0x33,0x35,0x34,0xb5,0xa7,0xa7,0xa8,0x33,0xa7,0x33 ,0xa9,0xac,0x33,0x23,0x33,0xb7,0x35,0x33,0xa7,0xa7,0xa7,0xb7,0x34,0x34 ,0xa8,0x35,0xa8,0x33,0xa6,0x33,0x33,0xa9,0xa8,0x34,0x33,0xa8,0xb8,0xa7 ,0xa7,0xa9,0xa8,0xa9,0x35,0xb7,0xb9,0xb9,0xb8,0xb5,0x33,0x34,0x33,0x03 ,0x34,0x34,0xa7,0xa8,0xa6,0xa7,0xa6,0x33,0x33,0xa7,0x33,0xa6,0xb7,0xa6 ,0x34,0xa5,0x34,0x24,0x34,0xa6,0x35,0x33,0xb6,0x27,0xb5,0xb8,0xa9,0xa6 ,0x33,0x25,0xb7,0xb5,0xa6,0x34,0xb5,0xb7,0x25,0x33,0xa6,0xa9,0xb8,0xb5 ,0x27,0xb6,0x33,0x35,0xa6,0x34,0x24,0x34,0xa5,0x34,0xa6,0xb7,0xa6,0xab ,0xa7,0x33,0x33,0xa6,0xa7,0xa6,0xa8,0xa7,0xb6,0x33,0x03,0x33,0x34,0x33 ,0xb5,0xb8,0xb9,0xb9,0xb7,0x35,0xa9,0xa8,0xa9,0xa7,0xa6,0xb7,0xa8,0x33 ,0x34,0xa8,0xa9,0x33,0x33,0xa6,0x33,0xa8,0x35,0xa8,0x34,0x34,0xa6,0x35 ,0xa7,0xa7,0x33,0x35,0xb7,0x33,0x23,0x33,0xac,0xa9,0x33,0xa7,0x33,0xa8 ,0xa7,0xa7,0xb5,0x34,0x35,0x33,0xb5,0xa8,0xa6,0xb5,0x35,0xa6,0xbb,0xa8 ,0x33,0x34,0xa6,0xb9,0xa5,0x33,0x33,0x34,0x33,0xa8,0x33,0xb5,0x28,0xb7 ,0x36,0xa9,0x35,0x33,0x35,0x23,0xb8,0xb6,0x36,0x33,0x33,0x34,0xb8,0x35 ,0x33,0xb5,0xaa,0xa8,0x33,0x23,0xa8,0xb5,0x34,0x34,0x34,0xa7,0x33,0xb7 ,0xb7,0xa8,0xa9,0xb7,0xa9,0xb8,0xa7,0x33,0x34,0xa9,0xa9,0xa7,0xb5,0x35 ,0xb5,0xa7,0x35,0x36,0x35,0x03,0x23,0x26,0x33,0xa7,0x33,0x23,0x34,0xa7 ,0xa7,0x36,0xa9,0xb5,0x03,0x03,0xb7,0x34,0x35,0xb8,0xa8,0x35,0xa6,0x33 ,0xa6,0x34,0xa8,0xb6,0x33,0x33,0xa6,0xa6,0xab,0xa8,0xa7,0x36,0x33,0x34 ,0xa6,0xaa,0x23,0x34,0xa8,0x23,0x33,0xb8,0xa8,0x34,0xa5,0xa7,0x35,0x03 ,0x34,0xa9,0xb8,0x33,0xa6,0x34,0x34,0x35,0x35,0x33,0xb5,0xa5,0xb5,0x38 ,0x35,0xa7,0xb6,0xa9,0xa6,0xb6,0x33,0x34,0x03,0x33,0x33,0x34,0x33,0xa8 ,0xa6,0xb5,0xb6,0x33,0xa6,0xa5,0x33,0x33,0x34,0xa6,0xb6,0x35,0xa7,0x35 ,0x33,0x33,0x33,0x35,0xa7,0xb6,0x35,0x34,0xb7,0xa7,0x33,0x34,0xa7,0x34 ,0x33,0xa5,0x35,0x33,0x33,0x33,0xb7,0xa8,0xb5,0xa5,0x34,0x34,0x34,0x33 ,0x03,0xa5,0xa7,0xa8,0xa9,0xb8,0xa7,0x33,0x03,0x23,0xb6,0xb5,0x34,0x33 ,0x35,0x34,0xa7,0x33,0xa6,0x33,0x33,0xa9,0xa7,0x33,0xa6,0x03,0x22,0xb6 ,0xa8,0x35,0xba,0xb7,0xb8,0x33,0x33,0xa7,0xb7,0x03,0x34,0xa9,0xaa,0xb5 ,0xa7,0xa9,0xa9,0xb8,0x35,0xb5,0xa7,0xb6,0xa7,0x35,0xb6,0x23,0x03,0x33 ,0x33,0xa5,0xb6,0xa7,0xa5,0xb9,0xb5,0xa8,0xa9,0xb9,0x35,0x33,0xb6,0x33 ,0x34,0x22,0x33,0xa8,0xa7,0xb7,0x33,0xa6,0x33,0x33,0xb5,0x34,0x34,0x33 ,0x33,0xb7,0xb5,0x33,0xb7,0xa8,0xa6,0xa8,0x33,0x26,0x33,0x35,0x33,0xa6 ,0xa7,0xb8,0xb6,0xb7,0xa5,0x34,0x34,0x34,0x35,0x29,0xb7,0xa7,0x33,0x33 ,0x35,0xb5,0x34,0xb5,0x34,0x33,0xa8,0xb6,0x35,0xb6,0x33,0x03,0x33,0xb5 ,0xb5,0x33,0xa6,0xb7,0xb8,0xb7,0xa8,0xb7,0xaa,0xb7,0x33,0x37,0xb7,0xa7 ,0xb5,0xb6,0xa8,0xa6,0x35,0x33,0x34,0x34,0x33,0x33,0x03,0x35,0x34,0xa8 ,0xa9,0xa6,0x25,0x33,0xa9,0xa9,0x35,0x34,0xb6,0x33,0x34,0xb6,0x34,0xa7 ,0xa8,0xb7,0xb6,0x34,0x35,0x23,0x33,0x33,0x35,0xa6,0x33,0x33,0x33,0xb5 ,0x33,0xa8,0xa6,0x33,0x33,0xa7,0x34,0xb5,0xa6,0x34,0x33,0xb6,0x22,0x35 ,0xb6,0xb6,0xb6,0xa6,0x34,0xa5,0xa6,0xa5,0x34,0xa7,0x33,0x35,0x35,0xa8 ,0x33,0xa6,0x33,0x33,0x34,0x34,0x23,0x33,0x34,0xa7,0xab,0xb6,0xb7,0xa6 ,0x34,0xa6,0xa5,0xb7,0x34,0xa8,0x33,0x34,0xb6,0x33,0xb6,0xa7,0xb6,0x33 ,0x33,0x33,0x33,0x34,0x35,0xa7,0x03,0x03,0x03,0xb5,0x34,0x34,0x33,0x22 ,0x03,0x34,0x34,0xa7,0xb6,0xb6,0xb5,0x33,0x33,0xa5,0xb7,0x33,0xa8,0xaa ,0xb7,0xb6,0x35,0xa5,0xa7,0xa6,0xa6,0xa6,0xb6,0xa7,0xa7,0x33,0x33,0xa5 ,0x23,0x33,0x33,0x03,0x33,0xb7,0xb6,0xa6,0xa7,0xb7,0xa5,0x35,0xa9,0xa9 ,0x34,0x33,0x34,0xa7,0xa7,0x35,0x03,0x34,0xa6,0xa6,0xb6,0xa7,0xb5,0x33 ,0xb5,0x35,0x35,0x35,0xa7,0xa6,0xa7,0xb7,0xa8,0x35,0xb5,0xa7,0x33,0x33 ,0xa8,0x34,0x33,0x34,0xa7,0xb8,0x03,0x23,0x33,0x33,0xb5,0xa6,0x03,0x35 ,0xa9,0xa7,0x35,0x34,0x35,0x35,0x33,0x34,0x34,0x33,0x35,0x34,0xb5,0xa6 ,0xb5,0xa6,0x33,0x34,0xa7,0xa8,0x35,0x22,0x34,0xa8,0xb8,0xa6,0xb6,0xb6 ,0xb5,0xb5 }; const unsigned char spriteStatue[] = { 32, 32 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x00,0x00,0x00,0x09,0x09,0x09,0x0c,0x09,0x09,0x09,0x09,0x09,0x00,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x00,0x00,0x09,0x0c,0x09,0x61,0x61,0x61,0x61,0x61,0x00,0x00 ,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x0c,0x09,0x61,0x61,0x61,0x03,0x03,0x03 ,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x05,0x0c,0x0c,0x09 ,0x05,0x61,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x0c,0x09,0x61,0x03,0x03,0x03 ,0x03,0x03,0x05,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x05 ,0x03,0x0c,0x05,0x09,0x05,0x61,0x8f,0x8f,0x8f,0x00,0x0f,0x0c,0x03,0x03 ,0x05,0x03,0x05,0x03,0x03,0x05,0x03,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x00,0x0c,0x0c,0x09,0x05,0x09,0x03,0x09,0x05,0x61,0x8f,0x8f,0x00,0x0f ,0x03,0x03,0x03,0x05,0x03,0x05,0x03,0x05,0x05,0x05,0x05,0x00,0x00,0x8f ,0x8f,0x8f,0x8f,0x00,0x05,0x0c,0x05,0x09,0x03,0x0c,0x05,0x09,0x05,0x61 ,0x8f,0x00,0x0c,0x05,0x05,0x09,0x09,0x05,0x05,0x05,0x05,0x09,0x05,0x09 ,0x09,0x09,0x09,0x00,0x8f,0x8f,0x00,0x05,0x03,0x0c,0x03,0x09,0x05,0x0c ,0x03,0x09,0x05,0x61,0x00,0x0c,0x09,0x00,0x00,0x00,0x00,0x00,0x09,0x05 ,0x05,0x05,0x05,0x05,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x00,0x05,0x03,0x09 ,0x05,0x09,0x05,0x0c,0x05,0x09,0x05,0x61,0x00,0x0f,0x00,0x8f,0x8f,0x8f ,0x8f,0x8f,0x00,0x09,0x05,0x05,0x05,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f ,0x00,0x00,0x03,0x0c,0x03,0x09,0x03,0x09,0x05,0x05,0x05,0x61,0x8f,0x00 ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x09,0x05,0x00,0x00,0x0c,0x0c ,0x00,0x8f,0x8f,0x8f,0x00,0x09,0x03,0x0c,0x05,0x09,0x03,0x0c,0x03,0x05 ,0x05,0x61,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x8f,0x00,0x09,0x03 ,0x00,0x0c,0x09,0x00,0x00,0x8f,0x8f,0x8f,0x00,0x05,0x61,0x0c,0x03,0x05 ,0x03,0x09,0x05,0x09,0x05,0x61,0x8f,0x00,0x8f,0x8f,0x00,0x09,0x0c,0x09 ,0x00,0x8f,0x00,0x03,0x0c,0x09,0x0c,0x00,0x0c,0x00,0x8f,0x00,0x09,0x09 ,0x03,0x09,0x05,0x09,0x03,0x0c,0x05,0x09,0x05,0x61,0x00,0x0f,0x00,0x00 ,0x0c,0x00,0x00,0x09,0x09,0x00,0x05,0x05,0x09,0x00,0x00,0x0c,0x09,0x09 ,0x00,0x09,0x00,0x00,0x03,0x0c,0x03,0x09,0x03,0x0c,0x05,0x05,0x05,0x61 ,0x8f,0x00,0x0c,0x0c,0x00,0x8f,0x8f,0x00,0x09,0x00,0x03,0x09,0x05,0x09 ,0x09,0x09,0x00,0x00,0x09,0x00,0x00,0x05,0x03,0x09,0x03,0x05,0x61,0x0c ,0x03,0x09,0x05,0x61,0x8f,0x8f,0x00,0x00,0x8f,0x8f,0x8f,0x00,0x09,0x05 ,0x09,0x05,0x05,0x09,0x09,0x00,0x8f,0x8f,0x00,0x8f,0x00,0x05,0x03,0x09 ,0x05,0x05,0x61,0x09,0x03,0x05,0x05,0x61,0x8f,0x8f,0x00,0x00,0x8f,0x8f ,0x8f,0x00,0x09,0x05,0x09,0x05,0x05,0x05,0x09,0x00,0x8f,0x8f,0x00,0x8f ,0x00,0x05,0x61,0x09,0x03,0x09,0x61,0x09,0x03,0x05,0x05,0x61,0x8f,0x00 ,0x09,0x09,0x00,0x8f,0x8f,0x00,0x05,0x00,0x03,0x09,0x05,0x05,0x05,0x09 ,0x00,0x00,0x09,0x00,0x00,0x03,0x61,0x0c,0x03,0x05,0x61,0x0c,0x03,0x05 ,0x05,0x61,0x00,0x09,0x00,0x00,0x09,0x00,0x00,0x05,0x09,0x00,0x05,0x05 ,0x09,0x00,0x00,0x09,0x09,0x09,0x00,0x09,0x00,0x00,0x61,0x09,0x03,0x05 ,0x61,0x09,0x05,0x05,0x05,0x61,0x8f,0x00,0x8f,0x8f,0x00,0x05,0x09,0x05 ,0x00,0x8f,0x00,0x03,0x09,0x09,0x09,0x00,0x09,0x00,0x8f,0x00,0x09,0x09 ,0x61,0x09,0x03,0x05,0x61,0x09,0x03,0x09,0x05,0x61,0x8f,0x8f,0x8f,0x8f ,0x8f,0x00,0x00,0x00,0x8f,0x00,0x09,0x61,0x00,0x09,0x05,0x00,0x00,0x8f ,0x8f,0x8f,0x00,0x05,0x03,0x09,0x05,0x05,0x61,0x09,0x05,0x05,0x05,0x61 ,0x8f,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x09,0x61,0x00,0x00 ,0x09,0x09,0x00,0x8f,0x8f,0x8f,0x00,0x09,0x61,0x09,0x03,0x05,0x61,0x05 ,0x03,0x05,0x05,0x61,0x00,0x09,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x09 ,0x61,0x61,0x03,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x61,0x05 ,0x05,0x05,0x61,0x09,0x03,0x05,0x05,0x61,0x00,0x09,0x09,0x00,0x00,0x00 ,0x00,0x00,0x09,0x61,0x61,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x8f,0x8f ,0x00,0x61,0x61,0x09,0x03,0x05,0x61,0x05,0x03,0x05,0x05,0x61,0x8f,0x00 ,0x09,0x61,0x03,0x05,0x05,0x05,0x03,0x03,0x05,0x03,0x05,0x05,0x05,0x05 ,0x05,0x00,0x00,0x8f,0x00,0x03,0x61,0x05,0x03,0x05,0x61,0x05,0x05,0x05 ,0x05,0x61,0x8f,0x8f,0x00,0x09,0x61,0x03,0x03,0x03,0x03,0x03,0x03,0x03 ,0x03,0x03,0x03,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x00,0x03,0x09,0x05,0x05 ,0x61,0x09,0x03,0x05,0x05,0x61,0x8f,0x8f,0x8f,0x00,0x09,0x09,0x61,0x03 ,0x03,0x05,0x03,0x03,0x03,0x03,0x05,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f ,0x00,0x05,0x05,0x05,0x61,0x05,0x03,0x05,0x05,0x61,0x8f,0x8f,0x8f,0x8f ,0x00,0x00,0x09,0x09,0x03,0x03,0x03,0x05,0x03,0x05,0x03,0x00,0x00,0x00 ,0x00,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x61,0x61,0x09,0x05,0x05,0x05,0x61 ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x09,0x09,0x03,0x03,0x05,0x03 ,0x05,0x03,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x03,0x05 ,0x05,0x05,0x05,0x61,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00 ,0x09,0x09,0x09,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x8f,0x8f ,0x8f,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09 ,0x09,0x09,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00 ,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char spriteNPC[] = { 32, 32 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x0e,0x0e ,0x0e,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x9d,0x00,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x00,0x0e,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x9d,0x9d,0x9d ,0x97,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x00,0x05,0x09,0x07,0x03,0x97,0x97,0x97,0x9d,0x9d ,0x9d,0x97,0x94,0x94,0x94,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x8f,0x00,0x07,0x03,0x03,0x03,0x93,0x93 ,0x93,0x93,0x94,0x94,0x94,0x94,0x94,0x94,0x94,0x00,0x8f,0x8f,0x00,0x00 ,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x9e,0x00,0x07,0x03,0x07 ,0x03,0x02,0x93,0x92,0x92,0x93,0x94,0x94,0x94,0x93,0x93,0x93,0x93,0x00 ,0x00,0x8f,0x00,0x2f,0x0c,0x00,0x8f,0x00,0x8f,0x8f,0x8f,0x00,0x9a,0x9a ,0xaf,0x03,0x03,0x03,0x02,0x92,0x92,0x93,0x93,0x93,0x93,0x93,0x93,0x92 ,0x92,0x92,0x92,0x05,0x05,0x00,0x8f,0x00,0x2f,0x09,0x00,0x0c,0x00,0x8f ,0x00,0x97,0x97,0x9a,0x9a,0xaf,0x02,0x02,0x93,0x93,0x01,0x01,0x01,0x92 ,0x92,0x92,0x92,0x92,0x92,0x92,0x05,0x09,0x05,0x00,0x8f,0x8f,0x00,0xaf ,0x07,0x09,0x00,0x00,0x9d,0x9d,0x97,0x97,0x9a,0x9e,0x01,0x92,0x02,0x01 ,0x03,0x01,0x05,0x01,0x03,0x02,0x02,0x02,0x92,0x92,0x03,0x0d,0x03,0x00 ,0x8f,0x8f,0x8f,0x00,0xaf,0x03,0x00,0x93,0x97,0x9a,0x9d,0x03,0x03,0x03 ,0x03,0x01,0x9e,0x02,0x05,0x03,0x08,0x01,0xaf,0xaf,0x9e,0x08,0x08,0x03 ,0x0d,0x09,0x03,0x00,0x8f,0x8f,0x00,0x0e,0x09,0x00,0x07,0x05,0x93,0x03 ,0x03,0x03,0x06,0x09,0x03,0x06,0xaf,0x01,0x08,0x02,0x08,0x03,0x02,0x99 ,0x9e,0x06,0x05,0x05,0x03,0x05,0x01,0x00,0x8f,0x00,0x0c,0x0f,0x2f,0x00 ,0x2f,0x2f,0xaf,0x03,0x06,0x09,0x0e,0x0c,0x05,0x2f,0x99,0xaf,0x01,0x08 ,0x02,0x05,0x02,0x01,0x03,0x05,0x05,0x04,0x03,0x01,0x00,0x00,0x00,0xaf ,0xaf,0xaf,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x09,0x09,0x05,0x05,0x2f ,0x99,0xaf,0x01,0x08,0x02,0x05,0x01,0x93,0x01,0x01,0x03,0x01,0x01,0x92 ,0x00,0x00,0x8f,0x00,0x05,0x07,0xaf,0x00,0xaf,0x9e,0x9e,0x03,0x06,0x05 ,0x06,0x09,0x05,0xaf,0x99,0x9e,0x01,0x08,0x02,0x05,0x01,0x92,0x92,0x92 ,0x92,0x93,0x93,0x93,0x00,0x00,0x8f,0x8f,0x00,0x05,0x07,0x00,0x05,0x05 ,0x93,0x9d,0x03,0x03,0x03,0x03,0x05,0x06,0x9e,0x02,0x01,0x08,0x02,0x05 ,0x02,0x02,0x92,0x92,0x92,0x92,0x92,0x92,0x00,0x8f,0x8f,0x8f,0x8f,0x00 ,0x9e,0x03,0x00,0x93,0x97,0x9d,0x97,0x9a,0x9e,0x03,0x03,0x03,0x9e,0x01 ,0x08,0x02,0x05,0x03,0x02,0xaf,0x9e,0x06,0x02,0x02,0x92,0x92,0x00,0x8f ,0x8f,0x8f,0x00,0x99,0x05,0x07,0x00,0x97,0x9d,0x97,0x97,0x9a,0x97,0xaf ,0x01,0x01,0x01,0x02,0x05,0x03,0x01,0x02,0x9e,0x2f,0xaf,0x05,0x05,0x08 ,0x03,0x05,0x00,0x00,0x8f,0x00,0x99,0x07,0x00,0x07,0x00,0x9d,0x97,0x97 ,0x9a,0x9a,0x9a,0xaf,0x05,0x05,0x93,0x05,0x0e,0x09,0x02,0x02,0x02,0x9e ,0x05,0x04,0x04,0x03,0x08,0x0d,0x05,0x00,0x00,0x9e,0x07,0x00,0x8f,0x00 ,0x8f,0x00,0x00,0x97,0x9d,0x9a,0x9a,0x2f,0x02,0x03,0x05,0x0e,0x09,0x07 ,0x93,0x93,0x93,0x92,0x01,0x01,0x02,0x02,0x02,0x08,0x03,0x00,0x00,0x00 ,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x9d,0x2f,0x9d,0x9d,0x9a ,0x03,0x02,0x02,0x94,0x94,0x94,0x94,0x93,0x92,0x92,0x92,0x01,0x01,0x03 ,0x03,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00 ,0xaf,0x97,0x97,0x9d,0x9d,0x9d,0x9d,0x9a,0x94,0x94,0x94,0x94,0x94,0x94 ,0x92,0x92,0x92,0x93,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x9a,0x9d,0x9d,0x9d ,0x9d,0x9a,0x9a,0x94,0x94,0x93,0x93,0x93,0x00,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x00,0x00,0x00,0x00,0x00,0x00,0x9a,0x9a,0x9a,0x9a,0x9a,0x9a,0x00,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x00 ,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char spriteTree[] = { 32, 32 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x3c,0x3c,0xc5,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x3c,0x3c ,0x3c,0xc5,0x8f,0x38,0xba,0xba,0xc5,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x43,0x3c,0x3c,0xc5,0xc5,0x43,0x3c,0xba,0xba,0x43,0x43,0x8f,0x43 ,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x3c,0x3c,0xba,0xc5,0x43,0x3c,0x3c,0xc5,0xc5,0x3c,0x3c,0xba,0xba ,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x3c,0x3c,0x3c,0xc5,0x43,0x3c,0x3c,0xba,0x3c ,0x3c,0x3c,0x43,0x43,0x43,0xc5,0xc5,0x43,0xc5,0xc5,0xc5,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x3c,0xba,0x3c,0x43,0xc5 ,0xba,0x3c,0xc5,0xc5,0xc5,0x3c,0xc5,0x43,0x43,0xc5,0xc5,0xc5,0xc5,0xc5 ,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x16,0x8f,0x8f,0xba,0x3c ,0xba,0xba,0xc5,0xc5,0x3c,0x3c,0x3c,0xba,0x3c,0x3c,0xc5,0x43,0x43,0x43 ,0xc5,0x43,0x43,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x16,0x73 ,0x8f,0x8f,0xba,0x3c,0x3c,0xba,0xba,0x3c,0x3c,0x3c,0x3c,0xba,0x3c,0x3c ,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0xc5,0xc5,0x43,0x8f,0x8f ,0x8f,0x8f,0x1a,0x73,0x8f,0x8f,0xc5,0xba,0x3c,0xba,0xba,0x3c,0x3c,0x3c ,0xba,0xba,0x3c,0x3c,0x43,0x43,0xc5,0xc5,0x3c,0x43,0x43,0x43,0xc5,0xc5 ,0xc5,0x43,0x8f,0x8f,0x8f,0x8f,0x1a,0x73,0x8f,0x8f,0x43,0xc5,0xba,0xba ,0xba,0x3c,0x3c,0xba,0xba,0x3c,0x3c,0x43,0x43,0x43,0xc5,0xba,0xba,0xc5 ,0x43,0xc5,0xc5,0xc5,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x16,0x73,0x8f,0x3c ,0x43,0x43,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0x43,0x43,0x43 ,0xc5,0xba,0xba,0xc5,0x43,0x43,0x43,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x1a ,0x16,0x73,0x3c,0x3c,0x43,0xc5,0xba,0xba,0xba,0xba,0xba,0xba,0xba,0x3c ,0x3c,0x43,0x43,0xc5,0xc5,0xc5,0xba,0x43,0x43,0x43,0x43,0x43,0x43,0x8f ,0x8f,0x8f,0x1a,0x1a,0x16,0x73,0x3c,0x3c,0x3c,0xba,0xba,0x3c,0x3c,0xc5 ,0xc5,0xba,0x3c,0x3c,0x3c,0xba,0x43,0x43,0xc5,0xc5,0xba,0x43,0x43,0x43 ,0x43,0x43,0x43,0x43,0x8f,0x8f,0x1a,0x16,0x73,0x16,0x3c,0x3c,0xba,0xba ,0xba,0xba,0x3c,0x3c,0xc5,0xc5,0x3c,0x3c,0xba,0xba,0x43,0x43,0x43,0x43 ,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0x73,0x1a,0x16,0x16,0x1a,0x16 ,0x8f,0x3c,0xc5,0xc5,0xba,0x3c,0x3c,0x3c,0xc5,0xc5,0xc5,0xba,0xba,0xba ,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0xba,0xba,0x43,0x43,0x73,0x16 ,0x16,0x1a,0x1a,0x16,0x3c,0x3c,0x3c,0xc5,0xc5,0xba,0x3c,0x3c,0xc5,0xc5 ,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0xc5,0xba ,0xba,0xba,0x43,0x73,0x73,0x73,0x73,0x1a,0x43,0x3c,0x3c,0xc5,0xc5,0xba ,0xba,0xba,0xc5,0xc5,0xc5,0xc5,0xba,0x3c,0xba,0xc5,0x43,0x43,0x43,0x43 ,0x43,0xc5,0xba,0xba,0xba,0xba,0xba,0x73,0x16,0x1a,0x1a,0x1a,0xc5,0x3c ,0x3c,0x3c,0xc5,0xba,0xba,0xc5,0xc5,0xc5,0xc5,0xc5,0xba,0xba,0x3c,0xc5 ,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xba,0xba,0xba,0x73,0x73,0x16,0x16 ,0x16,0x73,0xc5,0x3c,0x3c,0xba,0xba,0xba,0xba,0xc5,0xc5,0xc5,0xc5,0xc5 ,0xba,0x3c,0x3c,0x43,0x43,0x43,0x43,0x43,0x43,0x43,0xc5,0xc5,0x43,0x43 ,0x73,0x73,0x73,0x73,0x73,0x73,0x8f,0xba,0xba,0xba,0xba,0xba,0x3c,0xc5 ,0xc5,0xc5,0xc5,0xba,0x3c,0xba,0x43,0x43,0x43,0x43,0xba,0xba,0x43,0xc5 ,0xc5,0xba,0x43,0x73,0x73,0x73,0x73,0x73,0x73,0x73,0x8f,0xba,0xc5,0xba ,0xba,0xba,0x3c,0x3c,0xba,0xba,0xc5,0x3c,0x3c,0x3c,0x43,0x43,0xc5,0xc5 ,0xba,0xc5,0xc5,0xc5,0xba,0xba,0xba,0x43,0x43,0x16,0x73,0x73,0x73,0x73 ,0x8f,0x8f,0x43,0xba,0xba,0xba,0xba,0x3c,0x3c,0xba,0xc5,0xba,0x3c,0x3c ,0xba,0x43,0x43,0xc5,0x3c,0x43,0xc5,0xc5,0xba,0xba,0xba,0x43,0x43,0x8f ,0x16,0x73,0x73,0x73,0x8f,0x8f,0xc5,0xba,0xba,0x3c,0x3c,0x3c,0x3c,0xba ,0xc5,0xc5,0xba,0xba,0xba,0x43,0x43,0x43,0xba,0x43,0x43,0xc5,0xc5,0xc5 ,0x43,0x43,0x8f,0x8f,0x8f,0x16,0x73,0x73,0x8f,0x8f,0xba,0x3c,0xba,0x3c ,0xba,0x3c,0x3c,0xc5,0x43,0x43,0x43,0x43,0xba,0x43,0x43,0x43,0xc5,0x43 ,0x43,0x43,0xc5,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x16,0x16,0x73,0x8f,0x8f ,0xba,0x3c,0x3c,0x3c,0x43,0x43,0x43,0x43,0xc5,0xc5,0x43,0x43,0x43,0x43 ,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x43,0x8f,0x8f,0x8f,0x8f ,0x16,0x73,0x8f,0x8f,0x43,0x43,0x3c,0x3c,0xba,0x43,0x43,0x43,0x43,0xc5 ,0xc5,0x43,0x43,0xc5,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x43 ,0x8f,0x8f,0x8f,0x8f,0x16,0x73,0x8f,0x8f,0x8f,0x43,0xba,0xba,0xba,0x43 ,0x43,0x43,0xc5,0xc5,0xc5,0x43,0xc5,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43 ,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x16,0x73,0x8f,0x8f,0x8f,0x8f ,0xba,0xba,0xba,0x43,0xc5,0x43,0x43,0x43,0x43,0xba,0xc5,0xc5,0xba,0xba ,0x43,0xc5,0x43,0x43,0x43,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x73 ,0x8f,0x8f,0x8f,0x8f,0x43,0xba,0xba,0x43,0xba,0xba,0x43,0xc5,0xba,0xba ,0xc5,0xc5,0xba,0xba,0xba,0xc5,0x43,0x43,0x43,0x43,0x43,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x43,0x43,0xc5,0xc5,0xba,0xba ,0x43,0xba,0xba,0xba,0xc5,0xc5,0xc5,0x43,0x43,0x43,0x43,0x43,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x43 ,0xc5,0x43,0xba,0xba,0x43,0x43,0xba,0xba,0x43,0x43,0x43,0x43,0x43,0x43 ,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0xba,0xba,0xc5,0xc5,0x43,0x37,0x37,0x43,0x43 ,0x43,0x43,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char spriteGrass[] = { 24, 24 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0xc5,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x8f,0xc5,0x29,0x2b,0x2b ,0x2b,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0xc5,0x2b,0xc5,0x29,0x2b,0x2e,0x2e,0x2e,0x2b,0x74,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b ,0x2b,0xc5,0x29,0x2e,0x2e,0x2b,0x74,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x2e,0xc5,0x29,0x29 ,0x29,0x74,0x03,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x2e,0xc5,0x27,0x29,0xc5,0xc5,0x2b,0x2b ,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0xc5,0x2b,0x29,0xc5,0xc5,0xc5,0x27,0x2b,0x0f,0x1e,0x2e,0x2e,0x74,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x29,0x29,0xc5 ,0xc5,0x27,0x29,0x2e,0x1e,0x2b,0x2b,0x2b,0x2b,0x74,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0xc5,0x2b,0x03,0xc5,0x29,0x29 ,0x29,0x27,0x27,0xc5,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x27,0xc5,0x2e,0x2b,0x03,0xc5,0xc5,0xc5,0xc5,0x74,0x74 ,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x29 ,0xc5,0x1e,0x2b,0x27,0x03,0xc5,0x29,0x2b,0x2b,0x2b,0x2b,0x74,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x29,0xc5,0x2b,0x1e,0x2b ,0x03,0x27,0x29,0x1e,0x1e,0x2e,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0xc5,0x2b,0x2e,0x2e,0x27,0xc5,0x2b,0x2b,0x27,0x27,0x29,0x2e ,0x2e,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b ,0x2e,0x2b,0x27,0x37,0xc5,0x29,0x29,0xc5,0xc5,0xc5,0x74,0x74,0x74,0x74 ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x2b,0x37,0x29,0x2a ,0x03,0xc5,0xc5,0x29,0x29,0x2b,0x2b,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0xc5,0xc5,0x29,0x2c,0x2a,0x03,0xc5,0x29 ,0x2e,0x1e,0x2e,0x2e,0x2b,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0xc5,0x2b,0x2d,0x2a,0x27,0x03,0x29,0x2e,0x1e,0x2b,0x2e ,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b ,0x2e,0x2a,0x2d,0x2b,0x03,0x27,0x27,0x27,0x2b,0x74,0x74,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x2e,0x27,0xc5,0x29 ,0x2e,0x2e,0x2b,0x29,0x03,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0xc5,0x2e,0x1e,0x74,0x74,0x29,0x2b,0x2e,0x1e,0x2e ,0x29,0x03,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0xc5,0x2e,0x1e,0x74,0x8f,0xc5,0x29,0x2b,0x2e,0x2e,0x2e,0x29,0x03,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x2e,0x74 ,0x8f,0x8f,0xc5,0xc5,0x2b,0x2b,0x2b,0x2b,0x74,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc5,0x2b,0x74,0x8f,0x8f,0x8f,0x8f ,0xc5,0x74,0x74,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0xc5,0x74,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char spriteBarrel[] = { 32, 32 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x16,0x16,0x16,0x16,0x07,0x07,0x04,0x04,0x95,0x16,0x18 ,0x94,0x94,0x94,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x16,0x16,0x16,0x16,0x19,0x19,0x19,0x19,0x19,0x19,0x07 ,0x04,0x95,0x95,0x16,0x15,0x15,0x94,0x94,0x94,0x02,0x02,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x07,0x04,0x18,0x19,0x19,0x19,0x19,0x19 ,0x19,0x19,0x19,0x18,0x07,0x04,0x95,0x16,0x18,0x18,0x16,0x14,0x95,0x14 ,0x04,0x04,0x02,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x04,0x95,0x09,0x04,0x18 ,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x07,0x07,0x04,0x95,0x18,0x18 ,0x18,0x15,0x15,0x95,0x04,0x04,0x04,0x02,0x8f,0x8f,0x8f,0x8f,0x8f,0x04 ,0x95,0x09,0x04,0x18,0x16,0x16,0x16,0x15,0x15,0x15,0x15,0x15,0x15,0x09 ,0x04,0x95,0x15,0x15,0x18,0x16,0x15,0x15,0x04,0x04,0x04,0x04,0x8f,0x8f ,0x8f,0x8f,0x8f,0x04,0x95,0x09,0x04,0x15,0x15,0x15,0x15,0x15,0x95,0x15 ,0x95,0x95,0x95,0x07,0x07,0x04,0x95,0x95,0x15,0x16,0x15,0x15,0x95,0x04 ,0x04,0x04,0x02,0x8f,0x8f,0x8f,0x8f,0x04,0x95,0x07,0x04,0x95,0x95,0x95 ,0x95,0x19,0x19,0x19,0x19,0x19,0x19,0x18,0x09,0x04,0x16,0x16,0x16,0x15 ,0x15,0x95,0x95,0x94,0x04,0x04,0x02,0x8f,0x8f,0x8f,0x04,0x05,0x95,0x05 ,0x07,0x95,0x15,0x16,0x16,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x09,0x04 ,0x16,0x16,0x18,0x18,0x16,0x16,0x15,0x94,0x04,0x04,0x02,0x8f,0x8f,0x8f ,0x04,0x05,0x95,0x95,0x07,0x04,0x15,0x16,0x16,0x18,0x18,0x19,0x19,0x19 ,0x19,0x19,0x09,0x05,0x04,0x16,0x18,0x18,0x16,0x15,0x15,0x95,0x94,0x04 ,0x04,0x02,0x8f,0x8f,0x04,0x15,0x16,0x95,0x09,0x04,0x95,0x16,0x16,0x16 ,0x16,0x16,0x16,0x16,0x16,0x16,0x15,0x05,0x04,0x16,0x16,0x16,0x16,0x15 ,0x15,0x95,0x95,0x94,0x04,0x02,0x8f,0x8f,0x04,0x15,0x16,0x95,0x09,0x04 ,0x95,0x15,0x15,0x15,0x15,0x15,0x15,0x95,0x95,0x95,0x95,0x07,0x04,0x95 ,0x95,0x16,0x15,0x15,0x15,0x95,0x95,0x94,0x04,0x02,0x8f,0x8f,0x04,0x15 ,0x16,0x95,0x09,0x04,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95 ,0x95,0x09,0x04,0x15,0x15,0x15,0x95,0x95,0x95,0x95,0x94,0x94,0x04,0x02 ,0x8f,0x8f,0x04,0x15,0x16,0x95,0x09,0x04,0x95,0x15,0x19,0x19,0x19,0x19 ,0x19,0x19,0x19,0x19,0x18,0x09,0x04,0x18,0x18,0x18,0x16,0x15,0x15,0x15 ,0x95,0x94,0x04,0x02,0x8f,0x8f,0x04,0x15,0x16,0x95,0x09,0x04,0x95,0x15 ,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x09,0x04,0x18,0x18,0x16 ,0x16,0x15,0x15,0x95,0x95,0x94,0x04,0x02,0x8f,0x8f,0x04,0x15,0x16,0x95 ,0x09,0x04,0x95,0x15,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x19,0x09 ,0x04,0x18,0x16,0x16,0x15,0x15,0x95,0x95,0x95,0x94,0x04,0x02,0x8f,0x8f ,0x04,0x15,0x16,0x95,0x09,0x04,0x95,0x15,0x19,0x19,0x19,0x19,0x19,0x19 ,0x19,0x19,0x19,0x09,0x04,0x18,0x16,0x16,0x15,0x15,0x95,0x95,0x95,0x94 ,0x04,0x02,0x8f,0x8f,0x04,0x15,0x16,0x94,0x09,0x04,0x95,0x15,0x19,0x18 ,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x09,0x04,0x16,0x16,0x15,0x15,0x95 ,0x95,0x95,0x94,0x94,0x04,0x02,0x8f,0x8f,0x04,0x15,0x16,0x05,0x09,0x04 ,0x95,0x95,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x95,0x09,0x04,0x95 ,0x95,0x95,0x95,0x95,0x95,0x94,0x94,0x94,0x04,0x02,0x8f,0x8f,0x04,0x15 ,0x16,0x05,0x07,0x04,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95 ,0x95,0x07,0x04,0x95,0x95,0x95,0x95,0x15,0x95,0x95,0x94,0x94,0x04,0x02 ,0x8f,0x8f,0x04,0x05,0x16,0x95,0x07,0x04,0x95,0x95,0x16,0x18,0x18,0x18 ,0x18,0x18,0x18,0x18,0x18,0x09,0x04,0x16,0x16,0x15,0x15,0x15,0x95,0x95 ,0x94,0x94,0x04,0x02,0x8f,0x8f,0x04,0x05,0x16,0x05,0x07,0x95,0x16,0x16 ,0x16,0x16,0x16,0x16,0x16,0x16,0x18,0x18,0x07,0x07,0x95,0x15,0x15,0x15 ,0x15,0x95,0x95,0x94,0x94,0x94,0x02,0x8f,0x8f,0x8f,0x8f,0x04,0x16,0x07 ,0x04,0x95,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x05,0x04 ,0x15,0x15,0x15,0x15,0x15,0x95,0x94,0x94,0x94,0x94,0x02,0x8f,0x8f,0x8f ,0x8f,0x04,0x16,0x09,0x04,0x95,0x95,0x95,0x16,0x16,0x16,0x16,0x16,0x16 ,0x16,0x15,0x05,0x04,0x15,0x15,0x15,0x95,0x95,0x94,0x94,0x94,0x94,0x94 ,0x02,0x8f,0x8f,0x8f,0x8f,0x04,0x95,0x09,0x04,0x95,0x95,0x95,0x95,0x95 ,0x95,0x95,0x95,0x95,0x95,0x05,0x05,0x94,0x95,0x95,0x95,0x95,0x94,0x94 ,0x94,0x94,0x94,0x02,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x95,0x04,0x14,0x95 ,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x95,0x05,0x04,0x95,0x95,0x95 ,0x95,0x95,0x94,0x94,0x94,0x94,0x04,0x02,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x04,0x14,0x95,0x16,0x15,0x15,0x15,0x95,0x95,0x95,0x95,0x95,0x05,0x05 ,0x94,0x95,0x15,0x15,0x94,0x94,0x94,0x94,0x04,0x04,0x02,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x95,0x95,0x95,0x95,0x16,0x16,0x15,0x15,0x15 ,0x15,0x05,0x05,0x04,0x95,0x15,0x95,0x95,0x94,0x94,0x94,0x02,0x02,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x95 ,0x95,0x95,0x95,0x95,0x95,0x04,0x04,0x95,0x95,0x95,0x94,0x94,0x94,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char spriteTorch1[] = { 32, 32 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x04,0x04,0x05,0x04,0x8f,0x8f,0x8f,0x8f,0x03 ,0x03,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x88,0x8f,0x8f,0x99,0x99,0x9c,0x99,0x88,0x99,0x05,0x05 ,0x04,0x04,0x8f,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x88,0x8f,0x8f,0x88,0x99,0x88,0x99,0x9c,0x99 ,0x1d,0x05,0x05,0x08,0x08,0x05,0x04,0x03,0x03,0x03,0x03,0x03,0x00,0x00 ,0x00,0x00,0x00,0x8f,0x8f,0x88,0x9c,0x8f,0x8f,0x8f,0x88,0x99,0x1d,0x1d ,0x9c,0x9c,0x99,0x1d,0x1f,0x1f,0x05,0x05,0x05,0x05,0x05,0x04,0x03,0x04 ,0x03,0x04,0x03,0x03,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x9c,0x99,0x9c,0x9c ,0x88,0x9c,0x9c,0x99,0x99,0x1d,0x1d,0x1f,0x1f,0x05,0x05,0x08,0x08,0x08 ,0x05,0x05,0x04,0x05,0x04,0x05,0x04,0x03,0x00,0x00,0x00,0x00,0x8f,0x8f ,0x8f,0x9c,0x88,0x88,0x9c,0x99,0x99,0x88,0x9c,0x99,0x9c,0x1d,0x1f,0x1f ,0x05,0x05,0x05,0x05,0x05,0x04,0x03,0x04,0x03,0x04,0x03,0x03,0x00,0x00 ,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x88,0x99,0x9c ,0x9c,0x9c,0x1d,0x05,0x05,0x08,0x08,0x05,0x04,0x03,0x03,0x03,0x03,0x03 ,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x88,0x99,0x9c,0x99,0x88,0x99,0x05,0x05,0x05,0x04,0x8f,0x03 ,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x04,0x04,0x04,0x04,0x8f ,0x8f,0x8f,0x8f,0x03,0x03,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char spriteTorch2[] = { 32, 32 // width, height ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x04,0x04,0x05,0x04,0x8f,0x8f,0x8f,0x8f,0x03 ,0x03,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x88,0x88,0x88,0x8f,0x8f,0x8f,0x99,0x9c,0x99,0x88,0x99,0x05,0x05 ,0x04,0x04,0x8f,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x88,0x99,0x9c,0x99,0x88,0x99,0x88,0x99,0x99,0x9c ,0x99,0x05,0x05,0x08,0x08,0x05,0x04,0x03,0x03,0x03,0x03,0x03,0x00,0x00 ,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x88,0x99,0x9c,0x1d,0x9c,0x99,0x9c ,0x9c,0x1d,0x1d,0x1d,0x1d,0x1f,0x05,0x05,0x05,0x05,0x05,0x04,0x03,0x04 ,0x03,0x04,0x03,0x03,0x00,0x00,0x00,0x8f,0x8f,0x88,0x8f,0x9c,0x88,0x88 ,0x99,0x1d,0x9c,0x9c,0x9c,0x9c,0x1d,0x1d,0x1f,0x05,0x05,0x08,0x08,0x08 ,0x05,0x05,0x04,0x05,0x04,0x05,0x04,0x03,0x00,0x00,0x00,0x00,0x8f,0x8f ,0x88,0x88,0x8f,0x88,0x88,0x99,0x88,0x99,0x88,0x9c,0x1d,0x9c,0x1d,0x1f ,0x05,0x05,0x05,0x05,0x05,0x04,0x03,0x04,0x03,0x04,0x03,0x03,0x00,0x00 ,0x00,0x00,0x8f,0x8f,0x8f,0x88,0x8f,0x8f,0x8f,0x88,0x99,0x88,0x99,0x99 ,0x99,0x9c,0x99,0x05,0x05,0x08,0x08,0x05,0x04,0x03,0x03,0x03,0x03,0x03 ,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x88,0x8f,0x8f,0x8f,0x88,0x8f ,0x8f,0x88,0x88,0x99,0x9c,0x99,0x88,0x99,0x05,0x05,0x05,0x04,0x8f,0x03 ,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x04,0x04,0x04,0x04,0x8f ,0x8f,0x8f,0x8f,0x03,0x03,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f ,0x8f,0x8f }; const unsigned char *textures[] = {texture1, texture2, texture3, texture4, texture5}; #define withinMapReturn(what,whatElse)\ if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES)\ {\ int16_t index = (LEVEL_Y_RES - y - 1) * LEVEL_X_RES + x;\ return (what);\ }\ else\ return (whatElse); RCL_Unit textureAt(int16_t x, int16_t y) { withinMapReturn(levelTexture[index],0) } RCL_Unit floorHeightAt(int16_t x, int16_t y) { if (x == 6 && (y == 13 || y == 14)) // moving lift return ((RCL_absVal(-1 * (pokitto.frameCount % 64) + 32)) * (RCL_UNITS_PER_SQUARE / 8)); withinMapReturn(levelFloor[index] * (RCL_UNITS_PER_SQUARE / 8),0) } RCL_Unit ceilingHeightAt(int16_t x, int16_t y) { withinMapReturn(levelCeiling[index] * RCL_UNITS_PER_SQUARE / 8, 127 * RCL_UNITS_PER_SQUARE / 8) } #undef withinMapReturn inline int16_t distanceToIntensity(RCL_Unit distance) { return 8 - distance / (RCL_UNITS_PER_SQUARE / 2); } /** Function for drawing a single pixel (like a fragment shader in OpenGL). Bottleneck => should be as fast as possible. */ inline void pixelFunc(RCL_PixelInfo *pixel) { int16_t intensity; if (pixel->position.y == MIDDLE_ROW) zBuffer[pixel->position.x] = pixel->depth; uint8_t color; intensity = distanceToIntensity(pixel->depth); if (pixel->isWall) { if ((pixel->hit.direction == 0 || pixel->hit.direction == 2)) intensity -= 2; #if RCL_COMPUTE_WALL_TEXCOORDS == 1 color = sampleImage(textures[pixel->hit.type],pixel->texCoords.x,pixel->texCoords.y); #else color = textures[pixel->hit.type][2]; #endif color = addIntensity(color,intensity); } else { color = !pixel->isFloor ? 18 : #if RCL_COMPUTE_FLOOR_TEXCOORDS == 1 (pixel->height == RCL_FLOOR_TEXCOORDS_HEIGHT ? sampleImage(texture5,pixel->texCoords.x / 2,pixel->texCoords.y / 2) : HUE(1)); #else HUE(10); #endif color = addIntensity(color,intensity); } putSubsampledPixel(pixel->position.x,pixel->position.y,color); } void draw() { RCL_renderComplex(player.mCamera,floorHeightAt,ceilingHeightAt,textureAt,defaultConstraints); RCL_Unit previousDepth; // draw sprites for (uint8_t i = 0; i < SPRITES; ++i) { // use Chebyshew distance instead Euclidean, it's faster if (RCL_absVal(sprites[i].mPosition.x - player.mCamera.position.x) > SPRITE_MAX_DISTANCE) continue; if (RCL_absVal(sprites[i].mPosition.y - player.mCamera.position.y) > SPRITE_MAX_DISTANCE) continue; RCL_PixelInfo pos = RCL_mapToScreen(sprites[i].mPosition,sprites[i].mHeight,player.mCamera); if (pos.depth > 0) // is in front of camera? { const unsigned char *image = sprites[i].mImage; if (image == spriteTorch1 && // animate torch (pokitto.frameCount >> 2) % 2 == 0) image = spriteTorch2; drawSpriteSquare(image,pos.position.x * SUBSAMPLE, pos.position.y, pos.depth, RCL_perspectiveScale(sprites[i].mPixelSize,pos.depth),distanceToIntensity(pos.depth)); } /* trick: sort the sprites by distance with bubble sort as we draw - the order will be correct in a few frames */ if (i != 0 && pos.depth > previousDepth) { Sprite tmp = sprites[i]; sprites[i] = sprites[i - 1]; sprites[i - 1] = tmp; } previousDepth = pos.depth; } // uncomment for debugging camera /* pokitto.display.setColor(255); pokitto.display.setCursor(1,1); pokitto.display.print(player.mCamera.position.x); pokitto.display.print(" "); pokitto.display.print(player.mCamera.position.y); pokitto.display.print(" "); pokitto.display.print(player.mCamera.height); pokitto.display.print(" "); pokitto.display.print(player.mCamera.direction); */ } bool runReleased = false; // helper for detecting switching between walk/run int main() { initGeneral(); defaultConstraints.maxHits = 8; defaultConstraints.maxSteps = 15; player.setPositionSquare(12,6); player.mCamera.direction = -1 * RCL_UNITS_PER_SQUARE / 4; #define addSpriteHeightFract(i,f) sprites[i].mHeight += RCL_UNITS_PER_SQUARE / f // place sprites sprites[0] = Sprite(spriteStatue,10,5,1,100); addSpriteHeightFract(0,8); sprites[1] = Sprite(spriteStatue,14,5,1,100); addSpriteHeightFract(1,8); sprites[2] = Sprite(spriteNPC,15,19,1,200); sprites[3] = Sprite(spriteTree,8,2,1,300); addSpriteHeightFract(3,4); sprites[3].mPosition.y -= RCL_UNITS_PER_SQUARE / 2; sprites[4] = Sprite(spriteTree,20,5,1,300); addSpriteHeightFract(4,4); sprites[5] = Sprite(spriteTree,26,18,1,300); addSpriteHeightFract(5,2); sprites[6] = Sprite(spriteTree,16,12,1,300); addSpriteHeightFract(6,4); sprites[7] = Sprite(spriteGrass,27,16,0,100); addSpriteHeightFract(7,8); sprites[8] = Sprite(spriteGrass,6,6,0,150); addSpriteHeightFract(8,8); sprites[9] = Sprite(spriteGrass,8,5,0,120); addSpriteHeightFract(9,8); sprites[10] = Sprite(spriteGrass,17,6,0,150); addSpriteHeightFract(10,8); sprites[11] = Sprite(spriteBarrel,12,16,0,120); addSpriteHeightFract(11,4); sprites[12] = Sprite(spriteBarrel,27,5,0,120); addSpriteHeightFract(12,4); sprites[13] = Sprite(spriteTorch1,11,9,2,120); sprites[13].mPosition.y += RCL_UNITS_PER_SQUARE / 3; sprites[14] = Sprite(spriteTorch1,13,9,2,120); sprites[14].mPosition.y += RCL_UNITS_PER_SQUARE / 3; sprites[15] = Sprite(spriteTorch1,14,19,2,120); sprites[15].mPosition.y += RCL_UNITS_PER_SQUARE / 3; sprites[16] = Sprite(spriteTorch1,1,19,3,120); sprites[16].mPosition.y += RCL_UNITS_PER_SQUARE / 3; #undef addSpriteHeightFract uint32_t previousTime = 0; uint32_t dt; int16_t moveDirection; int16_t shearDirection; int16_t rotationDirection; bool strafe; while (pokitto.isRunning()) { if (pokitto.update()) { draw(); moveDirection = 0; shearDirection = 0; rotationDirection = 0; strafe = false; uint32_t timeNow = pokitto.getTime(); dt = timeNow - previousTime; previousTime = timeNow; if (pokitto.cBtn()) { if (runReleased) { player.mRunning = !player.mRunning; runReleased = false; } } else runReleased = true; strafe = pokitto.aBtn(); if (pokitto.upBtn()) { if (!strafe) moveDirection = 1; else shearDirection = 1; } else if (pokitto.downBtn()) { if (!strafe) moveDirection = -1; else shearDirection = -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,pokitto.bBtn(), shearDirection,floorHeightAt,ceilingHeightAt,true,dt); } } return 0; }