Store by columns

This commit is contained in:
Miloslav Číž 2019-09-26 17:13:18 +02:00
parent f6a9e0a048
commit a73083796e
2 changed files with 219 additions and 212 deletions

430
assets.h
View File

@ -1,3 +1,10 @@
/**
@file assets.h
Assets to be used in game. Textures are stored by columns for cache
friendliness (as rendering also happens by columns).
*/
#ifndef _SFG_RESOURCES_H
#define _SFG_RESOURCES_H
@ -15,231 +22,230 @@
static inline uint8_t SFG_getTexel(const uint8_t *texture, uint8_t x, uint8_t y)
{
return texture[(y & 0x1f) * SFG_TEXTURE_SIZE + (x & 0x1f)];
return texture[(x & 0x1f) * SFG_TEXTURE_SIZE + (y & 0x1f)];
}
const uint8_t SFG_texturesWall[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] =
{
{
4,4,4,4,4,4,4,20,4,4,4,4,4,4,4,4,4,4,4,4,4,20,20,3,20,4,5,0,3,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,20,4,20,3,4,4,4,4,4,4,4,21,4,4,5,20,3,4,4,4,4,21,21,21,21,21,4,21,
21,4,4,21,4,21,21,4,4,4,4,4,4,21,4,4,4,4,4,96,3,4,4,4,21,21,21,5,21,21,21,21,21,
5,5,5,5,5,21,21,4,4,4,4,21,4,4,4,4,4,5,20,4,21,21,21,4,21,21,21,5,5,21,5,5,5,21,
21,21,5,21,21,21,21,21,5,5,5,5,21,21,21,4,2,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,21,4,
21,4,21,21,4,21,4,21,21,4,21,4,4,4,18,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,4,4,21,21,6,20,3,4,4,4,3,18,26,2,2,26,3,20,2,56,3,3,3,3,3,3,3,3,3,26,
3,3,3,3,3,3,82,0,3,3,26,18,5,5,5,5,5,5,5,5,6,0,5,5,21,4,4,4,4,4,4,21,21,4,21,21,
21,21,21,21,21,5,5,5,4,4,4,21,4,4,4,3,5,0,4,4,4,4,4,4,4,4,4,4,4,20,4,4,4,4,4,4,
4,4,4,21,4,4,4,4,4,21,21,4,3,0,4,4,4,21,21,21,21,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
21,21,21,4,21,21,5,4,5,0,4,4,4,4,4,4,21,5,21,21,21,5,21,5,5,21,21,21,21,21,21,5,
5,21,5,21,4,4,4,4,5,0,5,5,5,5,5,5,5,5,5,5,21,4,4,4,4,4,21,21,21,5,21,5,21,21,4,
4,4,21,4,3,4,0,4,4,4,4,4,4,4,4,4,4,20,20,4,4,21,5,5,21,4,21,4,4,4,4,21,4,4,4,4,
4,5,0,4,4,5,5,21,21,21,21,21,21,5,21,4,4,4,4,4,4,4,4,4,4,4,21,21,21,21,4,4,4,6,
0,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,21,4,57,57,49,73,65,65,1,1,49,0,2,1,
25,73,57,65,0,3,3,3,26,3,3,3,26,2,2,2,2,65,224,57,21,21,4,21,5,5,5,5,5,22,5,5,5,
5,5,6,17,4,4,4,4,4,4,4,21,21,21,21,5,21,5,21,20,20,3,3,3,3,3,3,3,3,3,3,3,3,3,4,
0,3,3,4,3,3,3,3,3,20,3,3,3,3,20,20,4,21,21,4,4,4,4,4,4,4,4,4,4,4,4,5,16,4,4,4,4,
21,21,21,21,5,21,21,5,21,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,3,4,4,4,4,4,4,21,
21,21,21,4,4,4,4,21,21,4,4,4,21,4,4,21,5,21,5,5,21,21,5,16,4,4,21,4,4,4,21,21,
21,21,5,21,5,21,21,21,21,21,4,4,4,4,4,4,4,4,4,4,4,20,4,0,4,4,4,21,21,21,5,21,5,
21,21,21,21,21,21,4,4,4,4,4,4,4,4,4,4,4,4,4,21,4,5,10,3,3,4,4,4,4,4,4,4,4,4,3,4,
4,20,20,20,3,74,3,3,3,3,3,3,3,4,3,3,3,4,26,4,4,4,4,4,20,4,4,20,20,3,20,20,3,3,4,
17,18,21,4,21,4,21,21,21,21,4,4,5,5,5,4,4,21,21,21,4,21,4,4,4,5,5,5,5,5,4,4,6,2,
4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,3,3,3,3,3,3,3,20,3,3,20,4,4,3,20,3,4,4,4,4,4,4,
4,4,4,4,21,21,4,4,4,21,5,21,21,4,21,4,4,4,4,4,4,4,4,4,5,0,4,4,4,21,5,21,5,5,5,5,
5,5,21,21,21,21,5,5,5,5,5,5,5,5,21,5,21,21,4,3,3,26,5,5,21,5,5,5,21,5,5,21,5,5,
5,5,21,5,5,5,5,5,5,4,21,4,4,4,4,4,4,5,5,136,4,4,4,4,4,4,4,21,4,21,4,4,4,4,4,4,4,
4,4,4,4,4,21,4,21,4,4,5,5,4,4,81,4,4,4,20,20,4,3,3,3,3,3,26,3,3,20,3,3,3,3,3,3,
3,3,3,3,3,3,3,4
{ // 0
4,4,4,21,4,4,4,3,5,4,4,21,5,21,4,4,57,21,20,4,4,21,21,4,20,4,4,3,4,3,5,4,4,4,21,
21,21,4,4,18,5,4,4,21,21,21,4,21,57,21,20,21,4,21,21,4,20,17,6,20,5,3,5,4,4,4,
21,21,21,4,4,26,5,4,4,21,5,4,21,21,49,4,3,21,4,4,21,4,3,18,2,3,0,26,136,81,4,4,
21,5,21,4,4,2,5,21,4,4,21,4,4,21,73,21,3,4,4,4,4,4,74,21,4,4,4,5,4,4,4,4,21,21,
5,4,4,2,5,4,4,21,4,4,4,21,65,5,3,4,4,4,4,4,3,4,4,4,4,5,4,4,4,4,21,21,5,4,4,26,5,
4,21,21,4,21,4,4,65,5,3,4,4,21,4,4,3,21,4,4,4,21,4,4,4,4,4,21,21,4,4,3,5,4,21,5,
4,4,4,4,1,5,3,4,4,4,4,4,3,4,4,4,21,5,4,20,20,4,21,21,5,4,4,20,5,3,4,4,4,3,4,4,1,
5,3,4,4,4,4,4,3,21,4,4,5,5,4,20,4,4,21,21,5,4,4,2,6,5,3,5,5,4,5,6,49,5,3,4,4,21,
4,4,3,21,4,4,21,5,4,4,4,4,4,5,5,4,4,56,0,0,0,0,0,0,0,0,0,22,3,4,4,5,4,4,3,21,4,
4,5,21,4,3,4,4,4,5,21,4,4,3,5,4,4,4,5,4,4,5,2,5,3,4,4,21,4,4,3,21,4,4,5,5,21,3,
4,4,21,5,21,21,4,3,5,4,4,4,5,4,4,4,1,5,3,4,4,5,4,4,4,4,4,4,5,5,4,3,4,20,4,5,21,
4,4,3,21,4,4,4,5,4,5,4,25,5,3,4,4,5,4,4,3,4,4,4,5,21,21,3,4,4,21,5,5,21,4,3,4,4,
21,4,5,4,5,4,73,5,3,4,4,21,4,21,3,5,4,21,5,5,4,3,4,20,21,21,21,4,4,3,4,4,21,4,5,
4,21,4,57,5,3,4,4,21,20,4,3,5,4,21,5,5,4,26,4,3,4,21,21,21,4,3,4,4,21,4,5,4,21,
4,65,6,4,5,4,5,4,5,4,5,3,4,21,5,4,3,4,4,4,4,21,21,4,3,4,4,21,21,5,4,21,4,0,17,0,
16,0,16,0,10,26,4,4,4,21,5,4,3,4,4,4,4,21,4,4,3,4,4,4,5,5,4,21,4,3,4,3,4,3,4,4,
3,4,4,4,4,21,21,4,20,4,4,4,4,21,21,4,3,4,4,4,21,5,4,21,4,3,4,3,4,4,4,4,3,4,21,4,
21,21,5,4,3,4,4,4,4,5,4,4,26,21,4,4,21,5,4,21,4,3,4,4,4,4,21,4,4,4,21,3,5,5,5,4,
3,4,4,4,21,5,21,4,3,21,4,4,21,21,20,5,4,26,4,3,4,4,4,21,4,4,21,3,21,5,5,4,3,20,
4,21,4,5,21,4,3,4,20,4,5,4,20,21,4,3,4,3,21,4,4,21,4,4,4,3,21,5,5,4,3,20,4,4,4,
5,4,4,3,21,4,4,21,4,4,4,4,3,4,3,21,4,4,21,4,20,21,3,4,5,5,4,3,3,21,4,4,21,21,4,
3,21,4,4,5,4,4,4,4,3,4,3,21,4,21,5,4,4,4,3,21,5,5,4,3,20,4,4,4,21,4,21,3,21,4,4,
5,4,21,4,4,26,21,3,21,21,21,21,4,4,4,3,4,5,4,4,3,4,4,4,4,21,4,21,3,21,4,4,21,4,
5,4,4,2,21,20,5,21,21,5,4,20,4,3,4,5,21,21,3,5,5,4,5,4,4,6,82,21,4,4,21,21,5,4,
4,2,21,3,21,21,21,21,4,20,5,20,4,5,4,4,3,0,20,96,20,2,18,20,0,21,4,4,21,21,21,4,
4,2,21,3,21,21,5,21,4,3,5,3,4,21,4,21,3,3,3,3,4,3,3,3,3,21,4,4,21,21,4,4,4,2,5,
3,5,4,21,21,3,20,5,3,4,5,4,4,3,4,4,4,21,4,4,4,3,5,4,4,21,5,21,4,4,65,21,3,21,4,
5,21,4,20,5,20,4,21,4,4,3,4,4,4,21,4,4,4,26,5,4,4,21,21,4,4,21,224,5,20,4,4,21,
21,4,3,5,4,4,21,4,5,3,4,4,4,21,4,4,4,18,5,21,4,5,5,4,4,4,57,21,20,4,4,21,21,20,
3,4,4,4,4,4,5,4
},
{
5,4,4,5,59,2,5,5,4,66,45,5,4,4,4,4,4,4,2,5,4,44,4,4,4,4,3,3,2,44,4,4,4,4,4,51,
67,8,5,86,3,2,4,5,4,4,4,4,4,4,2,4,5,4,4,5,4,5,4,50,3,60,44,5,131,131,131,3,2,66,
60,4,2,2,3,3,4,3,4,3,4,3,49,2,2,5,4,3,51,3,131,2,50,66,2,131,4,4,4,4,66,3,3,3,
81,81,3,4,3,59,2,66,82,81,2,66,218,66,138,131,2,2,56,3,4,4,4,4,44,4,4,4,2,6,6,6,
5,6,4,4,6,6,5,6,5,6,6,6,6,6,5,6,5,6,6,3,4,4,4,5,4,4,4,4,3,6,5,5,5,4,4,5,5,4,5,4,
5,5,4,5,5,5,5,5,5,5,5,3,4,4,4,132,132,4,44,4,3,6,5,128,0,48,2,138,81,2,59,68,6,
130,3,59,51,59,3,59,59,5,5,2,5,4,4,4,4,4,4,3,3,6,5,138,48,128,81,128,138,2,139,
6,6,59,59,59,3,59,59,3,59,5,5,51,4,4,4,4,3,4,4,3,3,6,5,59,2,59,81,81,128,81,128,
6,76,3,59,4,59,3,59,51,59,5,6,3,132,4,4,4,66,66,2,1,3,6,4,2,129,59,81,48,128,81,
0,6,6,130,59,3,59,59,3,137,130,5,5,51,4,139,138,131,3,2,2,2,3,6,5,129,59,2,81,
137,81,137,81,6,60,2,2,59,4,59,3,137,0,5,5,3,2,3,4,3,5,4,5,3,3,6,5,2,81,81,129,
81,81,128,2,6,6,0,129,129,2,2,81,48,0,5,5,3,3,4,4,5,4,4,4,4,3,5,4,137,128,81,59,
137,81,48,48,6,76,0,2,59,216,129,138,2,81,5,5,131,3,4,4,4,4,4,4,3,3,5,5,81,81,2,
129,2,81,138,81,6,6,138,81,48,48,48,128,138,48,5,5,2,3,4,4,4,4,5,4,50,3,6,5,138,
81,2,59,2,130,3,137,6,61,2,216,0,0,0,0,0,0,5,5,3,3,5,4,5,4,5,4,3,3,5,5,2,48,129,
2,138,128,81,0,6,6,81,0,0,0,48,48,0,0,5,6,2,3,4,4,5,4,4,4,137,3,6,5,137,81,81,
81,81,81,48,48,6,68,0,0,0,0,48,48,0,0,5,6,2,3,4,4,4,5,4,4,0,3,6,5,128,137,48,0,
81,129,81,48,6,6,0,0,0,48,0,48,48,0,5,6,3,3,5,5,4,3,3,3,1,3,5,5,81,48,81,81,81,
81,48,48,68,61,0,0,0,0,0,81,48,0,5,5,3,50,3,3,51,132,4,3,50,3,6,4,81,128,81,128,
81,81,48,48,6,68,0,0,0,0,0,0,0,0,5,5,3,1,3,3,4,4,4,4,3,3,5,5,6,6,6,6,6,6,6,6,6,
6,6,6,6,6,6,6,6,6,4,5,4,3,5,4,4,5,4,5,3,3,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
5,5,5,3,2,4,4,4,4,5,5,44,3,6,4,5,5,5,5,5,5,5,4,5,5,4,5,5,5,5,5,4,5,4,5,3,3,5,4,
4,44,5,4,4,3,5,5,4,5,5,5,6,4,5,5,5,5,28,5,5,5,4,4,5,4,5,5,4,3,4,5,5,4,4,4,4,3,6,
5,5,5,4,5,20,5,5,5,4,5,5,5,5,5,5,5,28,5,4,5,3,3,45,4,5,4,5,5,3,3,6,5,5,5,5,5,5,
5,5,5,5,5,5,5,6,5,5,5,4,5,5,6,4,3,4,5,5,3,3,3,131,59,4,3,4,3,4,3,4,4,3,4,26,3,3,
26,4,26,3,4,3,2,2,131,50,3,4,4,51,4,4,4,4,2,50,138,217,2,2,2,2,2,2,138,3,3,2,2,
81,131,3,2,3,3,4,3,4,2,131,3,5,5,4,5,5,2,3,4,4,4,81,4,4,4,4,4,4,4,4,2,4,4,4,4,4,
4,4,4,5,2,4,5,5,44,44,4,5,4,3,5,5,4,66,4,4,3,4,4,4,4,3,4,4,4,4,4,4,4,4,4,86,2,4,
45,4,4,4,4,4,4,83,5,5,4,49,4,4,4,3,4,4,4,3,3,4,4,4,4,3,4,4,3,5,3,5,4,61,4,132,4,
4,4,2,5,85,4,2,4,4,4,4,4,44,4,3,3,5,4,4,4,4,4,4,3,6,66,4,4,4
{ // 1
5,4,131,4,44,4,132,4,3,66,3,5,4,4,4,4,4,5,3,132,4,5,4,44,4,4,3,4,5,44,4,4,4,4,
131,4,4,4,4,4,4,66,2,4,4,4,5,5,4,4,3,4,4,4,5,5,4,5,3,4,4,44,4,132,4,4,131,4,4,4,
44,4,4,2,2,5,4,4,4,4,4,4,3,3,4,5,5,4,4,5,3,4,5,4,4,4,5,51,3,4,4,4,4,3,3,1,2,3,4,
3,50,3,137,0,1,50,3,3,44,4,4,3,131,4,5,5,4,4,59,67,2,66,2,3,3,3,3,3,3,3,3,3,3,3,
3,3,3,3,3,3,3,3,3,3,59,2,2,4,4,4,2,8,66,3,6,6,6,6,6,6,6,6,5,5,6,5,6,6,5,6,5,6,6,
5,6,6,4,50,3,3,83,2,5,5,60,3,6,5,5,5,5,4,5,5,4,5,5,5,5,5,5,4,5,5,4,5,5,5,3,138,
4,5,5,5,5,86,4,3,6,5,128,138,59,2,129,2,137,81,138,2,137,128,81,81,6,5,5,4,5,5,
4,217,4,5,5,85,4,3,2,81,5,5,0,48,2,129,59,81,128,81,81,48,81,137,48,128,6,5,5,5,
5,5,3,2,4,4,4,4,66,2,2,81,6,4,48,128,59,59,2,81,81,2,2,129,81,48,81,81,6,5,5,5,
4,5,4,2,81,66,49,2,45,4,3,3,4,4,2,81,81,81,81,129,59,129,59,2,81,0,81,128,6,5,5,
5,5,5,3,2,4,4,4,4,5,5,3,4,4,5,138,128,81,48,137,81,137,2,2,138,81,81,81,81,6,5,
5,6,20,5,4,2,4,4,4,4,4,4,4,3,6,5,81,138,128,128,81,81,81,81,130,128,81,129,81,
81,6,5,5,4,5,5,4,2,4,3,4,4,4,4,3,59,6,4,2,2,81,81,137,128,48,138,3,81,48,81,48,
48,6,5,5,5,5,5,3,2,4,4,3,4,4,4,4,2,5,5,59,139,128,0,81,2,48,81,137,0,48,48,48,
48,6,5,4,5,5,5,4,138,4,4,4,4,4,4,3,66,6,4,68,6,6,6,6,6,6,6,6,6,6,6,68,6,6,5,5,5,
4,5,26,3,4,4,4,44,4,4,4,82,5,5,6,6,76,6,60,6,76,6,61,6,68,6,61,68,6,5,5,5,5,5,3,
3,4,4,4,4,4,4,3,81,6,5,130,59,3,130,2,0,0,138,2,81,0,0,0,0,6,5,4,28,5,5,3,2,4,3,
3,3,2,2,49,2,6,4,3,59,59,59,2,129,2,81,216,0,0,0,0,0,6,5,5,5,5,5,26,2,2,4,3,3,5,
4,2,66,6,5,59,59,4,3,59,129,59,48,0,0,0,0,0,0,6,5,5,5,5,6,4,81,4,4,4,5,4,5,2,
218,6,5,51,3,59,59,4,2,216,48,0,0,0,48,0,0,6,5,5,5,5,5,26,131,4,4,4,4,44,4,5,66,
6,5,59,59,3,59,59,2,129,48,0,48,48,0,0,0,6,5,5,4,5,5,3,3,4,4,4,4,4,4,4,138,5,5,
3,59,59,3,3,81,138,128,0,48,48,48,81,0,6,5,5,4,5,5,4,2,4,4,4,4,4,5,3,131,6,5,59,
3,51,137,137,48,2,138,0,0,0,48,48,0,6,5,4,5,28,4,3,3,4,4,3,4,4,4,51,2,5,5,59,59,
59,130,0,0,81,48,0,0,0,0,0,0,6,5,5,4,5,5,2,3,4,4,4,4,4,5,3,2,6,5,5,5,5,5,5,5,5,
5,5,5,5,5,5,5,4,5,4,5,4,5,2,4,4,4,4,4,3,4,131,56,6,5,5,5,6,5,5,5,5,5,5,6,6,6,5,
5,5,5,5,5,5,6,131,3,4,4,3,3,3,50,2,3,3,3,2,51,3,51,3,3,131,2,3,2,2,3,3,3,4,3,3,
4,3,4,50,4,5,86,5,6,2,3,50,4,4,4,5,4,132,4,2,3,3,3,3,3,3,3,50,1,3,2,3,3,3,3,3,2,
2,2,3,66,44,60,66,4,4,4,4,4,4,139,3,4,4,4,5,4,4,5,3,3,5,4,5,4,45,4,4,131,4,4,5,
4,4,44,2,4,4,4,4,4,4,138,4,4,4,4,4,4,4,5,3,3,4,4,4,5,4,5,4,3,5,45,4,4,4,5,131,4,
5,132,4,4,4,131,3,5,4,4,5,5,4,4,51,4,4,4,4,5,5,5,51,5,5,4,61,4
},
{
12,12,12,12,12,83,61,61,61,61,83,61,20,13,84,84,84,13,13,13,13,83,61,61,61,61,
61,61,85,15,85,13,83,11,12,12,84,12,83,83,83,83,83,61,13,12,84,84,13,13,84,13,
13,83,61,83,83,83,83,13,13,85,85,12,83,12,11,83,12,83,12,12,84,13,83,61,12,84,
84,12,84,85,12,85,85,83,61,85,85,12,85,13,85,85,13,85,12,12,83,83,83,83,83,83,
83,83,83,61,83,83,83,83,83,83,83,83,83,83,61,83,83,83,83,83,83,84,85,12,11,11,
12,83,4,20,4,4,4,20,83,61,84,4,20,84,4,84,20,4,20,83,61,4,3,84,20,84,3,85,85,13,
11,11,84,83,4,84,84,20,20,84,83,61,84,20,84,20,84,84,84,20,4,83,61,4,4,4,84,3,
84,85,14,84,12,83,12,83,4,20,20,20,20,20,83,61,84,131,130,131,131,130,130,131,4,
83,61,4,4,4,4,3,20,85,85,13,12,12,83,83,4,84,61,61,61,84,83,61,20,130,20,20,4,4,
84,130,4,83,84,61,61,61,61,20,84,85,13,12,11,12,11,83,20,61,83,83,83,83,61,84,
84,130,20,20,84,4,4,131,4,84,83,83,83,83,61,61,3,85,85,13,11,11,83,83,4,83,83,
20,20,20,84,84,20,131,20,20,20,84,4,130,4,4,4,4,4,4,83,61,84,85,84,13,11,12,11,
83,4,83,61,20,20,20,20,20,20,131,130,131,130,130,130,131,84,4,4,4,4,4,83,61,3,
85,14,13,83,11,83,83,4,83,61,20,20,20,84,84,20,84,84,20,84,84,84,84,84,84,4,4,4,
84,83,61,20,85,84,12,11,11,12,83,20,83,61,20,84,20,84,20,20,4,4,84,4,4,84,4,84,
84,20,84,4,20,83,61,84,85,84,13,12,11,11,83,4,83,61,20,20,3,20,84,20,20,84,20,
84,84,84,4,4,84,84,84,4,3,83,61,3,85,84,13,11,11,83,83,4,83,61,4,84,4,20,4,84,4,
84,20,84,20,20,4,20,84,84,3,20,84,83,61,3,85,85,84,12,11,11,84,85,83,61,85,85,
85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,83,61,85,85,12,12,5,4,5,5,5,
5,6,5,6,5,6,6,5,6,6,6,6,6,7,6,6,6,6,6,6,5,5,5,5,5,5,5,4,4,4,4,3,3,4,3,4,4,4,4,4,
4,4,4,4,4,5,5,5,5,6,5,6,7,6,7,6,7,7,6,4,5,5,5,5,5,5,5,6,5,6,6,6,6,6,6,7,6,6,5,6,
5,5,5,6,5,5,5,5,5,5,5,4,4,4,4,3,3,3,3,3,4,3,4,4,4,4,4,4,4,5,5,5,6,5,6,5,6,6,6,7,
5,7,6,4,5,5,4,5,5,5,5,5,5,5,6,5,6,5,6,6,5,6,5,5,6,5,5,5,5,5,5,5,5,5,5,4,4,4,4,3,
4,3,4,4,4,4,4,4,5,4,5,5,5,5,5,5,5,6,5,6,6,7,5,6,7,6,6,5,5,5,4,5,4,4,4,5,4,5,5,5,
5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,4,4,4,4,4,5,5,5,4,5,4,5,5,5,5,5,5,6,5,5,6,
6,6,5,6,6,6,7,6,7,6,6,12,12,12,12,12,83,61,12,12,12,12,12,12,12,12,12,12,12,12,
12,12,12,12,12,12,12,83,61,12,12,12,12,12,12,12,12,12,83,61,12,12,12,12,12,12,
13,84,20,13,84,13,13,84,13,85,13,20,20,83,61,85,12,20,12,85,12,12,12,12,83,61,
12,12,12,12,12,12,13,12,12,13,84,13,13,13,13,85,85,85,13,83,61,85,13,85,85,83,
12,12,12,12,83,61,12,12,12,12,61,61,61,61,61,61,61,61,61,61,61,13,85,13,13,83,
61,85,13,13,20,12,12,12,12,83,83,61,12,12,84,83,83,83,83,83,83,83,83,83,83,83,
83,61,13,13,13,83,61,13,13,13,12,12,83,12,12,12,83,61,12,12,12,83,61,12,12,84,
12,20,12,13,13,84,83,61,85,85,13,83,61,85,85,85,13,83,12,12,12,83,83,61,12,12,
12,83,61,12,12,84,84,20,84,13,20,13,83,61,85,85,13,83,61,85,14,85,13,83,12,84,
11,11,83,61,84,11,20,83,61,20,12,84,12,84,13,20,13,20,83,61,85,13,85,83,61,85,
85,12,85
{ // 2
12,83,83,12,11,11,12,12,11,11,11,83,11,12,11,12,5,4,4,4,4,4,5,4,12,12,85,83,12,
12,83,83,12,11,12,12,11,11,83,12,12,11,12,11,11,11,11,11,4,4,5,4,5,4,5,4,12,12,
12,12,12,83,12,12,12,12,11,83,12,84,12,83,11,83,11,83,12,11,83,11,5,4,5,4,5,4,5,
4,12,12,12,12,12,12,12,84,12,12,83,83,83,83,83,83,83,83,83,83,83,83,83,84,5,4,5,
4,4,4,4,4,12,12,12,12,12,12,12,11,12,84,12,83,4,4,4,4,20,4,4,4,20,4,4,85,5,3,5,
3,5,3,5,4,12,12,12,12,83,12,83,11,83,12,83,83,20,84,20,84,61,83,83,83,83,83,83,
83,5,3,5,3,5,4,4,5,83,83,83,83,83,83,83,83,61,83,12,83,4,84,20,61,83,83,61,61,
61,61,61,61,6,4,5,3,5,3,4,5,61,61,61,61,61,61,61,61,61,83,12,83,4,20,20,61,83,
20,20,20,20,20,4,85,5,3,5,3,5,4,4,5,12,12,12,12,12,12,12,84,61,83,84,83,4,20,20,
61,83,20,20,20,84,20,84,85,6,4,6,3,5,4,5,4,12,12,12,12,12,12,12,11,61,83,13,83,
20,84,20,84,83,20,20,20,20,3,4,85,5,4,5,4,5,4,4,5,12,12,12,12,84,12,12,20,83,83,
83,83,83,83,83,83,61,84,20,84,84,20,20,85,6,4,6,3,5,4,5,4,12,12,12,12,83,83,83,
83,61,61,61,61,61,61,61,61,84,84,20,84,20,84,4,85,6,4,6,4,6,4,5,5,12,12,12,61,
83,61,61,61,20,13,12,83,84,84,84,20,84,20,20,20,20,20,84,85,5,4,6,4,5,4,5,5,12,
12,12,61,83,12,12,20,13,12,84,83,4,20,131,130,130,131,131,84,4,20,4,85,6,4,6,4,
6,5,5,5,12,13,13,61,83,12,12,12,84,84,84,83,20,84,130,20,20,20,130,84,4,84,84,
85,6,4,6,4,5,4,5,5,12,84,12,61,83,84,84,84,84,84,12,83,84,20,131,20,20,20,131,
20,84,20,20,85,6,4,6,4,6,5,5,5,12,20,12,61,83,12,84,12,84,13,84,83,4,84,131,4,
84,20,130,84,4,84,84,85,6,4,7,4,6,5,5,5,12,13,13,61,83,20,20,84,13,13,85,83,84,
84,130,4,4,84,130,84,4,84,20,85,6,4,6,4,5,5,5,6,12,84,84,61,83,12,84,13,13,84,
12,83,20,84,130,84,4,4,130,84,84,84,20,85,7,5,6,5,6,5,5,5,12,13,13,61,83,13,13,
20,13,13,85,83,4,20,131,130,131,130,131,84,4,4,4,85,6,5,5,5,5,5,5,5,12,13,13,61,
83,13,20,13,13,13,85,83,20,4,4,4,4,4,84,84,84,4,20,85,6,5,6,5,5,5,5,6,12,84,13,
61,83,84,13,20,83,83,83,83,83,83,83,83,84,4,4,84,84,84,84,85,6,5,5,6,6,5,5,6,12,
13,13,61,83,83,83,83,61,61,61,61,61,61,61,84,83,4,4,4,20,84,84,85,6,6,5,5,5,6,5,
6,12,85,85,13,61,61,61,61,61,83,85,83,4,4,4,61,83,4,4,4,84,84,3,85,6,5,5,6,5,5,
5,5,12,13,85,85,13,85,85,85,61,83,85,83,3,4,4,61,83,4,4,4,4,4,20,85,6,6,6,5,5,6,
5,6,12,20,85,13,13,85,85,13,61,83,12,83,84,4,4,61,83,4,4,84,20,3,84,85,5,7,5,6,
5,6,5,6,12,20,13,13,13,13,13,85,61,83,85,83,20,84,4,61,61,83,83,83,83,83,83,83,
5,6,5,6,5,7,5,6,83,83,83,83,83,83,83,83,61,13,13,83,84,3,3,20,61,61,61,61,61,61,
61,61,5,7,5,6,5,5,5,7,61,61,61,61,61,61,61,61,85,13,85,83,3,84,20,84,3,84,3,20,
84,3,3,85,5,6,5,7,5,6,5,6,12,85,85,85,13,85,85,85,15,85,85,84,85,85,85,85,85,85,
85,85,85,85,85,85,5,7,5,5,5,7,5,7,12,12,13,13,13,85,14,85,85,85,13,85,85,14,85,
13,85,84,14,84,84,84,85,12,5,7,5,7,5,6,5,6,12,20,85,13,13,85,85,12,13,12,85,12,
13,84,13,12,13,13,13,12,13,13,84,12,5,6,5,6,5,6,6,6,12,12,85,20,12,13,13,85
},
{
4,4,4,4,4,4,4,4,3,4,4,5,4,4,4,4,4,4,5,4,4,5,4,4,4,4,4,4,4,4,4,4,5,4,5,4,5,5,4,5,
36,5,4,5,20,5,5,4,5,5,5,4,5,20,5,5,5,20,5,5,5,5,5,4,4,5,4,5,4,4,4,4,4,4,5,4,5,5,
4,5,4,5,13,5,5,5,5,20,5,5,5,13,5,5,13,5,4,4,4,4,4,4,4,4,4,4,20,4,4,4,5,4,4,4,5,
77,4,5,77,4,4,5,4,5,4,4,5,4,4,76,4,3,4,3,4,35,3,4,4,4,76,76,76,4,76,76,76,4,76,
4,4,76,4,76,76,4,4,76,4,76,4,4,4,4,37,5,36,5,4,4,37,5,4,5,4,5,4,5,4,5,20,5,20,5,
36,5,5,5,4,4,4,4,37,5,4,36,36,4,37,4,36,5,4,5,20,5,4,4,5,4,5,5,5,4,5,5,4,4,13,4,
5,4,4,4,4,4,4,4,4,4,4,4,4,5,20,4,5,4,4,4,4,20,5,20,5,4,4,13,5,5,4,4,77,4,4,4,5,
4,4,4,4,4,37,4,4,4,5,4,4,4,4,4,4,5,4,4,4,4,5,4,4,4,77,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,77,4,3,4,4,4,4,76,4,77,76,4,76,4,4,4,4,4,4,4,3,4,3,3,4,4,3,3,4,76,4,4,
4,76,76,4,4,76,4,4,4,4,4,4,76,4,4,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
4,4,4,4,4,20,5,20,4,37,4,4,4,4,36,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,77,4,4,4,5,
4,5,36,4,4,4,36,20,4,4,4,4,4,4,4,4,4,4,4,12,4,4,4,4,76,4,4,5,13,4,4,4,4,4,20,5,
20,4,4,4,4,3,19,4,3,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,3,11,
11,11,11,76,3,3,11,11,11,3,12,11,76,3,11,76,76,11,11,11,11,11,11,11,11,3,11,3,3,
35,4,12,4,4,12,4,4,19,4,37,4,4,4,20,4,36,4,4,36,4,20,4,4,36,4,37,4,4,20,4,37,4,
37,36,36,4,36,20,36,20,37,37,20,36,37,20,37,36,4,20,5,37,20,4,37,4,37,37,20,37,
4,37,20,36,5,36,36,4,20,4,37,4,20,4,4,5,37,5,37,4,36,5,36,5,36,4,20,36,20,5,4,
37,20,37,37,20,37,4,4,4,3,4,4,36,4,36,20,4,20,4,4,4,4,20,4,4,5,4,4,4,4,20,4,37,
20,4,37,20,4,20,36,4,12,4,3,4,12,4,4,36,4,20,36,4,4,4,4,20,4,4,20,4,4,36,4,20,5,
4,4,4,3,3,3,3,3,4,36,3,3,3,36,3,3,4,3,3,36,36,3,3,3,4,4,3,4,4,3,4,35,4,4,4,20,
36,36,20,37,20,4,36,36,20,36,4,36,4,36,4,4,4,37,20,4,36,5,37,4,20,4,35,4,37,36,
4,4,37,4,36,37,36,36,4,36,36,20,36,36,37,4,36,36,4,36,4,4,4,36,37,4,36,20,36,20,
37,4,37,4,36,36,4,20,36,37,36,4,37,37,36,20,4,36,36,36,36,20,36,4,4,4,4,4,4,4,4,
36,4,20,36,20,4,36,4,36,4,36,36,36,20,36,36,36,36,36,36,4,36,36,4,36,4,4,4,20,
37,4,20,4,36,4,4,3,3,3,3,3,3,3,3,36,4,3,12,12,36,12,3,35,4,19,3,3,3,11,3,4,4,4,
36,4,3,19,3,19,4,36,12,4,36,4,4,3,36,4,12,4,3,4,130,4,4,4,12,4,12,12,3,4,3,4,4,
4,4,4,4,3,12,4,3,4,19,4,3,4,12,3,36,4,4,4,4,3,3,4,4,12,4,4,4,12,4,12,4,3,4,3,4,
36,3,3,36,4,3,19,3,3,4,3,3,4,4,3,4,11,4,4,3,4,12,4,4,4,4,4,4,12,4,19,4,19,4,3,3,
3,3,4,3,4,3,4,12,3,4,3,3,4,3,4,4,4,3,4,36,4,4,12,4,3,4,3,3,3,130,3,3,3,3,3,3,
130,3,3,3,2,2,130,130,3,3,11,3,3,3,3,3,3,130,3,3,130,3,3,3
{ // 3
4,5,4,4,4,4,37,4,5,4,4,4,4,4,4,3,4,37,5,37,4,3,20,4,4,20,3,19,3,36,19,3,4,4,5,4,
76,4,5,4,4,4,3,4,36,4,3,11,12,36,36,4,20,3,36,37,36,4,3,4,12,3,4,130,4,5,4,4,4,
4,4,4,4,4,4,4,4,4,19,11,4,36,36,4,36,3,36,4,36,36,3,36,4,3,3,3,4,4,5,4,3,4,36,4,
4,4,3,4,4,4,4,11,4,4,4,4,4,3,20,36,4,4,3,12,3,36,3,3,4,5,4,4,4,37,36,4,4,4,3,4,
4,4,3,11,12,36,20,3,12,3,37,37,20,36,3,4,4,4,3,3,4,5,4,4,3,5,4,4,4,4,4,4,4,4,4,
76,4,20,4,4,4,4,20,36,36,4,3,36,19,3,3,3,4,4,4,4,4,36,37,4,37,4,4,4,4,4,4,3,4,
36,37,4,3,36,4,36,37,36,3,4,4,19,4,3,4,5,4,4,35,5,4,4,4,4,3,4,4,4,4,3,19,20,4,
36,4,3,36,4,36,36,3,4,3,3,3,3,3,36,4,4,3,4,36,4,4,4,3,4,4,4,3,11,4,37,20,4,12,3,
36,36,4,36,36,3,4,3,4,130,4,5,4,4,4,4,5,5,4,4,4,4,4,4,4,11,37,37,4,36,4,3,20,36,
37,20,4,36,12,4,3,3,4,4,5,20,4,37,4,20,5,4,76,4,4,4,4,11,4,20,4,20,4,36,36,20,
37,36,3,4,3,3,4,3,5,5,4,4,4,5,5,4,4,4,4,4,4,12,4,3,4,36,5,4,36,3,4,36,36,36,12,
12,36,3,12,3,4,20,5,4,76,4,20,5,4,4,4,4,4,4,4,12,4,37,37,20,4,3,36,36,20,36,12,
4,4,4,3,2,4,5,5,4,76,5,5,4,4,77,4,4,4,4,4,11,20,20,5,4,20,4,4,37,4,36,36,3,4,4,
4,2,4,5,4,5,76,4,4,4,4,4,76,4,4,4,4,76,4,37,37,4,36,3,36,4,36,36,12,4,4,3,3,130,
4,4,5,4,4,5,4,4,4,3,76,4,4,4,4,3,36,36,4,4,4,3,4,36,36,36,3,130,4,4,3,130,4,5,4,
4,76,4,5,4,4,4,4,4,4,76,4,11,4,4,36,4,4,36,4,36,36,4,35,4,3,11,4,3,4,5,5,4,76,5,
4,20,5,4,4,4,4,4,4,76,4,20,5,20,4,36,4,4,36,36,4,4,3,4,3,3,5,5,13,5,76,4,5,5,4,
4,76,4,4,4,4,76,36,5,36,4,4,3,37,36,20,36,19,4,4,4,4,11,4,4,5,77,4,5,5,20,4,4,4,
4,77,5,4,11,4,37,5,4,20,3,20,4,36,4,3,12,4,3,4,3,4,5,5,4,76,20,5,5,4,76,4,4,4,
13,4,11,20,20,36,5,4,3,4,4,4,36,3,4,12,4,4,3,5,20,5,5,4,5,4,4,4,4,4,4,4,4,4,11,
4,4,4,4,4,4,36,4,4,4,3,12,4,12,3,3,4,5,5,77,4,20,5,4,5,77,4,4,4,4,4,11,4,37,20,
4,20,4,5,36,4,4,11,12,4,4,4,3,4,5,20,4,76,5,5,13,4,76,4,4,5,4,4,11,36,4,36,4,4,
3,37,37,4,4,3,3,4,4,36,3,4,5,5,4,4,36,4,5,4,4,4,20,4,4,4,11,4,37,20,4,4,4,4,4,4,
20,4,4,12,4,4,3,4,20,5,5,76,5,4,5,4,76,76,5,5,4,4,11,37,37,5,20,36,4,20,36,4,37,
4,3,4,4,4,130,4,5,5,4,76,5,13,4,77,4,4,20,36,20,4,11,4,20,4,4,4,3,4,20,4,4,4,4,
12,4,12,3,4,5,13,5,4,5,4,4,4,4,4,4,4,5,4,3,4,37,37,37,20,4,35,36,4,20,36,4,4,4,
4,3,4,5,5,4,4,4,5,77,4,4,3,37,4,20,4,11,20,4,20,20,5,35,4,20,36,4,4,4,3,12,3,
130,4,5,5,4,76,4,4,4,4,4,3,4,4,4,4,3,4,37,37,4,4,4,37,37,4,36,3,4,4,4,4,3,4,5,
13,5,4,4,4,4,4,4,3,4,36,4,3,3,37,20,37,37,4,4,36,4,20,4,19,4,3,19,3,3,4,4,5,4,
76,4,4,4,4,4,4,4,20,4,4,35,4,36,20,20,4,4,4,37,36,4,3,4,4,4,3,3
},
{
43,20,20,19,43,43,43,43,20,20,43,20,20,20,20,43,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
11,19,20,20,20,20,20,20,20,20,20,20,20,20,20,21,20,11,12,12,11,11,12,12,11,12,
12,12,12,12,12,12,20,43,20,20,20,20,20,20,20,20,20,20,20,20,20,20,43,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,43,11,20,20,20,21,20,20,21,20,20,20,21,20,
20,21,43,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,20,43,20,20,20,20,20,20,
20,20,20,20,20,20,20,21,43,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,19,10,
20,43,19,43,43,11,11,11,11,19,11,11,43,43,19,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,81,
43,21,21,21,21,21,21,21,20,21,20,21,20,20,21,20,11,11,12,12,12,12,12,12,12,12,
12,12,12,11,12,20,43,20,20,20,20,20,20,20,21,21,21,20,20,20,20,43,11,12,11,11,
12,12,12,12,12,12,12,12,12,11,12,20,43,21,20,20,20,20,21,20,20,20,20,20,20,20,
20,43,11,11,11,11,11,12,12,12,11,11,11,12,12,12,12,43,83,20,21,21,21,21,21,20,
20,20,20,21,20,20,20,43,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,20,65,11,
19,19,19,19,81,81,2,34,19,19,19,19,11,42,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,19,83,21,
20,21,21,21,21,21,21,21,21,21,20,21,21,20,11,12,12,12,12,12,12,12,12,12,12,11,2,
11,12,43,83,20,20,20,20,20,20,20,20,20,20,20,20,20,20,43,11,12,12,12,12,12,12,
12,12,12,11,11,12,12,12,20,43,20,21,21,21,20,21,20,20,20,20,20,20,20,20,43,11,
11,11,11,12,12,12,12,12,12,11,11,12,12,11,19,83,20,21,21,21,21,21,21,21,20,21,
20,20,20,20,43,11,12,11,12,12,11,12,12,12,12,11,11,12,12,12,20,83,11,11,11,19,
19,19,19,43,43,43,19,19,12,19,43,2,11,11,11,11,11,11,11,11,11,11,2,2,11,11,11,2,
11,11,11,11,11,2,11,82,11,11,2,11,11,2,2,19,20,21,21,20,21,20,20,20,20,20,20,20,
20,20,43,11,12,12,12,12,12,12,12,12,12,12,12,11,12,12,2,20,21,21,21,20,21,20,21,
21,21,21,21,21,21,21,43,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,2,20,20,21,
21,21,21,21,21,21,21,21,21,21,20,21,43,11,11,11,11,12,11,11,11,11,11,11,12,11,
11,12,2,20,21,21,21,21,21,21,21,21,21,21,21,21,20,21,43,11,11,11,12,12,12,12,12,
12,11,12,12,12,11,12,2,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,43,1,73,1,
73,73,2,2,2,2,2,2,2,2,2,2,1,43,43,19,43,19,43,19,19,19,19,10,2,19,2,19,9,11,12,
11,11,12,11,11,11,11,11,12,12,12,12,12,2,20,21,21,21,21,21,21,21,21,21,21,21,21,
21,21,43,11,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,43,20,21,21,21,21,20,
20,21,21,20,20,20,21,21,19,11,12,11,12,12,11,11,12,12,12,11,11,11,11,12,2,43,20,
20,20,20,20,21,21,21,21,21,20,21,21,20,43,11,12,12,11,12,12,12,12,12,12,12,12,
12,12,12,2,20,21,21,21,21,21,21,21,21,21,21,21,20,21,20,19,73,2,73,1,73,73,2,2,
1,73,73,2,1,1,2,1,43,43,43,43,43,43,43,43,11,43,43,43,11,11,11,81,11,11,12,12,
11,11,12,11,11,11,12,12,12,11,11,2,20,21,20,20,20,20,20,20,20,20,20,21,21,21,21,
20,11,12,12,12,12,11,11,11,11,12,12,12,12,12,12,2,43,20,20,20,20,20,20,20,20,20,
20,20,21,21,21,20,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,2,43,20,43,43,43,
20,20,43,20,12,43,12,20,20,20,43,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
11,43,20,20,20,20,20,20,20,20,20,43,20,20,20,20,43,2,11,11,11,11,11,11,11,11,11,
11,11,11,11,11,2,11,43,43,43,43,20,20,43,43,43,43,43,43,43,43,11
{ // 4
43,19,43,11,43,10,43,43,43,83,65,83,83,43,83,83,2,11,11,11,11,1,11,11,11,11,73,
11,11,11,11,2,20,20,20,20,20,20,21,20,21,20,11,21,20,20,20,11,11,12,12,11,11,73,
12,12,12,12,2,11,12,12,12,11,20,20,20,20,20,43,21,20,20,21,19,20,20,21,21,11,11,
12,11,11,11,1,11,12,11,12,73,12,12,12,12,11,19,20,20,20,20,19,21,20,20,21,19,21,
20,21,21,11,11,12,11,11,12,73,11,12,12,11,1,12,12,12,12,11,43,20,20,21,20,43,21,
20,20,21,19,21,20,21,21,19,11,12,11,12,12,73,12,11,12,12,73,11,12,12,12,11,43,
20,20,20,20,43,21,20,20,21,19,21,20,20,21,19,11,12,11,11,12,2,11,11,11,12,73,11,
11,12,12,11,43,20,20,20,20,11,21,20,21,21,81,21,20,21,21,19,2,12,11,11,12,2,11,
11,11,12,2,12,11,12,12,11,43,20,20,21,20,11,21,20,20,20,81,21,20,20,21,19,11,12,
11,11,12,2,11,11,12,12,2,11,11,12,12,11,20,20,20,20,20,11,20,21,20,20,2,21,20,
20,21,43,82,12,11,11,12,2,11,11,12,12,1,11,11,12,12,11,20,20,20,20,20,11,21,21,
20,20,34,21,20,20,20,43,11,12,11,11,11,2,11,11,12,12,73,11,12,11,12,11,43,20,20,
20,20,19,20,21,20,20,19,21,20,20,21,43,11,12,11,11,12,2,12,11,11,12,73,12,12,12,
12,11,20,20,20,21,20,11,21,20,20,21,19,21,20,20,20,19,2,12,11,12,12,2,12,11,11,
12,2,12,12,12,12,11,20,20,20,20,20,11,20,20,20,20,19,20,20,20,20,19,11,11,11,11,
12,2,12,12,11,12,1,12,12,12,12,11,20,20,20,20,20,43,20,20,20,20,19,21,20,20,20,
12,11,12,11,11,11,2,12,12,11,12,1,11,12,12,12,11,20,21,20,21,21,43,21,20,20,20,
11,21,20,20,20,19,2,12,12,12,12,2,12,12,12,12,2,11,12,12,12,11,43,20,43,43,43,
19,20,43,43,43,42,20,43,43,43,43,2,2,2,2,2,1,2,11,2,2,1,2,2,2,11,2,2,11,11,11,
12,2,11,11,11,11,2,11,11,11,11,2,19,20,20,20,20,43,20,43,43,20,43,20,43,43,43,
11,2,12,11,11,12,2,11,12,11,11,2,12,12,11,12,11,20,21,20,21,21,43,21,20,20,21,
43,21,20,20,20,43,2,12,11,11,12,2,12,11,11,11,2,12,12,11,11,11,21,21,21,21,21,
19,21,21,20,21,43,20,20,43,20,43,2,11,11,11,12,2,12,11,11,11,2,12,12,11,12,11,
21,21,21,21,21,43,21,21,20,21,43,20,20,43,20,43,2,11,11,11,12,2,12,12,11,12,2,
12,12,12,12,11,20,20,21,21,21,19,21,21,20,21,43,20,20,43,20,43,2,12,11,11,12,2,
12,12,12,12,2,12,12,12,11,11,21,21,21,21,21,43,21,21,20,21,43,20,20,20,20,20,2,
12,11,11,12,2,12,12,12,12,2,12,12,12,12,11,20,20,21,21,21,19,21,20,21,21,43,20,
20,20,20,20,2,11,11,11,12,2,12,12,12,11,2,12,12,12,12,11,20,21,21,21,21,19,21,
20,21,21,43,20,20,43,20,43,2,12,11,11,12,2,12,12,11,12,2,12,12,12,12,11,20,21,
21,21,21,19,21,21,21,21,11,20,20,20,20,43,2,12,11,11,12,2,12,12,11,12,2,12,12,
12,12,11,20,21,21,21,21,19,21,21,21,21,43,20,20,12,20,43,2,12,11,11,12,2,12,12,
11,12,2,12,11,11,11,11,20,21,21,21,21,10,21,20,21,21,43,20,20,43,43,43,2,12,11,
11,12,2,12,12,12,12,2,11,11,11,11,2,20,21,21,21,21,2,21,20,20,21,43,21,20,12,20,
43,2,12,11,11,12,2,12,12,12,12,2,2,12,12,12,2,20,21,21,21,21,19,21,20,21,20,11,
21,21,20,20,43,2,12,11,12,12,2,11,11,12,12,2,11,12,12,12,11,20,21,20,20,21,2,21,
21,21,21,11,21,21,20,20,43,2,12,11,12,12,2,12,12,12,12,2,12,12,11,12,11,20,21,
21,21,21,19,21,21,20,20,11,21,21,20,20,43,11,20,43,20,19,81,20,20,43,20,19,43,
20,19,20,11,43,43,43,43,43,9,43,19,43,19,81,20,20,43,43,11
}
};
const uint8_t SFG_backgrounds[][SFG_TEXTURE_SIZE * SFG_TEXTURE_SIZE] =
{
{
10,10,10,10,10,10,10,10,10,10,10,10,59,10,10,10,10,10,10,10,10,10,59,10,10,59,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,59,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,19,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,19,19,10,10,10,10,10,10,10,
10,10,10,10,10,10,19,10,10,10,10,10,10,10,10,10,10,19,19,19,19,10,19,19,19,19,
10,10,10,10,10,19,19,10,10,10,10,10,19,19,10,10,10,10,19,10,10,10,10,10,19,60,
60,19,19,12,12,19,19,19,19,10,19,12,19,10,10,10,19,19,19,19,19,10,10,19,19,19,
19,19,19,19,19,19,19,19,19,12,12,19,12,12,19,19,19,12,10,10,19,19,19,19,19,12,
12,19,19,19,12,12,19,19,19,12,12,12,19,19,19,12,12,12,12,19,19,19,12,12,19,19,
19,12,12,12,12,12,12,12,12,12,61,12,12,19,19,168,168,168,12,19,19,12,13,12,12,
12,19,19,13,19,19,19,12,12,12,12,12,13,13,13,12,12,13,12,12,100,100,168,223,168,
12,12,100,19,13,13,13,14,13,13,13,12,19,19,19,12,13,13,13,13,168,168,168,168,
101,101,101,101,100,168,136,168,100,12,100,100,13,14,14,14,14,14,13,12,12,19,12,
13,13,13,13,13,168,0,0,168,12,101,101,101,101,168,223,168,100,100,101,101,101,
101,101,101,13,14,13,13,13,12,168,168,57,168,13,13,168,223,0,168,12,12,168,168,
168,168,0,168,101,100,100,100,100,100,100,101,13,14,13,13,13,13,168,0,0,168,13,
13,168,0,0,57,12,12,168,168,168,0,0,168,101,101,100,100,100,100,101,14,14,13,13,
13,14,13,168,0,0,168,14,14,168,223,0,168,12,12,168,168,168,0,0,168,187,187,187,
101,100,101,101,14,14,14,13,14,14,14,168,0,0,168,14,14,168,0,0,168,63,101,168,
168,168,0,0,168,101,168,168,168,101,101,209,14,209,14,13,14,14,14,64,0,168,168,
14,14,64,219,168,168,14,14,64,168,64,0,168,168,101,168,64,168,101,71,64,14,64,
63,14,14,168,14,64,168,168,64,14,14,64,168,168,64,14,63,64,64,64,168,168,64,64,
64,64,64,14,14,64,14,64,14,64,14,168,14,64,168,136,64,14,14,64,168,168,168,64,
64,64,64,64,168,168,57,64,64,64,64,14,14,64,64,64,14,80,64,64,14,80,168,64,168,
80,14,80,168,64,168,64,168,80,64,80,168,64,64,80,64,80,64,80,14,80,168,80,14,64,
64,168,14,64,64,168,64,168,80,168,64,168,64,168,64,64,80,168,136,136,80,168,64,
168,80,64,14,64,136,64,63,64,64,64,80,64,64,64,64,64,64,64,64,64,80,80,57,80,
136,64,64,64,80,64,64,64,80,80,14,80,64,64,80,73,80,64,64,136,64,64,64,73,80,73,
64,64,80,64,64,64,64,64,64,64,80,73,64,64,80,73,80,64,64,73,80,64,73,64,64,64,
64,64,64,80,64,80,64,64,73,64,64,64,64,64,64,64,64,80,64,64,64,64,64,64,64,80,
64,64,80,64,64,64,64,64,80,73,64,73,80,73,80,64,64,64,64,64,64,64,64,73,64,136,
64,64,64,64,64,73,64,64,73,73,73,73,64,64,73,64,64,64,64,64,73,64,64,64,64,64,
64,64,136,64,64,64,64,64,64,64,73,73,64,73,64,73,64,73,64,73,73,73,64,73,64,73,
64,73,64,73,64,73,64,73,64,73,64,73,64,73,64,73,64,73,64,136,73,64,136,64,73,64,
73,64,73,64,73,64,73,136,73,64,73,64,73,64,73,136,73,64,73,64,73,64,73,64,73,73,
73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,
73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,
73,73,136,73,73,73,73,73,73,73,73,73,73,73,73,73,73,136,73,73,73,73,73,73,73,73,
73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,
73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73
{ // 5
10,10,10,10,10,10,19,19,12,13,13,13,13,13,13,13,13,14,64,80,64,64,73,64,64,64,
73,136,73,73,73,73,10,10,10,10,10,19,12,12,12,19,12,12,13,13,13,14,14,14,14,64,
64,64,80,73,80,73,64,73,73,73,73,73,10,10,10,10,10,19,19,10,19,19,19,12,13,13,
14,14,14,168,168,64,168,64,64,64,64,73,73,64,73,73,73,73,10,10,10,10,10,10,10,
10,19,19,19,19,12,13,13,14,14,14,14,14,14,80,64,64,64,73,64,136,73,73,73,73,10,
10,10,10,10,10,10,19,19,12,19,12,168,168,168,168,64,64,64,80,64,64,136,64,64,73,
73,64,73,73,73,73,10,10,10,10,10,10,10,19,12,12,12,13,168,0,0,0,0,168,168,168,
64,64,64,64,64,64,64,73,73,73,73,73,10,10,10,10,10,10,19,19,12,12,13,13,57,0,0,
0,168,168,136,64,168,64,64,64,64,64,73,64,73,73,136,73,10,10,10,10,10,10,19,19,
12,12,13,13,168,168,168,168,168,64,64,168,64,64,64,64,80,73,73,73,73,73,73,73,
10,10,10,10,19,19,19,19,12,12,13,13,13,13,14,14,14,14,14,80,168,64,73,80,73,64,
73,64,73,73,73,73,10,10,10,10,10,19,19,12,12,13,13,13,13,13,14,14,14,14,14,14,
80,64,80,64,64,64,64,73,73,73,73,73,10,10,10,10,10,10,19,12,12,13,168,168,168,
168,168,168,64,64,64,80,168,64,73,80,73,64,73,64,73,73,73,73,10,10,10,10,10,10,
10,19,12,13,168,0,223,0,223,0,219,168,168,168,64,64,64,64,80,64,64,73,73,73,73,
73,59,10,10,10,10,10,10,19,12,12,168,0,0,0,0,0,168,168,168,64,168,64,64,64,73,
64,73,64,73,73,73,73,10,10,10,10,10,10,19,19,12,12,168,168,168,57,168,168,168,
64,168,168,64,80,80,73,80,73,64,73,73,73,73,73,10,10,10,10,10,19,19,12,61,13,
101,12,12,12,12,63,14,14,64,64,168,80,64,64,64,64,73,136,73,73,73,73,10,10,10,
10,10,10,19,12,12,12,101,101,12,12,12,101,14,63,64,168,64,57,64,64,64,64,64,73,
73,73,73,73,10,10,10,10,10,10,19,19,12,12,101,101,168,168,168,168,64,64,64,80,
64,80,64,64,64,64,73,64,73,73,73,73,10,10,10,10,10,10,19,19,19,100,101,101,168,
168,168,168,168,64,64,64,80,136,64,64,64,64,64,73,73,73,73,73,10,10,10,10,10,10,
19,19,19,100,100,101,168,168,168,168,64,64,64,80,168,64,64,64,64,64,73,64,73,73,
73,73,10,10,10,10,19,10,19,12,168,168,168,168,168,0,0,0,0,168,168,168,136,64,64,
64,64,64,64,73,73,73,73,73,10,10,10,10,19,19,19,12,168,223,136,223,0,0,0,0,168,
168,168,64,136,64,64,64,64,64,73,64,73,73,73,73,10,10,10,10,19,60,19,12,168,168,
168,168,168,168,168,168,168,64,57,64,80,80,80,64,64,136,64,73,73,73,73,73,59,59,
10,10,19,60,19,19,12,12,100,100,101,101,187,101,101,64,64,80,168,64,73,80,73,64,
73,136,73,73,73,73,10,10,10,10,10,19,19,19,19,12,12,100,100,101,187,168,168,64,
64,64,64,64,64,64,64,64,64,73,73,136,73,73,10,10,10,10,19,19,19,19,19,100,100,
101,100,100,187,168,64,64,64,80,168,64,64,64,136,64,73,64,73,73,73,73,59,10,10,
19,19,12,12,12,12,19,100,101,100,100,101,168,168,64,64,64,80,80,80,64,64,64,64,
73,73,73,73,73,10,10,19,19,19,12,12,12,13,13,13,101,100,100,100,101,101,14,14,
80,64,80,73,64,64,64,73,64,73,73,73,73,10,10,10,10,19,19,19,12,12,13,14,101,100,
100,101,101,71,14,14,14,14,14,80,64,64,64,64,73,73,73,73,73,10,10,10,10,10,19,
12,12,12,13,14,101,100,101,101,209,64,64,64,80,64,80,64,64,64,64,73,64,73,73,73,
73,10,10,10,10,10,19,12,19,12,14,14,101,101,14,14,14,14,14,64,168,136,64,64,64,
64,73,64,73,73,73,73,73,10,10,10,10,10,19,19,19,19,13,14,13,13,14,14,209,64,64,
64,80,64,64,73,80,73,73,73,64,73,73,73,73,10,10,10,10,10,10,19,19,19,13,14,14,
14,13,14,14,63,14,14,14,63,80,80,64,64,64,64,73,73,73,73,73
}
};

View File

@ -183,3 +183,4 @@ static const SFG_Level SFG_level0 =
};
#endif // guard