Pokitto-Raycasting/demo2.cpp
2018-09-11 10:53:47 +02:00

932 lines
53 KiB
C++

/**
Raycasting demo 2 for Pokitto.
This demo shows the simple version (only 1 intersection) of raycasting. Has
a fairly high FPS.
Don't forget to compile with -O3!
author: Miloslav "drummyfish" Ciz
license: CC0 1.0
*/
#define FPS 60
#define HEAD_BOB_HEIGHT 200
#define HEAD_BOB_STEP 20
#define PLAYER_SPEED (5 * UNITS_PER_SQUARE)
#include "general.hpp"
#define LEVEL_X_RES 32
#define LEVEL_Y_RES 16
Player player;
#define SHOT_SPEED 10 * UNITS_PER_SQUARE
#define INFO_BAR_START 70
#define TEXTURE_MAX_DISTANCE (UNITS_PER_SQUARE * 6)
const unsigned char level[] =
{
/* 10 12 14 16 18 20 22 24 26 28 30
0 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 */
4,0,0,4,0,0,4,0,0,4,0,0,2,4,0,4,4,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2, // 0
0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,0,0,0,1,3,2,4,0,4,0,0,0,0,0,0,0,0, // 1
0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0, // 2
0,0,5,0,0,0,0,0,0,0,0,0,2,4,4,0,3,1,1,0,2,1,2,3,0,0,1,0,1,0,0,2, // 3
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,2, // 4
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,3,0,2,2,0,0,0,0,0,0,0,0,0,2, // 5
4,0,3,1,3,1,0,2,2,2,3,2,2,2,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, // 6
0,0,2,0,0,0,0,0,0,5,0,0,0,0,0,0,0,5,0,0,0,0,1,2,0,5,5,0,0,0,0,0, // 7
0,0,1,0,0,0,0,0,0,5,0,0,0,0,0,0,0,2,0,0,0,0,4,0,0,0,5,0,0,2,0,0, // 8
0,0,2,0,0,0,0,0,0,2,3,2,4,0,0,0,2,2,4,1,4,0,4,4,4,3,2,0,0,4,2,2, // 9
0,0,4,4,4,0,0,0,0,0,0,0,0,0,0,3,3,4,0,0,0,0,0,1,0,0,0,0,0,0,0,4, // 10
2,0,0,0,3,0,0,0,0,0,0,0,0,0,3,3,2,4,0,0,0,0,0,1,0,0,4,0,0,3,0,1, // 11
1,3,1,0,4,4,4,2,2,1,2,0,2,2,3,0,0,1,4,0,0,0,3,3,3,5,2,0,0,0,0,2, // 12
0,0,0,0,0,0,0,0,0,4,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1, // 13
0,0,0,3,0,5,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4, // 14
0,0,0,0,0,0,0,0,0,4,0,0,0,0,2,0,0,5,0,0,4,0,0,1,0,3,0,3,0,3,0,1 // 15
};
const unsigned char texture1[] =
{ 32, 36 // width, height
,0x01,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09
,0x0a,0x0a,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x0a,0x12,0x12,0x12
,0x0a,0x0a,0x12,0x0a,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x09,0x01,0x01,0x01,0x12,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x0a,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0a,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a
,0x12,0x09,0x12,0x09,0x12,0x12,0x0a,0x09,0x12,0x09,0x12,0x12,0x12,0x1a
,0x1b,0x1b,0x12,0x12,0x12,0x09,0x09,0x12,0x09,0x09,0x12,0x12,0x09,0x09
,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x0a,0x12,0x00,0x09,0x09,0x09
,0x00,0x09,0x09,0x09,0x09,0x12,0x12,0x1a,0x1b,0x1a,0x12,0x12,0x09,0x09
,0x08,0x09,0x01,0x09,0x09,0x09,0x09,0x0a,0x09,0x09,0x09,0x01,0x01,0x01
,0x12,0x09,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x1b
,0x23,0x2c,0x7e,0x2c,0x23,0x1a,0x11,0x09,0x09,0x09,0x01,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x09,0x00,0x00
,0x12,0x52,0x52,0x52,0x5b,0x09,0x11,0x1b,0x24,0x34,0x7e,0x35,0x24,0x1b
,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01
,0x01,0x01,0x12,0x0a,0x09,0x0a,0x00,0x00,0x12,0x7e,0x53,0x09,0x12,0x09
,0x09,0x1a,0x1b,0x23,0x64,0x63,0x1b,0x1a,0x12,0x09,0x09,0x09,0x01,0x09
,0x09,0x09,0x0a,0x09,0x0a,0x0a,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09
,0x00,0x00,0x52,0x52,0x53,0x09,0x12,0x09,0x09,0x12,0x1b,0x63,0x64,0x63
,0x1b,0x12,0x11,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x00,0x12,0x7e,0x53,0x09
,0x09,0x09,0x12,0x1b,0x2c,0x34,0x7e,0x35,0x2c,0x1b,0x12,0x09,0x09,0x00
,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09
,0x09,0x09,0x00,0x00,0x12,0x53,0x53,0x09,0x12,0x09,0x12,0x1b,0x2c,0x35
,0x7e,0x35,0x2c,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x0a,0x09,0x00,0x00,0x53,0x12
,0x12,0x52,0x53,0x09,0x09,0x1a,0x1b,0x63,0x64,0x63,0x1b,0x12,0x12,0x09
,0x09,0x09,0x09,0x09,0x08,0x09,0x0a,0x0a,0x09,0x09,0x09,0x01,0x01,0x01
,0x12,0x0a,0x09,0x09,0x00,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x12
,0x1b,0x63,0x64,0x63,0x1b,0x1a,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09
,0x0a,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09
,0x09,0x09,0x00,0x09,0x09,0x09,0x12,0x1b,0x2c,0x35,0x7e,0x35,0x2c,0x23
,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01
,0x01,0x01,0x12,0x09,0x0a,0x09,0x00,0x09,0x09,0x09,0x00,0x09,0x09,0x09
,0x12,0x1b,0x2c,0x35,0x7e,0x35,0x2c,0x23,0x12,0x09,0x09,0x09,0x00,0x09
,0x09,0x09,0x09,0x0a,0x09,0x0a,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09
,0x00,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x12,0x1a,0x1b,0x23,0x64,0x63
,0x1b,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x01,0x09
,0x09,0x09,0x09,0x12,0x1b,0x63,0x64,0x63,0x1b,0x12,0x12,0x09,0x09,0x09
,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a
,0x0a,0x0a,0x00,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x12,0x1b,0x2c,0x35
,0x7e,0x35,0x2c,0x1b,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x0a,0x0a
,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09
,0x00,0x09,0x09,0x09,0x12,0x1b,0x24,0x35,0x7e,0x35,0x2c,0x23,0x12,0x09
,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01
,0x12,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x01,0x09,0x00,0x09,0x09,0x1a
,0x1b,0x63,0x64,0x63,0x1b,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x12,0x01,0x09
,0x12,0x52,0x52,0x52,0x5b,0x09,0x12,0x1a,0x1b,0x23,0x64,0x63,0x1b,0x12
,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x01
,0x01,0x01,0x12,0x0a,0x09,0x09,0x09,0x09,0x12,0x7e,0x53,0x09,0x12,0x09
,0x12,0x1b,0x24,0x35,0x7e,0x35,0x2c,0x23,0x12,0x09,0x09,0x09,0x01,0x09
,0x09,0x09,0x0a,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x09
,0x01,0x09,0x52,0x52,0x53,0x09,0x12,0x09,0x12,0x23,0x2c,0x35,0x7e,0x35
,0x2c,0x23,0x12,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x0a,0x09,0x09,0x09
,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x0a,0x01,0x09,0x12,0x7e,0x53,0x09
,0x09,0x09,0x11,0x1a,0x1b,0x63,0x64,0x63,0x1b,0x12,0x09,0x09,0x09,0x09
,0x01,0x09,0x09,0x09,0x0a,0x09,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x12
,0x09,0x0a,0x01,0x09,0x12,0x53,0x53,0x09,0x12,0x09,0x11,0x12,0x1b,0x63
,0x64,0x63,0x1b,0x12,0x09,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x12,0x09
,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x12,0x01,0x09,0x53,0x12
,0x12,0x52,0x53,0x09,0x12,0x1b,0x23,0x34,0x7e,0x2c,0x23,0x1b,0x12,0x09
,0x09,0x09,0x01,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x01,0x01,0x01
,0x12,0x09,0x09,0x0a,0x01,0x09,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x1a
,0x23,0x2c,0x7e,0x2c,0x23,0x1b,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x0a,0x09,0x09,0x01,0x01,0x01,0x12,0x0a,0x09,0x12,0x00,0x09
,0x09,0x09,0x00,0x09,0x09,0x09,0x09,0x12,0x12,0x1a,0x1b,0x1b,0x12,0x12
,0x09,0x09,0x09,0x09,0x01,0x09,0x09,0x09,0x0a,0x09,0x12,0x09,0x09,0x01
,0x01,0x01,0x12,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x12,0x12,0x12,0x1b,0x1b,0x12,0x12,0x12,0x09,0x0a,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x01,0x01,0x01,0x12,0x12,0x09,0x09
,0x0a,0x09,0x09,0x09,0x0a,0x09,0x12,0x09,0x09,0x12,0x12,0x12,0x12,0x12
,0x12,0x12,0x12,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x09
,0x09,0x01,0x01,0x01,0x12,0x09,0x09,0x09,0x12,0x0a,0x0a,0x12,0x12,0x0a
,0x12,0x0a,0x0a,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x0a,0x0a,0x12
,0x0a,0x0a,0x0a,0x0a,0x0a,0x12,0x09,0x09,0x09,0x01,0x01,0x01,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x12,0x09,0x09,0x01
};
const unsigned char texture2[] =
{ 32, 36 // width, height
,0x00,0x09,0x08,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x11,0x09,0x11,0x11
,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x59,0x09,0x09,0x00,0x09,0x08,0x00,0x00,0x09
,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x51,0x51,0x59,0x51
,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59
,0x09,0x09,0x00,0x09,0x08,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0xb2,0x09,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x00,0x09,0x08,0x00
,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xb3,0x19
,0x19,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0xb3,0x09,0x09,0x00,0x09,0x08,0x08,0x00,0x09,0x09,0x11,0x11,0x59
,0x59,0x59,0x59,0x59,0x59,0x11,0xb3,0x29,0x28,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09
,0x08,0x08,0x00,0x09,0x09,0x11,0x11,0x59,0x59,0x59,0x59,0x59,0x09,0x11
,0xb2,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x09,0x59,0x09,0x09,0x08,0x09,0x08,0x08,0x00,0x09,0x09,0x11
,0x59,0x59,0x59,0x59,0x59,0x59,0x11,0x11,0x61,0x61,0x59,0x59,0x59,0x59
,0x19,0x11,0x11,0x09,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09
,0x00,0x09,0x08,0x08,0x00,0x09,0x09,0x11,0x11,0x09,0x09,0x09,0x09,0x11
,0x11,0x11,0x09,0x09,0x51,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09
,0x09,0x00,0x00,0x00,0x00,0xb3,0x09,0x09,0x08,0x09,0x08,0x09,0x00,0x09
,0x09,0x09,0x09,0x59,0x59,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11
,0x09,0x09,0x09,0x09,0x08,0x09,0x08,0x09,0x11,0x59,0x09,0x08,0x08,0x08
,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08
,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x59,0x09,0x09,0x09,0x09,0x08,0x09
,0x09,0x11,0x51,0xad,0x09,0xb2,0xac,0x72,0x72,0x71,0x69,0x61,0x61,0x59
,0x19,0x19,0x19,0x19,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x09,0x59,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x51,0x59,0xa5,0xa0,0x72
,0xb4,0xb4,0xb3,0x71,0x69,0x61,0x61,0x59,0x59,0x59,0x19,0x19,0x19,0x19
,0x11,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09
,0x08,0x09,0x09,0x51,0x59,0xad,0x60,0x71,0xb4,0xb4,0xab,0x72,0x69,0x61
,0x61,0x59,0x59,0x59,0x19,0x19,0x19,0x19,0x19,0x19,0x11,0x11,0x11,0x11
,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x51,0x59,0xae
,0xa9,0xb3,0xad,0xb4,0xab,0x72,0x69,0x69,0x61,0x59,0x59,0x59,0x19,0x19
,0x19,0x19,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09
,0x09,0x09,0x08,0x09,0x09,0x51,0x61,0xae,0xa9,0xb4,0xad,0xb4,0xab,0x72
,0x69,0x09,0x09,0x09,0x09,0x09,0x19,0x19,0x19,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x51
,0x61,0xae,0xa9,0xb4,0xad,0xb4,0xac,0x72,0x69,0x11,0x61,0x59,0x59,0x09
,0x19,0x19,0x19,0x09,0x11,0x11,0x11,0x11,0x11,0x09,0x11,0x11,0x09,0x59
,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x51,0x61,0xae,0xa9,0x72,0x72,0x72
,0x69,0x69,0x61,0x11,0x61,0x59,0x59,0x09,0x09,0x09,0x09,0x09,0x19,0x19
,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x59,0x09,0x09,0x09,0x09,0x08,0x09
,0x09,0x51,0x59,0xae,0xa9,0xb4,0xac,0xb4,0xab,0x72,0x69,0x69,0x61,0x59
,0x11,0x19,0x28,0x11,0x11,0x19,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x11
,0x09,0x59,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x51,0x59,0xad,0xa9,0xab
,0xac,0xab,0xab,0x72,0x69,0x69,0x61,0x59,0x11,0x19,0x28,0x11,0x11,0x19
,0x19,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09
,0x08,0x09,0x09,0x11,0x59,0xad,0xa0,0xb1,0xb4,0xb4,0x72,0x69,0x69,0x61
,0x61,0x19,0x19,0x61,0x59,0x59,0x11,0x19,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x09,0x59,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x11,0x59,0xa5
,0x60,0x71,0xb4,0xab,0x72,0x69,0x69,0x61,0x59,0x19,0x19,0x19,0x19,0x19
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09
,0x09,0x09,0x08,0x09,0x09,0x11,0x51,0xad,0x09,0xb2,0xb4,0xab,0x71,0x71
,0x69,0x61,0x59,0x19,0x19,0x19,0x19,0x19,0x11,0x11,0x19,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09,0x08,0x09,0x08,0x09,0x08,0x09
,0x11,0x51,0x09,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08
,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x59
,0x09,0x09,0x08,0x09,0x08,0x09,0x00,0x09,0x09,0x11,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x08,0x08,0x08,0x00,0x59,0x09,0x09,0x08,0x09,0x08,0x08
,0x00,0x09,0x09,0x11,0x59,0x59,0x59,0x59,0x19,0x59,0x59,0x59,0x49,0x49
,0x51,0x51,0x19,0x19,0x59,0x59,0x11,0x11,0x11,0x11,0x09,0x09,0x09,0x09
,0x09,0x59,0x09,0x09,0x00,0x09,0x08,0x08,0x00,0x09,0x09,0x11,0x11,0x11
,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x09,0x51,0x51,0x19,0x11,0x19,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09
,0x08,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x59,0x59,0x59,0x59,0x59,0x59
,0x09,0x09,0x51,0x09,0x11,0x11,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09,0x08,0x00,0x00,0x09,0x09,0x11
,0x11,0x59,0x59,0x59,0x59,0x59,0x59,0x59,0x09,0x09,0x11,0x09,0x19,0x11
,0x19,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x09
,0x00,0x09,0x08,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0xb3,0x09,0x09,0x00,0x09,0x08,0x00,0x00,0x09
,0x09,0x11,0x11,0x11,0x19,0x19,0x19,0x11,0x59,0x11,0x09,0x09,0x11,0x09
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59
,0x09,0x09,0x00,0x09,0x08,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x09,0x09,0x11,0x09,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x09,0x00,0x09,0x08,0x00
,0x00,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09
,0x09,0x09,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x59,0x09,0x09
};
const unsigned char texture3[] =
{ 32, 36 // width, height
,0x08,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64
,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b,0x5b,0x09,0x09,0x09,0x09
,0x09,0x08,0x08,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64
,0x64,0x64,0x5b,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x64,0x5b,0x00,0x09
,0x00,0x09,0x11,0x08,0x08,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d
,0x6d,0x64,0x64,0x64,0x64,0x5b,0x00,0x00,0x00,0x09,0x09,0x08,0x08,0x08
,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b
,0x00,0x09,0x00,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x09,0x12,0x12,0x12
,0x12,0x12,0x12,0x12,0x12,0x12,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0x6d,0x64,0x64,0x64,0x64,0x5b,0x00,0x09,0x00,0x09,0x09,0x08
,0x08,0x08,0x64,0x64,0x64,0x12,0x12,0x12,0x12,0x52,0x52,0x52,0x12,0xb6
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64,0x64
,0x64,0x5b,0x00,0x09,0x00,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x52,0x64
,0x64,0x5b,0x5b,0x5b,0x52,0x5b,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x00,0x00,0x00,0x09
,0x09,0x08,0x08,0x09,0x64,0x09,0x12,0x64,0x12,0x12,0x52,0x5b,0x12,0x52
,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d
,0x64,0x64,0x64,0x5b,0x00,0x09,0x09,0x09,0x11,0x08,0x08,0x08,0x64,0x64
,0x64,0x64,0x64,0x12,0x12,0x12,0x5b,0x52,0xb6,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09
,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0x09,0x5b,0x5b,0x5b,0x5b,0x5b,0x5b
,0x52,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08
,0x64,0x09,0x12,0x52,0x12,0x52,0x52,0x5b,0x12,0x5b,0x12,0xb6,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b
,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x64,0x5b,0x5b,0x12
,0x52,0x64,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x11,0x08
,0x08,0x08,0x64,0x09,0x12,0x52,0x5b,0x12,0x12,0x64,0x12,0x12,0x12,0x12
,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x64,0x64
,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x12
,0x5b,0x64,0x12,0x52,0x5b,0x5b,0x5b,0x12,0xb6,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09
,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x12,0x12,0x64,0x12,0x52,0x52,0x12
,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d
,0x64,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09
,0x5b,0x5b,0x5b,0x64,0x12,0x52,0x12,0x12,0x12,0x12,0xb6,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09
,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0x09,0x5a,0x62,0x5a,0x64,0x52,0x52
,0x5b,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0x6d,0x6d,0x64,0x64,0x52,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08
,0x64,0x09,0x62,0xb3,0x63,0x52,0x64,0x5b,0x5b,0x12,0x12,0x12,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x5b,0x09
,0x09,0x09,0x09,0x09,0x11,0x08,0x08,0x08,0x64,0x09,0x5a,0x63,0x63,0x5b
,0x64,0x52,0x52,0x52,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08
,0x08,0x08,0x64,0x09,0x12,0x09,0x09,0x5b,0x64,0x09,0x12,0x5b,0x12,0x12
,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x09
,0x00,0x64,0x09,0x00,0x12,0x52,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x00,0x00,0x52,0x00,0x00,0x12,0x12
,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d
,0x64,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x09,0x64,0x09
,0x52,0x52,0x52,0x52,0x52,0x52,0x52,0x12,0x12,0x12,0xb6,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0x09,0x12,0x12,0x52,0x52,0x52,0x52
,0x52,0x12,0x12,0x12,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x6d,0x6d,0x64,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x11,0x08,0x08,0x09
,0x64,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x12
,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x09,0x12,0x09,0x09,0x09,0x09,0x09,0x08
,0x08,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0x6d,0x6d,0x64,0x64,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x08,0x08,0x08,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d
,0x64,0x64,0x5b,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x64,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0x6d,0x6d,0x6d,0x64,0x64,0x64,0x5b,0x09,0x09
,0x09,0x09,0x11,0x08
};
const unsigned char texture4[] =
{ 32, 36 // width, height
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x11,0x11
,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09
,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x00,0x00,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11
,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x08
,0x00,0x00,0x00,0x09,0x09,0x19,0x6c,0x63,0x63,0x63,0x63,0x63,0x63,0x5a
,0x5a,0x1a,0x12,0x09,0x52,0x09,0x08,0x08,0x08,0x5a,0x0a,0x0a,0x00,0x09
,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x5a
,0x19,0x63,0x63,0x63,0x63,0x5b,0x5b,0x5b,0x1a,0x10,0x10,0x09,0x52,0x09
,0x09,0x09,0x09,0x08,0x0a,0x0a,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09
,0x00,0x08,0x00,0x00,0x00,0x09,0x09,0x62,0x19,0x63,0x63,0x63,0x63,0x63
,0x5b,0x5a,0x1a,0x10,0x10,0x09,0x52,0x09,0x11,0x09,0x09,0x08,0x0a,0x0a
,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x62,0x5a,0x19,0x63,0x63,0x63,0x5b,0x5a,0x1a,0x10,0x11,0x11,0x09
,0x52,0x09,0x11,0x11,0x09,0x09,0x08,0x0a,0x08,0x09,0x59,0x11,0x09,0x09
,0x11,0x09,0x00,0x09,0x00,0x00,0x08,0x09,0x09,0x5a,0x5a,0x19,0x63,0x22
,0x1a,0x1a,0x1a,0x1a,0x10,0x11,0x11,0x09,0x52,0x09,0x11,0x09,0x09,0x09
,0x08,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x62,0x62,0x61,0x19,0x19,0x11,0x11,0x10,0x10,0x11,0x5a
,0x52,0x09,0x52,0x09,0x11,0x09,0x09,0x09,0x0a,0x08,0x08,0x09,0x59,0x11
,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x62,0x21,0x19
,0x6c,0x6c,0x64,0x64,0x64,0x5a,0x10,0x5a,0x52,0x09,0x52,0x09,0x11,0x09
,0x09,0x0a,0x08,0x08,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x61,0x19,0x6c,0x63,0x63,0x63,0x63,0x5a,0x5a
,0x10,0x52,0x12,0x09,0x52,0x09,0x11,0x09,0x09,0x12,0x08,0x09,0x09,0x09
,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x09
,0x09,0x6c,0x63,0x63,0x63,0x63,0x5a,0x5a,0x5a,0x10,0x10,0x09,0x52,0x09
,0x09,0x09,0x12,0x08,0x08,0x09,0x09,0x09,0x59,0x11,0x11,0x09,0x59,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x52,0x52,0x09,0x63,0x63,0x63,0x5b
,0x5a,0x5a,0x5a,0x10,0x10,0x12,0x09,0x52,0x52,0x52,0x09,0x08,0x09,0x09
,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x09,0x09,0x52,0x09,0x63,0x63,0x5b,0x5b,0x5a,0x5a,0x52,0x52,0x08
,0x08,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09
,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x63,0x09,0x52,0x09
,0x5b,0x63,0x5b,0x5a,0x5a,0x12,0x12,0x08,0x11,0x09,0x09,0x09,0x09,0x52
,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x63,0x5b,0x5a,0x5a,0x1a,0x10
,0x08,0x11,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11
,0x09,0x09,0x11,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x19,0x09
,0x52,0x09,0x63,0x63,0x5a,0x5a,0x1a,0x10,0x10,0x11,0x12,0x11,0x09,0x09
,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09,0x52,0x09,0x63,0x5b,0x5b,0x1a
,0x10,0x11,0x11,0x12,0x12,0x11,0x11,0x09,0x09,0x52,0x09,0x09,0x09,0x09
,0x59,0x11,0x11,0x09,0x59,0x09,0x00,0x08,0x00,0x00,0x00,0x09,0x09,0x63
,0x63,0x09,0x52,0x09,0x1a,0x1a,0x1a,0x1a,0x10,0x11,0x11,0x12,0x11,0x11
,0x09,0x09,0x09,0x52,0x09,0x09,0x09,0x09,0x59,0x11,0x09,0x09,0x59,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x63,0x09,0x52,0x09,0x11,0x10
,0x11,0x11,0x11,0x52,0x12,0x12,0x11,0x11,0x11,0x09,0x09,0x52,0x09,0x08
,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x08,0x00,0x00,0x00,0x09
,0x09,0x63,0x63,0x09,0x52,0x09,0x64,0x64,0x64,0x5a,0x10,0x52,0x12,0x12
,0x12,0x11,0x09,0x09,0x09,0x52,0x09,0x5a,0x5a,0x09,0x59,0x11,0x09,0x09
,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09
,0x63,0x5b,0x5a,0x5a,0x10,0x52,0x12,0x12,0x11,0x11,0x11,0x09,0x09,0x52
,0x09,0x09,0x08,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x63,0x19,0x09,0x52,0x09,0x63,0x63,0x5a,0x5a,0x5a,0x10
,0x10,0x12,0x52,0x12,0x12,0x12,0x09,0x52,0x09,0x09,0x00,0x09,0x59,0x11
,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x19,0x6c,0x09
,0x52,0x09,0x63,0x5b,0x5b,0x5a,0x5a,0x12,0x12,0x08,0x08,0x08,0x08,0x08
,0x09,0x52,0x09,0x09,0x00,0x09,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x19,0x63,0x09,0x52,0x09,0x63,0x63,0x5a,0x5a
,0x1a,0x10,0x08,0x63,0x63,0x63,0x5b,0x12,0x09,0x52,0x09,0x09,0x00,0x09
,0x59,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x11,0x11,0x11,0x09,0x59,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x08,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x11,0x11,0x11,0x11,0x09,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x11,0x11
,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09
,0x59,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x09,0x09,0x11,0x11,0x09,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09,0x59,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x09,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x09,0x09
,0x09,0x09,0x09,0x11,0x11,0x11,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x59,0x09
};
const unsigned char texture5[] =
{ 32, 36 // width, height
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00
,0x00,0x07,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x03
,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00
,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00
,0x00,0x00,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07
,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00
,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x03,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00
,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x03,0x07,0x00,0x07,0x03,0x00,0x00
,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x07,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00
,0x00,0x07,0x00,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x07,0x07,0x07
,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x03,0x07,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00
,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x07,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00
,0x03,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09,0x09,0x09
,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x07
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09
,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03
,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x09,0x09
,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00
,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x07,0x03,0x00,0x03,0x07,0x00,0x00
,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09
,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x03,0x07,0x07,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09
,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12
,0x09,0x09,0x00,0x09,0x00,0x00,0x00,0x09,0x09,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x09,0x09,0x09,0x09,0x09,0x12,0x09,0x09,0x00,0x09,0x00,0x00
,0x00,0x09,0x09,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x09,0x09,0x09,0x09
,0x09,0x12,0x09,0x09
};
const unsigned char imageBar[] =
{ 110, 21 // width, height
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x64,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64,0xad
,0xad,0x09,0x09,0x09,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0x09,0x09
,0x09,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0xad
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0x00,0xb6,0xb6,0xad,0xad,0x09,0x09
,0x09,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64,0xad
,0xad,0x09,0x09,0x09,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0x64,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x64,0xad,0xad,0x64,0x09,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x64,0xad,0xad,0x64,0x09,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0x64,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x64
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0xad,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0x09,0x09,0xad,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x07,0x07,0x07,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x07,0x07,0x00,0xb6,0xb6,0xb6
,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6,0xb6
,0x07,0x07,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x07,0x00,0xb6,0xb6,0xb6,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x64
,0x09,0x09,0x64,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0x09,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x64,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0x09,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0x09,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0xad,0x64,0x09,0x09,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0xad,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0x64,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0xad,0xad,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0xad,0xad,0xad,0x09,0x09,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09
,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0x09,0x64,0x09
,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0x09,0xad,0x09
,0x09,0x09,0x09,0x09,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09,0x09,0x09,0x09,0x64,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0x09
,0x09,0x09,0x64,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0x00,0xb6,0xb6,0xad,0xad,0xad,0xad
,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad,0xad
};
const unsigned char spritePlasma[] =
{ 32, 32 // width, height
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07
,0x07,0x07,0x07,0x07,0x08,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x07,0x58,0x58,0x07,0x10,0x07,0x07,0x07,0x07,0x07,0x07
,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x48,0x48,0x58,0x10,0x58,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x60,0x58,0x58,0x07,0x48,0x07
,0x07,0x07,0x07,0x07,0x48,0x07,0x07,0x07,0x07,0x10,0x60,0x60,0x58,0x58
,0x58,0x60,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x58
,0x58,0x60,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x58,0x58
,0xa8,0x58,0x58,0x58,0x60,0xb0,0xa9,0x58,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x58,0x58,0x60,0xb0,0xb0,0x60,0x58,0x10,0x07,0x07,0x48,0x48
,0x10,0x07,0x58,0x60,0x60,0xa8,0x07,0x10,0x07,0x60,0x60,0x60,0x07,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x48,0x60,0x60,0x60,0x60,0x58,0x58,0x07
,0x07,0x07,0x10,0x07,0x58,0x58,0x60,0x60,0xa8,0x58,0x10,0x07,0x08,0x07
,0x60,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x10,0x58,0x58
,0x48,0x07,0x07,0x10,0x07,0x07,0x07,0x58,0x58,0xa8,0x60,0xb1,0x58,0x59
,0x07,0x07,0x07,0x07,0x10,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x48,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x60,0xa8,0xb0
,0xb1,0xb1,0xb1,0x58,0x10,0x07,0x07,0x10,0x58,0x60,0x07,0x58,0x58,0x07
,0x07,0x07,0x07,0x07,0x07,0x10,0x58,0x10,0x07,0x07,0x07,0x07,0x58,0x07
,0x07,0x58,0x58,0xa8,0xb1,0xbb,0xb1,0xa9,0x60,0x58,0x07,0x58,0x60,0x60
,0xa8,0x60,0x60,0x07,0x07,0x07,0x07,0x07,0x07,0x10,0x58,0x07,0x07,0x07
,0x07,0x58,0x58,0x58,0x07,0x58,0x60,0xa8,0xb1,0xbb,0xb1,0x69,0xa8,0xa8
,0x60,0x61,0x60,0xa9,0x58,0xa8,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x48,0x07,0x07,0x07,0x58,0x07,0x07,0x58,0x60,0x60,0x69,0xb1,0xb1
,0xb1,0x69,0xb1,0x69,0x69,0x60,0xa8,0x60,0x58,0x10,0x58,0x07,0x07,0x07
,0x07,0x07,0x48,0x07,0x07,0x07,0x07,0x07,0x48,0x10,0x07,0x08,0x60,0xb0
,0xb1,0xb1,0xb1,0xb1,0xa8,0x69,0xb1,0xb1,0xb0,0xa8,0x58,0x60,0x07,0x07
,0x58,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07
,0x48,0xa8,0xb1,0xb1,0xb1,0xb3,0xb1,0xb1,0xb1,0xb0,0xb1,0xb1,0xb1,0x60
,0x60,0x07,0x07,0x58,0x58,0x58,0x07,0x07,0x07,0x48,0x58,0x07,0x07,0x07
,0x08,0x07,0x58,0x58,0x60,0xb1,0xb2,0xb1,0xb1,0xb1,0xbb,0xbb,0xb1,0xb1
,0xb1,0x69,0xb1,0x60,0x58,0x07,0x07,0x58,0xa9,0x61,0x48,0x07,0x07,0x58
,0x10,0x58,0x60,0x07,0x07,0x58,0x58,0x60,0x69,0xb1,0xb1,0xb1,0xb1,0xb9
,0xbc,0xbc,0xbb,0xb1,0xb1,0xb1,0x69,0xb1,0x60,0x58,0x58,0xa8,0x69,0xb1
,0x58,0x58,0x58,0x58,0x07,0x60,0xb0,0x58,0x10,0x48,0x60,0x60,0xb1,0xb1
,0xb1,0xb1,0xb2,0xbb,0xbc,0xbd,0xbb,0xbb,0xb1,0xb1,0xb1,0xb1,0x60,0x60
,0x58,0x58,0xb1,0x69,0x69,0x58,0xa8,0x60,0x58,0x58,0xa8,0x58,0x07,0x58
,0x60,0xb0,0xb1,0xb2,0xb9,0xb1,0xbb,0xbb,0xbe,0xbc,0xbe,0xbc,0xb9,0xb1
,0xb1,0x69,0xb1,0x60,0x58,0x60,0xb0,0xb1,0xb0,0xb1,0xb0,0xa9,0x07,0x60
,0x58,0x58,0x07,0x07,0x48,0x58,0xa8,0xb1,0xb1,0xb1,0xb1,0xb1,0xb9,0xbc
,0xbc,0xb9,0xb1,0xb1,0x69,0xb1,0x69,0x60,0x58,0x60,0xa8,0x60,0x61,0x60
,0x60,0x58,0x07,0x48,0xa8,0x58,0x58,0x58,0x07,0x07,0x58,0x69,0xb1,0xb1
,0xb1,0xb1,0xbb,0xb9,0xbb,0xbb,0xb2,0xb1,0x69,0x69,0xa9,0x58,0x58,0x48
,0x58,0x60,0x60,0x60,0x48,0x58,0x07,0x07,0x48,0x58,0x58,0x58,0x07,0x07
,0x10,0x60,0xb1,0xb1,0xb1,0xb1,0xb9,0xbb,0xbb,0xb1,0xb9,0xb1,0x69,0xb1
,0x60,0x58,0x07,0x48,0x60,0x58,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07
,0x58,0x58,0x07,0x07,0x48,0xa8,0xb1,0xb1,0xb1,0x69,0xbb,0xbb,0xb1,0xb1
,0xb1,0xb1,0xb1,0xa9,0x69,0x58,0x07,0x07,0x48,0x58,0x58,0x58,0x07,0x07
,0x07,0x07,0x07,0x07,0x48,0x07,0x07,0x07,0x58,0xb0,0xb1,0xa9,0x69,0xb1
,0xb9,0xbb,0xb2,0xb1,0xb1,0xb1,0xb1,0x69,0x69,0x48,0x07,0x48,0x07,0x60
,0x58,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0x10,0x07,0x07,0x48,0x60
,0x60,0xb0,0xb1,0x69,0xb1,0xb1,0xb1,0xb1,0x69,0xb0,0xb0,0x69,0xb0,0x58
,0x07,0x07,0x58,0x60,0x60,0x58,0x07,0x07,0x07,0x07,0x48,0xa8,0x58,0x58
,0x07,0x07,0x58,0x60,0x60,0xa8,0xb0,0xb1,0xb1,0xb1,0xb1,0xb0,0xa8,0x58
,0x58,0x60,0xa8,0x58,0x07,0x07,0x58,0x58,0x60,0x58,0x07,0x07,0x07,0x07
,0x60,0xa8,0x60,0x10,0x07,0x07,0x07,0x58,0x58,0x58,0x60,0xb1,0x69,0x69
,0xb1,0x69,0x58,0x07,0x07,0x58,0x48,0x07,0x07,0x07,0x60,0x58,0x58,0x07
,0x07,0x07,0x07,0x58,0x60,0x60,0x60,0x58,0x07,0x07,0x48,0x58,0x58,0x10
,0x60,0x69,0xb0,0xb0,0xb1,0x69,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58
,0x58,0xa8,0x58,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0xa8,0x58,0x07,0x07
,0x10,0x58,0x07,0x10,0x60,0xa8,0x60,0x69,0xa9,0xb0,0x58,0x10,0x58,0x58
,0x07,0x07,0x10,0x60,0xa8,0x60,0x58,0x58,0x58,0x07,0x07,0x07,0x07,0x60
,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0x59,0x60,0x60,0x60
,0x58,0x07,0x58,0x58,0x58,0x58,0x07,0x60,0x58,0x10,0x48,0x58,0x58,0x07
,0x07,0x07,0x07,0x48,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x48,0x60
,0x58,0x58,0x58,0x10,0x07,0x07,0x58,0x58,0x58,0x60,0x58,0x48,0x10,0x07
,0x07,0x07,0x07,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x10,0x07,0x60,0x10,0x48,0x07,0x07,0x07,0x07,0x07,0x58,0x58
,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x10,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x58,0x60,0x07,0x07,0x07,0x07
,0x07,0x07,0x58,0x58,0x60,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07
,0x07,0x07,0x07,0x07,0x07,0x58,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x60
,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x58,0x10,0x07,0x07,0x07,0x07,0x07
,0x48,0x07
};
#define TEXTURES 5
const unsigned char *textures[TEXTURES] =
{texture1, texture2, texture3, texture4, texture5};
unsigned char textureAverageColors[TEXTURES];
Unit floorHeightAt(int16_t x, int16_t y)
{
if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES)
return level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x] == 0 ?
0 : UNITS_PER_SQUARE * 2;
return UNITS_PER_SQUARE * 2;
}
Unit textureAt(int16_t x, int16_t y)
{
if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES)
return max(level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x] - 1,0);
return 0;
}
uint8_t cFloor, cCeiling;
Vector2D shotPosition;
Vector2D shotDirection;
bool shotFired = false;
uint8_t previousColumn = 255; ///< Helper for pixelIntensity.
int8_t pixelIntensity = 0; ///< Precomputed column intensity addition.
/**
Function for drawing a single pixel (like fragment shader).
*/
inline void pixelFunc(PixelInfo pixel)
{
if (pixel.position.y == MIDDLE_ROW)
zBuffer[pixel.position.x] = pixel.depth;
uint8_t c = 0;
if (!pixel.isWall)
{
c = pixel.isFloor ? cFloor: cCeiling;
}
else
{
Unit textureScroll = pixel.hit.type != 4 ? 0 : 16 * pokitto.frameCount;
c = pixel.depth < TEXTURE_MAX_DISTANCE ?
sampleImage(textures[pixel.hit.type],pixel.hit.textureCoord + textureScroll,pixel.textureCoordY) :
textureAverageColors[pixel.hit.type];
if (previousColumn == pixel.position.x)
{
c = addIntensity(c,pixelIntensity);
}
else
{
// optimization: precompute intensity for the whole column
pixelIntensity = 1 - pixel.depth / (UNITS_PER_SQUARE * 2) + (pixel.hit.direction % 2 == 0 ? 2 : 0);
previousColumn = pixel.position.x;
c = addIntensity(c,pixelIntensity);
}
}
uint8_t *buf = pokitto.display.screenbuffer;
buf += pixel.position.x * SUBSAMPLE;
buf += pixel.position.y * pokitto.display.width;
#pragma unroll
for (uint8_t i = 0; i < SUBSAMPLE - 1; ++i)
*buf++ = c;
*buf = c;
}
void draw()
{
RayConstraints c;
c.maxHits = 1;
c.maxSteps = 20;
c.computeTextureCoords = 1;
player.mCamera.height += player.mHeadBob;
renderSimple(player.mCamera,floorHeightAt,textureAt,pixelFunc,c);
/* this would achieve more or less the same (less shaky head bob),
for a cost of a few FPS: */
// render(player.mCamera,floorHeightAt,0,textureAt,pixelFunc,c);
player.mCamera.height -= player.mHeadBob;
if (shotFired)
{
PixelInfo pos = mapToScreen(shotPosition,UNITS_PER_SQUARE,player.mCamera);
drawSprite(spritePlasma,pos.position.x * SUBSAMPLE,
pos.position.y,pos.depth,
perspectiveScale(64,pos.depth));
}
drawImage(imageBar,0,INFO_BAR_START - 3);
}
int main()
{
initGeneral();
for (uint8_t i = 0; i < TEXTURES; ++i)
textureAverageColors[i] = computeAverageColor(textures[i]);
cFloor = rgbToIndex(0,1,1);
cCeiling = rgbToIndex(1,0,1);
player.setPositionSquare(6,5);
player.mCamera.height = CAMERA_COLL_HEIGHT_BELOW;
player.mCamera.resolution.y = INFO_BAR_START;
uint32_t previousTime = 0;
uint32_t dt;
int16_t moveDirection;
int16_t rotationDirection;
bool strafe;
while (pokitto.isRunning())
{
if (pokitto.update())
{
draw();
uint32_t timeNow = pokitto.getTime();
dt = timeNow - previousTime;
previousTime = timeNow;
moveDirection = 0;
rotationDirection = 0;
strafe = false;
if (shotFired)
{
// update the shot
Unit shotStep = (dt * SHOT_SPEED) / 1000;
shotPosition.x += (shotStep * shotDirection.x) / UNITS_PER_SQUARE;
shotPosition.y += (shotStep * shotDirection.y) / UNITS_PER_SQUARE;
if (
absVal(shotPosition.x - player.mCamera.position.x) > UNITS_PER_SQUARE * 5 ||
absVal(shotPosition.y - player.mCamera.position.y) > UNITS_PER_SQUARE * 5 ||
(textureAt(shotPosition.x / UNITS_PER_SQUARE,shotPosition.y / UNITS_PER_SQUARE) != 0)
)
shotFired = false;
}
else if (pokitto.cBtn())
{
shotPosition = player.mCamera.position;
shotDirection = angleToDirection(player.mCamera.direction);
shotFired = true;
}
bool strafe = pokitto.aBtn();
if (!strafe)
{
if (pokitto.upBtn())
moveDirection = 1;
else if (pokitto.downBtn())
moveDirection = -1;
}
if (pokitto.rightBtn())
{
if (!strafe)
rotationDirection = 1;
else
moveDirection = 1;
}
else if (pokitto.leftBtn())
{
if (!strafe)
rotationDirection = -1;
else
moveDirection = -1;
}
player.update(moveDirection,strafe,rotationDirection,false,0,
floorHeightAt,0,false,dt);
}
}
return 0;
}