Pokitto-Raycasting/demo1.cpp
2018-10-04 12:59:59 +02:00

1293 lines
76 KiB
C++

/**
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;
}