Pokitto-Raycasting/demo2.cpp

1151 lines
61 KiB
C++
Raw Normal View History

2018-09-08 18:55:25 +02:00
/**
2018-09-11 09:19:09 +02:00
Raycasting demo 2 for Pokitto.
2018-09-14 14:01:53 +02:00
This demo shows a simple version (wolf3D-like) raycasting. It has a fairly
high FPS.
There is a number of compile-time settings you can try! Look at the defines
below.
2018-09-08 18:55:25 +02:00
Don't forget to compile with -O3!
author: Miloslav "drummyfish" Ciz
license: CC0 1.0
*/
2018-09-14 14:01:53 +02:00
// settings:
//#define SUBSAMPLE 1
/* ^ Turns high resolution in X direction on, which means twice as many rays
that will be cast. The result looks beautiful but dramatically decreases
FPS. */
2018-09-21 08:47:42 +02:00
//#define RENDER_COMPLEX
2018-09-14 14:01:53 +02:00
/* ^ Turns on rendering using a more precise but slower algorithm. This can
2018-09-25 10:04:16 +02:00
be seen at less shaky head bobbing when moving. However it doesn't
support many other features, so the result actually looks worse. */
2018-09-14 14:01:53 +02:00
2018-09-16 14:34:40 +02:00
//#define NO_TEXTURES
2018-09-14 14:01:53 +02:00
/* ^ Turns off textures and only uses colors, which increases FPS. */
2018-09-18 11:25:34 +02:00
#define RCL_COMPUTE_FLOOR_TEXCOORDS 1
2018-09-18 10:24:57 +02:00
/* ^ Turns on computation of texture coordinates for the floor in raycastlib
and makes this demo render the textures. */
2018-09-21 08:47:42 +02:00
#define TEXTURE_CEILING
2018-09-18 18:09:19 +02:00
/* ^ Turns on texture on ceiling (RCL_COMPUTE_FLOOR_TEXCOORDS must be turned
on as well for this to work). */
2018-09-18 11:25:34 +02:00
#define FLOOR_TEXTURE_SCALE 2
/* ^ Scales the floor texture if RCL_COMPUTE_FLOOR_TEXCOORDS is on. */
2018-09-22 13:19:33 +02:00
//#define RCL_ACCURATE_WALL_TEXTURING 1
/* ^ This turns on extra accurate wall texturing, but is noticable slower. */
2018-09-18 11:25:34 +02:00
//#define HEAD_BOB
/* ^ Turns on head bobbing. */
2018-09-16 14:50:58 +02:00
//#define NO_SHADING
/* ^ Turns off shading (fog) which increases FPS. */
2018-09-17 13:03:35 +02:00
//#define NO_MIRROR
/* ^ Turns off the floor mirror effect, which should increase FPS. */
2018-09-17 17:55:33 +02:00
//#define RCL_USE_DIST_APPROX 1
2018-09-14 14:01:53 +02:00
/* ^ Turns on distance approximation, which won't compute exact distances but
only approximations - this should increase performance a little, but
results in slightly distorted walls. */
2018-09-17 17:55:33 +02:00
//#define RCL_USE_COS_LUT 2
2018-09-14 14:01:53 +02:00
/* ^ Turns on cos look up tables (128 items, USE_COS_LUT 1 will use only 64
items), which should theoretically be faster, but will take additional
memory and turning can be less precise (can be seen a lot with 64 item
LUT). */
2018-09-15 12:01:38 +02:00
#define DOOR_ROLL_SIGN -1
/* ^ Defines how the door roll: -1 opens the door to the left, 1 to the
right, 0 to both. */
2018-09-16 14:24:10 +02:00
#ifdef NO_TEXTURES
2018-09-17 17:55:33 +02:00
#define RCL_COMPUTE_WALL_TEXCOORDS 0
2018-09-16 14:24:10 +02:00
#endif
2018-09-18 10:24:57 +02:00
#define FPS 255
2018-09-11 08:39:30 +02:00
#define HEAD_BOB_HEIGHT 200
#define HEAD_BOB_STEP 20
2018-09-17 17:55:33 +02:00
#define PLAYER_SPEED (5 * RCL_UNITS_PER_SQUARE)
2018-09-08 20:06:03 +02:00
2018-09-18 12:54:19 +02:00
#define TEXTURE_W 32 // for the sake of performance we require prespecified sizes
#define TEXTURE_H 32
2018-09-21 08:47:42 +02:00
#ifndef RCL_COMPUTE_FLOOR_TEXCOORDS
#define RCL_COMPUTE_CEILING_DEPTH 0
#endif
2018-09-08 18:55:25 +02:00
#include "general.hpp"
#define LEVEL_X_RES 32
#define LEVEL_Y_RES 16
Player player;
2018-09-17 17:55:33 +02:00
#define SHOT_SPEED 10 * RCL_UNITS_PER_SQUARE
2018-09-10 00:22:06 +02:00
#define INFO_BAR_START 70
2018-09-17 17:55:33 +02:00
#define TEXTURE_MAX_DISTANCE (RCL_UNITS_PER_SQUARE * 6)
2018-09-27 12:55:03 +02:00
#define TEXTURE_MAX_DISTANCE_FLOOR (RCL_UNITS_PER_SQUARE * 6 + RCL_UNITS_PER_SQUARE / 2)
2018-09-08 18:55:25 +02:00
2018-09-18 18:09:19 +02:00
#define RESOLUTION_Y (INFO_BAR_START + 1)
2018-09-15 11:34:08 +02:00
// temporary defines for better visibility of walls and floors below
#define D 6
#define o 0
2018-09-08 18:55:25 +02:00
const unsigned char level[] =
{
2018-09-18 14:47:42 +02:00
/* 10 12 14 16 18 20 22 24 26 28 30
0 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 */
4,o,o,4,o,o,4,o,o,4,o,o,2,4,o,4,4,o,o,o,o,D,o,2,o,o,o,o,o,o,o,2, // 0 15
o,o,o,o,o,o,o,o,o,o,o,o,3,4,o,o,o,o,1,3,2,4,o,4,o,o,o,o,o,o,o,o, // 1 14
o,o,o,o,o,o,o,o,o,o,o,o,2,4,o,o,o,o,1,o,o,o,o,3,o,o,o,o,o,o,o,o, // 2 13
o,o,5,o,o,o,o,o,o,o,o,o,2,4,4,o,3,1,1,o,2,1,2,3,o,o,1,o,1,o,o,2, // 3 12
o,o,o,o,o,o,o,o,o,o,o,o,2,o,o,o,o,2,o,o,o,2,o,o,o,o,o,o,o,o,o,2, // 4 11
o,o,o,o,o,o,o,o,o,o,o,o,2,o,o,o,o,2,3,o,2,2,o,o,o,o,o,o,o,o,o,2, // 5 10
4,o,3,1,3,1,o,2,2,2,3,2,2,2,o,o,3,2,o,o,o,o,o,o,o,o,o,o,o,o,o,o, // 6 9
o,o,2,o,o,o,o,o,o,5,o,o,o,o,o,o,o,5,o,o,o,o,1,2,o,5,5,o,o,o,o,o, // 7 8
o,o,1,o,o,o,o,o,o,5,o,o,o,o,o,o,o,D,o,o,o,o,4,o,o,o,5,o,o,2,o,o, // 8 7
o,o,2,o,o,o,o,o,o,2,3,2,4,o,o,o,2,2,4,1,4,o,4,4,4,3,2,o,o,4,2,2, // 9 6
o,o,4,4,4,o,o,o,o,o,o,o,o,o,o,3,3,4,o,o,o,o,o,1,o,o,o,o,o,o,o,4, // 10 5
2,o,o,o,3,o,o,o,o,o,o,o,o,o,3,3,2,4,o,o,o,o,o,1,o,o,4,o,o,3,o,1, // 11 4
1,3,1,o,4,4,4,2,2,1,2,D,2,2,3,o,o,1,4,o,o,o,3,3,3,5,2,o,o,o,o,2, // 12 3
o,o,o,o,o,o,o,o,o,4,o,o,o,o,2,o,o,o,o,o,o,o,o,o,o,o,o,o,o,3,o,1, // 13 2
o,o,o,3,o,5,o,3,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,o,4, // 14 1
o,o,o,o,o,o,o,o,o,4,o,o,o,o,2,o,o,5,o,o,4,o,o,1,o,3,o,3,o,3,o,1 // 15 0
2018-09-08 18:55:25 +02:00
};
2018-09-15 11:34:08 +02:00
#undef D
#undef o
2018-09-08 20:06:03 +02:00
const unsigned char texture1[] =
2018-09-18 12:54:19 +02:00
{ 32, 32 // width, height
2018-09-27 15:25:20 +02:00
,0x93,0x24,0x23,0x23,0x23,0x24,0x23,0x24,0x24,0x23,0x23,0x03,0x23,0x03
,0x03,0x23,0x23,0x03,0x23,0x24,0x23,0x23,0x23,0x24,0x23,0x23,0x03,0x23
,0x24,0x23,0x23,0x93,0x93,0x35,0x23,0x24,0x24,0x24,0x24,0x24,0x24,0x23
,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24
,0x24,0x24,0x34,0x24,0x23,0x23,0x23,0x93,0x93,0x35,0x24,0x23,0x24,0x24
,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x04,0x04,0x05,0x05,0x05,0x24,0x24
,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x23,0x24,0x23,0x23,0x93,0x93,0x25
,0x24,0x24,0x23,0x24,0x23,0x24,0x24,0x23,0x24,0x24,0x24,0x05,0x05,0x05
,0x06,0x06,0x35,0x35,0x23,0x24,0x24,0x24,0x24,0x24,0x23,0x23,0x24,0x23
,0x23,0x93,0x93,0x35,0x24,0x24,0x24,0x21,0x32,0x31,0x21,0x32,0x31,0x32
,0x22,0x04,0x25,0x26,0x27,0x26,0x04,0x03,0x32,0x31,0x32,0x22,0x32,0x32
,0x24,0x24,0x23,0x24,0x23,0x93,0x92,0x25,0x24,0x23,0x24,0x21,0x21,0x21
,0x21,0x21,0x32,0x22,0xa4,0x27,0x28,0x2a,0x2f,0x2b,0x26,0x24,0x33,0x32
,0x32,0x22,0x23,0x22,0x24,0x23,0x24,0x23,0x23,0x93,0x93,0x25,0x24,0x23
,0x24,0x21,0x21,0x36,0x36,0x36,0x37,0x32,0xb5,0x27,0x29,0x2b,0x2f,0x2b
,0x27,0x25,0x33,0x32,0x22,0x21,0x32,0x32,0x24,0x23,0x24,0x23,0x23,0x93
,0x92,0x35,0x24,0x24,0x24,0x21,0x21,0x36,0x36,0x22,0x36,0x32,0x33,0x26
,0x27,0x29,0x29,0x29,0x26,0x13,0x22,0x32,0x32,0x22,0x33,0x32,0x24,0x24
,0x24,0x24,0x23,0x93,0x93,0x25,0x24,0x24,0x24,0x21,0x21,0x36,0x36,0x22
,0x36,0x22,0x33,0x05,0x27,0x29,0x29,0x29,0x25,0x24,0x22,0x32,0x32,0x22
,0x22,0x32,0x24,0x24,0x24,0x23,0x23,0x93,0x93,0x24,0x24,0x23,0x23,0x11
,0x21,0x36,0x36,0x22,0x22,0x32,0xb5,0x27,0x29,0x2b,0x2f,0x2b,0x27,0x24
,0x33,0x32,0x31,0x31,0x32,0x32,0x24,0x23,0x23,0x23,0x23,0x93,0x93,0x24
,0x24,0x24,0x24,0x21,0x21,0x36,0x36,0x22,0x36,0x33,0xa5,0x27,0x2a,0x2c
,0x2f,0x2c,0x27,0x15,0x33,0x32,0x32,0x22,0x22,0x22,0x24,0x24,0x24,0x24
,0x23,0x93,0x93,0x25,0x24,0x24,0x24,0x11,0x21,0x36,0x36,0x36,0x36,0x32
,0x22,0x26,0x27,0x29,0x29,0x29,0x25,0x14,0x33,0x32,0x22,0x22,0x22,0x32
,0x24,0x24,0x24,0x24,0x23,0x93,0x93,0x25,0x24,0x23,0x23,0x21,0x22,0x31
,0x21,0x22,0x31,0x32,0x33,0x05,0x27,0x29,0x29,0x29,0x25,0x13,0x32,0x22
,0x32,0x22,0x22,0x32,0x24,0x23,0x23,0x23,0x23,0x93,0x93,0x25,0x24,0x24
,0x24,0x21,0x22,0x22,0x21,0x22,0x32,0x22,0xb5,0x28,0x29,0x2b,0x2f,0x2b
,0x27,0x25,0x33,0x32,0x32,0x22,0x22,0x21,0x24,0x24,0x24,0x23,0x23,0x93
,0x93,0x25,0x24,0x24,0x24,0x21,0x22,0x22,0x21,0x22,0x22,0x32,0xb5,0x27
,0x29,0x2c,0x2f,0x2c,0x27,0x15,0x33,0x32,0x32,0x11,0x22,0x32,0x24,0x24
,0x24,0x24,0x23,0x93,0x93,0x35,0x24,0x23,0x24,0x21,0x22,0x32,0x22,0x22
,0x32,0x32,0x34,0x25,0x27,0x29,0x29,0x29,0x25,0x24,0x22,0x32,0x32,0x21
,0x22,0x31,0x24,0x23,0x24,0x23,0x23,0x93,0x93,0x35,0x23,0x24,0x24,0x21
,0x22,0x32,0x22,0x22,0x32,0x32,0x33,0x05,0x27,0x29,0x29,0x29,0x25,0x04
,0x22,0x22,0x31,0x21,0x32,0x32,0x23,0x24,0x24,0x23,0x23,0x93,0x93,0x35
,0x24,0x24,0x24,0x11,0x22,0x32,0x22,0x22,0x32,0x32,0xb6,0x27,0x29,0x2b
,0x2f,0x2b,0x27,0x25,0x22,0x32,0x22,0x21,0x22,0x32,0x24,0x24,0x24,0x03
,0x23,0x93,0x93,0x35,0x24,0x24,0x24,0x21,0x22,0x22,0x21,0x22,0x32,0x32
,0xb5,0x27,0x29,0x2b,0x2f,0x2c,0x27,0x25,0x33,0x32,0x32,0x21,0x22,0x32
,0x24,0x24,0x24,0x24,0x23,0x93,0x93,0x24,0x24,0x23,0x23,0x21,0x32,0x32
,0x22,0x32,0x31,0x31,0x33,0x26,0x28,0x29,0x29,0x29,0x25,0x24,0x22,0x32
,0x32,0x21,0x22,0x22,0x24,0x23,0x23,0x23,0x23,0x93,0x92,0x25,0x24,0x24
,0x24,0x22,0x22,0x36,0x36,0x36,0x37,0x32,0x34,0x26,0x27,0x28,0x29,0x29
,0x25,0x24,0x23,0x32,0x32,0x22,0x23,0x22,0x24,0x24,0x24,0x23,0x23,0x93
,0x93,0x24,0x24,0x23,0x24,0x22,0x22,0x36,0x36,0x22,0x36,0x32,0xb5,0x27
,0x29,0x2b,0x2f,0x2b,0x27,0x25,0x33,0x32,0x22,0x22,0x22,0x32,0x24,0x23
,0x24,0x23,0x23,0x93,0x92,0x35,0x24,0x23,0x24,0x22,0x32,0x36,0x36,0x22
,0x36,0x22,0xb5,0x28,0x2a,0x2c,0x2f,0x2c,0x27,0x25,0x33,0x32,0x32,0x22
,0x33,0x32,0x24,0x23,0x24,0x23,0x23,0x93,0x93,0x24,0x24,0x24,0x24,0x22
,0x23,0x36,0x36,0x22,0x22,0x32,0x34,0x26,0x27,0x29,0x29,0x29,0x25,0x13
,0x22,0x32,0x32,0x22,0x22,0x32,0x24,0x24,0x24,0x24,0x23,0x93,0x93,0x24
,0x24,0x23,0x24,0x22,0x22,0x36,0x36,0x22,0x36,0x33,0xa4,0x05,0x27,0x29
,0x29,0x29,0x25,0x13,0x22,0x31,0x32,0x31,0x32,0x32,0x24,0x23,0x24,0x24
,0x23,0x93,0x93,0x24,0x24,0x23,0x24,0x22,0x22,0x36,0x36,0x36,0x36,0x32
,0xb5,0x27,0x29,0x2b,0x2f,0x2b,0x27,0x24,0x33,0x32,0x32,0x22,0x22,0x22
,0x24,0x23,0x24,0x23,0x23,0x93,0x93,0x35,0x24,0x24,0x24,0x22,0x22,0x31
,0x21,0x22,0x31,0x32,0xb4,0x26,0x28,0x2b,0x2f,0x2b,0x27,0x14,0x33,0x31
,0x32,0x22,0x22,0x22,0x24,0x24,0x24,0x23,0x23,0x93,0x93,0x25,0x24,0x24
,0x25,0x31,0x22,0x31,0x31,0x32,0x32,0x32,0x33,0x04,0x25,0x26,0x27,0x27
,0x04,0x03,0x22,0x32,0x22,0x22,0x32,0x32,0x24,0x24,0x24,0x23,0x23,0x93
,0x93,0x24,0x24,0x24,0x23,0x23,0x23,0x23,0x24,0x33,0x24,0x33,0x34,0x24
,0x05,0x05,0x06,0x06,0x05,0x35,0x24,0x24,0x24,0x24,0x24,0x24,0x23,0x23
,0x24,0x24,0x23,0x93,0x93,0x35,0x24,0x23,0x24,0x24,0x24,0x24,0x24,0x23
,0x24,0x24,0x24,0x35,0x04,0x05,0x05,0x35,0x24,0x24,0x23,0x24,0x24,0x23
,0x24,0x24,0x24,0x23,0x24,0x23,0x23,0x93,0x93,0x35,0x23,0x24,0x24,0x24
,0x24,0x24,0x24,0x24,0x35,0x24,0x24,0x24,0x24,0x25,0x35,0x35,0x24,0x24
,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x24,0x23,0x24,0x23,0x93,0x93,0x23
,0x23,0x23,0x23,0x23,0x23,0x24,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23
,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x23,0x24,0x23
,0x23,0x93
2018-09-08 18:55:25 +02:00
};
2018-09-08 20:06:03 +02:00
const unsigned char texture2[] =
2018-09-18 12:54:19 +02:00
{ 32, 32 // width, height
2018-09-27 12:55:03 +02:00
,0x21,0x01,0x02,0x12,0x03,0x03,0x03,0x34,0x03,0x34,0x34,0x34,0x34,0x53
,0x53,0x03,0x53,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x45,0x03,0x02,0x11,0x21,0x02,0x03,0x03,0x34,0x44,0x44,0x44,0x44
,0x44,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x44,0x44,0x44,0x44,0x44,0x44
,0x44,0x44,0x44,0x43,0x03,0x45,0x03,0x02,0x11,0x21,0x12,0x03,0x34,0x04
,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x4a,0x03,0x03,0x03,0x03,0x35,0x44
,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x43,0x03,0x45,0x03,0x02,0x11,0x21
,0x12,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x4b,0x35,0x35
,0x23,0x33,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x4b
,0x03,0x02,0x11,0x21,0x12,0x02,0x44,0x44,0x45,0x45,0x45,0x45,0x45,0x45
,0x34,0x4b,0xba,0xba,0x34,0x33,0x44,0x45,0x44,0x44,0x44,0x44,0x44,0x44
,0x44,0x43,0x03,0x45,0x03,0x02,0x11,0x21,0x12,0x02,0x44,0x45,0x45,0x45
,0x45,0x45,0x45,0x03,0x34,0x4a,0x03,0x03,0x03,0x34,0x35,0x45,0x45,0x44
,0x44,0x44,0x44,0x44,0x44,0x43,0x03,0x45,0x03,0x02,0x02,0x21,0x12,0x02
,0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x44,0x34,0x47,0x47,0x45,0x45,0x45
,0x45,0x45,0x45,0x44,0x03,0x44,0x44,0x44,0x44,0x43,0x03,0x45,0x03,0x02
,0x02,0x21,0x12,0x03,0x44,0x34,0x03,0x03,0x03,0x03,0x44,0x44,0x03,0x54
,0x54,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x34,0x34,0x02,0x02,0x02,0x21
,0x01,0x4b,0x03,0x02,0x02,0x11,0x03,0x03,0x03,0x43,0x45,0x45,0x44,0x44
,0x43,0x43,0x43,0x43,0x43,0x43,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x03,0x02,0x02,0x44,0x03,0x02,0x02,0x02,0x03,0x44,0x45,0x03
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x45,0x03,0x02,0x02,0x02
,0x44,0x45,0x5f,0x03,0x4a,0x4b,0x4a,0x49,0x49,0x47,0x46,0x45,0x45,0x35
,0x35,0x45,0x45,0x35,0x35,0x35,0x34,0x34,0x35,0x34,0x34,0x34,0x12,0x45
,0x03,0x02,0x12,0x02,0x44,0x46,0x6e,0xc8,0x4a,0x4b,0x4b,0x4b,0x49,0x48
,0x46,0x37,0x45,0x45,0x45,0x45,0x45,0x45,0x35,0x35,0x35,0x35,0x35,0x34
,0x34,0x34,0x12,0x45,0x03,0x02,0x02,0x02,0x45,0x46,0x6e,0xc8,0x49,0x4b
,0x4b,0x4b,0x49,0x48,0x47,0x46,0x45,0x45,0x45,0x45,0x45,0x45,0x35,0x35
,0x35,0x35,0x35,0x34,0x34,0x34,0x12,0x45,0x03,0x02,0x12,0x12,0x44,0x47
,0x6e,0xcb,0x4b,0x0b,0x4b,0x4b,0x49,0x48,0x47,0x46,0x45,0x45,0x45,0x45
,0x45,0x45,0x35,0x35,0x35,0x35,0x35,0x34,0x34,0x34,0x12,0x45,0x03,0x02
,0x12,0x02,0x45,0xc8,0x6f,0xcb,0x4b,0x0b,0x4b,0x4a,0x49,0x48,0x03,0x03
,0x03,0x03,0x03,0x45,0x45,0x45,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x34
,0x12,0x45,0x03,0x02,0x12,0x12,0x45,0xc8,0x6f,0xcb,0x4b,0x0b,0x4b,0x4b
,0x49,0x47,0x34,0x37,0x45,0x45,0x03,0x45,0x45,0x45,0x03,0x34,0x35,0x35
,0x34,0x34,0x03,0x34,0x12,0x45,0x03,0x02,0x02,0x02,0x45,0xc8,0x6f,0xcb
,0x49,0x49,0x49,0x49,0x49,0x45,0x34,0x46,0x45,0x45,0x03,0x03,0x03,0x03
,0x03,0x35,0x35,0x35,0x35,0x35,0x03,0x03,0x12,0x45,0x03,0x02,0x12,0x02
,0x45,0x47,0x6e,0xcb,0x4b,0x4b,0x4b,0x4b,0x49,0x48,0x47,0x46,0x45,0x34
,0x35,0xba,0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x34,0x34,0x34,0x12,0x45
,0x03,0x02,0x12,0x12,0x44,0x47,0x6e,0xcb,0x4b,0x4b,0x4a,0x4a,0x49,0x48
,0x47,0x37,0x45,0x35,0x35,0xba,0x33,0x34,0x35,0x35,0x35,0x35,0x35,0x34
,0x34,0x34,0x12,0x45,0x03,0x02,0x12,0x02,0x44,0x46,0x6e,0xc9,0x4a,0x4b
,0x4b,0x49,0x49,0x48,0x47,0x45,0x45,0x45,0x37,0x45,0x45,0x34,0x35,0x35
,0x35,0x35,0x35,0x34,0x34,0x34,0x12,0x45,0x03,0x02,0x12,0x02,0x44,0x46
,0x6e,0xc8,0x49,0x4b,0x4a,0x49,0x49,0x47,0x46,0x45,0x45,0x45,0x45,0x45
,0x35,0x34,0x35,0x35,0x35,0x35,0x35,0x34,0x34,0x34,0x12,0x45,0x03,0x02
,0x02,0x02,0x43,0x45,0x5f,0x03,0x4a,0x4b,0x4b,0x49,0x49,0x47,0x46,0x45
,0x45,0x35,0x45,0x45,0x35,0x34,0x35,0x35,0x35,0x35,0x35,0x34,0x34,0x34
,0x22,0x45,0x03,0x02,0x02,0x02,0x03,0x44,0x45,0x03,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11
,0x11,0x11,0x11,0x11,0x11,0x45,0x03,0x02,0x02,0x11,0x03,0x03,0x44,0x43
,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x02,0x02,0x02,0x02
,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x45,0x03,0x02,0x02,0x11
,0x03,0x03,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x54,0x54,0x44
,0x44,0x45,0x45,0x45,0x45,0x45,0x44,0x44,0x34,0x03,0x03,0x02,0x02,0x45
,0x03,0x02,0x11,0x11,0x03,0x02,0x44,0x44,0x44,0x45,0x45,0x45,0x45,0x45
,0x45,0x54,0x54,0x44,0x44,0x35,0x34,0x45,0x45,0x44,0x44,0x44,0x44,0x04
,0x04,0x43,0x02,0x45,0x03,0x02,0x11,0x21,0x12,0x02,0x44,0x44,0x44,0x45
,0x45,0x45,0x45,0x45,0x45,0x54,0x54,0x44,0x54,0x34,0x34,0x35,0x44,0x44
,0x44,0x44,0x44,0x34,0x04,0x43,0x03,0x45,0x03,0x02,0x11,0x21,0x12,0x02
,0x34,0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x54,0x53,0x44,0x54,0x35
,0x35,0x35,0x44,0x44,0x44,0x44,0x44,0x34,0x04,0x43,0x03,0x45,0x03,0x02
,0x11,0x21,0x12,0x12,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x11
,0x11,0x11,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02
,0x02,0x4b,0x03,0x02,0x11,0x21,0x12,0x03,0x34,0x44,0x45,0x45,0x45,0x45
,0x45,0x45,0x44,0x53,0x53,0x44,0x43,0x45,0x44,0x44,0x44,0x44,0x44,0x44
,0x44,0x44,0x44,0x43,0x03,0x45,0x03,0x02,0x11,0x21,0x12,0x03,0x34,0x44
,0x44,0x44,0x45,0x45,0x45,0x44,0x44,0x54,0x54,0x44,0x54,0x44,0x45,0x44
,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x43,0x03,0x45,0x03,0x02,0x21,0x01
,0x02,0x03,0x03,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x34,0x53,0x53,0x43
,0x53,0x34,0x34,0x34,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x45
,0x03,0x02
2018-09-08 18:55:25 +02:00
};
2018-09-08 20:06:03 +02:00
const unsigned char texture3[] =
2018-09-18 12:54:19 +02:00
{ 32, 32 // width, height
2018-09-27 12:55:03 +02:00
,0x22,0x08,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x09,0x09,0x08,0x08,0x08,0x07,0x02
,0x03,0x03,0x02,0x03,0x22,0x08,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x08,0x08
,0x08,0x07,0x06,0x02,0x03,0x03,0x02,0x03,0x22,0x08,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a
,0x0a,0x09,0x09,0x08,0x08,0x07,0x06,0x02,0x03,0x03,0x02,0x03,0x22,0x08
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x09,0x08,0x08,0x07,0x21,0x02,0x02
,0x02,0x43,0x22,0x08,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x09,0x08,0x08
,0x07,0x21,0x02,0x02,0x02,0x03,0x32,0x08,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a
,0x09,0x09,0x08,0x08,0x07,0x21,0x02,0x02,0x02,0x03,0x22,0x08,0x03,0x03
,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x05,0x04,0x0c,0x0c,0x0b,0x0b,0x0b
,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x08,0x07,0x21,0x03,0x02,0x02,0x03
,0x32,0x08,0x08,0x08,0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x0c,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x08,0x07,0x21
,0x03,0x02,0x03,0x03,0x22,0x08,0x03,0x05,0x08,0x08,0x07,0x07,0x07,0x05
,0x07,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09
,0x08,0x08,0x07,0x21,0x21,0x02,0x02,0x03,0x22,0x08,0x03,0x04,0x08,0x04
,0x04,0x05,0x07,0x05,0x05,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a
,0x0a,0x0a,0x09,0x09,0x08,0x08,0x07,0x21,0x03,0x02,0x03,0x04,0x22,0x08
,0x08,0x08,0x08,0x08,0x04,0x04,0x04,0x07,0x05,0x0c,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x09,0x08,0x07,0x03,0x03,0x04
,0x03,0x03,0x22,0x08,0x03,0x07,0x07,0x07,0x07,0x07,0x07,0x05,0x04,0x0c
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x09,0x09
,0x07,0x03,0x03,0x03,0x03,0x03,0x22,0x08,0x03,0x04,0x05,0x04,0x05,0x05
,0x07,0x04,0x07,0x05,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a
,0x09,0x09,0x09,0x09,0x07,0x03,0x03,0x03,0x02,0x03,0x22,0x08,0x03,0x08
,0x07,0x07,0x04,0x05,0x08,0x04,0x04,0x05,0x04,0x0c,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x07,0x03,0x03,0x03,0x03,0x04
,0x22,0x08,0x03,0x04,0x05,0x07,0x04,0x04,0x08,0x05,0x04,0x05,0x04,0x0c
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x07,0x03
,0x03,0x03,0x03,0x03,0x22,0x08,0x03,0x04,0x04,0x07,0x08,0x04,0x05,0x07
,0x07,0x07,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09
,0x09,0x08,0x07,0x03,0x03,0x03,0x03,0x03,0x22,0x08,0x03,0x04,0x04,0x04
,0x08,0x04,0x05,0x05,0x04,0x04,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a
,0x0a,0x0a,0x09,0x09,0x09,0x08,0x07,0x03,0x03,0x03,0x03,0x03,0x22,0x08
,0x03,0x07,0x07,0x07,0x08,0x04,0x05,0x04,0x05,0x05,0x04,0x0c,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x07,0x03,0x03,0x03
,0x03,0x03,0x22,0x08,0x03,0x06,0x48,0x06,0x08,0x05,0x05,0x07,0x05,0x05
,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x09,0x08
,0x05,0x03,0x03,0x03,0x03,0x03,0x22,0x08,0x03,0x48,0x4d,0x49,0x05,0x08
,0x07,0x07,0x04,0x05,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a
,0x0a,0x09,0x09,0x07,0x03,0x03,0x04,0x03,0x03,0x43,0x32,0x08,0x03,0x06
,0x49,0x08,0x07,0x08,0x05,0x05,0x05,0x05,0x04,0x0c,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x08,0x03,0x03,0x04,0x04,0x03,0x03,0x03
,0x22,0x08,0x03,0x04,0x03,0x03,0x07,0x08,0x03,0x04,0x07,0x05,0x04,0x0c
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x08,0x03,0x03,0x04
,0x04,0x03,0x03,0x03,0x32,0x08,0x03,0x04,0x03,0x11,0x08,0x03,0x11,0x04
,0x05,0x05,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x09
,0x08,0x03,0x04,0x03,0x03,0x03,0x03,0x03,0x22,0x08,0x03,0x04,0x11,0x11
,0x05,0x11,0x11,0x04,0x04,0x05,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a
,0x0a,0x0a,0x09,0x09,0x08,0x03,0x04,0x04,0x03,0x03,0x03,0x03,0x22,0x08
,0x03,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x04,0x0c,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x03,0x03,0x04,0x03,0x03
,0x03,0x03,0x22,0x08,0x03,0x04,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05
,0x04,0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x03
,0x04,0x03,0x03,0x03,0x03,0x43,0x22,0x08,0x05,0x04,0x04,0x04,0x04,0x04
,0x04,0x04,0x04,0x04,0x04,0x0c,0x0a,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a
,0x0a,0x09,0x08,0x03,0x04,0x04,0x03,0x03,0x03,0x03,0x22,0x08,0x0c,0x0c
,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0b,0x0b,0x0b
,0x0b,0x0a,0x0a,0x0a,0x0a,0x09,0x08,0x03,0x04,0x03,0x02,0x03,0x03,0x03
,0x22,0x08,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x08,0x03,0x04,0x03
,0x03,0x04,0x03,0x03,0x22,0x08,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09
,0x08,0x03,0x03,0x04,0x04,0x04,0x03,0x03,0x22,0x08,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a
,0x0a,0x0a,0x09,0x09,0x09,0x07,0x03,0x03,0x04,0x03,0x03,0x03,0x22,0x08
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x09,0x09,0x09,0x08,0x06,0x03,0x03,0x03
,0x03,0x43
2018-09-08 18:55:25 +02:00
};
2018-09-09 19:11:44 +02:00
const unsigned char texture4[] =
2018-09-18 12:54:19 +02:00
{ 32, 32 // width, height
2018-09-27 12:55:03 +02:00
,0x21,0x10,0x21,0x02,0x12,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x53,0x53
,0x03,0x03,0x53,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x45,0x03,0x21,0x10,0x21,0x02,0x03,0x03,0x34,0x44,0x44,0x44
,0x44,0x44,0x54,0x54,0x43,0x43,0x54,0x44,0x44,0x44,0x44,0x44,0x44,0x44
,0x44,0x44,0x44,0x43,0x43,0x03,0x45,0x03,0x21,0x10,0x21,0x02,0x03,0x03
,0x34,0x04,0x44,0x44,0x44,0x04,0x53,0x53,0x43,0x43,0x54,0x44,0x44,0x44
,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x43,0x43,0x03,0x45,0x03,0x21,0x10
,0x21,0x02,0x12,0x03,0x03,0x03,0x03,0x03,0x03,0x11,0x11,0x11,0x11,0x11
,0x02,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x45,0x44,0x43,0x43,0x03
,0x45,0x03,0x21,0x10,0x21,0x02,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12
,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x03
2018-09-27 15:25:20 +02:00
,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x10,0x21,0x02,0x12,0xa8,0x2c,0x07
,0x07,0x39,0x38,0x06,0x06,0x27,0x27,0x13,0x16,0x13,0xa3,0xa3,0xa2,0x28
,0x14,0x14,0x91,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x10,0x21,0x02
,0x12,0x48,0xa7,0x3b,0x3b,0x39,0x06,0x06,0xa8,0xa4,0xa4,0x13,0x16,0x13
,0xa5,0xa4,0x14,0xa2,0x14,0x14,0x91,0x03,0x45,0x43,0x43,0x03,0x45,0x03
,0x21,0x10,0x21,0x02,0x12,0x49,0xa7,0x07,0x39,0x39,0x06,0x06,0xa8,0xa4
,0xa4,0x13,0x16,0x13,0x14,0x14,0x14,0x92,0x14,0x73,0x91,0x03,0x45,0x43
,0x43,0x03,0x45,0x03,0x21,0x10,0x11,0x02,0x12,0x49,0x48,0xa7,0x39,0x07
,0x38,0xa8,0xa5,0xa6,0xa6,0x13,0x16,0x13,0x25,0x14,0x14,0x13,0x92,0x73
,0xa3,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x02,0x12,0x12,0x48
,0x48,0xa7,0x07,0xaa,0xa9,0xa8,0xa5,0xa6,0xa6,0x13,0x16,0x13,0x14,0x14
,0x13,0x13,0x92,0x14,0x94,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01
,0x11,0x12,0x12,0x49,0x49,0xb9,0xa7,0xa6,0xa5,0xa5,0xa6,0x26,0x26,0x13
,0x16,0x13,0x25,0x14,0x13,0x13,0x14,0x92,0x92,0x03,0x45,0x43,0x43,0x03
,0x45,0x03,0x21,0x01,0x11,0x03,0x12,0x49,0xb9,0xa7,0x2b,0x2b,0x2a,0x06
,0xa5,0x26,0x25,0x13,0x16,0x13,0x25,0x14,0x13,0x14,0x92,0xa3,0x93,0x03
,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0xb9,0xa7,0x2c
,0x07,0x39,0x06,0x06,0xa5,0x26,0x25,0x13,0x16,0x13,0x14,0x14,0x13,0x14
,0x93,0x13,0x13,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12
,0x12,0x13,0x13,0x2c,0x39,0x28,0x06,0x06,0x06,0xa4,0xa4,0x13,0x16,0x13
,0x13,0x13,0x14,0x92,0xa3,0x13,0x13,0x03,0x45,0x43,0x43,0x03,0x45,0x03
,0x21,0x01,0x11,0x12,0x12,0x16,0x16,0x13,0x07,0x39,0x06,0x06,0x06,0xa4
,0xa4,0x25,0x13,0x16,0x16,0x16,0x13,0x93,0x13,0x13,0x13,0x03,0x45,0x43
,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0x13,0x13,0x16,0x13,0x39
,0x06,0x06,0x06,0x06,0x05,0xa4,0xa3,0x13,0x13,0x13,0x16,0x13,0x13,0x13
,0x12,0x12,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0xa8
,0x07,0x13,0x16,0x13,0x06,0x06,0x06,0x27,0x27,0xa4,0xa5,0xa5,0xa4,0x13
,0x13,0x16,0x13,0x13,0x12,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01
,0x11,0x12,0x12,0x3a,0xa7,0x13,0x16,0x13,0x06,0x06,0xa8,0xa4,0xa4,0xa6
,0x15,0x25,0x14,0x14,0x13,0x16,0x13,0x13,0x12,0x03,0x45,0x43,0x43,0x03
,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0x39,0xa7,0x13,0x16,0x13,0x06,0x06
,0xa8,0xa4,0xa4,0xa5,0x15,0x14,0x14,0x13,0x13,0x16,0x13,0x13,0x12,0x03
,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0x39,0x39,0x13
,0x16,0x13,0x06,0xa8,0xa4,0xa6,0xa5,0x25,0x15,0x14,0x14,0x14,0x13,0x16
,0x13,0x13,0x12,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12
,0x12,0x39,0x39,0x13,0x16,0x13,0xa8,0xa8,0xa4,0xa6,0xa6,0x25,0x15,0x14
,0x14,0x13,0x13,0x16,0x13,0x13,0x13,0x03,0x45,0x43,0x43,0x03,0x45,0x03
,0x21,0x01,0x11,0x12,0x12,0x39,0x39,0x13,0x16,0x13,0xa5,0xa5,0xa6,0x26
,0x25,0x25,0x15,0x15,0x14,0x14,0x13,0x16,0x13,0x92,0x92,0x03,0x45,0x43
,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0x39,0x07,0x13,0x16,0x13
,0x2a,0x06,0xa4,0x26,0x25,0x25,0x15,0x14,0x14,0x14,0x13,0x16,0x13,0x27
,0x27,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0x07
,0xa7,0x13,0x16,0x13,0x06,0x06,0xa4,0x26,0x25,0x25,0x15,0x15,0x14,0x14
,0x13,0x16,0x13,0x13,0x92,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01
,0x11,0x12,0x12,0x07,0xa7,0x13,0x16,0x13,0x06,0x06,0x06,0xa4,0xa4,0x25
,0x05,0x04,0x14,0x14,0x13,0x16,0x13,0x13,0x91,0x03,0x45,0x43,0x43,0x03
,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0xa8,0x2c,0x13,0x16,0x13,0x06,0x06
,0x06,0xa7,0xa7,0xa4,0xa3,0xa3,0xa2,0xa2,0x13,0x16,0x13,0x13,0x91,0x03
,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x12,0xa8,0x07,0x13
,0x16,0x13,0x06,0x06,0xa8,0xa4,0xa4,0x29,0x28,0x28,0x28,0x14,0x13,0x16
,0x13,0x13,0x91,0x03,0x45,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12
2018-09-27 12:55:03 +02:00
,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12
,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x03,0x45,0x43,0x43,0x03,0x45,0x03
,0x21,0x01,0x11,0x12,0x12,0x03,0x03,0x03,0x03,0x03,0x03,0x02,0x11,0x11
,0x11,0x11,0x02,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x45,0x44,0x43
,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x03,0x34,0x44,0x44,0x44,0x44
,0x45,0x44,0x53,0x53,0x44,0x44,0x43,0x45,0x44,0x44,0x44,0x44,0x44,0x44
,0x44,0x44,0x44,0x43,0x43,0x03,0x45,0x03,0x21,0x01,0x11,0x12,0x03,0x34
,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x54,0x44,0x44,0x54,0x44,0x45,0x44
,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x43,0x43,0x03,0x45,0x03,0x21,0x01
,0x11,0x02,0x03,0x03,0x34,0x34,0x34,0x34,0x34,0x34,0x53,0x53,0x43,0x43
,0x53,0x34,0x34,0x34,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x45,0x03
2018-09-09 19:11:44 +02:00
};
2018-09-10 09:33:09 +02:00
const unsigned char texture5[] =
2018-09-18 12:54:19 +02:00
{ 32, 32 // width, height
2018-09-27 12:55:03 +02:00
,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03
,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x8f,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00
,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x03
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02
,0x01,0x02,0x02,0x02,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x8f,0x00,0x00
,0x00,0x8f,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04
,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x8f,0x87,0x00,0x87,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03
,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00
,0x8f,0x00,0x00,0x00,0x00,0x87,0x8f,0x8f,0x8f,0x87,0x00,0x00,0x00,0x00
,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02
,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02
,0x02,0x02,0x01,0x02,0x02,0x03,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x87
,0x8f,0x8f,0x8f,0x87,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03
,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x8f,0x87,0x00,0x87,0x8f,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02
,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x87,0x8f,0x8f,0x8f,0x87,0x00,0x00
,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02
,0x01,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04
,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x8f,0x00,0x00,0x8f
,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03
,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x8f,0x87,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02
,0x02,0x02,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x87,0x8f,0x00,0x8f,0x87
,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02
,0x02,0x02,0x01,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f
,0x00,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03
,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x8f,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00
,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02
,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02
,0x01,0x02,0x02,0x03,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04
,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03
,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00
,0x8f,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x87,0x00,0x00,0x00,0x00
,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02
,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x87,0x8f
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02
,0x02,0x02,0x01,0x02,0x02,0x03,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03
,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02
,0x00,0x00,0x8f,0x00,0x00,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x87,0x00,0x00
,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02
,0x01,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x00
,0x87,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04
,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x8f,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03
,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x87,0x8f,0x8f,0x8f,0x87,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02
,0x02,0x02,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x8f,0x87,0x00,0x87,0x8f
,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02
,0x02,0x02,0x01,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87
,0x8f,0x8f,0x8f,0x87,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03
,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x03,0x00,0x00,0x8f,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00
,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02,0x01,0x02,0x02,0x02
2018-09-10 09:33:09 +02:00
,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
2018-09-27 12:55:03 +02:00
,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x04,0x03,0x02,0x02,0x02
,0x01,0x02,0x02,0x02,0x00,0x00,0x8f,0x00,0x00,0x00,0x00,0x00,0x00,0x00
,0x00,0x00,0x00,0x00,0x00,0x00,0x8f,0x00,0x00,0x03,0x03,0x03,0x03,0x04
,0x03,0x02
2018-09-10 09:33:09 +02:00
};
2018-09-15 11:49:34 +02:00
const unsigned char texture6[] =
2018-09-18 12:54:19 +02:00
{ 32, 32 // width, height
2018-09-27 12:55:03 +02:00
,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1
,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1
,0xb1,0xb1,0xb1,0xb1,0xa0,0x2c,0x37,0x26,0x06,0x09,0x0c,0x0d,0x0d,0x5f
,0x5f,0x5f,0x5d,0x5f,0x5d,0x6f,0x6c,0x6d,0x6b,0x5b,0x59,0x58,0x5b,0x59
,0x5b,0x5b,0x5d,0x59,0x08,0x5b,0x06,0xb1,0x20,0x0e,0x25,0x25,0x07,0x0b
,0x0c,0x0d,0x0b,0x5f,0x5d,0x5d,0x5d,0x5f,0x4b,0x6c,0x6a,0x6c,0x6b,0x5d
,0x5b,0x59,0x58,0x58,0x59,0x5b,0x59,0x58,0x06,0x5b,0x04,0xb1,0x20,0x2e
,0x33,0x34,0x24,0x24,0x06,0x04,0x04,0x04,0x03,0x04,0x05,0x04,0x22,0x32
,0x22,0x32,0x33,0x43,0x04,0x04,0x04,0x04,0x04,0x45,0x57,0x55,0x55,0x58
,0x43,0xb1,0xb0,0x28,0x22,0x32,0x33,0x33,0x44,0x56,0x55,0x55,0x55,0x58
,0x57,0x59,0x56,0x67,0x65,0x67,0x65,0x56,0x56,0x57,0x57,0x58,0x57,0x04
,0x55,0x56,0x04,0x58,0x03,0xb1,0xb0,0x29,0x22,0x21,0x23,0x22,0x54,0x56
,0x57,0x56,0x56,0x56,0x55,0x57,0x56,0x65,0x64,0x66,0x65,0x58,0x58,0x56
,0x56,0x56,0x56,0x04,0x57,0x55,0x55,0x56,0x03,0xb1,0xb0,0x28,0x21,0x32
,0x22,0x22,0x53,0x43,0x54,0x54,0x54,0x54,0x55,0x54,0x55,0x63,0x64,0x54
,0x64,0x55,0x55,0x55,0x55,0x55,0x55,0x03,0x55,0x56,0x04,0x57,0x42,0xb1
,0x31,0x06,0x31,0x31,0x32,0x21,0x53,0x53,0x54,0x54,0x54,0x55,0x54,0x54
,0x54,0x64,0x63,0x63,0x64,0x55,0x55,0x55,0x55,0x55,0x55,0x04,0x5d,0x56
,0x05,0x57,0x03,0xb1,0xa0,0x2d,0x20,0x32,0x22,0x21,0x43,0x55,0x55,0x56
,0x55,0x55,0x56,0x56,0x57,0x65,0x65,0x65,0x66,0x57,0x56,0x55,0x56,0x57
,0x56,0x07,0x5f,0x57,0x55,0x55,0x42,0xb1,0x20,0x2b,0x31,0x21,0x23,0x21
,0x53,0x55,0x57,0x96,0x96,0x96,0x96,0x57,0x96,0x65,0x95,0x66,0x96,0x58
,0x96,0x96,0x96,0x96,0x57,0x07,0x5f,0x57,0x04,0x56,0x03,0xb1,0x20,0x05
,0x20,0x33,0x22,0x31,0x53,0x55,0x56,0x96,0x96,0x96,0x57,0x58,0x56,0x65
,0x65,0x66,0x65,0x58,0x56,0x96,0x96,0x96,0x58,0x06,0x5f,0x56,0x04,0x56
,0x42,0xb1,0x31,0x05,0x32,0x33,0x23,0x21,0x53,0x55,0x57,0x96,0x96,0x58
,0x57,0x58,0x56,0x66,0x65,0x66,0x65,0x58,0x58,0x58,0x96,0x96,0x57,0x07
,0x5f,0x57,0x55,0x58,0x42,0xb1,0xb0,0x29,0x31,0x22,0x22,0x21,0x43,0x55
,0x58,0x96,0x58,0x57,0x56,0x57,0x57,0x65,0x65,0x66,0x65,0x57,0x59,0x57
,0x56,0x96,0x56,0x06,0x5d,0x56,0x55,0x58,0x33,0xb1,0x20,0x26,0x21,0x21
,0x33,0x21,0x53,0x55,0x57,0x57,0x57,0x56,0x58,0x57,0x58,0x65,0x75,0x66
,0x66,0x57,0x56,0x58,0x59,0x59,0x58,0x07,0x5f,0x55,0x55,0x56,0x42,0xb1
,0xb0,0x06,0x32,0x31,0x22,0x31,0x53,0x55,0x57,0x58,0x57,0x58,0x57,0x58
,0x57,0x75,0x65,0x66,0x65,0x56,0x57,0x56,0x57,0x58,0x56,0x07,0x59,0x57
,0x55,0x56,0x42,0xb1,0x20,0x25,0x21,0x21,0x22,0x31,0x42,0x44,0x57,0x58
,0x57,0x58,0x56,0x57,0x56,0x67,0x65,0x56,0x65,0x56,0x58,0x56,0x57,0x58
,0x57,0x07,0x5d,0x56,0x05,0x56,0x42,0xb1,0x20,0x24,0x20,0x22,0x23,0x21
,0x43,0x55,0x57,0x58,0x57,0x58,0x56,0x57,0x56,0x75,0x74,0x66,0x65,0x57
,0x59,0x58,0x57,0x57,0x57,0x0a,0x0c,0x55,0x04,0x57,0x42,0xb1,0xb1,0x25
,0x31,0x21,0x22,0x22,0x43,0x55,0x57,0x57,0x56,0x57,0x57,0x58,0x58,0x65
,0x65,0x66,0x66,0x57,0x57,0x58,0x58,0x56,0x57,0x09,0x0d,0x57,0x05,0x57
,0x42,0xb1,0xb0,0x25,0x31,0x31,0x22,0x21,0x43,0x56,0x59,0x58,0x57,0x58
,0x58,0x58,0x57,0x75,0x75,0x66,0x65,0x58,0x58,0x59,0x57,0x58,0x59,0x09
,0x0c,0x57,0x55,0x56,0x02,0xb1,0xb0,0x06,0x20,0x31,0x33,0x32,0x53,0x56
,0x57,0x96,0x57,0x56,0x56,0x56,0x57,0x65,0x74,0x55,0x56,0x58,0x57,0x59
,0x57,0x96,0x58,0x0c,0x5f,0x58,0x55,0x57,0x42,0xb1,0xb0,0x04,0xb0,0x21
,0x23,0x22,0x43,0x55,0x57,0x96,0x96,0x59,0x56,0x57,0x56,0x67,0x74,0x66
,0x55,0x57,0x57,0x58,0x96,0x96,0x58,0x0d,0x0c,0x57,0x04,0x57,0x02,0xb1
,0x20,0x06,0x31,0x22,0x33,0x22,0x43,0x55,0x56,0x96,0x96,0x96,0x57,0x58
,0x58,0x65,0x65,0x66,0x56,0x56,0x58,0x96,0x96,0x96,0x57,0x09,0x0d,0x58
,0x55,0x57,0x33,0xb1,0xb1,0x06,0x31,0x21,0x22,0x32,0x53,0x55,0x57,0x96
,0x96,0x96,0x96,0x57,0x96,0x65,0x95,0x66,0x95,0x57,0x96,0x96,0x96,0x96
,0x58,0x07,0x5f,0x57,0x04,0x56,0x02,0xb1,0xb0,0x06,0x20,0x22,0x33,0x21
,0x43,0x56,0x57,0x56,0x57,0x58,0x57,0x58,0x57,0x66,0x65,0x66,0x65,0x56
,0x58,0x57,0x57,0x58,0x5a,0x0d,0x0d,0x57,0x04,0x56,0x03,0xb1,0x31,0x25
,0x31,0x21,0x23,0x22,0x45,0x59,0x5d,0x59,0x5d,0x5f,0x5d,0x5f,0x5c,0x6e
,0x6b,0x6d,0x5a,0x5f,0x5e,0x5c,0x5f,0x5f,0x0c,0x0a,0x0d,0x57,0x04,0x57
,0x03,0xb1,0xb0,0x06,0x31,0x31,0x33,0x23,0x47,0x5b,0x5f,0x5a,0x59,0x5b
,0x5f,0x5f,0x5c,0x69,0x6e,0x6c,0x6a,0x5d,0x0e,0x5f,0x5f,0x5f,0x0e,0x0d
,0x5f,0x57,0x05,0x58,0x42,0xb1,0x31,0x05,0x20,0x21,0x23,0x22,0x44,0x55
,0x57,0x57,0x55,0x57,0x57,0x59,0x57,0x75,0x65,0x67,0x66,0x57,0x58,0x57
,0x57,0x57,0x59,0x04,0x55,0x55,0x04,0x56,0x03,0xb1,0xb0,0x25,0x20,0x22
,0x22,0x22,0x44,0x56,0x57,0x56,0x56,0x57,0x57,0x56,0x56,0x65,0x65,0x55
,0x65,0x58,0x56,0x55,0x58,0x57,0x56,0x04,0x56,0x56,0x55,0x57,0x03,0xb1
,0xb0,0x24,0xb0,0x21,0x33,0x22,0x03,0x43,0x03,0x43,0x04,0x43,0x03,0x03
,0x22,0x21,0x31,0x31,0x22,0x04,0x03,0x43,0x43,0x04,0x43,0x05,0x56,0x56
,0x55,0x58,0x03,0xb1,0xa0,0x06,0x31,0x31,0x22,0x44,0x45,0x55,0x57,0x58
,0x57,0x57,0x57,0x57,0x55,0x65,0x65,0x55,0x64,0x56,0x56,0x56,0x56,0x55
,0x55,0x55,0x56,0x56,0x44,0x57,0x03,0xb1,0xb1,0x25,0xb0,0x31,0x32,0x03
,0x43,0x44,0x55,0x55,0x55,0x55,0x55,0x55,0x54,0x64,0x64,0x64,0x63,0x55
,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x53,0x53,0x55,0x03,0xb1,0xb1,0xb1
,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1
,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1
,0xb1,0xb1
2018-09-15 11:49:34 +02:00
};
2018-09-10 10:03:47 +02:00
const unsigned char imageBar[] =
{ 110, 21 // width, height
2018-09-27 12:55:03 +02:00
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x08,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x03,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x08,0x0a
,0x0a,0x03,0x03,0x03,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x03,0x03
,0x03,0x08,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x0a
,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x03,0x03
,0x03,0x08,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x08,0x0a
,0x0a,0x03,0x03,0x03,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x03,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x08,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0b,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x00,0x0d,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03
,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x08
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x03,0x08,0x0a,0x0a,0x08,0x03,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03
,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x08
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x03,0x08,0x0a,0x0a,0x08,0x03,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08,0x03
,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x08
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x0a,0x03,0x03
,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x03,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03
,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03
,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x03,0x03,0x0a,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03
,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x8f,0x8f,0x00,0x0d,0x0b,0x0b
,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b
,0x8f,0x8f,0x00,0x0d,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x8f,0x00,0x0d,0x0b,0x0b,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x08
,0x03,0x03,0x08,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x08,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x03,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x03
,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x03,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x08,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x0a,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x03
,0x03,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x03,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a
,0x0a,0x03,0x0a,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03
,0x03,0x03,0x03,0x03,0x03,0x0a,0x08,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x0a,0x0a,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x08,0x03
,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03
,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x03,0x03,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03
,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03
,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03
,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x08,0x03
,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x03,0x0a,0x03
,0x03,0x03,0x03,0x03,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x03,0x03,0x03,0x03,0x08,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x03
,0x03,0x03,0x08,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x00,0x0d,0x0b,0x0a,0x0a,0x0a,0x0a
,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a
2018-09-10 10:03:47 +02:00
};
2018-09-10 00:12:39 +02:00
const unsigned char spritePlasma[] =
2018-09-08 18:55:25 +02:00
{ 32, 32 // width, height
2018-09-27 12:55:03 +02:00
,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f
,0x8f,0x8f,0x8f,0x8f,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0x8f,0x8f,0x45,0xc6,0x8f,0x44,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x55,0x55,0xc6,0x44,0xc6,0x8f
,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc8,0xc6,0xc6,0x8f,0x55,0x8f
,0x8f,0x8f,0x8f,0x8f,0x55,0x8f,0x8f,0x8f,0x8f,0x44,0xc8,0xc8,0xc6,0xc6
,0xc6,0xc8,0xc6,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0xc6
,0xc6,0xc8,0xc6,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f,0xc6,0xc6
,0xca,0x45,0xc6,0xc6,0xc8,0xcb,0xcb,0x45,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0xc6,0x44,0xc8,0xcb,0xcb,0xc9,0x45,0x44,0x8f,0x8f,0x55,0x55
,0x44,0x8f,0xc6,0xc8,0xc9,0xca,0x8f,0x44,0x8f,0xc8,0xc9,0xc8,0x8f,0x8f
,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x55,0xc8,0xc8,0xc8,0xc9,0xc6,0xc6,0x8f
,0x8f,0x8f,0x44,0x8f,0xc6,0xc6,0xc8,0xc9,0xca,0xc6,0x44,0x8f,0x43,0x8f
,0xc8,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x44,0xc6,0xc6
,0x55,0x8f,0x8f,0x44,0x8f,0x8f,0x8f,0xc6,0xc6,0xca,0xc9,0x4a,0xc6,0x46
,0x8f,0x8f,0x8f,0x8f,0x43,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0x8f,0x55,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f,0xc8,0xca,0xcb
,0x4a,0x4a,0x4a,0xc6,0x44,0x8f,0x8f,0x44,0xc6,0xc8,0x8f,0xc6,0xc6,0x8f
,0x8f,0x8f,0x8f,0x8f,0x8f,0x44,0xc6,0x44,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f
,0x8f,0xc6,0xc6,0xca,0x4a,0x4c,0x4a,0xcb,0xc8,0xc6,0x8f,0xc6,0xc9,0xc9
,0xca,0xc9,0xc9,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x44,0xc6,0x8f,0x8f,0x8f
,0x8f,0xc6,0x45,0xc6,0x8f,0xc6,0xc8,0xca,0x4a,0x4c,0x4a,0x49,0xca,0xca
,0xc8,0x47,0xc9,0xcb,0xc6,0xca,0xc6,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x55,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f,0xc6,0xc9,0xc8,0x49,0x4a,0x4a
,0x4a,0x49,0x4b,0x49,0x49,0xc8,0xca,0xc9,0xc6,0x43,0xc6,0x8f,0x8f,0x8f
,0x8f,0x8f,0x55,0x8f,0x8f,0x8f,0x8f,0x8f,0x55,0x44,0x8f,0x43,0xc8,0xcb
,0x4a,0x4a,0x4a,0x4a,0xca,0x49,0x4a,0x4a,0xcb,0xca,0xc6,0xc8,0x8f,0x8f
,0xc6,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f
,0x55,0xca,0x4a,0x4a,0x4a,0x4c,0x4a,0x4a,0x4a,0xcb,0x4a,0x4a,0x4a,0xc8
,0xc8,0x8f,0x8f,0xc6,0xc6,0xc6,0x8f,0x8f,0x8f,0x55,0xc6,0x8f,0x8f,0x8f
,0x43,0x8f,0xc6,0xc6,0xc8,0x4a,0x4c,0x4a,0x4a,0x4a,0x4c,0x4c,0x4a,0x4a
,0x4a,0x49,0x4a,0xc9,0xc6,0x8f,0x8f,0xc6,0xcb,0x46,0x55,0x8f,0x8f,0xc6
,0x44,0xc6,0xc8,0x8f,0x8f,0xc6,0xc6,0xc8,0x49,0x4a,0x4a,0x4a,0x4a,0x4a
,0x4e,0x4e,0x4d,0x4a,0x4a,0x4a,0x49,0x4a,0xc8,0xc6,0xc6,0xca,0x47,0x4b
,0xc6,0xc6,0xc6,0x45,0x8f,0xc8,0xcb,0xc6,0x44,0x55,0xc8,0xc9,0x4a,0x4a
,0x4a,0x4a,0x4c,0x4d,0x4e,0x4e,0x4d,0x4c,0x4a,0x4a,0x4a,0x4a,0xc9,0xc8
,0xc6,0xc6,0x4a,0x49,0x49,0x45,0xca,0xc9,0xc6,0x45,0xca,0xc6,0x8f,0xc6
,0xc9,0xcb,0x4a,0x4c,0x4a,0x4a,0x4c,0x4d,0x0e,0x4e,0x0e,0x4e,0x4a,0x4a
,0x4a,0x49,0x4a,0xc9,0xc6,0xc9,0xcb,0x4b,0xcb,0x4a,0xcb,0xcb,0x8f,0xc8
,0xc6,0xc6,0x8f,0x8f,0x55,0xc6,0xca,0x4a,0x4a,0x4a,0x4a,0x4a,0xce,0x4e
,0x4e,0xce,0x4a,0x4a,0x49,0x4a,0x49,0xc8,0x45,0xc8,0xca,0xc9,0x49,0xc9
,0xc8,0xc6,0x8f,0x55,0xca,0xc6,0xc6,0xc6,0x8f,0x8f,0xc6,0x49,0x4a,0x4a
,0x4a,0x4a,0x4d,0xce,0x4d,0x4d,0x4c,0x4a,0x49,0x49,0xcb,0xc6,0xc6,0x55
,0xc6,0xc9,0xc9,0xc9,0x55,0xc6,0x8f,0x8f,0x55,0xc6,0xc6,0xc6,0x8f,0x8f
,0x44,0xc9,0x4a,0x4a,0x4a,0x4a,0x4a,0x4d,0x4c,0x4a,0x4a,0x4a,0x49,0x4a
,0xc9,0xc6,0x8f,0x55,0xc8,0xc6,0xc8,0x45,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0xc6,0xc6,0x8f,0x8f,0x55,0xca,0x4a,0x4a,0x4a,0x49,0x4c,0x4d,0x4a,0x4a
,0x4a,0x4a,0x4a,0xca,0x49,0xc6,0x8f,0x8f,0x55,0xc6,0xc6,0xc6,0x8f,0x8f
,0x8f,0x8f,0x8f,0x8f,0x55,0x8f,0x8f,0x8f,0xc6,0xcb,0x4a,0xcb,0x49,0x4a
,0x4a,0x4c,0x4c,0x4a,0x4a,0x4a,0x4a,0x49,0x49,0x55,0x8f,0x55,0x8f,0xc8
,0x45,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0xc6,0x44,0x8f,0x8f,0x55,0xc9
,0xc9,0xcb,0x4a,0x49,0x4a,0x4a,0x4a,0x4a,0x49,0xcb,0xcb,0x49,0xcb,0xc6
,0x8f,0x8f,0xc6,0xc8,0xc9,0xc6,0x8f,0x8f,0x8f,0x8f,0x55,0xca,0xc6,0xc6
,0x8f,0x8f,0xc6,0xc9,0xc8,0xca,0xcb,0x4a,0x4a,0x4a,0x4a,0xcb,0xca,0xc6
,0xc6,0xc9,0xca,0xc6,0x8f,0x8f,0xc6,0xc6,0xc9,0xc6,0x8f,0x8f,0x8f,0x8f
,0xc8,0xca,0xc8,0x44,0x8f,0x8f,0x8f,0x45,0xc6,0xc6,0xc9,0x4a,0x49,0x49
,0x4a,0x49,0xc6,0x8f,0x8f,0xc6,0x55,0x8f,0x8f,0x8f,0xc8,0xc6,0xc6,0x8f
,0x8f,0x8f,0x8f,0xc6,0xc9,0xc9,0xc9,0xc6,0x8f,0x8f,0x55,0x45,0xc6,0x44
,0xc9,0x49,0xcb,0xcb,0x4a,0x49,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6
,0x45,0xca,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0xc6,0xca,0xc6,0x8f,0x8f
,0x44,0xc6,0x8f,0x44,0xc9,0xca,0xc8,0x49,0xca,0xcb,0xc6,0x44,0xc6,0xc6
,0x8f,0x8f,0x44,0xc9,0xca,0xc9,0x45,0x45,0xc6,0x8f,0x8f,0x8f,0x8f,0xc8
,0xc9,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0xc6,0x46,0xc8,0xc9,0xc9
,0xc6,0x8f,0x45,0xc6,0xc6,0xc6,0x8f,0xc8,0xc6,0x44,0x55,0xc6,0xc6,0x8f
,0x8f,0x8f,0x8f,0x55,0x45,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x55,0xc9
,0xc6,0xc6,0xc6,0x44,0x8f,0x8f,0xc6,0xc6,0xc6,0xc8,0xc6,0x55,0x44,0x8f
,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0x44,0x8f,0xc9,0x43,0x55,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x45
,0xc8,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x43,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0xc6,0xc8,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0xc6,0xc6,0xc8,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f
,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0xc9
,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0x8f,0xc6,0x44,0x8f,0x8f,0x8f,0x8f,0x8f
,0x55,0x8f
2018-09-08 18:55:25 +02:00
};
2018-09-15 11:49:34 +02:00
#define TEXTURES 6
2018-09-10 09:33:09 +02:00
const unsigned char *textures[TEXTURES] =
2018-09-15 11:49:34 +02:00
{texture1, texture2, texture3, texture4, texture5, texture6};
2018-09-10 09:33:09 +02:00
unsigned char textureAverageColors[TEXTURES];
2018-09-08 18:55:25 +02:00
2018-09-17 17:55:33 +02:00
RCL_Unit floorHeightAt(int16_t x, int16_t y)
2018-09-08 18:55:25 +02:00
{
2018-09-15 11:34:08 +02:00
if (x < 0 || x >= LEVEL_X_RES || y < 0 || y >= LEVEL_Y_RES)
2018-09-17 17:55:33 +02:00
return RCL_UNITS_PER_SQUARE * 2;
2018-09-15 11:34:08 +02:00
2018-09-17 17:55:33 +02:00
RCL_Unit square = level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x];
2018-09-08 18:55:25 +02:00
2018-09-21 08:47:42 +02:00
#ifdef RENDER_COMPLEX
2018-09-15 11:34:08 +02:00
/* algorithm used with this version doesn't support rolling doors, so give
door square zero height */
2018-09-17 17:55:33 +02:00
return square == 0 || square == 6 ? 0 : RCL_UNITS_PER_SQUARE * 2;
2018-09-15 11:22:50 +02:00
#else
2018-09-17 17:55:33 +02:00
return square == 0 ? 0 : RCL_UNITS_PER_SQUARE * 2;
2018-09-15 11:22:50 +02:00
#endif
2018-09-08 18:55:25 +02:00
}
2018-09-17 17:55:33 +02:00
RCL_Unit collisionAt(int16_t x, int16_t y)
2018-09-15 11:19:28 +02:00
{
2018-09-15 11:34:08 +02:00
if (x < 0 || x >= LEVEL_X_RES || y < 0 || y >= LEVEL_Y_RES)
2018-09-17 17:55:33 +02:00
return RCL_UNITS_PER_SQUARE;
2018-09-15 11:34:08 +02:00
2018-09-17 17:55:33 +02:00
RCL_Unit square = level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x];
return square == 0 || square == 6 ? 0 : RCL_UNITS_PER_SQUARE;
2018-09-15 11:19:28 +02:00
}
2018-09-17 17:55:33 +02:00
RCL_Unit textureAt(int16_t x, int16_t y)
2018-09-08 18:55:25 +02:00
{
2018-09-17 17:55:33 +02:00
RCL_Unit t = 0;
2018-09-14 19:42:02 +02:00
2018-09-08 20:06:03 +02:00
if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES)
2018-09-14 19:42:02 +02:00
t = max(level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x] - 1,0);
return t;
}
2018-09-17 17:55:33 +02:00
RCL_Unit rollAt(int16_t x, int16_t y)
2018-09-14 19:42:02 +02:00
{
if (x >= 0 && x < LEVEL_X_RES && y >= 0 && y < LEVEL_Y_RES &&
level[(LEVEL_Y_RES - y -1) * LEVEL_X_RES + x] == 6)
2018-09-17 17:55:33 +02:00
return RCL_sinInt(pokitto.frameCount * 10) + DOOR_ROLL_SIGN * RCL_UNITS_PER_SQUARE;
2018-09-08 20:06:03 +02:00
2018-09-08 18:55:25 +02:00
return 0;
}
2018-09-09 18:07:47 +02:00
uint8_t cFloor, cCeiling;
2018-09-17 17:55:33 +02:00
RCL_Vector2D shotPosition;
RCL_Vector2D shotDirection;
2018-09-10 00:12:39 +02:00
bool shotFired = false;
2018-09-10 07:41:39 +02:00
uint8_t previousColumn = 255; ///< Helper for pixelIntensity.
int8_t pixelIntensity = 0; ///< Precomputed column intensity addition.
2018-09-17 13:03:35 +02:00
int16_t mirror = 0;
2018-09-08 18:55:25 +02:00
/**
Function for drawing a single pixel (like fragment shader).
*/
2018-09-17 17:55:33 +02:00
inline void pixelFunc(RCL_PixelInfo *pixel)
2018-09-08 18:55:25 +02:00
{
2018-09-11 14:37:54 +02:00
if (pixel->position.y == MIDDLE_ROW)
zBuffer[pixel->position.x] = pixel->depth;
2018-09-08 18:55:25 +02:00
2018-09-18 18:09:19 +02:00
uint8_t color = 0;
2018-09-08 18:55:25 +02:00
2018-09-17 13:03:35 +02:00
#ifndef NO_MIRROR
if (pixel->position.y == 0)
mirror = 0;
#endif
2018-09-18 18:09:19 +02:00
bool drawCeiling = false;
int16_t intensity = 0;
2018-09-11 14:37:54 +02:00
if (!pixel->isWall)
2018-09-11 09:03:15 +02:00
{
2018-09-18 10:24:57 +02:00
#if RCL_COMPUTE_FLOOR_TEXCOORDS == 1
2018-09-18 11:25:34 +02:00
if (pixel->isFloor)
2018-09-18 14:47:42 +02:00
{
if (pixel->texCoords.y > 3 * RCL_UNITS_PER_SQUARE) // leave astrip of untextured floor
2018-09-27 12:55:03 +02:00
color = pixel->depth > TEXTURE_MAX_DISTANCE_FLOOR ?
2018-09-18 14:47:42 +02:00
textureAverageColors[1] :
sampleImage(textures[1],pixel->texCoords.x / FLOOR_TEXTURE_SCALE,pixel->texCoords.y / FLOOR_TEXTURE_SCALE);
else
2018-09-18 18:09:19 +02:00
color = cFloor;
#ifdef TEXTURE_CEILING
drawCeiling = true;
#endif
2018-09-18 14:47:42 +02:00
}
2018-09-18 11:25:34 +02:00
else
2018-09-18 18:09:19 +02:00
{
#ifdef TEXTURE_CEILING
// don't draw ceiling here, we'll draw it along with floor
return;
#else
color = 0; // looks better :)
#endif
}
2018-09-18 10:24:57 +02:00
#else
2018-09-18 18:09:19 +02:00
color = pixel->isFloor ? cFloor: cCeiling;
2018-09-18 10:24:57 +02:00
#endif
2018-09-17 13:03:35 +02:00
#ifndef NO_MIRROR
2018-09-27 12:55:03 +02:00
intensity = pixel->isFloor ?
2018-09-25 10:04:16 +02:00
2 - (pixel->depth - mirror * 128) / RCL_UNITS_PER_SQUARE : 0;
2018-09-17 13:03:35 +02:00
#else
2018-09-27 12:55:03 +02:00
intensity = 2 - pixel->depth / RCL_UNITS_PER_SQUARE;
2018-09-17 13:03:35 +02:00
#endif
2018-09-18 18:09:19 +02:00
color = addIntensity(color,intensity);
2018-09-17 13:03:35 +02:00
mirror++;
2018-09-11 09:03:15 +02:00
}
else
2018-09-08 18:55:25 +02:00
{
2018-09-17 17:55:33 +02:00
RCL_Unit textureScroll = pixel->hit.type != 4 ? 0 : 16 * pokitto.frameCount;
2018-09-10 09:33:09 +02:00
2018-09-14 14:01:53 +02:00
#ifdef NO_TEXTURES
2018-09-18 18:09:19 +02:00
color = textureAverageColors[pixel->hit.type];
2018-09-14 14:01:53 +02:00
#else
2018-09-18 18:09:19 +02:00
color = pixel->depth < TEXTURE_MAX_DISTANCE ?
2018-09-16 14:34:40 +02:00
sampleImage(textures[pixel->hit.type],pixel->texCoords.x + textureScroll,pixel->texCoords.y) :
2018-09-11 14:37:54 +02:00
textureAverageColors[pixel->hit.type];
2018-09-14 14:01:53 +02:00
#endif
2018-09-10 07:41:39 +02:00
2018-09-16 14:50:58 +02:00
#ifndef NO_SHADING
2018-09-25 10:09:31 +02:00
/* NOTE: to gain a lot of performance, it's best to have precomputed color
color gradients and look the colors up as opposed to calling
addIntensity(...), but for the sake of simplicity we don't do it
here. */
2018-09-11 14:37:54 +02:00
if (previousColumn == pixel->position.x)
2018-09-10 07:41:39 +02:00
{
2018-09-18 18:09:19 +02:00
color = addIntensity(color,pixelIntensity);
2018-09-10 07:41:39 +02:00
}
else
{
// optimization: precompute intensity for the whole column
2018-09-27 12:55:03 +02:00
pixelIntensity = 2 - pixel->depth / RCL_UNITS_PER_SQUARE + (pixel->hit.direction == 0 || pixel->hit.direction == 2 ? 4 : 0);
2018-09-11 14:37:54 +02:00
previousColumn = pixel->position.x;
2018-09-18 18:09:19 +02:00
color = addIntensity(color,pixelIntensity);
2018-09-10 07:41:39 +02:00
}
2018-09-16 14:50:58 +02:00
#endif
2018-09-08 18:55:25 +02:00
}
2018-09-18 18:09:19 +02:00
putSubsampledPixel(pixel->position.x,pixel->position.y,color);
#ifdef TEXTURE_CEILING
if (drawCeiling)
{
/* here we sample a different texture for ceiling, but if the texture is
same as floor, just reuse the color sampled above to save on the
sampling and intensity addition */
2018-09-27 12:55:03 +02:00
color = pixel->depth > TEXTURE_MAX_DISTANCE_FLOOR ?
2018-09-18 18:09:19 +02:00
textureAverageColors[0] :
sampleImage(textures[0],pixel->texCoords.x / FLOOR_TEXTURE_SCALE,pixel->texCoords.y / FLOOR_TEXTURE_SCALE);
color = addIntensity(color,intensity);
putSubsampledPixel(pixel->position.x,RESOLUTION_Y - pixel->position.y - 1,color);
}
#endif
2018-09-08 18:55:25 +02:00
}
void draw()
{
2018-09-18 11:25:34 +02:00
#ifdef HEAD_BOB
2018-09-11 08:39:30 +02:00
player.mCamera.height += player.mHeadBob;
2018-09-18 11:25:34 +02:00
#endif
2018-09-11 08:39:30 +02:00
2018-09-21 08:47:42 +02:00
#ifdef RENDER_COMPLEX
RCL_renderComplex(player.mCamera,floorHeightAt,0,textureAt,defaultConstraints);
2018-09-14 14:01:53 +02:00
#else
2018-09-18 15:28:43 +02:00
RCL_renderSimple(player.mCamera,floorHeightAt,textureAt,rollAt,defaultConstraints);
2018-09-14 14:01:53 +02:00
#endif
2018-09-11 08:39:30 +02:00
2018-09-18 11:25:34 +02:00
#ifdef HEAD_BOB
2018-09-11 08:39:30 +02:00
player.mCamera.height -= player.mHeadBob;
2018-09-18 11:25:34 +02:00
#endif
2018-09-08 18:55:25 +02:00
2018-09-10 00:12:39 +02:00
if (shotFired)
2018-09-08 18:55:25 +02:00
{
2018-09-17 17:55:33 +02:00
RCL_PixelInfo pos = RCL_mapToScreen(shotPosition,RCL_UNITS_PER_SQUARE,player.mCamera);
2018-09-08 18:55:25 +02:00
2018-09-14 12:25:34 +02:00
drawSpriteSquare(spritePlasma,pos.position.x * SUBSAMPLE,
2018-09-10 00:12:39 +02:00
pos.position.y,pos.depth,
2018-09-27 14:52:31 +02:00
RCL_perspectiveScale(64,pos.depth),1);
2018-09-08 18:55:25 +02:00
}
2018-09-10 00:22:06 +02:00
2018-09-10 11:26:20 +02:00
drawImage(imageBar,0,INFO_BAR_START - 3);
2018-09-21 08:47:42 +02:00
// uncomment for debuggin 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);
*/
2018-09-08 18:55:25 +02:00
}
int main()
{
2018-09-09 18:07:47 +02:00
initGeneral();
2018-09-18 15:28:43 +02:00
defaultConstraints.maxHits = 1;
defaultConstraints.maxSteps = 20;
2018-09-10 09:33:09 +02:00
for (uint8_t i = 0; i < TEXTURES; ++i)
2018-09-10 08:03:09 +02:00
textureAverageColors[i] = computeAverageColor(textures[i]);
2018-09-27 12:55:03 +02:00
cFloor = 10;
cCeiling = 10;
2018-09-08 18:55:25 +02:00
2018-09-25 10:04:16 +02:00
player.setPositionSquare(9,1);
2018-09-17 17:55:33 +02:00
player.mCamera.height = RCL_CAMERA_COLL_HEIGHT_BELOW;
2018-09-08 18:55:25 +02:00
2018-09-18 18:09:19 +02:00
player.mCamera.resolution.y = RESOLUTION_Y;
2018-09-10 00:22:06 +02:00
2018-09-08 18:55:25 +02:00
uint32_t previousTime = 0;
uint32_t dt;
2018-09-10 18:30:19 +02:00
int16_t moveDirection;
int16_t rotationDirection;
2018-09-08 18:55:25 +02:00
while (pokitto.isRunning())
{
if (pokitto.update())
{
draw();
uint32_t timeNow = pokitto.getTime();
dt = timeNow - previousTime;
previousTime = timeNow;
2018-09-10 18:30:19 +02:00
moveDirection = 0;
rotationDirection = 0;
2018-09-10 00:12:39 +02:00
if (shotFired)
{
// update the shot
2018-09-17 17:55:33 +02:00
RCL_Unit shotStep = (dt * SHOT_SPEED) / 1000;
2018-09-10 00:12:39 +02:00
2018-09-17 17:55:33 +02:00
shotPosition.x += (shotStep * shotDirection.x) / RCL_UNITS_PER_SQUARE;
shotPosition.y += (shotStep * shotDirection.y) / RCL_UNITS_PER_SQUARE;
2018-09-10 00:12:39 +02:00
if (
2018-09-17 17:55:33 +02:00
RCL_absVal(shotPosition.x - player.mCamera.position.x) > RCL_UNITS_PER_SQUARE * 5 ||
RCL_absVal(shotPosition.y - player.mCamera.position.y) > RCL_UNITS_PER_SQUARE * 5 ||
(textureAt(shotPosition.x / RCL_UNITS_PER_SQUARE,shotPosition.y / RCL_UNITS_PER_SQUARE) != 0)
2018-09-10 00:12:39 +02:00
)
shotFired = false;
}
2018-09-11 13:37:09 +02:00
else if (pokitto.bBtn())
2018-09-10 00:12:39 +02:00
{
shotPosition = player.mCamera.position;
2018-09-17 17:55:33 +02:00
shotDirection = RCL_angleToDirection(player.mCamera.direction);
2018-09-10 00:12:39 +02:00
shotFired = true;
}
2018-09-08 18:55:25 +02:00
bool strafe = pokitto.aBtn();
2018-09-11 10:53:47 +02:00
if (!strafe)
{
if (pokitto.upBtn())
moveDirection = 1;
else if (pokitto.downBtn())
moveDirection = -1;
}
2018-09-08 18:55:25 +02:00
if (pokitto.rightBtn())
2018-09-10 18:30:19 +02:00
{
if (!strafe)
rotationDirection = 1;
else
moveDirection = 1;
}
2018-09-08 18:55:25 +02:00
else if (pokitto.leftBtn())
{
2018-09-10 18:30:19 +02:00
if (!strafe)
rotationDirection = -1;
else
moveDirection = -1;
2018-09-08 18:55:25 +02:00
}
2018-09-10 18:30:19 +02:00
player.update(moveDirection,strafe,rotationDirection,false,0,
2018-09-15 11:19:28 +02:00
collisionAt,0,false,dt);
2018-09-08 18:55:25 +02:00
}
}
return 0;
}